projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Revert "TRE: make TRE a bit more aggressive"
[oota-llvm.git]
/
test
/
Transforms
/
Inline
/
byval-tail-call.ll
diff --git
a/test/Transforms/Inline/byval-tail-call.ll
b/test/Transforms/Inline/byval-tail-call.ll
index e80bae1696e59b401a499eb8d8fc0e3e2cef7a9b..154f3974b58dad9567f497677bd95f85f4212b59 100644
(file)
--- a/
test/Transforms/Inline/byval-tail-call.ll
+++ b/
test/Transforms/Inline/byval-tail-call.ll
@@
-1,4
+1,4
@@
-; RUN: opt < %s -tailcallelim -inline -instcombine -dse -S | FileCheck %s
+; RUN: opt < %s -
basicaa -
tailcallelim -inline -instcombine -dse -S | FileCheck %s
; PR7272
; Calls that capture byval parameters cannot be marked as tail calls. Other
; PR7272
; Calls that capture byval parameters cannot be marked as tail calls. Other
@@
-30,8
+30,10
@@
define internal void @qux(i32* byval %x) {
define void @frob(i32* %x) {
; CHECK-LABEL: define void @frob(
define void @frob(i32* %x) {
; CHECK-LABEL: define void @frob(
-; CHECK: alloca i32
-; CHECK: {{^ *}}tail call void @ext(
+; CHECK: %[[POS:.*]] = alloca i32
+; CHECK: %[[VAL:.*]] = load i32* %x
+; CHECK: store i32 %[[VAL]], i32* %[[POS]]
+; CHECK: {{^ *}}call void @ext(i32* %[[POS]]
; CHECK: tail call void @ext(i32* null)
; CHECK: ret void
tail call void @qux(i32* byval %x)
; CHECK: tail call void @ext(i32* null)
; CHECK: ret void
tail call void @qux(i32* byval %x)