| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 3626
|
| |
|
|
| |
llvm-svn: 3619
|
| |
|
|
| |
llvm-svn: 3599
|
| |
|
|
|
|
|
| |
- Added new method Type::isIntegral() that is the same as isInteger, but
also accepts bool.
llvm-svn: 3574
|
| |
|
|
| |
llvm-svn: 3568
|
| |
|
|
|
|
|
| |
- Implement SCCP of globals into ConstantExprs hopefully opening new
opportunities for more SCCP.
llvm-svn: 3555
|
| |
|
|
| |
llvm-svn: 3549
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 3495
|
| |
|
|
| |
llvm-svn: 3487
|
| |
|
|
|
|
| |
to handle indexing anymore
llvm-svn: 3485
|
| |
|
|
| |
llvm-svn: 3478
|
| |
|
|
| |
llvm-svn: 3476
|
| |
|
|
|
|
| |
%PN = phi PN, PN, PN into 0 (because the phi must not be reachable)
llvm-svn: 3470
|
| |
|
|
| |
llvm-svn: 3463
|
| |
|
|
| |
llvm-svn: 3432
|
| |
|
|
| |
llvm-svn: 3419
|
| |
|
|
| |
llvm-svn: 3406
|
| |
|
|
| |
llvm-svn: 3397
|
| |
|
|
| |
llvm-svn: 3368
|
| |
|
|
| |
llvm-svn: 3347
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 3336
|
| |
|
|
| |
llvm-svn: 3327
|
| |
|
|
| |
llvm-svn: 3323
|
| |
|
|
| |
llvm-svn: 3322
|
| |
|
|
| |
llvm-svn: 3318
|
| |
|
|
|
|
| |
- Fixed testcases to not use them either.
llvm-svn: 3315
|
| |
|
|
| |
llvm-svn: 3300
|
| |
|
|
|
|
| |
* Move isMaxValue, isMinValue, isAllOnesValue to Constants.h
llvm-svn: 3290
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
|
| |
instead of ::ID's.
- Pass::getAnalysis<> now no longer takes an optional argument
llvm-svn: 3265
|
| |
|
|
| |
llvm-svn: 3262
|
| |
|
|
|
|
|
| |
Don't decompose if there are 2 indices with 0 as first index.
Compute Changed flag correctly in runOnBasicBlock().
llvm-svn: 3233
|
| |
|
|
|
|
| |
Implement feature: Cast's can now be converted to bitwise AND expressions.
llvm-svn: 3225
|
| |
|
|
|
|
|
|
|
| |
- Reenable gep (gep x) -> x
- Make instcombine do dead instruction elimination where it's really
easy. Now visitors don't have to ensure they aren't not processing
dead instructions.
llvm-svn: 3222
|
| |
|
|
| |
llvm-svn: 3215
|
| |
|
|
|
|
|
|
|
|
|
| |
which was caused by us not running the "drop references of dead
instructions" code when there were no basic blocks that were dead.
We still don't want to do some of the stuff we do if there are dead
basic blocks, but we DO want to drop references of dead instructions,
so we factor the common code out to a new method.
llvm-svn: 3137
|
| |
|
|
|
|
|
| |
arguments dropped. This fixes bug:
test/Regression/Transforms/ADCE/2002-07-17-PHIAssertion.ll
llvm-svn: 3134
|
| |
|
|
| |
llvm-svn: 3129
|
| |
|
|
|
|
|
|
|
|
| |
methods
* Eliminate AnalysisID: Now it is just a typedef for const PassInfo*
* Simplify how AnalysisID's are initialized
* Eliminate Analysis/Writer.cpp/.h: incorporate printing functionality into
the analyses themselves.
llvm-svn: 3116
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add new RegisterOpt/RegisterAnalysis templates for registering passes that
are to show up in opt or analyze
* Register Analyses now
* Change optimizations to use RegisterOpt instead of RegisterPass
* Add support for different "PassType's"
* Add new RegisterOpt/RegisterAnalysis templates for registering passes that
are to show up in opt or analyze
* Register Analyses now
* Change optimizations to use RegisterOpt instead of RegisterPass
* Remove getPassName implementations from various subclasses
llvm-svn: 3113
|
| |
|
|
| |
llvm-svn: 3105
|
| |
|
|
| |
llvm-svn: 3075
|
| |
|
|
| |
llvm-svn: 3038
|
| |
|
|
| |
llvm-svn: 3016
|
| |
|
|
|
|
| |
* Register all Passes
llvm-svn: 3015
|
| |
|
|
| |
llvm-svn: 3002
|
| |
|
|
| |
llvm-svn: 2870
|
| |
|
|
| |
llvm-svn: 2813
|