xref: /llvm-project/polly/test/ScopDetect/non-simple-memory-accesses.ll (revision e1f056f692d869708c1898d9d65a69ac5584a0ed)
1; RUN: opt %loadNPMPolly '-passes=print<polly-detect>' -disable-output < %s 2>&1 | FileCheck %s
2;
3; Verify that we do not model atomic memory accesses. We did not reason about
4; how to handle them correctly and the Alias Set Tracker models some of them
5; only as Unknown Instructions, which we do not know how to handle either.;
6;
7; CHECK-NOT: Valid
8target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
9
10@global = external global i64, align 8
11
12declare void @foo55()
13
14define void @blam107() {
15bb:
16  br label %bb1
17
18bb1:                                              ; preds = %bb
19  %tmp = load atomic i8, ptr @global acquire, align 8
20  br i1 false, label %bb2, label %bb3
21
22bb2:                                              ; preds = %bb1
23  tail call void @foo55() #6
24  br label %bb3
25
26bb3:                                              ; preds = %bb2, %bb1
27  unreachable
28}
29
30