Update Polly tests to handle explicitly typed gep changes in LLVM
[polly-mirror.git] / test / ScopInfo / bug_2011_1_5.ll
blob706a7908f997f56612e440b7ac6138a37ae283df
1 ; RUN: opt %loadPolly -polly-detect-unprofitable -polly-analyze-ir -analyze < %s
3 ; Bug description: Alias Analysis thinks IntToPtrInst aliases with alloca instructions created by IndependentBlocks Pass.
4 ;                  This will trigger the assertion when we are verifying the SCoP after IndependentBlocks.
6 target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
7 target triple = "x86_64-unknown-linux-gnu"
9 %struct.precisionType = type { i16, i16, i16, i8, [1 x i16] }
11 define void @main() nounwind {
12 entry:
13  br label %bb1.i198.i
15 bb1.i198.i:                                       ; preds = %bb.i197.i, %psetq.exit196.i
16   %tmp51.i = inttoptr i64 0 to %struct.precisionType*
17   br i1 undef, label %bb1.i210.i, label %bb.i209.i
19 bb.i209.i:                                        ; preds = %bb1.i198.i
20   br label %bb1.i210.i
22 bb1.i210.i:                                       ; preds = %bb.i209.i, %bb1.i198.i
23   %0 = icmp eq i64 0, 0
24   br i1 %0, label %bb1.i216.i, label %bb.i215.i
26 bb.i215.i:                                        ; preds = %bb1.i210.i
27   %1 = getelementptr inbounds %struct.precisionType, %struct.precisionType* %tmp51.i, i64 0, i32 0
28   store i16 undef, i16* %1, align 2
29   br label %bb1.i216.i
31 bb1.i216.i:                                       ; preds = %bb.i215.i, %bb1.i210.i
32   br i1 undef, label %psetq.exit220.i, label %bb2.i217.i
34 bb2.i217.i:                                       ; preds = %bb1.i216.i
35   br i1 undef, label %bb3.i218.i, label %psetq.exit220.i
37 bb3.i218.i:                                       ; preds = %bb2.i217.i
38   br label %psetq.exit220.i
40 psetq.exit220.i:                                  ; preds = %bb3.i218.i, %bb2.i217.i, %bb1.i216.i
41   br i1 undef, label %bb14.i76, label %bb15.i77
43 bb14.i76:                                         ; preds = %psetq.exit220.i
44   unreachable
46 bb15.i77:                                         ; preds = %psetq.exit220.i
47   br i1 %0, label %psetq.exit238.i, label %bb2.i235.i
49 bb2.i235.i:                                       ; preds = %bb15.i77
50   br i1 undef, label %bb3.i236.i, label %psetq.exit238.i
52 bb3.i236.i:                                       ; preds = %bb2.i235.i
53   unreachable
55 psetq.exit238.i:                                  ; preds = %bb2.i235.i, %bb15.i77
56   unreachable
58 bb56.i.loopexit:                                  ; preds = %psetq.exit172.i
59   unreachable