llvm/test/Transforms/TailCallElim
Duncan Sands d0d3ccc827 Handle the case of a tail recursion in which the tail call is followed
by a return that returns a constant, while elsewhere in the function
another return instruction returns a different constant.  This is a
special case of accumulator recursion, so just generalize the existing
logic a bit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108241 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-13 15:41:41 +00:00
..
2010-06-26-MultipleReturnValues.ll Handle the case of a tail recursion in which the tail call is followed 2010-07-13 15:41:41 +00:00
accum_recursion_constant_arg.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
accum_recursion.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
ackermann.ll Convert more tests to avoid llvm-as. 2009-09-11 18:36:27 +00:00
dg.exp sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
dont_reorder_load.ll Delete useless trailing semicolons. 2010-01-05 17:55:26 +00:00
dont-tce-tail-marked-call.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
inf-recursion.ll Refine the detection of seemingly infinitely recursive calls where the 2010-04-16 15:57:50 +00:00
intervening-inst.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
move_alloca_for_tail_call.ll Use opt -S instead of piping bitcode output through llvm-dis. 2009-09-08 22:34:10 +00:00
nocapture.ll Oops, FunctionContainsEscapingAllocas is really used to mean two different 2009-11-07 07:42:38 +00:00
reorder_load.ll Eliminate more redundant llvm-as calls. 2009-09-11 18:17:12 +00:00
return_constant.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00
switch.ll Improve tail call elimination to handle the switch statement. 2009-11-07 21:10:15 +00:00
trivial_codegen_tailcall.ll Change tests from "opt %s" to "opt < %s" so that opt doesn't see the 2009-09-11 18:01:28 +00:00