1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 12:33:33 +02:00
llvm-mirror/lib/Transforms/Scalar
Akira Hatanaka c42437a4f8 Remove DisableTailCalls from TargetOptions and the code in resetTargetOptions
that was resetting it.

Remove the uses of DisableTailCalls in subclasses of TargetLowering and use
the value of function attribute "disable-tail-calls" instead. Also,
unconditionally add pass TailCallElim to the pipeline and check the function
attribute at the start of runOnFunction to disable the pass on a per-function
basis. 
 
This is part of the work to remove TargetMachine::resetTargetOptions, and since
DisableTailCalls was the last non-fast-math option that was being reset in that
function, we should be able to remove the function entirely after the work to
propagate IR-level fast-math flags to DAG nodes is completed.

Out-of-tree users should remove the uses of DisableTailCalls and make changes
to attach attribute "disable-tail-calls"="true" or "false" to the functions in
the IR.

rdar://problem/13752163

Differential Revision: http://reviews.llvm.org/D10099

llvm-svn: 239427
2015-06-09 19:07:19 +00:00
..
ADCE.cpp [ADCE] Don't indent inside an anonymous namespace 2015-02-16 18:08:00 +00:00
AlignmentFromAssumptions.cpp Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
BDCE.cpp DataLayout is mandatory, update the API to reflect it with references. 2015-03-10 02:37:25 +00:00
CMakeLists.txt Add a speculative execution pass 2015-05-15 17:54:48 +00:00
ConstantHoisting.cpp Re-sort includes with sort-includes.py and insert raw_ostream.h where it's used. 2015-03-23 19:32:43 +00:00
ConstantProp.cpp DataLayout is mandatory, update the API to reflect it with references. 2015-03-10 02:37:25 +00:00
CorrelatedValuePropagation.cpp [CVP] Don't assume Constants of type i1 can be known to be true or false 2015-06-06 04:56:51 +00:00
DCE.cpp [PM] Separate the TargetLibraryInfo object from the immutable pass. 2015-01-15 10:41:28 +00:00
DeadStoreElimination.cpp [PM/AA] Start refactoring AliasAnalysis to remove the analysis group and 2015-06-04 02:03:15 +00:00
EarlyCSE.cpp Extend EarlyCSE to handle basic cases from JumpThreading and CVP 2015-05-22 23:53:24 +00:00
FlattenCFGPass.cpp
Float2Int.cpp Reapply r233175 and r233183: float2int. 2015-03-27 10:36:57 +00:00
GVN.cpp Extend EarlyCSE to handle basic cases from JumpThreading and CVP 2015-05-22 23:53:24 +00:00
InductiveRangeCheckElimination.cpp [IRCE] Fix how IRCE checks for no-sign-overflow. 2015-03-24 19:29:22 +00:00
IndVarSimplify.cpp Replace push_back(Constructor(foo)) with emplace_back(foo) for non-trivial types 2015-05-29 19:43:39 +00:00
JumpThreading.cpp [JumpThreading] Simplify comparisons when simplifying branches 2015-05-07 00:19:14 +00:00
LICM.cpp [LICM] Sinking doesn't involve the preheader 2015-05-22 02:14:05 +00:00
LLVMBuild.txt Update libdeps since TLI was moved from Target to Analysis in r226078. 2015-01-15 05:21:00 +00:00
LoadCombine.cpp Mark empty default constructors as =default if it makes the type POD 2015-04-11 18:57:14 +00:00
LoopDeletion.cpp [PM] Split the LoopInfo object apart from the legacy pass, creating 2015-01-17 14:16:18 +00:00
LoopDistribute.cpp [LoopDistribute] Remove a layer of pointer indirection. 2015-05-21 18:32:07 +00:00
LoopIdiomRecognize.cpp Simplify IRBuilder::CreateCall* by using ArrayRef+initializer_list/braced init only 2015-05-18 22:13:54 +00:00
LoopInstSimplify.cpp DataLayout is mandatory, update the API to reflect it with references. 2015-03-10 02:37:25 +00:00
LoopInterchange.cpp Fix LoopInterchange/reductions.ll test for debug builds 2015-04-24 17:39:16 +00:00
LoopRerollPass.cpp Re-sort includes with sort-includes.py and insert raw_ostream.h where it's used. 2015-03-23 19:32:43 +00:00
LoopRotation.cpp Re-sort includes with sort-includes.py and insert raw_ostream.h where it's used. 2015-03-23 19:32:43 +00:00
LoopStrengthReduce.cpp Replace push_back(Constructor(foo)) with emplace_back(foo) for non-trivial types 2015-05-29 19:43:39 +00:00
LoopUnrollPass.cpp Remove SCEVCache and FindConstantPointers from complete loop unrolling heuristic. 2015-06-08 03:28:06 +00:00
LoopUnswitch.cpp DataLayout is mandatory, update the API to reflect it with references. 2015-03-10 02:37:25 +00:00
LowerAtomic.cpp
LowerExpectIntrinsic.cpp [PM] Port LowerExpectIntrinsic to the new pass manager. 2015-01-24 11:13:02 +00:00
Makefile
MemCpyOptimizer.cpp [PM/AA] Start refactoring AliasAnalysis to remove the analysis group and 2015-06-04 02:03:15 +00:00
MergedLoadStoreMotion.cpp [PM/AA] Start refactoring AliasAnalysis to remove the analysis group and 2015-06-04 02:03:15 +00:00
NaryReassociate.cpp Make NaryReassociate pass the address space to isLegalAddressingMode 2015-06-07 20:17:42 +00:00
PartiallyInlineLibCalls.cpp [multiversion] Thread a function argument through all the callers of the 2015-02-01 12:01:35 +00:00
PlaceSafepoints.cpp Remove global std::string. NFC. 2015-06-07 16:36:28 +00:00
Reassociate.cpp Replace push_back(Constructor(foo)) with emplace_back(foo) for non-trivial types 2015-05-29 19:43:39 +00:00
Reg2Mem.cpp Standardize {pred,succ,use,user}_empty() 2015-01-13 03:46:47 +00:00
RewriteStatepointsForGC.cpp Remove stray semicolon. NFC. 2015-06-03 08:51:30 +00:00
SampleProfile.cpp Add function entry counts from sample profiles. 2015-05-13 17:04:29 +00:00
Scalar.cpp Add a speculative execution pass 2015-05-15 17:54:48 +00:00
Scalarizer.cpp [opaque pointer type] More GEP IRBuilder API migrations 2015-04-03 23:03:54 +00:00
ScalarReplAggregates.cpp Change LoadAndStorePromoter to take ArrayRef instead of SmallVectorImpl&. 2015-05-13 01:12:16 +00:00
SCCP.cpp [opaque pointer type] API migration for GEP constant factories 2015-04-02 18:55:32 +00:00
SeparateConstOffsetFromGEP.cpp SeparateConstOffsetFromGEP: Pass address space to isLegalAddressingMode 2015-06-07 20:17:44 +00:00
SimplifyCFGPass.cpp [ARM] Pass a callback to FunctionPass constructors to enable skipping execution 2015-06-08 18:50:43 +00:00
Sink.cpp [PM/AA] Start refactoring AliasAnalysis to remove the analysis group and 2015-06-04 02:03:15 +00:00
SpeculativeExecution.cpp [Speculation] NFC: more header comments 2015-05-19 20:52:45 +00:00
SROA.cpp Construct ArrayRef<const T*> from vector<T> 2015-05-13 22:43:09 +00:00
StraightLineStrengthReduce.cpp [ScalarEvolution] refactor: extract interface getGEPExpr 2015-05-18 17:03:25 +00:00
StructurizeCFG.cpp Change range-based for-loops to be -Wrange-loop-analysis clean. 2015-04-15 01:21:15 +00:00
TailRecursionElimination.cpp Remove DisableTailCalls from TargetOptions and the code in resetTargetOptions 2015-06-09 19:07:19 +00:00