- Nov 27, 2008
-
-
Nick Lewycky authored
Despite changing the order of evaluation, this doesn't actually change the meaning of the statement. llvm-svn: 60177
-
Nuno Lopes authored
llvm-svn: 60175
-
Nuno Lopes authored
llvm-svn: 60174
-
Chris Lattner authored
FindAvailableLoadedValue llvm-svn: 60169
-
Chris Lattner authored
llvm-svn: 60168
-
Chris Lattner authored
if it has it. llvm-svn: 60167
-
Chris Lattner authored
llvm-svn: 60166
-
Bill Wendling authored
inlined" message. llvm-svn: 60165
-
Chris Lattner authored
llvm-svn: 60164
-
Chris Lattner authored
llvm-svn: 60163
-
Chris Lattner authored
llvm-svn: 60162
-
Bill Wendling authored
llvm-svn: 60161
-
Chris Lattner authored
just simple threading. llvm-svn: 60157
-
Bill Wendling authored
llvm-svn: 60156
-
Misha Brukman authored
llvm-svn: 60153
-
Sanjiv Gupta authored
llvm-svn: 60149
-
Chris Lattner authored
1. Make it fold blocks separated by an unconditional branch. This enables jump threading to see a broader scope. 2. Make jump threading able to eliminate locally redundant loads when they feed the branch condition of a block. This frequently occurs due to reg2mem running. 3. Make jump threading able to eliminate *partially redundant* loads when they feed the branch condition of a block. This is common in code with lots of loads and stores like C++ code and 255.vortex. This implements thread-loads.ll and rdar://6402033. Per the fixme's, several pieces of this should be moved into Transforms/Utils. llvm-svn: 60148
-
Evan Cheng authored
llvm-svn: 60145
-
Evan Cheng authored
llvm-svn: 60141
-
Evan Cheng authored
On x86 favors folding short immediate into some arithmetic operations (e.g. add, and, xor, etc.) because materializing an immediate in a register is expensive in turns of code size. e.g. movl 4(%esp), %eax addl $4, %eax is 2 bytes shorter than movl $4, %eax addl 4(%esp), %eax llvm-svn: 60139
-
Dale Johannesen authored
llvm-svn: 60137
-
Evan Cheng authored
llvm-svn: 60135
-
Ted Kremenek authored
llvm-svn: 60134
-
- Nov 26, 2008
-
-
Mikhail Glushenkov authored
llvm-svn: 60127
-
Bill Wendling authored
llvm-svn: 60125
-
Bill Wendling authored
the conditional for the BRCOND statement. For instance, it will generate: addl %eax, %ecx jo LOF instead of addl %eax, %ecx ; About 10 instructions to compare the signs of LHS, RHS, and sum. jl LOF llvm-svn: 60123
-
Chris Lattner authored
performance in most cases on the Grawp tester, but does speed some things up (like shootout/hash by 15%). This also doesn't impact compile time in a noticable way on the Grawp tester. It also, of course, gets the testcase it was designed for right :) llvm-svn: 60120
-
Bill Wendling authored
llvm-svn: 60113
-
Bill Wendling authored
llvm-svn: 60112
-
Devang Patel authored
llvm-svn: 60111
-
Evan Cheng authored
llvm-svn: 60110
-
Duncan Sands authored
and operation legalization does something useful. llvm-svn: 60108
-
Mikhail Glushenkov authored
llvm-svn: 60105
-
Sanjiv Gupta authored
llvm-svn: 60102
-
Mikhail Glushenkov authored
llvm-svn: 60101
-
Mikhail Glushenkov authored
llvm-svn: 60100
-
Mikhail Glushenkov authored
llvm-svn: 60099
-
Sanjiv Gupta authored
Custom lower AND, OR, XOR bitwise operations. llvm-svn: 60098
-
Dan Gohman authored
llvm-svn: 60095
-
Dan Gohman authored
and the LiveInterval.h top-level comment and accordingly. This fixes blocks having spurious live-in registers in boundary cases. llvm-svn: 60092
-