summaryrefslogtreecommitdiffstats
path: root/llvm/test/Transforms/CodeGenPrepare/invariant.group.ll
diff options
context:
space:
mode:
authorPiotr Padlewski <prazek@google.com>2015-09-15 18:32:14 +0000
committerPiotr Padlewski <prazek@google.com>2015-09-15 18:32:14 +0000
commit6c15ec49ede56932382b24eaaaa851f79d3cca78 (patch)
tree0b993b57bf75064ce37ef3fc1b8b1cd30951ad09 /llvm/test/Transforms/CodeGenPrepare/invariant.group.ll
parentdc29c973e5c8e3f1dfb6ea83570e4ee571008ca5 (diff)
downloadbcm5719-llvm-6c15ec49ede56932382b24eaaaa851f79d3cca78.tar.gz
bcm5719-llvm-6c15ec49ede56932382b24eaaaa851f79d3cca78.zip
Introducing llvm.invariant.group.barrier intrinsic
For more info for what reason it was invented, goto: http://lists.llvm.org/pipermail/cfe-dev/2015-July/044227.html invariant.group.barrier: http://reviews.llvm.org/D12310 docs: http://reviews.llvm.org/D11399 CodeGenPrepare: http://reviews.llvm.org/D12875 llvm-svn: 247711
Diffstat (limited to 'llvm/test/Transforms/CodeGenPrepare/invariant.group.ll')
-rw-r--r--llvm/test/Transforms/CodeGenPrepare/invariant.group.ll23
1 files changed, 23 insertions, 0 deletions
diff --git a/llvm/test/Transforms/CodeGenPrepare/invariant.group.ll b/llvm/test/Transforms/CodeGenPrepare/invariant.group.ll
new file mode 100644
index 00000000000..e8f1e42ddcb
--- /dev/null
+++ b/llvm/test/Transforms/CodeGenPrepare/invariant.group.ll
@@ -0,0 +1,23 @@
+; RUN: opt -codegenprepare -S < %s | FileCheck %s
+
+@tmp = global i8 0
+
+; CHECK-LABEL: define void @foo() {
+define void @foo() {
+enter:
+ ; CHECK-NOT: !invariant.group
+ ; CHECK-NOT: @llvm.invariant.group.barrier(
+ ; CHECK: %val = load i8, i8* @tmp
+ %val = load i8, i8* @tmp, !invariant.group !0
+ %ptr = call i8* @llvm.invariant.group.barrier(i8* @tmp)
+
+ ; CHECK: store i8 42, i8* @tmp
+ store i8 42, i8* %ptr, !invariant.group !0
+
+ ret void
+}
+; CHECK-LABEL: }
+
+declare i8* @llvm.invariant.group.barrier(i8*)
+
+!0 = !{!"something"} \ No newline at end of file
OpenPOWER on IntegriCloud