llvm-6502/include/llvm/Analysis
Dan Gohman a342026504 Introduce a new LoopInfo utility function makeLoopInvariant, which
works similar to isLoopInvariant, except that it will do trivial
hoisting to try to make the value loop invariant if it isn't already.
This makes it easier for transformation passes to clear trivial
instructions out of the way (the regular LICM pass doesn't run
until relatively late). This is code factored out of LoopSimplify
and other places.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75578 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-14 01:06:29 +00:00
..
AliasAnalysis.h Correct a comment: since AccessArguments is now 2009-02-13 17:36:13 +00:00
AliasSetTracker.h reimplement AliasSetTracker in terms of DenseMap instead of hash_map, 2009-03-09 05:11:09 +00:00
CallGraph.h introduce typedef for complicated vector, and use it too 2009-01-17 00:09:08 +00:00
CaptureTracking.h BasicAliasAnalysis and FunctionAttrs were both 2009-01-18 12:19:30 +00:00
CFGPrinter.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
ConstantFolding.h "LLVMContext* " --> "LLVMContext *" 2009-07-06 23:00:19 +00:00
ConstantsScanner.h Tidy up #includes, deleting a bunch of unnecessary #includes. 2009-01-05 17:59:02 +00:00
DebugInfo.h Match declaration to definition. 2009-07-12 22:46:08 +00:00
DominatorInternals.h Tidy up #includes, deleting a bunch of unnecessary #includes. 2009-01-05 17:59:02 +00:00
Dominators.h Fix a bunch of other places that used operator[] to test whether 2009-07-02 00:17:47 +00:00
FindUsedTypes.h Tidy up #includes, deleting a bunch of unnecessary #includes. 2009-01-05 17:59:02 +00:00
Interval.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
IntervalIterator.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
IntervalPartition.h Tidy up several unbeseeming casts from pointer to intptr_t. 2008-09-04 17:05:41 +00:00
IVUsers.h Match declaration to definition. 2009-07-12 23:50:34 +00:00
LibCallAliasAnalysis.h More MSVC fixes -- class/struct conflicts. 2009-05-12 21:55:29 +00:00
LibCallSemantics.h Revert 51775. 2008-05-30 22:47:19 +00:00
LiveValues.h Add a liveness analysis pass for LLVM IR values. This computes 2009-03-19 17:29:04 +00:00
LoopDependenceAnalysis.h Use AA to check objects before LDA. 2009-07-01 21:45:23 +00:00
LoopInfo.h Introduce a new LoopInfo utility function makeLoopInvariant, which 2009-07-14 01:06:29 +00:00
LoopPass.h Delete LoopPass::runOnFunctionBody. It was never used or implemented. 2009-06-26 20:42:50 +00:00
LoopVR.h Forward-declare Loop and LoopInfo instead of #including LoopInfo.h. 2009-07-13 22:19:41 +00:00
MemoryDependenceAnalysis.h now that you can put a PointerIntPair in a SmallPtrSet, remove some 2009-03-29 00:24:04 +00:00
Passes.h Scaffolding for LDA pass. 2009-06-24 21:29:13 +00:00
PostDominators.h Tidy up several unbeseeming casts from pointer to intptr_t. 2008-09-04 17:05:41 +00:00
ProfileInfo.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
ProfileInfoLoader.h Get rid of a static boolean. 2009-06-24 22:08:59 +00:00
ProfileInfoTypes.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
ScalarEvolution.h Forward-declare Loop and LoopInfo instead of #including LoopInfo.h. 2009-07-13 22:19:41 +00:00
ScalarEvolutionExpander.h Forward-declare Loop and LoopInfo instead of #including LoopInfo.h. 2009-07-13 22:19:41 +00:00
ScalarEvolutionExpressions.h Convert SCEV from FoldingSetNode to FastFoldingSetNode. This eliminates 2009-07-13 20:50:19 +00:00
SparsePropagation.h "LLVMContext* " --> "LLVMContext *" 2009-07-06 23:00:19 +00:00
Trace.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
ValueTracking.h Finish LLVMContext-ing lib/Analysis. This required pushing LLVMContext's through the ValueTracking API. 2009-07-06 22:37:39 +00:00
Verifier.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00