- Oct 10, 2009
-
-
Chris Lattner authored
llvm-svn: 83701
-
- Oct 08, 2009
-
-
Dan Gohman authored
to declare that they preserve other passes without needing to pull in additional header file or library dependencies. Convert MachineFunctionPass and CodeGenLICM to make use of this. llvm-svn: 83555
-
Jeffrey Yasskin authored
already on the worklist, and print Visited when an instruction is about to be visited. Net, on one input, this reduced the output size by at least 9x. llvm-svn: 83510
-
- Oct 07, 2009
-
-
Eric Christopher authored
llvm-svn: 83489
-
- Oct 06, 2009
-
-
Ted Kremenek authored
llvm-svn: 83404
-
Chris Lattner authored
out of it, and jump threading, condprop and gvn are now getting most of the benefit. This was approved by Nicholas and Nicolas. llvm-svn: 83390
-
Duncan Sands authored
where the element is of a basic builtin type. For example, to get an i8* use getInt8PtrTy. llvm-svn: 83379
-
- Oct 05, 2009
-
-
Dan Gohman authored
ConstantFoldLoadThroughGEPConstantExpr. llvm-svn: 83311
-
Dan Gohman authored
llvm-svn: 83310
-
Chris Lattner authored
the new predicates I added) instead of going through a context and doing a pointer comparison. Besides being cheaper, this allows a smart compiler to turn the if sequence into a switch. llvm-svn: 83297
-
Chris Lattner authored
This fixes PR5130. llvm-svn: 83290
-
- Oct 01, 2009
-
-
Douglas Gregor authored
llvm-svn: 83194
-
Chris Lattner authored
Ok'd by Owen. llvm-svn: 83193
-
- Sep 28, 2009
-
-
Chris Lattner authored
phi nodes. Make sure to phi translate from the right block. This fixes a llvm-building-llvm failure on GVN-PRE.cpp llvm-svn: 82970
-
- Sep 27, 2009
-
-
Chris Lattner authored
llvm-svn: 82936
-
Chris Lattner authored
The bitcast case is not needed here: instcombine turns icmp(bitcast(x), null) -> icmp(x, null) already. llvm-svn: 82935
-
Chris Lattner authored
llvm-svn: 82933
-
Chris Lattner authored
malloc isn't needed. llvm-svn: 82932
-
Chris Lattner authored
llvm-svn: 82929
-
Chris Lattner authored
These are important to push up to encourage jump threading. This shrinks 176.gcc a bit. llvm-svn: 82923
-
Chris Lattner authored
simple constants for the true/false value of the select. We now do phi translation etc. This really fixes PR4895 :) llvm-svn: 82917
-
Chris Lattner authored
that are phi nodes. Also tighten up FoldOpIntoPhi to treat constantexpr operands to phis just like other variables, avoiding moving constantexpr computations around. Patch by Daniel Dunbar. llvm-svn: 82913
-
Dan Gohman authored
that is deleted in some situations. This fixes a use-after-free. llvm-svn: 82903
-
Dan Gohman authored
rotating the loop, since loop rotation is a very significant change. llvm-svn: 82901
-
Nick Lewycky authored
update all the callers. llvm-svn: 82889
-
- Sep 26, 2009
-
-
Dan Gohman authored
calls, since direct calls don't always reflect the attributes of their callees. llvm-svn: 82867
-
Dan Gohman authored
llvm-svn: 82823
-
Dan Gohman authored
typically faster then doing a general pow. llvm-svn: 82819
-
- Sep 24, 2009
-
-
Torok Edwin authored
llvm-svn: 82700
-
Torok Edwin authored
rather structs passed by value. This fixes PR5038. llvm-svn: 82689
-
- Sep 21, 2009
-
-
Chris Lattner authored
bootstrap problems. llvm-svn: 82464
-
Dan Gohman authored
by setPreservesCFG(). llvm-svn: 82463
-
Dan Gohman authored
helpful, and it didn't correctly handle the case of constants input to PHIs for backedges. llvm-svn: 82462
-
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
-