diff options
Diffstat (limited to 'polly/test/ScopDetect/non-simple-memory-accesses.ll')
| -rw-r--r-- | polly/test/ScopDetect/non-simple-memory-accesses.ll | 30 |
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 +} + |

