| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Fix Bug: test/Regression/Transforms/InstCombine/2002-09-08-PointerShiftBug.ll | Chris Lattner | 2002-09-08 | 1 | -0/+1 |
| | | | | | llvm-svn: 3626 | ||||
| * | Minor simplification | Chris Lattner | 2002-09-08 | 1 | -6/+5 |
| | | | | | llvm-svn: 3619 | ||||
| * | Initial checkin of Correlated Expression Elimination Pass | Chris Lattner | 2002-09-06 | 1 | -0/+974 |
| | | | | | llvm-svn: 3599 | ||||
| * | Fix file header to be accurate, instead of something I just copied and pasted. | Chris Lattner | 2002-09-06 | 1 | -3/+2 |
| | | | | | llvm-svn: 3591 | ||||
| * | Fix bug with critical edge splitting code where it wouldn't update PHI nodes | Chris Lattner | 2002-09-06 | 1 | -2/+12 |
| | | | | | | | | in the old destination block to indicate that the value flows from the new edge splitting block, not from the original multi-successor block. llvm-svn: 3590 | ||||
| * | Check in the implementation of critical edge detection and splitting | Chris Lattner | 2002-09-06 | 1 | -0/+84 |
| | | | | | llvm-svn: 3588 | ||||
| * | - Renamed Type::isIntegral() to Type::isInteger() | Chris Lattner | 2002-09-03 | 2 | -12/+5 |
| | | | | | | | | - Added new method Type::isIntegral() that is the same as isInteger, but also accepts bool. llvm-svn: 3574 | ||||
| * | - Renamed Type::isIntegral() to Type::isInteger() | Chris Lattner | 2002-09-03 | 1 | -1/+1 |
| | | | | | | | | - Added new method Type::isIntegral() that is the same as isInteger, but also accepts bool. llvm-svn: 3573 | ||||
| * | Add constant prop & DIE to InstCombine, so it cleans up after itself | Chris Lattner | 2002-09-02 | 1 | -9/+45 |
| | | | | | llvm-svn: 3568 | ||||
| * | - Implement SCCP of getelementptr instructions | Chris Lattner | 2002-08-30 | 1 | -5/+31 |
| | | | | | | | | - Implement SCCP of globals into ConstantExprs hopefully opening new opportunities for more SCCP. llvm-svn: 3555 | ||||
| * | - Eliminate the last traces of the 'analysis' namespace | Chris Lattner | 2002-08-30 | 2 | -4/+3 |
| | | | | | llvm-svn: 3550 | ||||
| * | Really minor cleanups | Chris Lattner | 2002-08-30 | 1 | -9/+4 |
| | | | | | llvm-svn: 3549 | ||||
| * | - GCSE now no longer counts instructions not removed (due to no common | Chris Lattner | 2002-08-30 | 1 | -257/+108 |
| | | | | | | | | | dominator as being removed) - GCSE now uses new Value #'ing interface, instead of dealing with AA itself - GCSE worklist implementation much simpler, class cleaned up. llvm-svn: 3533 | ||||
| * | - instcombine demorgan's law: and (not A), (not B) == not (or A, B) | Chris Lattner | 2002-08-23 | 1 | -0/+12 |
| | | | | | llvm-svn: 3495 | ||||
| * | Eliminated the MemAccessInst class, folding contents into GEP class. | Chris Lattner | 2002-08-22 | 1 | -6/+0 |
| | | | | | llvm-svn: 3488 | ||||
| * | Eliminated the MemAccessInst class, folding contents into GEP class. | Chris Lattner | 2002-08-22 | 4 | -55/+23 |
| | | | | | llvm-svn: 3487 | ||||
| * | Load & StoreInst no longer derive from MemAccessInst, so we don't have | Chris Lattner | 2002-08-22 | 3 | -22/+1 |
| | | | | | | | to handle indexing anymore llvm-svn: 3485 | ||||
| * | *** empty log message *** | Chris Lattner | 2002-08-22 | 3 | -17/+4 |
| | | | | | llvm-svn: 3483 | ||||
| * | Add capability of using pointer analysis to LICM | Chris Lattner | 2002-08-22 | 1 | -2/+35 |
| | | | | | llvm-svn: 3478 | ||||
| * | Remove long obsolete comments | Chris Lattner | 2002-08-22 | 1 | -7/+0 |
| | | | | | llvm-svn: 3476 | ||||
| * | Instcombine PHI's of the form %PN = phi PN, X into X and | Chris Lattner | 2002-08-22 | 1 | -4/+13 |
| | | | | | | | %PN = phi PN, PN, PN into 0 (because the phi must not be reachable) llvm-svn: 3470 | ||||
| * | Convert GCSE pass to use new alias analysis infrastructure | Chris Lattner | 2002-08-22 | 1 | -61/+35 |
| | | | | | llvm-svn: 3463 | ||||
| * | Do not generate load/store instructions with indexing. | Chris Lattner | 2002-08-22 | 1 | -18/+36 |
| | | | | | llvm-svn: 3461 | ||||
| * | - Split Dominators.h into Dominators.h & PostDominators.h | Chris Lattner | 2002-08-21 | 1 | -1/+1 |
| | | | | | llvm-svn: 3432 | ||||
| * | Do not generate loads/stores with indexing | Chris Lattner | 2002-08-21 | 1 | -28/+37 |
| | | | | | llvm-svn: 3422 | ||||
| * | Remove extraneous #includes | Chris Lattner | 2002-08-21 | 1 | -1/+0 |
| | | | | | llvm-svn: 3421 | ||||
| * | Do not create load/stores with indexes | Chris Lattner | 2002-08-21 | 1 | -14/+16 |
| | | | | | llvm-svn: 3420 | ||||
| * | Remove an optimization that isn't. | Chris Lattner | 2002-08-21 | 1 | -5/+7 |
| | | | | | llvm-svn: 3419 | ||||
| * | - Do not expose ::ID from any of the analyses anymore. | Chris Lattner | 2002-08-21 | 1 | -1/+0 |
| | | | | | llvm-svn: 3417 | ||||
| * | fixed bug: test/Regression/Linker/2002-08-20-ConstantExpr.ll | Chris Lattner | 2002-08-20 | 1 | -11/+11 |
| | | | | | llvm-svn: 3412 | ||||
| * | - instcombine (~(a < b)) into (a >= b) | Chris Lattner | 2002-08-20 | 1 | -2/+10 |
| | | | | | llvm-svn: 3406 | ||||
| * | - implemented instcombine of phi (X, X, X) -> X | Chris Lattner | 2002-08-20 | 1 | -1/+12 |
| | | | | | llvm-svn: 3397 | ||||
| * | - Made GlobalDCE worklist driven, making it more successful. Now can handle | Chris Lattner | 2002-08-18 | 1 | -17/+176 |
| | | | | | | | cases like: test/Regression/Transforms/GlobalDCE/2002-08-17-WorkListTest.ll llvm-svn: 3381 | ||||
| * | Promote getelementptr instructions to constexprs if we can. | Chris Lattner | 2002-08-17 | 1 | -3/+19 |
| | | | | | llvm-svn: 3368 | ||||
| * | Handle more cases of cast-of-cast in more general forms. | Chris Lattner | 2002-08-15 | 1 | -8/+35 |
| | | | | | llvm-svn: 3347 | ||||
| * | Implement capability to fold this: | Chris Lattner | 2002-08-14 | 1 | -4/+11 |
| | | | | | | | | | | | | uint %test4(int %A, int %B) { %COND = setlt int %A, %B ; <bool> [#uses=1] %result = cast bool %COND to uint ; <uint> [#uses=1] ret uint %result } into a single cast instruction. llvm-svn: 3339 | ||||
| * | Avoid creating 'load X, 0' instead of just 'load X' | Chris Lattner | 2002-08-14 | 1 | -0/+3 |
| | | | | | | | | | This _trivial_ change causes GCSE and LICM to be much more effective at hoisting loads. Before it would not be able to eliminate 'load X' if there was just a dominating 'load X, 0' because the expressions were not identical. llvm-svn: 3337 | ||||
| * | Avoid inserting an entry block unless we need it | Chris Lattner | 2002-08-14 | 1 | -5/+9 |
| | | | | | llvm-svn: 3336 | ||||
| * | Remove support for Not ConstantExpr. This simplifies the unary case to only | Chris Lattner | 2002-08-14 | 1 | -3/+3 |
| | | | | | | | have to support the cast instruction, so the function is renamed to getCast. llvm-svn: 3328 | ||||
| * | Fix bug introduced in last checkin due to CastInst not being visible | Chris Lattner | 2002-08-14 | 2 | -3/+5 |
| | | | | | llvm-svn: 3327 | ||||
| * | Remove support for NOT instruction | Chris Lattner | 2002-08-14 | 2 | -9/+6 |
| | | | | | llvm-svn: 3323 | ||||
| * | Remove extra #includes | Chris Lattner | 2002-08-14 | 1 | -2/+0 |
| | | | | | llvm-svn: 3322 | ||||
| * | Remove support for unary operators | Chris Lattner | 2002-08-14 | 1 | -6/+4 |
| | | | | | llvm-svn: 3318 | ||||
| * | - Fix InstCombine pass to not generate or process NOT instructions | Chris Lattner | 2002-08-14 | 1 | -15/+15 |
| | | | | | | | - Fixed testcases to not use them either. llvm-svn: 3315 | ||||
| * | Remove support for NOT instruction | Chris Lattner | 2002-08-14 | 1 | -6/+0 |
| | | | | | llvm-svn: 3313 | ||||
| * | - Rename ConstantGenericIntegral -> ConstantIntegral | Chris Lattner | 2002-08-13 | 1 | -3/+3 |
| | | | | | llvm-svn: 3300 | ||||
| * | * Factor a bunch of code by using ReplaceInstUsesWith | Chris Lattner | 2002-08-12 | 1 | -163/+51 |
| | | | | | | | * Move isMaxValue, isMinValue, isAllOnesValue to Constants.h llvm-svn: 3290 | ||||
| * | New functionality for instcombine: | Chris Lattner | 2002-08-09 | 1 | -28/+213 |
| | | | | | | | | | | | | | | | | | | * New ReplaceInstUsesWith function to factor out tons of common code This needs to be used more in the future still, but it's a good start * New InsertNewInstBefore to allow multi-instruction replacements * Change getMaxValue functions to isAllOnesValue function, which doesn't have to CREATE/lookup a new constant. Also the name is accurate * Add new isMaxValue, isMinValue, isMaxValueMinusOne, isMinValuePlusOne functions: This should be moved to Constant* classes eventually * Implement xor X, ALLONES -> not X * Fold ALL setcc's of booleans away * Handle various SetCC's for integers against values at the end of their ranges, possibly off by one. This implements the setcc-strength-reduce.ll testcase. llvm-svn: 3286 | ||||
| * | Initial checkin of the "Hello World" Pass. | Chris Lattner | 2002-08-08 | 2 | -0/+40 |
| | | | | | llvm-svn: 3266 | ||||
| * | - Cleaned up the interface to AnalysisUsage to take analysis class names | Chris Lattner | 2002-08-08 | 10 | -13/+13 |
| | | | | | | | | instead of ::ID's. - Pass::getAnalysis<> now no longer takes an optional argument llvm-svn: 3265 | ||||

