- Jan 31, 2007
-
-
Lauro Ramos Venancio authored
ARM fix: Miscompilation when frame pointer can't be eliminated. Uninitialized frame pointer register is used. llvm-svn: 33703
-
Evan Cheng authored
llvm-svn: 33702
-
Evan Cheng authored
result of the comparison libcall against zero. llvm-svn: 33701
-
Evan Cheng authored
default they call the same libgcc routine. The result of the calls are "tested" differently. llvm-svn: 33700
-
Evan Cheng authored
llvm-svn: 33699
-
Chris Lattner authored
table grows. llvm-svn: 33698
-
Chris Lattner authored
llvm-svn: 33697
-
Chris Lattner authored
llvm-svn: 33696
-
Chris Lattner authored
llvm-svn: 33695
-
Chris Lattner authored
llvm-svn: 33694
-
Chris Lattner authored
llvm-svn: 33693
-
Chris Lattner authored
This allows us to eliminate many temporary vectors, and theirassociated malloc/free pairs. llvm-svn: 33692
-
Chris Lattner authored
vectors. This allows us to eliminate many temporary vectors, and their associated malloc/free pairs. llvm-svn: 33691
-
Evan Cheng authored
- Islands are inserted right after the user MI since thumb LDR cannot encode negative offset. llvm-svn: 33690
-
Reid Spencer authored
llvm-svn: 33689
-
Chris Lattner authored
llvm-svn: 33688
-
Chris Lattner authored
it can be used by multiple clients. This specifically allows the inliner to constant fold symbolically. llvm-svn: 33687
-
Reid Spencer authored
llvm-svn: 33686
-
Reid Spencer authored
llvm-svn: 33685
-
Chris Lattner authored
ConstantFoldInstOperands. Switch to ConstantFoldInstOperands and remove ConstantFold. llvm-svn: 33683
-
Chris Lattner authored
1. Remove using namespace llvm; 2. Remove unneeded #includes. 3. Add #include guard. Also add prototypes for new code moved from transformutils to libanalysis. llvm-svn: 33682
-
Chris Lattner authored
llvm-svn: 33681
-
Chris Lattner authored
llvm-svn: 33680
-
Chris Lattner authored
libanalysis/ConstantFolding.cpp. llvm-svn: 33679
-
Chris Lattner authored
llvm-svn: 33678
-
Chris Lattner authored
llvm-svn: 33677
-
Chris Lattner authored
used by constant folding. llvm-svn: 33676
-
Chris Lattner authored
llvm-svn: 33675
-
Chris Lattner authored
llvm-svn: 33674
-
Chris Lattner authored
llvm-svn: 33673
-
Chris Lattner authored
llvm-svn: 33672
-
Chris Lattner authored
llvm-svn: 33671
-
Chris Lattner authored
ConstantFoldInstOperands/ConstantFoldCall to take a pointer to an array of operands + size, instead of an std::vector. In some cases, switch to using a SmallVector instead of a vector. This allows us to get rid of some special case gross code that was there to avoid the cost of constructing a vector. llvm-svn: 33670
-
Chris Lattner authored
ConstantFoldInstOperands/ConstantFoldCall to take a pointer to an array of operands + size, instead of an std::vector. llvm-svn: 33669
-
Evan Cheng authored
llvm-svn: 33668
-
Evan Cheng authored
that would require > 3 instructions to materialize), load the immediate from a constpool entry. llvm-svn: 33667
-
- Jan 30, 2007
-
-
Chris Lattner authored
llvm-svn: 33666
-
Chris Lattner authored
This occurs in C++ code like: #include <iostream> #include <iterator> int a[] = { 1, 2, 3, 4, 5 }; int main() { using namespace std; copy(a, a + sizeof(a)/sizeof(a[0]), ostream_iterator<int>(cout, "\n")); return 0; } Before we would decide the loop trip count is: sdiv (i32 sub (i32 ptrtoint (i32* getelementptr ([5 x i32]* @a, i32 0, i32 5) to i32), i32 ptrtoint ([5 x i32]* @a to i32)), i32 4) Now we decide it is "5". Amazing. This code will need to be refactored, but I'm doing that as a separate commit. llvm-svn: 33665
-
Evan Cheng authored
.set PCRELV0, (LJTI1_0_0-(LPCRELL0+4)) LPCRELL0: add r1, pc, #PCRELV0 This is not legal since add r1, pc, #c requires the constant be a multiple of 4. Do the following instead: .set PCRELV0, (LJTI1_0_0-(LPCRELL0+4)) LPCRELL0: mov r1, #PCRELV0 add r1, pc - In thumb mode, it's not possible to use .set generate a pc relative stub address. The stub is ARM code which is in a different section from the thumb code. Load the value from a constpool instead. - Some asm printing clean up. llvm-svn: 33664
-
Reid Spencer authored
confusion with external linkage types. llvm-svn: 33663
-