Add compile command to each testcase
[gcc-vect-testsuite.git] / pr37174.ll
blob9682cffaa236c15a0c96b5bf7d8611785447106a
1 ; RUN: opt %loadPolly %defaultOpts -polly-codegen -enable-polly-vector -dce -S %s | FileCheck %s
2 ; ModuleID = 'pr37174.s'
3 ; XFAIL: *
4 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"
5 target triple = "x86_64-unknown-linux-gnu"
7 %struct.Bar = type { i32*, i32*, [4 x [4 x [4 x i32*]]] }
9 @_ZN3BarC1Ev = alias void (%struct.Bar*)* @_ZN3BarC2Ev
11 define void @_ZN3BarC2Ev(%struct.Bar* %this) unnamed_addr uwtable align 2 {
12 entry:
13   %call = call i32* @_Z6getFoov()
14   %foo1 = getelementptr inbounds %struct.Bar* %this, i64 0, i32 0
15   store i32* %call, i32** %foo1, align 8
16   %call2 = call i32* @_Z6getFoov()
17   %foo2 = getelementptr inbounds %struct.Bar* %this, i64 0, i32 1
18   store i32* %call2, i32** %foo2, align 8
19   br label %for.cond
21 for.cond:                                         ; preds = %for.inc27, %entry
22   %indvar1 = phi i64 [ %indvar.next2, %for.inc27 ], [ 0, %entry ]
23   %exitcond6 = icmp ne i64 %indvar1, 4
24   br i1 %exitcond6, label %for.body, label %for.end30
26 for.body:                                         ; preds = %for.cond
27   br label %for.cond4
29 for.cond4:                                        ; preds = %for.inc23, %for.body
30   %indvar3 = phi i64 [ %indvar.next4, %for.inc23 ], [ 0, %for.body ]
31   %exitcond5 = icmp ne i64 %indvar3, 4
32   br i1 %exitcond5, label %for.body7, label %for.end26
34 for.body7:                                        ; preds = %for.cond4
35   br label %for.cond9
37 for.cond9:                                        ; preds = %for.inc, %for.body7
38   %indvar = phi i64 [ %indvar.next, %for.inc ], [ 0, %for.body7 ]
39   %arrayidx21 = getelementptr %struct.Bar* %this, i64 0, i32 2, i64 %indvar1, i64 %indvar3, i64 %indvar
40   %exitcond = icmp ne i64 %indvar, 4
41   br i1 %exitcond, label %for.body12, label %for.end
43 for.body12:                                       ; preds = %for.cond9
44   %foo113 = getelementptr inbounds %struct.Bar* %this, i64 0, i32 0
45   %tmp14 = load i32** %foo113, align 8
46   store i32* %tmp14, i32** %arrayidx21, align 8
47   br label %for.inc
49 for.inc:                                          ; preds = %for.body12
50   %indvar.next = add i64 %indvar, 1
51   br label %for.cond9
53 for.end:                                          ; preds = %for.cond9
54   br label %for.inc23
56 for.inc23:                                        ; preds = %for.end
57   %indvar.next4 = add i64 %indvar3, 1
58   br label %for.cond4
60 for.end26:                                        ; preds = %for.cond4
61   br label %for.inc27
63 for.inc27:                                        ; preds = %for.end26
64   %indvar.next2 = add i64 %indvar1, 1
65   br label %for.cond
67 for.end30:                                        ; preds = %for.cond
68   ret void
71 declare i32* @_Z6getFoov()
72 ; CHECK: define