xref: /llvm-project/polly/test/CodeGen/large-numbers-in-boundary-context.ll (revision e1f056f692d869708c1898d9d65a69ac5584a0ed)
1; RUN: opt %loadNPMPolly -S -passes=polly-codegen < %s | FileCheck %s
2; XFAIL: *
3;
4; The boundary context contains a constant that does not fit in 64 bits. Hence,
5; make sure we bail out. On certain systems, e.g. AOSP, no runtime support for
6; 128bit operations is available and consequently the code generation of large
7; values might cause linker errors.
8;
9; CHECK: br i1 false, label %polly.start, label %bb11.pre_entry_bb
10
11target triple = "x86_64-unknown-linux-gnu"
12
13@global = external global i32, align 4
14@global1 = external global i32, align 4
15
16; Function Attrs: nounwind uwtable
17define void @hoge(ptr %arg) #0 {
18bb:
19  br label %bb5
20
21bb5:                                              ; preds = %bb
22  %tmp = load i32, ptr @global, align 4
23  %tmp6 = sext i32 %tmp to i64
24  br label %bb11
25
26bb7:                                              ; preds = %bb19
27  %tmp8 = load i32, ptr @global1, align 4
28  %tmp9 = sext i32 %tmp8 to i64
29  %tmp10 = icmp slt i64 %tmp13, %tmp9
30  br i1 %tmp10, label %bb11, label %bb20
31
32bb11:                                             ; preds = %bb7, %bb5
33  %tmp12 = phi i64 [ %tmp6, %bb5 ], [ %tmp13, %bb7 ]
34  %tmp13 = add i64 %tmp12, 1
35  %tmp14 = getelementptr inbounds i8, ptr %arg, i64 %tmp13
36  %tmp15 = load i8, ptr %tmp14, align 1
37  br i1 false, label %bb16, label %bb17
38
39bb16:                                             ; preds = %bb11
40  br label %bb18
41
42bb17:                                             ; preds = %bb11
43  br label %bb18
44
45bb18:                                             ; preds = %bb17, %bb16
46  br label %bb19
47
48bb19:                                             ; preds = %bb19, %bb18
49  br i1 undef, label %bb19, label %bb7
50
51bb20:                                             ; preds = %bb7
52  br label %bb21
53
54bb21:                                             ; preds = %bb20
55  ret void
56}
57