summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis
Commit message (Collapse)AuthorAgeFilesLines
* Change getelementptr folding to use APInt instead of uint64_t forDan Gohman2009-08-211-11/+15
| | | | | | | offset computations. This fixes a truncation bug on targets that don't have 64-bit pointers. llvm-svn: 79639
* bug 4530: Make debug information static to it is preservered during bitcode ↵Richard Pennington2009-08-211-2/+2
| | | | | | linking. llvm-svn: 79616
* Rename hasNoUnsignedOverflow and hasNoSignedOverflow to hasNoUnsignedWrapDan Gohman2009-08-201-8/+8
| | | | | | and hasNoSignedWrap, for consistency with the nuw and nsw properties. llvm-svn: 79539
* Various comment and whitespace cleanups.Dan Gohman2009-08-203-14/+17
| | | | llvm-svn: 79533
* Fix a bug in the over-index constant folding. When over-indexing anDan Gohman2009-08-191-8/+24
| | | | | | | | array member of a struct, it's possible to land in an arbitrary position inside that struct, such that attempting to find further getelementptr indices will fail. In such cases, folding cannot be done. llvm-svn: 79485
* Use hasDefinitiveInitializer() instead of testing the same thingDan Gohman2009-08-193-4/+3
| | | | | | | by hand, and fix a few places that were using hasInitializer() that appear to depend on the initializer value. llvm-svn: 79441
* Canonicalize indices in a constantexpr GEP. If Indices exceed theDan Gohman2009-08-191-4/+48
| | | | | | | | static extents of the static array type, it causes GlobalOpt and other passes to be more conservative. This canonicalization also allows the constant folder to add "inbounds" to GEPs. llvm-svn: 79440
* Broke line before break.Andreas Neustifter2009-08-191-1/+2
| | | | llvm-svn: 79404
* Fix SimplifyLibcalls and ValueTracking to check mayBeOverriddenDan Gohman2009-08-191-1/+2
| | | | | | before performing optimizations based on constant string values. llvm-svn: 79384
* Generalize ScalarEvolution to be able to analyze GEPs whenDan Gohman2009-08-182-119/+394
| | | | | | | | TargetData is not present. It still uses TargetData when available. This generalization also fixed some limitations in the TargetData case; the attached testcase covers this. llvm-svn: 79344
* Oops. find all llvm.dbg.global_variables.Devang Patel2009-08-171-1/+1
| | | | llvm-svn: 79274
* Fix more missing newlines.Dan Gohman2009-08-171-2/+2
| | | | llvm-svn: 79244
* Actually privatize a IntegerTypes, and fix a few bugs exposed by this.Owen Anderson2009-08-131-4/+4
| | | | llvm-svn: 78955
* Push LLVMContexts through the IntegerType APIs.Owen Anderson2009-08-1310-94/+107
| | | | llvm-svn: 78948
* Fix a missing newline (now that Value*'s operator<< doesn't append one).Dan Gohman2009-08-121-1/+1
| | | | llvm-svn: 78814
* Use isa instead of dyn_cast when the result is only converted to bool.Dan Gohman2009-08-111-2/+2
| | | | llvm-svn: 78685
* Tidy #includes.Dan Gohman2009-08-111-1/+0
| | | | llvm-svn: 78677
* Don't assume that external global variables are aligned at their preferredDan Gohman2009-08-111-2/+10
| | | | | | alignment. Only the minimum alignment guaranteed by the ABI may be assumed. llvm-svn: 78668
* Keep track of DIType.Devang Patel2009-08-101-3/+13
| | | | llvm-svn: 78602
* Some ProfileInfo cleanups.Daniel Dunbar2009-08-082-1/+2
| | | | | | - Part of optimal static profiling patch sequence by Andreas Neustifter. llvm-svn: 78485
* Add a basic static ProfileInfo provider (ProfileEstimatorPass).Daniel Dunbar2009-08-082-0/+237
| | | | | | - Part of optimal static profiling patch sequence by Andreas Neustifter. llvm-svn: 78484
* More ProfileInfo improvements.Daniel Dunbar2009-08-082-62/+80
| | | | | | | | | | | | - Part of optimal static profiling patch sequence by Andreas Neustifter. - Store edge, block, and function information separately for each functions (instead of in one giant map). - Return frequencies as double instead of int, and use a sentinel value for missing information. llvm-svn: 78477
* Fix copy-pasto.Andreas Bolka2009-08-071-2/+2
| | | | llvm-svn: 78426
* SIV/MIV classification for LDA.Andreas Bolka2009-08-071-6/+35
| | | | | | | | | | LoopDependenceAnalysis::getLoops is currently O(N*M) for a loop-nest of depth N and a compound SCEV of M atomic SCEVs. As both N and M will typically be very small, this should not be a problem. If it turns out to be one, rewriting getLoops as SCEVVisitor will reduce complexity to O(M). llvm-svn: 78394
* Remove unused function.Daniel Dunbar2009-08-071-7/+0
| | | | llvm-svn: 78366
* Fix a bunch of namespace pollution.Dan Gohman2009-08-072-9/+9
| | | | llvm-svn: 78363
* Remove dead code.Devang Patel2009-08-061-31/+1
| | | | llvm-svn: 78335
* Simplify the ZIV tester to the max.Andreas Bolka2009-08-061-3/+2
| | | | | | As suggested by Nick Lewycky. llvm-svn: 78277
* Privatize the StructType table, which unfortunately involves routing ↵Owen Anderson2009-08-051-11/+21
| | | | | | contexts through a number of APIs. llvm-svn: 78258
* Make block and function count available via ProfileInfo.Daniel Dunbar2009-08-052-6/+19
| | | | | | - Part of optimal static profiling patch sequence by Andreas Neustifter. llvm-svn: 78247
* Remove unnecessary ProfileInfoLoader methods.Daniel Dunbar2009-08-052-152/+20
| | | | | | - Part of optimal static profiling patch sequence by Andreas Neustifter. llvm-svn: 78199
* ZIV tester for LDA.Andreas Bolka2009-08-051-1/+17
| | | | llvm-svn: 78157
* Restrict LDA to GEPs with the same pointer offset.Andreas Bolka2009-08-051-11/+27
| | | | | | | We can not simply apply ZIV testing to the pointer offsets, as this would incorrectly return independence for e.g. (GEP x,0,i; GEP x,1,-i). llvm-svn: 78155
* Restrict LDA to affine subscripts.Andreas Bolka2009-08-031-0/+18
| | | | llvm-svn: 77932
* LibCallAliasAnalysis doesn't use TargetData.Dan Gohman2009-07-311-2/+0
| | | | llvm-svn: 77729
* Make TargetData optional in MemoryDependenceAnalysis.Dan Gohman2009-07-311-10/+7
| | | | llvm-svn: 77727
* Remove an unnecessary header.Dan Gohman2009-07-311-1/+0
| | | | llvm-svn: 77725
* Move a few more APIs back to 2.5 forms. The only remaining ones left to ↵Owen Anderson2009-07-317-31/+29
| | | | | | | | change back are metadata related, which I'm waiting on to avoid conflicting with Devang. llvm-svn: 77721
* Fix some problems with ASTCallbackVH in its use as a DenseMap key.Dan Gohman2009-07-311-4/+6
| | | | llvm-svn: 77696
* Process DbgDeclareInst.Devang Patel2009-07-311-0/+15
| | | | llvm-svn: 77694
* Move getTrue() and getFalse() to 2.5-like APIs.Owen Anderson2009-07-311-1/+1
| | | | llvm-svn: 77685
* Move more code back to 2.5 APIs.Owen Anderson2009-07-303-7/+7
| | | | llvm-svn: 77635
* Use CallbackVH in AliasSetTracker to avoid getting stuck withDan Gohman2009-07-301-4/+20
| | | | | | dangling Value*s. llvm-svn: 77623
* s/DebugInfoEnumerator/DebugInfoFinder/gDevang Patel2009-07-301-31/+31
| | | | llvm-svn: 77615
* walk DbgRegionStartInst and DbgRegionEndInstDevang Patel2009-07-301-2/+20
| | | | llvm-svn: 77604
* Equal SCEVs of a subscript give rise to dependence.Andreas Bolka2009-07-301-1/+11
| | | | llvm-svn: 77570
* Eliminate a few unused-variable warningsDouglas Gregor2009-07-292-3/+0
| | | | llvm-svn: 77519
* Move types back to the 2.5 API.Owen Anderson2009-07-294-11/+11
| | | | llvm-svn: 77516
* Move ConstantExpr to 2.5 API.Owen Anderson2009-07-295-42/+41
| | | | llvm-svn: 77494
* Skeleton for pairwise subscript testing.Andreas Bolka2009-07-291-3/+45
| | | | llvm-svn: 77437
OpenPOWER on IntegriCloud