Add compile command to each testcase
[gcc-vect-testsuite.git] / param-max-aliased-pr26197.ll
blobbc3414c03ac4aa10258fdd1f443a1efeee0a10d3
1 ; RUN: opt %loadPolly %defaultOpts -polly-codegen -enable-polly-vector -dce -S %s | FileCheck %s
2 ; ModuleID = 'param-max-aliased-pr26197.s'
3 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"
4 target triple = "x86_64-unknown-linux-gnu"
6 %struct.B = type { [2 x i32*], i32* }
8 define void @_Z3barv() uwtable {
9 entry:
10   %ref.tmp = alloca %struct.B, align 8
11   call void @_ZN1BC1Ev(%struct.B* %ref.tmp)
12   %tmp = bitcast %struct.B* %ref.tmp to i8*
13   invoke void @_Z1gPKv(i8* %tmp)
14           to label %invoke.cont unwind label %lpad
16 invoke.cont:                                      ; preds = %entry
17   call void @_ZN1BD1Ev(%struct.B* %ref.tmp)
18   ret void
20 lpad:                                             ; preds = %entry
21   %exn = call i8* @llvm.eh.exception() nounwind
22   %tmp1 = call i32 (i8*, i8*, ...)* @llvm.eh.selector(i8* %exn, i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*), i32 0) nounwind
23   invoke void @_ZN1BD1Ev(%struct.B* %ref.tmp)
24           to label %invoke.cont1 unwind label %terminate.lpad
26 invoke.cont1:                                     ; preds = %lpad
27   br label %eh.resume
29 eh.resume:                                        ; preds = %invoke.cont1
30   call void @llvm.eh.resume(i8* %exn, i32 %tmp1) noreturn
31   unreachable
33 terminate.lpad:                                   ; preds = %lpad
34   %exn2 = call i8* @llvm.eh.exception() nounwind
35   %tmp2 = call i32 (i8*, i8*, ...)* @llvm.eh.selector(i8* %exn2, i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*), i8* null) nounwind
36   call void @_ZSt9terminatev() noreturn nounwind
37   unreachable
40 define linkonce_odr void @_ZN1BC1Ev(%struct.B* %this) unnamed_addr uwtable align 2 {
41 entry:
42   call void @_ZN1BC2Ev(%struct.B* %this)
43   ret void
46 declare void @_Z1gPKv(i8*)
48 declare i8* @llvm.eh.exception() nounwind readonly
50 declare i32 @__gxx_personality_v0(...)
52 declare i32 @llvm.eh.selector(i8*, i8*, ...) nounwind
54 declare i32 @llvm.eh.typeid.for(i8*) nounwind
56 declare void @llvm.eh.resume(i8*, i32)
58 define linkonce_odr void @_ZN1BD1Ev(%struct.B* %this) unnamed_addr uwtable align 2 {
59 entry:
60   call void @_ZN1BD2Ev(%struct.B* %this)
61   ret void
64 declare void @_ZSt9terminatev()
66 define linkonce_odr void @_ZN1BD2Ev(%struct.B* %this) unnamed_addr uwtable align 2 {
67 entry:
68   %p = getelementptr inbounds %struct.B* %this, i64 0, i32 1
69   %tmp = load i32** %p, align 8
70   %tmp1 = bitcast i32* %tmp to i8*
71   call void @_Z1gPKv(i8* %tmp1)
72   ret void
75 define linkonce_odr void @_ZN1BC2Ev(%struct.B* %this) unnamed_addr nounwind uwtable align 2 {
76 entry:
77   br label %for.cond
79 for.cond:                                         ; preds = %for.inc, %entry
80   %indvar = phi i64 [ %indvar.next, %for.inc ], [ 0, %entry ]
81   %p.0 = getelementptr %struct.B* %this, i64 0, i32 0, i64 %indvar
82   %add.ptr = getelementptr inbounds %struct.B* %this, i64 0, i32 0, i64 4
83   %cmp = icmp ult i32** %p.0, %add.ptr
84   br i1 %cmp, label %for.body, label %for.end
86 for.body:                                         ; preds = %for.cond
87   store i32* null, i32** %p.0, align 8
88   br label %for.inc
90 for.inc:                                          ; preds = %for.body
91   %indvar.next = add i64 %indvar, 1
92   br label %for.cond
94 for.end:                                          ; preds = %for.cond
95   ret void
97 ; CHECK: define