- Jan 22, 2012
-
-
NAKAMURA Takumi authored
llvm-svn: 148659
-
Anton Korobeynikov authored
Patch by Ana Pazos! llvm-svn: 148658
-
Eli Bendersky authored
llvm-svn: 148655
-
Eli Bendersky authored
llvm-svn: 148654
-
Eli Bendersky authored
in a subclass named DyldELFObject. This class supports rebasing the object file it represents by re-mapping section addresses to the actual memory addresses the object was placed in. This is required for MC-JIT implementation on ELF with debugging support. Patch reviewed on llvm-commits. Developed together with Ashok Thirumurthi and Andrew Kaylor. llvm-svn: 148653
-
Eli Bendersky authored
ELF and MachO implementations of RuntimeDyldImpl go into their own header files now. Reviewed on llvm-commits llvm-svn: 148652
-
Craig Topper authored
llvm-svn: 148651
-
David Blaikie authored
Unfortunately I don't think there's a fix for this that will work upstream and also satisfy Clang's -Wunreachable-code, which is a pity. But I'll give it some more thought -perhaps there's some way out. llvm-svn: 148645
-
Craig Topper authored
llvm-svn: 148644
-
Craig Topper authored
llvm-svn: 148643
-
- Jan 21, 2012
-
-
Craig Topper authored
Add memory patterns for some of the fp<->integer conversion instructions. Fold some patterns into instruction definitions. llvm-svn: 148641
-
David Blaikie authored
This will ensure LLVM and Clang build -Wswitch-enum-redundant-default (an on-by-default warning I'm about to add to Clang). llvm-svn: 148639
-
Benjamin Kramer authored
llvm-svn: 148635
-
Craig Topper authored
Fix PR11819 introduced by r148537. I'd commit the test case, but the generated code is terrible as it gets fully scalarized. Expect a future commit to fix that. llvm-svn: 148632
-
Evan Cheng authored
llvm-svn: 148622
-
Jakob Stoklund Olesen authored
A register mask operand kills any live physreg that isn't preserved. Unlike an implicit-def operand, the clobbered physregs are never live afterwards. This means LiveVariables has to track a much smaller number of live physregs, and it should spend much less time in addRegisterDead(). llvm-svn: 148609
-
Jim Grosbach authored
The MachO file stores section alignment as log2(alignment-in-bytes). The allocation routines want the raw alignment-in-bytes value, so adjust for that. llvm-svn: 148604
-
Jim Grosbach authored
llvm-svn: 148601
-
- Jan 20, 2012
-
-
Jakob Stoklund Olesen authored
llvm-svn: 148594
-
Jim Grosbach authored
llvm-svn: 148593
-
Devang Patel authored
llvm-svn: 148591
-
Jakob Stoklund Olesen authored
Only PostRA LICM is affected. llvm-svn: 148589
-
Jakob Stoklund Olesen authored
Don't track live physregs that are clobbered by a register mask operand. llvm-svn: 148588
-
David Blaikie authored
llvm-svn: 148578
-
Andrew Trick authored
Fixes PR11783: bad cast to AddRecExpr. llvm-svn: 148572
-
Andrew Trick authored
llvm-svn: 148571
-
Devang Patel authored
llvm-svn: 148570
-
Devang Patel authored
llvm-svn: 148569
-
rdar://problem/10723651Bob Wilson authored
We have patterns for vector sext and zext operations but were missing anyext. Without those patterns, codegen will fail when the selection DAG has any_extend nodes. llvm-svn: 148568
-
Jim Grosbach authored
Providing a template argment to a non-templatized class was crashing tblgen. Add a diagnostic. For example, $ cat bug.td class A; def B : A<0> { } $ llvm-tblgen bug.td bug.td:3:11: error: template argument provided to non-template class def B : A<0> { ^ llvm-svn: 148565
-
Jim Grosbach authored
rdar://10724489 llvm-svn: 148560
-
Jim Grosbach authored
For bit patterns that aren't representable using the 8-bit floating point representation for vmov.f32, but are representable via vmov.i32, treat the .f32 syntax as an alias. Most importantly, this covers the case 'vmov.f32 Vd, #0.0'. rdar://10616677 llvm-svn: 148556
-
Benjamin Kramer authored
llvm-svn: 148555
-
Kostya Serebryany authored
Problem: LLVM needs more function attributes than currently available (32 bits). One such proposed attribute is "address_safety", which shows that a function is being checked for address safety (by AddressSanitizer, SAFECode, etc). Solution: - extend the Attributes from 32 bits to 64-bits - wrap the object into a class so that unsigned is never erroneously used instead - change "unsigned" to "Attributes" throughout the code, including one place in clang. - the class has no "operator uint64 ()", but it has "uint64_t Raw() " to support packing/unpacking. - the class has "safe operator bool()" to support the common idiom: if (Attributes attr = getAttrs()) useAttrs(attr); - The CTOR from uint64_t is marked explicit, so I had to add a few explicit CTOR calls - Add the new attribute "address_safety". Doing it in the same commit to check that attributes beyond first 32 bits actually work. - Some of the functions from the Attribute namespace are worth moving inside the class, but I'd prefer to have it as a separate commit. Tested: "make check" on Linux (32-bit and 64-bit) and Mac (10.6) built/run spec CPU 2006 on Linux with clang -O2. This change will break clang build in lib/CodeGen/CGCall.cpp. The following patch will fix it. llvm-svn: 148553
-
Benjamin Kramer authored
llvm-svn: 148550
-
Benjamin Kramer authored
Found by the clang static analyzer. llvm-svn: 148543
-
Benjamin Kramer authored
Found by the clang static analyzer. llvm-svn: 148541
-
Benjamin Kramer authored
Found by the clang static analyzer. llvm-svn: 148540
-
Rafael Espindola authored
warnings from gcc. llvm-svn: 148539
-
Craig Topper authored
Improve 256-bit shuffle splitting to allow 2 sources in each 128-bit lane. As long as only a single lane of the source is used in the lane in the destination. This makes the splitting match much closer to what happens with 256-bit shuffles when AVX is disabled and only 128-bit XMM is allowed. llvm-svn: 148537
-