| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Create constant expression casts instead of constant instructions if possible | Chris Lattner | 2003-04-28 | 1 | -2/+12 | |
| | | | | | llvm-svn: 5968 | |||||
| * | Fix several bugs: | Chris Lattner | 2003-04-28 | 1 | -9/+20 | |
| | | | | | | | | | | | * Warnings were emitted all of the time and were really annoying * Functions could not be resolved unless they had external linkage. Linkonce linkage was not allowed * ConstantPointerRef's were not handled when linking functions we now actually handle cast (CPR) to X -> cast (NewCPR) to X llvm-svn: 5967 | |||||
| * | Avoid naming things exactly the same | Chris Lattner | 2003-04-27 | 1 | -1/+1 | |
| | | | | | llvm-svn: 5966 | |||||
| * | Fix bug: ADCE/2003-04-25-PHIPostDominateProblem.ll | Chris Lattner | 2003-04-25 | 1 | -9/+10 | |
| | | | | | llvm-svn: 5952 | |||||
| * | Fix major problem with PHI node traversal: rechecking PHIs should go into | Chris Lattner | 2003-04-25 | 1 | -1/+1 | |
| | | | | | | | the visit function. The worklist is for when their lattice value changes. llvm-svn: 5927 | |||||
| * | Minor non-functional changes: | Chris Lattner | 2003-04-25 | 1 | -61/+47 | |
| | | | | | | | | | | * Spell propagate right * Improve performance of phi node handling * Delete using directive * Other minor changes llvm-svn: 5920 | |||||
| * | Fix bug: mem2reg/2003-04-24-MultipleIdenticalSuccessors.ll | Chris Lattner | 2003-04-25 | 1 | -7/+8 | |
| | | | | | llvm-svn: 5919 | |||||
| * | Make the levelraise pass be well behaved w.r.t the TargetData that the current | Chris Lattner | 2003-04-24 | 4 | -125/+126 | |
| | | | | | | | PassMAnager provides. llvm-svn: 5896 | |||||
| * | Fix iterator invalidation problem | Chris Lattner | 2003-04-24 | 1 | -2/+7 | |
| | | | | | llvm-svn: 5895 | |||||
| * | Make sure that the cloned module retains the type symbol table entries! | Chris Lattner | 2003-04-24 | 1 | -0/+9 | |
| | | | | | llvm-svn: 5894 | |||||
| * | Make sure to preserve endiannes and pointer size when cloning modules! | Chris Lattner | 2003-04-24 | 1 | -0/+2 | |
| | | | | | llvm-svn: 5892 | |||||
| * | Fix Bug: Linker/2003-04-23-LinkOnceLost.ll | Chris Lattner | 2003-04-23 | 1 | -30/+40 | |
| | | | | | llvm-svn: 5879 | |||||
| * | Remove unnecesary &*'s | Chris Lattner | 2003-04-23 | 18 | -35/+35 | |
| | | | | | llvm-svn: 5872 | |||||
| * | New pass to lower switch instructions to branch instructions | Chris Lattner | 2003-04-23 | 1 | -0/+102 | |
| | | | | | llvm-svn: 5865 | |||||
| * | Minor cleanups | Chris Lattner | 2003-04-23 | 1 | -6/+6 | |
| | | | | | llvm-svn: 5863 | |||||
| * | Add warning when linking modules with disagreeing target properties | Chris Lattner | 2003-04-22 | 1 | -0/+4 | |
| | | | | | llvm-svn: 5845 | |||||
| * | Preserve the new moduleID field | Chris Lattner | 2003-04-22 | 1 | -1/+1 | |
| | | | | | llvm-svn: 5835 | |||||
| * | Fix bug: 2003-01-30-LinkerRename.ll | Chris Lattner | 2003-04-21 | 1 | -7/+33 | |
| | | | | | llvm-svn: 5828 | |||||
| * | Fix linking a function with qualifiers to a external function declaration: | Chris Lattner | 2003-04-21 | 1 | -6/+18 | |
| | | | | | | | Fixed bug: Linker/2003-04-21-Linkage.ll llvm-svn: 5827 | |||||
| * | Fix bug where use still existed in dead code | Chris Lattner | 2003-04-21 | 1 | -0/+2 | |
| | | | | | llvm-svn: 5824 | |||||
| * | Implement: FunctionResolve/2003-04-18-ForwardDeclGlobal.ll | Chris Lattner | 2003-04-19 | 1 | -43/+39 | |
| | | | | | llvm-svn: 5816 | |||||
| * | Fix bug: Mem2reg/2003-04-18-DeadBlockProblem.ll | Chris Lattner | 2003-04-18 | 1 | -4/+17 | |
| | | | | | llvm-svn: 5810 | |||||
| * | Global constants CAN be external | Chris Lattner | 2003-04-18 | 1 | -3/+3 | |
| | | | | | llvm-svn: 5808 | |||||
| * | Refactor CloneFunction to expose the new CloneBasicBlock function | Chris Lattner | 2003-04-18 | 1 | -13/+22 | |
| | | | | | llvm-svn: 5806 | |||||
| * | New const_cast instead of c style cast | Chris Lattner | 2003-04-18 | 1 | -1/+1 | |
| | | | | | llvm-svn: 5805 | |||||
| * | Change the interface to constant expressions to allow automatic folding | Chris Lattner | 2003-04-16 | 2 | -2/+2 | |
| | | | | | llvm-svn: 5793 | |||||
| * | Add new linkage types to support a real frontend | Chris Lattner | 2003-04-16 | 11 | -76/+104 | |
| | | | | | llvm-svn: 5786 | |||||
| * | Make help message more clear | Chris Lattner | 2003-04-13 | 1 | -2/+4 | |
| | | | | | llvm-svn: 5775 | |||||
| * | * Fix bug: Mem2Reg/2003-04-10-DFNotFound.ll | Chris Lattner | 2003-04-10 | 1 | -9/+26 | |
| | | | | | | | | * Make Mem2Reg assign version numbers now for renamed variables instead of .mem2reg suffixes. This produces what people think of as SSA. llvm-svn: 5771 | |||||
| * | Initial checkin of PRE on LLVM. This implementation is still lacking in | Chris Lattner | 2003-03-31 | 1 | -0/+614 | |
| | | | | | | | | | | | | | | | | several ways: * Load expressions are not PRE'd well. Alias Analysis should be used to get accurate information when computing anticipatibility. * The expression collection implementation does not handle PHI nodes properly, thus the implementation misses many opportunities to PRE. * This code could be sped up quite a bit Despite these flaws, the code seems to work well, and handles PR's as one would expect. llvm-svn: 5759 | |||||
| * | * We now preserve the no-critical-edge pass (because we cannot insert ↵ | Chris Lattner | 2003-03-31 | 1 | -11/+17 | |
| | | | | | | | | | critical edges) * Small modification to be more efficient llvm-svn: 5757 | |||||
| * | Move BreakCriticalEdges pass to lib/Transforms/Utils | Chris Lattner | 2003-03-21 | 1 | -155/+0 | |
| | | | | | llvm-svn: 5754 | |||||
| * | Add the following instcombine xforms: | Chris Lattner | 2003-03-11 | 1 | -29/+74 | |
| | | | | | | | | | - Implement simple reassociation: (A|c1)|(B|c2) == (A|B)|(c1|c2) - (A & C1)+(B & C2) -> (A & C1)|(B & C2) iff C1&C2 == 0 - (A & C1)^(B & C2) -> (A & C1)|(B & C2) iff C1&C2 == 0 llvm-svn: 5743 | |||||
| * | Implement: -A*-B == A*B | Chris Lattner | 2003-03-10 | 1 | -0/+4 | |
| | | | | | llvm-svn: 5740 | |||||
| * | Add new transformation: // (~A | ~B) == (~(A & B)) | Chris Lattner | 2003-03-10 | 1 | -8/+19 | |
| | | | | | llvm-svn: 5738 | |||||
| * | Generalize not and neg comparison testers to allow constant to be considered ↵ | Chris Lattner | 2003-03-10 | 1 | -27/+41 | |
| | | | | | | | | | | | | | | | | | | | | | not'able and neg'able. This allows optimization of this: int %test4(int %A, int %B) { %a = xor int %A, -1 %c = and int %a, 5 ; 5 = ~c2 %d = xor int %c, -1 ret int %d } into this: int %test4(int %A, int %B) { ; No predecessors! %c.demorgan = or int %A, -6 ; <int> [#uses=1] ret int %c.demorgan } llvm-svn: 5736 | |||||
| * | Generalize (A+c1)+c2 optimization to work with all associative operators | Chris Lattner | 2003-03-10 | 1 | -35/+50 | |
| | | | | | llvm-svn: 5733 | |||||
| * | Minor change, no functionality diff | Chris Lattner | 2003-03-10 | 1 | -3/+3 | |
| | | | | | llvm-svn: 5731 | |||||
| * | Fix bug: (x << 100) wasn't folded to 0, but (x >> 100) was (when x is unsigned) | Chris Lattner | 2003-03-10 | 1 | -7/+48 | |
| | | | | | | | Implement new shift optimizations for shifting the result of a shift. llvm-svn: 5729 | |||||
| * | Implement: (A|B)^B == A & (~B) | Chris Lattner | 2003-03-10 | 1 | -0/+25 | |
| | | | | | llvm-svn: 5728 | |||||
| * | Fix bug: SimplifyCFG/2003-03-07-DominateProblem.ll | Chris Lattner | 2003-03-07 | 1 | -2/+19 | |
| | | | | | llvm-svn: 5722 | |||||
| * | Implement %test7 in InstCombine/getelementptr.ll | Chris Lattner | 2003-03-05 | 1 | -7/+21 | |
| | | | | | llvm-svn: 5704 | |||||
| * | Implement CFGSimplify/PhiBlockMerge*.ll | Chris Lattner | 2003-03-05 | 1 | -10/+36 | |
| | | | | | llvm-svn: 5702 | |||||
| * | Implement testcase CFGSimplify/EqualPHIEdgeBlockMerge.ll | Chris Lattner | 2003-03-05 | 1 | -10/+24 | |
| | | | | | llvm-svn: 5699 | |||||
| * | Convert LICM over to use AliasSetTracker. Besides being nicer, this ↵ | Chris Lattner | 2003-03-03 | 1 | -164/+45 | |
| | | | | | | | | | automatically allows LICM to use access sizes to help alias analysis be more precise. llvm-svn: 5693 | |||||
| * | Eliminate tons of bogus warnings | Chris Lattner | 2003-03-03 | 1 | -8/+10 | |
| | | | | | llvm-svn: 5686 | |||||
| * | Change the mem2reg interface to accept a TargetData argument | Chris Lattner | 2003-03-03 | 3 | -9/+19 | |
| | | | | | llvm-svn: 5685 | |||||
| * | Fix bug: LICM/2003-02-28-PromoteDifferentType.ll | Chris Lattner | 2003-02-28 | 1 | -2/+8 | |
| | | | | | llvm-svn: 5675 | |||||
| * | Fix bug I introduced yesterday :( | Chris Lattner | 2003-02-28 | 1 | -1/+2 | |
| | | | | | llvm-svn: 5669 | |||||
| * | Fix bug: LICM/2003-02-27-PreheaderExitNodeUpdate.ll | Chris Lattner | 2003-02-28 | 1 | -1/+5 | |
| | | | | | llvm-svn: 5667 | |||||

