hanchenye-llvm-project/llvm/lib/Transforms
Akira Hatanaka d9699bc7bd 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
..
Hello [CMake] Add LLVM_LINK_COMPONENTS to loadable modules, LLVMHello and BugpointPasses, on Win32. 2014-07-13 13:36:48 +00:00
IPO Remove DisableTailCalls from TargetOptions and the code in resetTargetOptions 2015-06-09 19:07:19 +00:00
InstCombine [InstCombine, InstSimplify] Move xforms from Combine to Simplify 2015-06-06 22:40:21 +00:00
Instrumentation [asan] Prevent __attribute__((annotate)) triggering errors on Darwin 2015-06-09 00:58:08 +00:00
ObjCARC [PM/AA] Start refactoring AliasAnalysis to remove the analysis group and 2015-06-04 02:03:15 +00:00
Scalar Remove DisableTailCalls from TargetOptions and the code in resetTargetOptions 2015-06-09 19:07:19 +00:00
Utils [LoopVectorize] Don't crash on zero-sized types in isInductionPHI 2015-06-05 10:52:40 +00:00
Vectorize [LoopVectorize] Teach Loop Vectorizor about interleaved memory accesses. 2015-06-08 06:39:56 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile