llvm-project
56 строк · 1.8 Кб
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:
19br label %bb5
20
21bb5: ; preds = %bb
22%tmp = load i32, ptr @global, align 4
23%tmp6 = sext i32 %tmp to i64
24br 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
30br 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
37br i1 false, label %bb16, label %bb17
38
39bb16: ; preds = %bb11
40br label %bb18
41
42bb17: ; preds = %bb11
43br label %bb18
44
45bb18: ; preds = %bb17, %bb16
46br label %bb19
47
48bb19: ; preds = %bb19, %bb18
49br i1 undef, label %bb19, label %bb7
50
51bb20: ; preds = %bb7
52br label %bb21
53
54bb21: ; preds = %bb20
55ret void
56}
57