1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-23 04:52:54 +02:00
llvm-mirror/include/llvm/Analysis
Juergen Ributzka 8a4f2500be [TLI] Add a new hook to TargetLowering to query the target if a load of a constant should be converted to simply the constant itself.
Before this patch we used getIntImmCost from TargetTransformInfo to determine if
a load of a constant should be converted to just a constant, but the threshold
for this was set to an arbitrary value. This value works well for the two
targets (X86 and ARM) that implement this target-hook, but it isn't
target-independent at all.

Now targets have the possibility to decide directly if this optimization should
be performed. The default value is set to false to preserve the current
behavior. The target hook has been moved to TargetLowering, which removed the
last use and need of TargetTransformInfo in SelectionDAG.

llvm-svn: 200271
2014-01-28 01:20:14 +00:00
..
AliasAnalysis.h Make BasicAliasAnalysis recognize the fact a noalias argument cannot alias another argument, even if the other argument is not itself marked noalias. 2013-05-28 08:17:48 +00:00
AliasSetTracker.h Remove unneeded #includes. 2013-03-18 23:33:44 +00:00
BlockFrequencyImpl.h [block-freq] Rename getEntryFrequency() -> getEntryFreq() to match getBlockFreq() in all *BlockFrequencyInfo*. 2013-12-14 02:37:38 +00:00
BlockFrequencyInfo.h BlockFrequencyInfo: Readded getEntryFreq. 2013-12-20 22:11:11 +00:00
BranchProbabilityInfo.h Re-sort all of the includes with ./utils/sort_includes.py so that 2014-01-07 11:48:04 +00:00
CallGraph.h [PM] [cleanup] Rearrange the public and private sections of this class 2013-12-02 12:35:56 +00:00
CallGraphSCCPass.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
CallPrinter.h Added -view-callgraph module pass. 2013-01-11 17:28:14 +00:00
CaptureTracking.h Remove unneeded #includes. Use forward declarations instead. 2013-03-10 00:34:01 +00:00
CFG.h Add some constantness. 2013-08-20 23:04:15 +00:00
CFGPrinter.h Put the functionality for printing a value to a raw_ostream as an 2014-01-09 02:29:41 +00:00
CodeMetrics.h Switch CodeMetrics itself over to use TTI to determine if an instruction 2013-01-21 13:04:33 +00:00
ConstantFolding.h Add missing -*- C++ -*- to headers 2013-05-17 21:43:39 +00:00
ConstantsScanner.h
DependenceAnalysis.h delinearization of arrays 2013-11-12 22:47:20 +00:00
DominanceFrontier.h [PM] Split DominatorTree into a concrete analysis result object which 2014-01-13 13:07:17 +00:00
DomPrinter.h
DOTGraphTraitsPass.h [PM] Add a really simple trait to the DOTGraphTraitsPass class templates 2013-11-26 03:43:52 +00:00
FindUsedTypes.h land David Blaikie's patch to de-constify Type, with a few tweaks. 2011-07-18 04:54:35 +00:00
InlineCost.h Remove unneeded #include. 2013-06-06 23:34:11 +00:00
InstructionSimplify.h Fix missing -*- C++ -*-s 2013-08-06 00:16:21 +00:00
Interval.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
IntervalIterator.h Fix a few typos in comments. 2013-03-05 22:05:16 +00:00
IntervalPartition.h Correct word hyphenations 2013-12-05 05:44:44 +00:00
IVUsers.h Remove duplicated forward declaration. 2013-03-06 00:04:32 +00:00
LazyValueInfo.h Move TargetData to DataLayout. 2012-10-08 16:38:25 +00:00
LibCallAliasAnalysis.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
LibCallSemantics.h Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164767 2012-09-27 10:14:43 +00:00
Lint.h Remove unused STL header includes. 2011-04-23 19:53:52 +00:00
Loads.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
LoopInfo.h Re-sort all of the includes with ./utils/sort_includes.py so that 2014-01-07 11:48:04 +00:00
LoopInfoImpl.h [cleanup] Move the Dominators.h and Verifier.h headers into the IR 2014-01-13 09:26:24 +00:00
LoopIterator.h Remove unneeded #includes. 2013-02-09 13:29:10 +00:00
LoopPass.h Move the old pass manager infrastructure into a legacy namespace and 2013-11-09 12:26:54 +00:00
MemoryBuiltins.h Teach MemoryBuiltins about address spaces 2013-12-14 00:27:48 +00:00
MemoryDependenceAnalysis.h Memory Dependence Analysis (not mem-dep test) take advantage of "invariant.load" metadata. 2013-03-06 17:48:48 +00:00
Passes.h delinearization of arrays 2013-11-12 22:47:20 +00:00
PHITransAddr.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
PostDominators.h [cleanup] Move the Dominators.h and Verifier.h headers into the IR 2014-01-13 09:26:24 +00:00
PtrUseVisitor.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
RegionInfo.h Correct word hyphenations 2013-12-05 05:44:44 +00:00
RegionIterator.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
RegionPass.h Fix c++ mode comments 2014-01-06 19:52:42 +00:00
RegionPrinter.h
ScalarEvolution.h Teach SCEV to handle more cases of 'and X, CST', specifically where CST is any number of contiguous 1 bits in a row, with any number of leading and trailing 0 bits. 2014-01-27 10:04:03 +00:00
ScalarEvolutionExpander.h Fix SCEVExpander: don't try to expand quadratic recurrences outside a loop. 2013-10-25 21:35:56 +00:00
ScalarEvolutionExpressions.h SCEVRewriter: Optionally interpret constants in value map as SCEVConstant 2014-01-10 18:20:29 +00:00
ScalarEvolutionNormalization.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
SparsePropagation.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
TargetTransformInfo.h [TLI] Add a new hook to TargetLowering to query the target if a load of a constant should be converted to simply the constant itself. 2014-01-28 01:20:14 +00:00
Trace.h Fix include guards so they exactly match file names. 2013-01-10 00:45:19 +00:00
ValueTracking.h Teach MemoryBuiltins and InstructionSimplify that operator new never returns NULL. 2013-09-24 16:37:51 +00:00