llvm-project/llvm/lib/Transforms/Scalar
Reid Kleckner 9b2cc647eb Fix PR7272 in -tailcallelim instead of the inliner
The -tailcallelim pass should be checking if byval or inalloca args can
be captured before marking calls as tail calls.  This was the real root
cause of PR7272.

With a better fix in place, revert the inliner change from r105255.  The
test case it introduced still passes and has been moved to
test/Transforms/Inline/byval-tail-call.ll.

Reviewers: chandlerc

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

llvm-svn: 206789
2014-04-21 20:48:47 +00:00
..
ADCE.cpp [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-05 09:10:37 +00:00
CMakeLists.txt [CodeGenPrepare] Move CodeGenPrepare into lib/CodeGen. 2014-02-22 00:07:45 +00:00
ConstantHoisting.cpp Revert "[Constant Hoisting] Lazily compute the idom and cache the result." 2014-04-03 01:38:47 +00:00
ConstantProp.cpp [C++11] Add range based accessors for the Use-Def chain of a Value. 2014-03-09 03:16:01 +00:00
CorrelatedValuePropagation.cpp [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-05 09:10:37 +00:00
DCE.cpp [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-05 09:10:37 +00:00
DeadStoreElimination.cpp [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-05 09:10:37 +00:00
EarlyCSE.cpp [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-05 09:10:37 +00:00
FlattenCFGPass.cpp [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-05 09:10:37 +00:00
GVN.cpp Implement depth_first and inverse_depth_first range factory functions. 2014-04-11 01:50:01 +00:00
GlobalMerge.cpp Fix typo in comment: "inwoke" -> "invoke" 2014-03-13 00:04:17 +00:00
IndVarSimplify.cpp [C++11] Add range based accessors for the Use-Def chain of a Value. 2014-03-09 03:16:01 +00:00
JumpThreading.cpp Consistent use of the noduplicate attribute. 2014-03-17 16:19:07 +00:00
LICM.cpp [C++11] Add range based accessors for the Use-Def chain of a Value. 2014-03-09 03:16:01 +00:00
LLVMBuild.txt Add proper dependencies to LLVMBuild.txt in llvm/lib. 2013-12-10 05:39:34 +00:00
LoopDeletion.cpp [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-05 09:10:37 +00:00
LoopIdiomRecognize.cpp remove a bunch of unused private methods 2014-03-23 17:09:26 +00:00
LoopInstSimplify.cpp [C++11] Add range based accessors for the Use-Def chain of a Value. 2014-03-09 03:16:01 +00:00
LoopRerollPass.cpp Remove some empty statements 2014-04-19 23:56:35 +00:00
LoopRotation.cpp D3348 - [BUG] "Rotate Loop" pass kills "llvm.vectorizer.enable" metadata 2014-04-15 09:37:30 +00:00
LoopStrengthReduce.cpp Remove some dead assignements found by scan-build 2014-03-15 22:13:15 +00:00
LoopUnrollPass.cpp Add some additional fields to TTI::UnrollingPreferences 2014-04-01 18:50:30 +00:00
LoopUnswitch.cpp remove some dead code 2014-04-17 22:26:44 +00:00
LowerAtomic.cpp [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-05 09:10:37 +00:00
Makefile
MemCpyOptimizer.cpp Treat lifetime.start'd memory like we treat freshly alloca'd memory. Patch by Björn Steinbrink! 2014-03-26 23:45:15 +00:00
PartiallyInlineLibCalls.cpp [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-05 09:10:37 +00:00
Reassociate.cpp [C++11] Add range based accessors for the Use-Def chain of a Value. 2014-03-09 03:16:01 +00:00
Reg2Mem.cpp [C++11] Add range based accessors for the Use-Def chain of a Value. 2014-03-09 03:16:01 +00:00
SCCP.cpp remove a bunch of unused private methods 2014-03-23 17:09:26 +00:00
SROA.cpp [C++11] Add range based accessors for the Use-Def chain of a Value. 2014-03-09 03:16:01 +00:00
SampleProfile.cpp Fix some doc and comment typos 2014-04-09 14:47:27 +00:00
Scalar.cpp verify-di: Implement DebugInfoVerifier 2014-04-15 16:27:38 +00:00
ScalarReplAggregates.cpp [C++11] Add range based accessors for the Use-Def chain of a Value. 2014-03-09 03:16:01 +00:00
Scalarizer.cpp [Layering] Move InstVisitor.h into the IR library as it is pretty 2014-03-06 03:23:41 +00:00
SimplifyCFGPass.cpp [C++11] Add 'override' keyword to virtual methods that override their base class. 2014-03-05 09:10:37 +00:00
Sink.cpp Sink: Don't sink static allocas from the entry block 2014-03-21 15:51:51 +00:00
StructurizeCFG.cpp [C++11] Add range based accessors for the Use-Def chain of a Value. 2014-03-09 03:16:01 +00:00
TailRecursionElimination.cpp Fix PR7272 in -tailcallelim instead of the inliner 2014-04-21 20:48:47 +00:00