llvm-6502/test/Transforms/TailCallElim/setjmp.ll
Rafael Espindola 0e00c6c561 Don't do tail calls in a function that call setjmp. The stack might be
corrupted when setjmp returns again.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131399 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-16 03:05:33 +00:00

17 lines
305 B
LLVM

; RUN: opt < %s -tailcallelim -S | FileCheck %s
; Test that we don't tail call in a functions that calls setjmp.
; CHECK-NOT: tail call void @bar()
define void @foo(i32* %x) {
bb:
%tmp75 = tail call i32 @setjmp(i32* %x)
call void @bar()
ret void
}
declare i32 @setjmp(i32*)
declare void @bar()