- Jan 31, 2007
-
-
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
-
Reid Spencer authored
llvm-svn: 33662
-
Reid Spencer authored
outweight its computational costs. This patch removes all compaction table handling from the bcreader and bcwriter. For the record, here's the difference betweeen having and not having compaction tables for some tests: Test With Without Size Chg Olden/mst 5,602 5,598 +0.1% viterbi 18,026 17,795 +1.3% obsequi 162,133 166,663 -2.8% burg 224,090 228,148 -1.8% kimwitu++ 4,933,263 5,121,159 -3.8% 176.gcc 8,470,424 9,141,539 -7.3% It seems that it is more beneficial to larger files, but even on the largest test case we have (176.gcc) it only amounts ot an I/O saving of 7.3%. llvm-svn: 33661
-
Reid Spencer authored
Update these tests to not use the same name even though the type of the value differs. After PR411 hits, type planes will be gone and it will be illegal for a name to be used twice, regardless of type. llvm-svn: 33660
-
Reid Spencer authored
llvm-svn: 33659
-
Evan Cheng authored
llvm-svn: 33658
-
Evan Cheng authored
llvm-svn: 33657
-
Evan Cheng authored
llvm-svn: 33656
-
Reid Spencer authored
llvm-svn: 33655
-