summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/Sink/basic.ll
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2011-09-01 21:21:24 +0000
committerEli Friedman <eli.friedman@gmail.com>2011-09-01 21:21:24 +0000
commit71f5c2f1585e4bec0cc676e0476738af999dba70 (patch)
treeeff379801733307185eee8eba05809c62f5e8659 /llvm/test/Transforms/Sink/basic.ll
parentcc6e92892f5e038639e2a7855abad5dc0c37a59e (diff)
downloadbcm5719-llvm-71f5c2f1585e4bec0cc676e0476738af999dba70.tar.gz
bcm5719-llvm-71f5c2f1585e4bec0cc676e0476738af999dba70.zip
Fix an issue with the IR sink pass found by inspection. (I'm not sure anyone is actually using this, but might as well fix it since I found the issue.)
llvm-svn: 138965
Diffstat (limited to 'llvm/test/Transforms/Sink/basic.ll')
-rw-r--r--llvm/test/Transforms/Sink/basic.ll16
1 files changed, 16 insertions, 0 deletions
diff --git a/llvm/test/Transforms/Sink/basic.ll b/llvm/test/Transforms/Sink/basic.ll
index 54b7f1369de..81782e9d42c 100644
--- a/llvm/test/Transforms/Sink/basic.ll
+++ b/llvm/test/Transforms/Sink/basic.ll
@@ -20,3 +20,19 @@ true:
false:
ret i32 0
}
+
+; But don't sink volatile loads...
+
+; CHECK: @foo2
+; CHECK: volatile load
+; CHECK-NEXT: store i32
+
+define i32 @foo2(i1 %z) {
+ %l = volatile load i32* @A
+ store i32 0, i32* @B
+ br i1 %z, label %true, label %false
+true:
+ ret i32 %l
+false:
+ ret i32 0
+}
OpenPOWER on IntegriCloud