- May 06, 2011
-
-
Rafael Espindola authored
llvm-svn: 130995
-
Justin Holewinski authored
Patch by Wei-Ren Chen llvm-svn: 130980
-
Duncan Sands authored
return the pointer being dereferenced, it returns the pointee, but a call might return the pointer itself. llvm-svn: 130979
-
Eli Friedman authored
possibly related to cbnz formation. llvm-svn: 130977
-
- May 05, 2011
-
-
Eli Friedman authored
PR9838: Fix transform introduced in r127064 to not trigger when only one side of the icmp is an exact shift. llvm-svn: 130954
-
Rafael Espindola authored
I tested both gdb on a bootstrapped clang and and the gdb testsuite on OS X (snow leopard) and both are happy using __eh_frame. llvm-svn: 130937
-
Galina Kistanova authored
Many LLVM tests relies on standard output stream be in the binary mode. Which is not always the case (on Windows in particular). The patch adds a test to verify that the standard output stream is actually in the binary mode. llvm-svn: 130936
-
Eli Friedman authored
Avoid extra vreg copies for arguments passed in registers. Specifically, this can make MachineCSE more effective in some cases (especially in small functions). PR8361 / part of rdar://problem/8259436 . llvm-svn: 130928
-
Jakob Stoklund Olesen authored
This should unbreak llvm-gcc-i386-linux-selfhost. llvm-svn: 130927
-
Jakob Stoklund Olesen authored
llvm-svn: 130893
-
Jakob Stoklund Olesen authored
Most of these tests require a single mov instruction that can come either before or after a 2-addr instruction. -join-physregs changes the behavior, but the results are equivalent. llvm-svn: 130891
-
Dan Gohman authored
the default register allocator is changed. llvm-svn: 130883
-
Bill Wendling authored
landing pad as its successor. SjLj exception handling jumps to the correct landing pad via a switch statement that's generated right before code-gen. Loosen the constraint in the machine instruction verifier to allow for this. Note, this isn't the most rigorous check since we cannot determine where that switch statement came from. But it's marginally better than turning this check off when SjLj exceptions are used. <rdar://problem/9187612> llvm-svn: 130881
-
Eli Friedman authored
Original message: Teach MachineCSE how to do simple cross-block CSE involving physregs. This allows, for example, eliminating duplicate cmpl's on x86. Part of rdar://problem/8259436 . llvm-svn: 130877
-
- May 04, 2011
-
-
Galina Kistanova authored
This test fails on ARM. The test shouldn't explicitly specify alignment (and alignment 4 is wrong) and requires hard-float. llvm-svn: 130875
-
Eli Friedman authored
llvm-svn: 130867
-
Eli Friedman authored
Teach MachineCSE how to do simple cross-block CSE involving physregs. This allows, for example, eliminating duplicate cmpl's on x86. Part of rdar://problem/8259436 . llvm-svn: 130862
-
Jakob Stoklund Olesen authored
llvm-svn: 130859
-
Jakob Stoklund Olesen authored
These tests all follow the same pattern: mov r2, r0 movs r0, #0 $CMP r2, r1 it eq moveq r0, #1 bx lr The first 'mov' can be eliminated by rematerializing 'movs r0, #0' below the test instruction: $CMP r0, r1 mov.w r0, #0 it eq moveq r0, #1 bx lr So far, only physreg coalescing can do that. The register allocators won't yet split live ranges just to eliminate copies. They can learn, but this particular problem is not likely to show up in real code. It only appears because r0 is used for both the function argument and return value. llvm-svn: 130858
-
Jakob Stoklund Olesen authored
llvm-svn: 130856
-
Jakob Stoklund Olesen authored
llvm-svn: 130855
-
Devang Patel authored
llvm-svn: 130854
-
Akira Hatanaka authored
llvm-svn: 130849
-
Akira Hatanaka authored
Prevent instructions using $gp from being placed between a jalr and the instruction that restores the clobbered $gp. llvm-svn: 130847
-
Rafael Espindola authored
it is both inefficient and unexpected by dwarfdump. Change to a DW_FORM_data4. While in here, change the predicate name to reflect that the position is not really absolute (it is an offset), just that the linker needs a relocation. llvm-svn: 130846
-
Duncan Sands authored
but according to my super-optimizer there are only two missed simplifications of -instsimplify kind when compiling bzip2, and this is one of them. It amuses me to have bzip2 be perfectly optimized as far as instsimplify goes! llvm-svn: 130840
-
Jakob Stoklund Olesen authored
llvm-svn: 130818
-
Jakob Stoklund Olesen authored
The basic allocator is really bad about hinting, so it doesn't eliminate all copies when physreg joining is disabled. llvm-svn: 130817
-
Jakob Stoklund Olesen authored
llvm-svn: 130816
-
Jakob Stoklund Olesen authored
llvm-svn: 130815
-
Eric Christopher authored
llvm-svn: 130812
-
Jakob Stoklund Olesen authored
llvm-svn: 130800
-
- May 03, 2011
-
-
Bill Wendling authored
<rdar://problem/8460511> llvm-svn: 130791
-
Duncan Sands authored
max(a,b) >= a -> true. According to my super-optimizer, these are by far the most common simplifications (of the -instsimplify kind) that occur in the testsuite and aren't caught by -std-compile-opts. llvm-svn: 130780
-
Evan Cheng authored
llvm-svn: 130778
-
Bob Wilson authored
llvm-svn: 130769
-
Bruno Cardoso Lopes authored
llvm-svn: 130763
-
Rafael Espindola authored
llvm-svn: 130754
-
Eric Christopher authored
string template. Fixes rdar://8493866 llvm-svn: 130747
-
Dan Gohman authored
model constants which can be added to base registers via add-immediate instructions which don't require an additional register to materialize the immediate. llvm-svn: 130743
-