- Oct 25, 2012
-
-
Chandler Carruth authored
llvm-svn: 166666
-
Michael Liao authored
llvm-svn: 166665
-
Michael Liao authored
llvm-svn: 166664
-
Chandler Carruth authored
smaller integer loads and stores. The high-level motivation is that the frontend sometimes generates a single whole-alloca integer load or store during ABI lowering of splittable allocas. We need to be able to break this apart in order to see the underlying elements and properly promote them to SSA values. The hope is that this fixes some performance regressions on x86-32 with the new SROA pass. Unfortunately, this causes quite a bit of churn in the test cases, and bloats some IR that comes out. When we see an alloca that consists soley of bits and bytes being extracted and re-inserted, we now do some splitting first, before building widened integer "bucket of bits" representations. These are always well folded by instcombine however, so this shouldn't actually result in missed opportunities. If this splitting of all-integer allocas does cause problems (perhaps due to smaller SSA values going into the RA), we could potentially go to some extreme measures to only do this integer splitting trick when there are non-integer component accesses of an alloca, but discovering this is quite expensive: it adds yet another complete walk of the recursive use tree of the alloca. Either way, I will be watching build bots and LNT bots to see what fallout there is here. If anyone gets x86-32 numbers before & after this change, I would be very interested. llvm-svn: 166662
-
Richard Smith authored
llvm-svn: 166661
-
Richard Smith authored
llvm-svn: 166660
-
Argyrios Kyrtzidis authored
when computing the size of the precompiled preamble. llvm-svn: 166659
-
Sean Callanan authored
reflect a change to the initializer. llvm-svn: 166657
-
Douglas Gregor authored
llvm-svn: 166656
-
Bill Wendling authored
llvm-svn: 166655
-
Douglas Gregor authored
replaced by the more efficient, cleaner preprocessor-option version that occurs earlier in PCH validation. llvm-svn: 166654
-
Douglas Gregor authored
checking, and disable the old predefines-buffer-diff'ing code path. llvm-svn: 166653
-
Jason Molenda authored
use a DynamicLoaderStatic dynamic loader for the session instead of a kernel or user dynamic loader. llvm-svn: 166652
-
Eli Friedman authored
Reported in the thread "devirtualisation appears to crash clang on covariant functions on ARM" on cfe-dev. llvm-svn: 166651
-
Douglas Gregor authored
llvm-svn: 166650
-
Nadav Rotem authored
Patch by Paul Redmond <paul.redmond@intel.com>. llvm-svn: 166649
-
Douglas Gregor authored
predefines. We're not quite ready to cut over to these suggested predefines yet, however. llvm-svn: 166648
-
Bill Wendling authored
modifiers. (From an idea by Eric...) <rdar://problem/12284092> llvm-svn: 166647
-
Jakob Stoklund Olesen authored
llvm-svn: 166646
-
Richard Smith authored
'constexpr' and 'friend' are both declaration specifiers. Teach the parser this, for better error recovery. llvm-svn: 166645
-
Richard Smith authored
rebuilds a function type, and that function type has parens around its name. llvm-svn: 166644
-
Nadav Rotem authored
llvm-svn: 166643
-
Nadav Rotem authored
llvm-svn: 166642
-
Douglas Gregor authored
the macros that are #define'd or #undef'd on the command line. This checking happens much earlier than the current macro-definition checking and is far cleaner, because it does a direct comparison rather than a diff of the predefines buffers. Moreover, it allows us to use the result of this check to skip over PCH files within a directory that have non-matching -D's or -U's on the command line. Finally, it improves the diagnostics a bit for mismatches, fixing <rdar://problem/8612222>. The old predefines-buffer diff'ing will go away in a subsequent commit. llvm-svn: 166641
-
Chad Rosier authored
llvm-svn: 166640
-
Kevin Enderby authored
llvm-svn: 166639
-
Chad Rosier authored
correct .s output as well as get the correct encoding by the integrated assembler. llvm-svn: 166638
-
-
NAKAMURA Takumi authored
FIXME: They are still long strings without formatter in printf(3)! llvm-svn: 166636
-
Sean Callanan authored
to dotest.py so that the testsuite can run against any LLDB. <rdar://problem/12512268> llvm-svn: 166635
-
Micah Villmow authored
llvm-svn: 166634
-
Chad Rosier authored
llvm-svn: 166633
-
Chad Rosier authored
[register].field The operator returns the value at the location pointed to by register plus the offset of field within its structure or union. This patch only handles immediate fields (i.e., [eax].4). The original displacement has to be a MCConstantExpr as well. Part of rdar://12470415 and rdar://12470514 llvm-svn: 166632
-
rdar://12481949Enrico Granata authored
Fixing the test case for rdar://12481949 to do the right thing with our new rules for sign-extension in GetValueAsUnsigned() llvm-svn: 166631
-
Chad Rosier authored
llvm-svn: 166630
-
Joerg Sonnenberger authored
SetTheory, but pass down the location explicitly. llvm-svn: 166629
-
- Oct 24, 2012
-
-
Enrico Granata authored
llvm-svn: 166628
-
Enrico Granata authored
llvm-svn: 166627
-
Enrico Granata authored
llvm-svn: 166626
-
David Blaikie authored
llvm-svn: 166625
-