summaryrefslogtreecommitdiffstats
path: root/polly/test/ScopDetect/non-simple-memory-accesses.ll
diff options
context:
space:
mode:
Diffstat (limited to 'polly/test/ScopDetect/non-simple-memory-accesses.ll')
-rw-r--r--polly/test/ScopDetect/non-simple-memory-accesses.ll30
1 files changed, 30 insertions, 0 deletions
diff --git a/polly/test/ScopDetect/non-simple-memory-accesses.ll b/polly/test/ScopDetect/non-simple-memory-accesses.ll
new file mode 100644
index 00000000000..73b4e76d964
--- /dev/null
+++ b/polly/test/ScopDetect/non-simple-memory-accesses.ll
@@ -0,0 +1,30 @@
+; RUN: opt %loadPolly -polly-detect \
+; RUN: -analyze < %s | FileCheck %s
+;
+; Verify that we do not model atomic memory accesses. We did not reason about
+; how to handle them correctly and the Alias Set Tracker models some of them
+; only as Unknown Instructions, which we do not know how to handle either.;
+;
+; CHECK-NOT: Valid
+target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
+
+@global = external global i64, align 8
+
+declare void @foo55()
+
+define void @blam107() {
+bb:
+ br label %bb1
+
+bb1: ; preds = %bb
+ %tmp = load atomic i8, i8* bitcast (i64* @global to i8*) acquire, align 8
+ br i1 false, label %bb2, label %bb3
+
+bb2: ; preds = %bb1
+ tail call void @foo55() #6
+ br label %bb3
+
+bb3: ; preds = %bb2, %bb1
+ unreachable
+}
+
OpenPOWER on IntegriCloud