aboutsummaryrefslogtreecommitdiff
path: root/test/Transforms/TailCallElim/2010-06-26-MultipleReturnValues.ll
AgeCommit message (Collapse)Author
2010-07-13Handle the case of a tail recursion in which the tail call is followedDuncan Sands
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-06-26Fix PR7328: when turning a tail recursion into a loop, need to preserveDuncan Sands
the returned value after the tail call if it differs from other return values. The optimal thing to do would be to introduce a phi node for the return value, but for the moment just fix the miscompile. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106947 91177308-0d34-0410-b5e6-96231b3b80d8