- Oct 22, 2007
-
-
Duncan Sands authored
funky bit-widths. llvm-svn: 43225
-
Dan Gohman authored
SCEV subclasses to being non-static member functions of the ScalarEvolution class. llvm-svn: 43224
-
Duncan Sands authored
operations so they work right for integers with funky bit-widths. For example, consider extending i48 to i64 on a 32 bit machine. The i64 result is expanded to 2 x i32. We know that the i48 operand will be promoted to i64, then also expanded to 2 x i32. If we had the expanded promoted operand to hand, then expanding the result would be trivial. Unfortunately at this stage we can only get hold of the promoted operand. So instead we kind of hand-expand, doing explicit shifting and truncating to get the top and bottom halves of the i64 operand into 2 x i32, which are then used to expand the result. This is harmless, because when the promoted operand is finally expanded all this bit fiddling turns into trivial operations which are eliminated either by the expansion code itself or the DAG combiner. llvm-svn: 43223
-
Evan Cheng authored
llvm-svn: 43212
-
Evan Cheng authored
- Remove a bogus assertion. llvm-svn: 43211
-
Chris Lattner authored
llvm-svn: 43210
-
Chris Lattner authored
llvm-svn: 43209
-
Anton Korobeynikov authored
- enable phi instructions demotion to stack - create alloca instructions in the entry block llvm-svn: 43208
-
Chris Lattner authored
llvm-svn: 43207
-
Chris Lattner authored
llvm-svn: 43206
-
- Oct 21, 2007
-
-
Dale Johannesen authored
Fixes 5550319. llvm-svn: 43205
-
Chris Lattner authored
llvm-svn: 43204
-
- Oct 20, 2007
-
-
Chris Lattner authored
with the new legalizer. llvm-svn: 43199
-
Chris Lattner authored
llvm-svn: 43198
-
Chris Lattner authored
This fixes CodeGen/X86/mem*.ll. llvm-svn: 43197
-
Evan Cheng authored
llvm-svn: 43196
-
Dale Johannesen authored
the operand's type from the right place. llvm-svn: 43195
-
Evan Cheng authored
llvm-svn: 43194
-
- Oct 19, 2007
-
-
Evan Cheng authored
Turn a store folding instruction into a load folding instruction. e.g. xorl %edi, %eax movl %eax, -32(%ebp) movl -36(%ebp), %eax orl %eax, -32(%ebp) => xorl %edi, %eax orl -36(%ebp), %eax mov %eax, -32(%ebp) This enables the unfolding optimization for a subsequent instruction which will also eliminate the newly introduced store instruction. llvm-svn: 43192
-
Bill Wendling authored
llvm-svn: 43191
-
Duncan Sands authored
llvm-svn: 43190
-
Dale Johannesen authored
llvm-svn: 43189
-
Chris Lattner authored
llvm-svn: 43181
-
Chris Lattner authored
by Duncan llvm-svn: 43177
-
Rafael Espindola authored
llvm-svn: 43176
-
Duncan Sands authored
llvm-svn: 43175
-
Duncan Sands authored
asserts in later checks rather than producing the ordinary load it is supposed to. Avoid all such hassles by directly returning an ordinary load in this case. llvm-svn: 43174
-
Rafael Espindola authored
To do this it is necessary to add a "always inline" argument to the memcpy node. For completeness I have also added this node to memmove and memset. I have also added getMem* functions, because the extra argument makes it cumbersome to use getNode and because I get confused by it :-) llvm-svn: 43172
-
Chris Lattner authored
llvm-svn: 43171
-
Chris Lattner authored
llvm-svn: 43170
-
Chris Lattner authored
llvm-svn: 43169
-
Chris Lattner authored
llvm-svn: 43168
-
Chris Lattner authored
llvm-svn: 43167
-
Chris Lattner authored
llvm-svn: 43166
-
Chris Lattner authored
llvm-svn: 43165
-
Chris Lattner authored
llvm-svn: 43164
-
Bill Wendling authored
llvm-svn: 43161
-
Dale Johannesen authored
llvm-svn: 43160
-
Evan Cheng authored
- Added getOpcodeAfterMemoryUnfold(). It doesn't unfold an instruction, but only returns the opcode of the instruction post unfolding. - Fix some copy+paste bugs. llvm-svn: 43153
-
- Oct 18, 2007
-
-
Evan Cheng authored
llvm-svn: 43150
-