- 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
-
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: 43167
-
Chris Lattner authored
llvm-svn: 43166
-
Chris Lattner authored
llvm-svn: 43165
-
Bill Wendling authored
llvm-svn: 43161
-
Dale Johannesen authored
llvm-svn: 43160
-
- Oct 18, 2007
-
-
Bill Wendling authored
llvm-svn: 43120
-
Duncan Sands authored
llvm-svn: 43119
-
Evan Cheng authored
traversing inverse register coalescing map. llvm-svn: 43118
-
- Oct 17, 2007
-
-
Dan Gohman authored
llvm-svn: 43072
-
Duncan Sands authored
types. This is needed for SIGN_EXTEND_INREG at least. It is not clear if this is correct for other operations. On the other hand, for the various load/store actions it seems to correct to return the type action, as is currently done. Also, it seems that SelectionDAG::getValueType can be called for extended value types; introduce a map for holding these, since we don't really want to extend the vector to be 2^32 pointers long! Generalize DAGTypeLegalizer::PromoteResult_TRUNCATE and DAGTypeLegalizer::PromoteResult_INT_EXTEND to handle the various funky possibilities that apints introduce, for example that you can promote to a type that needs to be expanded. llvm-svn: 43071
-
Evan Cheng authored
llvm-svn: 43069
-
Evan Cheng authored
llvm-svn: 43065
-
Evan Cheng authored
their value numbers with the specified value number. llvm-svn: 43062
-
Evan Cheng authored
llvm-svn: 43061
-
Evan Cheng authored
llvm-svn: 43060
-
Dale Johannesen authored
Remove the assumption that this will happen from various places. llvm-svn: 43053
-
- Oct 16, 2007
-
-
Evan Cheng authored
llvm-svn: 43043
-
Evan Cheng authored
llvm-svn: 43035
-
Duncan Sands authored
codegen support. This should have no effect on codegen for other types. Debatable bits: (1) the use (abuse?) of a set in SDNode::getValueTypeList; (2) the length of getTypeToTransformTo, which maybe should be refactored with a non-inline part for extended value types. llvm-svn: 43030
-
Duncan Sands authored
being passed instead of an opcode; (2) ValueType being passed for isVolatile (!) in getLoad. llvm-svn: 43028
-
Evan Cheng authored
llvm-svn: 43026
-
Chris Lattner authored
work with type promotion on x86. llvm-svn: 43025
-
Dan Gohman authored
llvm-svn: 43020
-
- Oct 15, 2007
-
-
Evan Cheng authored
llvm-svn: 43017
-
Evan Cheng authored
llvm-svn: 42996
-
Chris Lattner authored
llvm-svn: 42995
-
Chris Lattner authored
llvm-svn: 42994
-
Chris Lattner authored
llvm-svn: 42992
-