summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis
Commit message (Collapse)AuthorAgeFilesLines
...
* Move some symbolic constant folding code out of instcombine into a placeChris Lattner2007-01-311-3/+136
| | | | | | | it can be used by multiple clients. This specifically allows the inliner to constant fold symbolically. llvm-svn: 33687
* The local "ConstantFold" method is now just a watered down version ofChris Lattner2007-01-301-37/+3
| | | | | | | ConstantFoldInstOperands. Switch to ConstantFoldInstOperands and remove ConstantFold. llvm-svn: 33683
* move a bunch of constant folding code f rom Transforms/Utils/Local.cpp intoChris Lattner2007-01-301-2/+155
| | | | | | libanalysis/ConstantFolding.cpp. llvm-svn: 33679
* adjust to constant folding api changes.Chris Lattner2007-01-302-7/+8
| | | | llvm-svn: 33673
* For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoidReid Spencer2007-01-306-10/+10
| | | | | | confusion with external linkage types. llvm-svn: 33663
* Use StartPassTimer() and StopPassManager()Devang Patel2007-01-291-3/+2
| | | | llvm-svn: 33640
* Measure timings.Devang Patel2007-01-291-2/+3
| | | | llvm-svn: 33627
* Remove dead code.Devang Patel2007-01-261-9/+0
| | | | | | | CallGraphSCCPass does not need to implement runOnModule(). It supports runOnSCC(). llvm-svn: 33516
* Fix typo.Devang Patel2007-01-231-1/+1
| | | | llvm-svn: 33467
* Add CallGraphSCCPass::assignPassManager().Devang Patel2007-01-231-0/+38
| | | | | | This enables CalLGraphPassManager. llvm-svn: 33466
* For PR970:Reid Spencer2007-01-211-2/+1
| | | | | | | Clean up handling of isFloatingPoint() and dealing with PackedType. Patch by Gordon Henriksen! llvm-svn: 33415
* For PR1043:Reid Spencer2007-01-192-1/+2
| | | | | | | | | | | | | | This is the final patch for this PR. It implements some minor cleanup in the use of IntegerType, to wit: 1. Type::getIntegerTypeMask -> IntegerType::getBitMask 2. Type::Int*Ty changed to IntegerType* from Type* 3. ConstantInt::getType() returns IntegerType* now, not Type* This also fixes PR1120. Patch by Sheng Zhou. llvm-svn: 33370
* Add CGPassManager.Devang Patel2007-01-171-0/+124
| | | | llvm-svn: 33309
* Unbreak VC++ build.Jeff Cohen2007-01-151-1/+1
| | | | llvm-svn: 33242
* Constant fold llvm.powi.*. This speeds up tramp3d--v4 by 9.5%Chris Lattner2007-01-151-1/+12
| | | | llvm-svn: 33229
* rename Type::isIntegral to Type::isInteger, eliminating the old Type::isInteger.Chris Lattner2007-01-153-16/+16
| | | | | | | | | rename Type::getIntegralTypeMask to Type::getIntegerTypeMask. This makes naming much more consistent. For example, there are now no longer any instances of IntegerType that are not considered isInteger! :) llvm-svn: 33225
* Update code to eliminate calls to isInteger, calling isIntegral instead.Chris Lattner2007-01-152-17/+12
| | | | llvm-svn: 33220
* Fix correlated exprs regressionsChris Lattner2007-01-151-2/+2
| | | | llvm-svn: 33214
* fit to 80 cols.Chris Lattner2007-01-141-8/+6
| | | | | | | | | Remove now-extraneous checks for ptr->ptr bitcasts. Fix PR1109 and Analysis/BasicAA/2007-01-13-BasePointerBadNoAlias.ll. We need to consider arbitrary sized objects when checking for nested GEP offsets. llvm-svn: 33195
* Fix PR1101 and Analysis/ScalarEvolution/trip-count.llChris Lattner2007-01-141-3/+5
| | | | llvm-svn: 33193
* don't discriminate against boolChris Lattner2007-01-121-1/+1
| | | | llvm-svn: 33128
* remove unneeded special casesChris Lattner2007-01-121-7/+0
| | | | llvm-svn: 33127
* GEP operands can't be boolsChris Lattner2007-01-121-6/+3
| | | | llvm-svn: 33125
* Implement review feedback for the ConstantBool->ConstantInt merge. ChrisReid Spencer2007-01-123-8/+8
| | | | | | | | recommended that getBoolValue be replaced with getZExtValue and that get(bool) be replaced by get(const Type*, uint64_t). This implements those changes. llvm-svn: 33110
* Rename BoolTy as Int1Ty. Patch by Sheng Zhou.Reid Spencer2007-01-113-9/+9
| | | | llvm-svn: 33076
* For PR1043:Zhou Sheng2007-01-114-45/+50
| | | | | | | Merge ConstantIntegral and ConstantBool into ConstantInt. Remove ConstantIntegral and ConstantBool from LLVM. llvm-svn: 33073
* Fix a bug in an assert that would never trigger.Reid Spencer2007-01-081-1/+1
| | | | llvm-svn: 33005
* Convert uses of getPrimitiveSize that should be getPrimitiveSizeInBits.Reid Spencer2007-01-082-15/+14
| | | | llvm-svn: 33003
* remove llvm.isunorderedChris Lattner2007-01-071-5/+0
| | | | llvm-svn: 32991
* Fix PR1015 and Transforms/IndVarsSimplify/2007-01-06-TripCount.ll, aChris Lattner2007-01-071-1/+15
| | | | | | miscompilation of Qt. llvm-svn: 32974
* cast of int to bool no longer does a compare, rendering this fixmeChris Lattner2007-01-071-1/+0
| | | | | | obsolete llvm-svn: 32972
* For PR950:Reid Spencer2006-12-313-68/+21
| | | | | | | | | | | | | This patch replaces signed integer types with signless ones: 1. [US]Byte -> Int8 2. [U]Short -> Int16 3. [U]Int -> Int32 4. [U]Long -> Int64. 5. Removal of isSigned, isUnsigned, getSignedVersion, getUnsignedVersion and other methods related to signedness. In a few places this warranted identifying the signedness information from other sources. llvm-svn: 32785
* For PR950:Reid Spencer2006-12-237-204/+226
| | | | | | | | This patch removes the SetCC instructions and replaces them with the ICmp and FCmp instructions. The SetCondInst instruction has been removed and been replaced with ICmpInst and FCmpInst. llvm-svn: 32751
* Add a FIXME about signedness.Reid Spencer2006-12-211-0/+2
| | | | llvm-svn: 32732
* Add some comments about things that can go away once signless types are in.Reid Spencer2006-12-211-1/+8
| | | | llvm-svn: 32727
* eliminate static ctors from StatisticsChris Lattner2006-12-194-56/+41
| | | | llvm-svn: 32697
* Fix a bug in GetConstantFactor for affine expressions, in which the existingChris Lattner2006-12-191-5/+9
| | | | | | code was wrong for things like 3+4*i. llvm-svn: 32662
* Added an automatic cast to "std::ostream*" etc. from OStream. We then canBill Wendling2006-12-172-5/+4
| | | | | | | rework the hacks that had us passing OStream in. We pass in std::ostream* instead, check for null, and then dispatch to the correct print() method. llvm-svn: 32636
* Changed from PARALLEL_DIRS to DIRS since we're only building one directory.John Criswell2006-12-131-1/+1
| | | | | | Thanks Reid. llvm-svn: 32551
* Remove DSA.John Criswell2006-12-1314-7235/+0
| | | | llvm-svn: 32550
* Remove DSA.John Criswell2006-12-131-1/+1
| | | | llvm-svn: 32542
* Change the interface to SCEVExpander::InsertCastOfTo to take a cast opcodeReid Spencer2006-12-131-19/+2
| | | | | | | so the decision of which opcode to use is pushed upward to the caller. Adjust the callers to pass the expected opcode. llvm-svn: 32535
* Replace inferred getCast(V,Ty) calls with more strict variants.Reid Spencer2006-12-124-21/+42
| | | | | | | Rename getZeroExtend and getSignExtend to getZExt and getSExt to match the the casting mnemonics in the rest of LLVM. llvm-svn: 32514
* Get even more accurate on the casting.Reid Spencer2006-12-121-8/+5
| | | | llvm-svn: 32478
* Change inferred getCast into specific getCast. Passes all tests.Reid Spencer2006-12-121-3/+9
| | | | llvm-svn: 32469
* teach scev to analyze X*4|1 like X*4+c. This allows us to produce:Chris Lattner2006-12-121-1/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | LBB1_1: #bb movdqa (%esi), %xmm2 movaps %xmm2, %xmm3 punpcklbw %xmm0, %xmm3 movaps %xmm3, %xmm4 punpcklwd %xmm0, %xmm4 cvtdq2ps %xmm4, %xmm4 mulps %xmm1, %xmm4 movaps %xmm4, (%edi) leal 1(,%eax,4), %ebx shll $4, %ebx punpckhwd %xmm0, %xmm3 cvtdq2ps %xmm3, %xmm3 mulps %xmm1, %xmm3 movaps %xmm3, (%edx,%ebx) leal 2(,%eax,4), %ebx shll $4, %ebx punpckhbw %xmm0, %xmm2 movaps %xmm2, %xmm3 punpcklwd %xmm0, %xmm3 cvtdq2ps %xmm3, %xmm3 mulps %xmm1, %xmm3 movaps %xmm3, (%edx,%ebx) leal 3(,%eax,4), %ebx shll $4, %ebx punpckhwd %xmm0, %xmm2 cvtdq2ps %xmm2, %xmm2 mulps %xmm1, %xmm2 movaps %xmm2, (%edx,%ebx) addl $64, %edi incl %eax addl $16, %esi cmpl %ecx, %eax jne LBB1_1 #bb instead of: LBB1_1: #bb movdqa (%esi), %xmm2 movaps %xmm2, %xmm3 punpcklbw %xmm0, %xmm3 movaps %xmm3, %xmm4 punpcklwd %xmm0, %xmm4 cvtdq2ps %xmm4, %xmm4 mulps %xmm1, %xmm4 movaps %xmm4, (%edi) leal 1(,%eax,4), %ebx shll $4, %ebx punpckhwd %xmm0, %xmm3 cvtdq2ps %xmm3, %xmm3 mulps %xmm1, %xmm3 movaps %xmm3, (%edx,%ebx) leal 2(,%eax,4), %ebx shll $4, %ebx punpckhbw %xmm0, %xmm2 movaps %xmm2, %xmm3 punpcklwd %xmm0, %xmm3 cvtdq2ps %xmm3, %xmm3 mulps %xmm1, %xmm3 movaps %xmm3, (%edx,%ebx) leal 3(,%eax,4), %ebx shll $4, %ebx punpckhwd %xmm0, %xmm2 cvtdq2ps %xmm2, %xmm2 mulps %xmm1, %xmm2 movaps %xmm2, (%edx,%ebx) addl $64, %edi incl %eax addl $16, %esi cmpl %ecx, %eax jne LBB1_1 #bb for a testcase. llvm-svn: 32463
* clarify some comments, simplify some checks, fix:Chris Lattner2006-12-111-7/+7
| | | | | | Regression/Transforms/IndVarsSimplify/2006-12-10-BitCast.ll llvm-svn: 32420
* Removed more <iostream> includesBill Wendling2006-12-073-13/+10
| | | | llvm-svn: 32321
* Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, areBill Wendling2006-12-0724-174/+166
| | | | | | now cerr, cout, and NullStream resp. llvm-svn: 32298
* Adjust to new ConstantIntegral interface for Max/Min tests.Reid Spencer2006-12-061-10/+56
| | | | llvm-svn: 32289
OpenPOWER on IntegriCloud