- Oct 27, 2009
-
-
Victor Hernandez authored
llvm-svn: 85181
-
- Oct 23, 2009
-
-
Victor Hernandez authored
Remove AllocationInst. Since MallocInst went away, AllocaInst is the only subclass of AllocationInst, so it no longer is necessary. llvm-svn: 84969
-
- Oct 21, 2009
-
-
Chris Lattner authored
"In the existing code, if the load and the value to replace it with are of different types *and* target data is available, it tries to use the target data to coerce the replacement value to the type of the load. Otherwise, it skips all effort to handle the type mismatch and just feeds the wrongly-typed replacement value to replaceAllUsesWith, which triggers an assertion. The patch replaces it with an outer if checking for type mismatch, and an inner if-else that checks whether target data is available and, if not, returns false rather than trying to replace the load." Patch by Kenneth Uildriks! llvm-svn: 84739
-
- Oct 20, 2009
-
-
Owen Anderson authored
numbering first class aggregate instructions while we're at it. llvm-svn: 84547
-
- Oct 19, 2009
-
-
Owen Anderson authored
llvm-svn: 84533
-
- Oct 14, 2009
-
-
Devang Patel authored
llvm-svn: 84118
-
- Oct 11, 2009
-
-
Chris Lattner authored
from GVN, this also speeds it up, inserts fewer PHI nodes (see the testcase) and allows it to remove more loads (due to fewer PHI nodes standing in the way). llvm-svn: 83746
-
Chris Lattner authored
llvm-svn: 83742
-
- Oct 10, 2009
-
-
Chris Lattner authored
llvm-svn: 83701
-
- Sep 27, 2009
-
-
Chris Lattner authored
llvm-svn: 82936
-
Nick Lewycky authored
update all the callers. llvm-svn: 82889
-
- Sep 21, 2009
-
-
Chris Lattner authored
bootstrap problems. llvm-svn: 82464
-
Chris Lattner authored
arrays and structs, which cannot be bitcast to integers. llvm-svn: 82460
-
Chris Lattner authored
This doesn't kick in too much because of phi translation issues, but this can be resolved in the future. llvm-svn: 82447
-
Chris Lattner authored
llvm-svn: 82446
-
Chris Lattner authored
llvm-svn: 82444
-
Chris Lattner authored
analysis, one that does the xform. llvm-svn: 82443
-
Chris Lattner authored
from a piece of a large store when both are in the same block. This allows clang to compile the testcase in PR4216 to this code: _test_bitfield: movl 4(%esp), %eax movl %eax, %ecx andl $-65536, %ecx orl $32962, %eax andl $40186, %eax orl %ecx, %eax ret This is not ideal, but is a whole lot better than the code produced by llvm-gcc: _test_bitfield: movw $-32574, %ax orw 4(%esp), %ax andw $-25350, %ax movw %ax, 4(%esp) movw 7(%esp), %cx shlw $8, %cx movzbl 6(%esp), %edx orw %cx, %dx movzwl %dx, %ecx shll $16, %ecx movzwl %ax, %eax orl %ecx, %eax ret and dramatically better than that produced by gcc 4.2: _test_bitfield: pushl %ebx call L3 "L00000000001$pb": L3: popl %ebx movl 8(%esp), %eax leal 0(,%eax,4), %edx sarb $7, %dl movl %eax, %ecx andl $7168, %ecx andl $-7201, %ebx movzbl %dl, %edx andl $1, %edx sall $5, %edx orl %ecx, %ebx orl %edx, %ebx andl $24, %eax andl $-58336, %ebx orl %eax, %ebx orl $32962, %ebx movl %ebx, %eax popl %ebx ret llvm-svn: 82439
-
Chris Lattner authored
llvm-svn: 82426
-
- Sep 20, 2009
-
-
Chris Lattner authored
so that nonlocal and partially redundant loads can use it as well. The testcase shows examples of craziness this can handle. This triggers *many* times in 176.gcc. llvm-svn: 82403
-
Chris Lattner authored
more generic. llvm-svn: 82402
-
Chris Lattner authored
(and load -> load) when the base pointers must alias but when they are different types. This occurs very very frequently in 176.gcc and other code that uses bitfields a lot. llvm-svn: 82399
-
Daniel Dunbar authored
llvm-svn: 82355
-
- Sep 19, 2009
-
-
Victor Hernandez authored
Reviewed by Dan Gohman. llvm-svn: 82300
-
- Sep 03, 2009
-
-
Dan Gohman authored
instead of a bool argument, and to do the dominator check itself. This makes it eaiser to use when DominatorTree information is available. llvm-svn: 80920
-
- Sep 02, 2009
-
-
Chris Lattner authored
llvm-svn: 80766
-
- Aug 27, 2009
-
-
Owen Anderson authored
llvm-svn: 80170
-
- Aug 13, 2009
-
-
Owen Anderson authored
llvm-svn: 78948
-
- Jul 31, 2009
-
-
Dan Gohman authored
a trailing newline. llvm-svn: 77719
-
Owen Anderson authored
llvm-svn: 77685
-
Owen Anderson authored
llvm-svn: 77635
-
- Jul 25, 2009
-
-
Dan Gohman authored
llvm-svn: 77039
-
Daniel Dunbar authored
- Some clients which used DOUT have moved to DEBUG. We are deprecating the "magic" DOUT behavior which avoided calling printing functions when the statement was disabled. In addition to being unnecessary magic, it had the downside of leaving code in -Asserts builds, and of hiding potentially unnecessary computations. llvm-svn: 77019
-
- Jul 22, 2009
-
-
Owen Anderson authored
llvm-svn: 76702
-
- Jul 21, 2009
-
-
Owen Anderson authored
llvm-svn: 76598
-
- Jul 14, 2009
-
-
Torok Edwin authored
This adds location info for all llvm_unreachable calls (which is a macro now) in !NDEBUG builds. In NDEBUG builds location info and the message is off (it only prints "UREACHABLE executed"). llvm-svn: 75640
-
- Jul 11, 2009
-
-
Torok Edwin authored
Make llvm_unreachable take an optional string, thus moving the cerr<< out of line. LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for NDEBUG builds. llvm-svn: 75379
-
- Jul 10, 2009
-
-
Owen Anderson authored
This started as a small change, I swear. Unfortunately, lots of things call the [I|F]CmpInst constructors. Who knew!? llvm-svn: 75200
-
- Jul 08, 2009
-
-
Nick Lewycky authored
these instructions, no autoupgrade or backwards compatibility support is provided. llvm-svn: 74991
-
- Jul 03, 2009
-
-
Owen Anderson authored
llvm-svn: 74748
-