summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/Inline
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2016-08-19 16:37:40 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2016-08-19 16:37:40 +0000
commit5554edabef3814395360c37e9854fa4aa7b1731e (patch)
tree33f153ab299f5c7c5bcbf6baccea3d41d5692c2b /llvm/test/Transforms/Inline
parent9335bf0ec5c19bbaf027847682c44451b6affef8 (diff)
downloadbcm5719-llvm-5554edabef3814395360c37e9854fa4aa7b1731e.tar.gz
bcm5719-llvm-5554edabef3814395360c37e9854fa4aa7b1731e.zip
[CloneFunction] Don't remove unrelated nodes from the CGSSC
CGSCC use a WeakVH to track call sites. RAUW a call within a function can result in that WeakVH getting confused about whether or not the call site is still around. llvm-svn: 279268
Diffstat (limited to 'llvm/test/Transforms/Inline')
-rw-r--r--llvm/test/Transforms/Inline/inline_constprop.ll26
1 files changed, 24 insertions, 2 deletions
diff --git a/llvm/test/Transforms/Inline/inline_constprop.ll b/llvm/test/Transforms/Inline/inline_constprop.ll
index ab9e90ca27c..c13e023017a 100644
--- a/llvm/test/Transforms/Inline/inline_constprop.ll
+++ b/llvm/test/Transforms/Inline/inline_constprop.ll
@@ -299,8 +299,8 @@ entry:
}
; CHECK-LABEL: define i32 @PR28802(
-; CHECK: call i32 @PR28802.external(i32 0)
-; CHECK: ret i32 0
+; CHECK: %[[call:.*]] = call i32 @PR28802.external(i32 0)
+; CHECK: ret i32 %[[call]]
define internal i32 @PR28848.callee(i32 %p2, i1 %c) {
entry:
@@ -322,3 +322,25 @@ entry:
}
; CHECK-LABEL: define i32 @PR28848(
; CHECK: ret i32 0
+
+define internal void @callee7(i16 %param1, i16 %param2) {
+entry:
+ br label %bb
+
+bb:
+ %phi = phi i16 [ %param2, %entry ]
+ %add = add i16 %phi, %param1
+ ret void
+}
+
+declare i16 @caller7.external(i16 returned)
+
+define void @caller7() {
+bb1:
+ %call = call i16 @caller7.external(i16 1)
+ call void @callee7(i16 0, i16 %call)
+ ret void
+}
+; CHECK-LABEL: define void @caller7(
+; CHECK: %call = call i16 @caller7.external(i16 1)
+; CHECK-NEXT: ret void
OpenPOWER on IntegriCloud