1 ; RUN: opt %loadPolly %defaultOpts -polly-codegen -enable-polly-vector -dce -S %s | FileCheck %s
2 ; ModuleID = 'pr45470-b.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.LoadGraph = type { %struct.vector, %struct.vector.0 }
7 %struct.vector = type { %struct._Vector_base }
8 %struct._Vector_base = type { %struct.anon }
9 %struct.anon = type { %struct._GdkColor*, %struct._GdkColor*, %struct._GdkColor* }
10 %struct._GdkColor = type opaque
11 %struct.vector.0 = type { %struct._Vector_base.1 }
12 %struct._Vector_base.1 = type { %struct.anon.2 }
13 %struct.anon.2 = type { float*, float*, float* }
15 @_ZN9LoadGraphC1Ei = alias void (%struct.LoadGraph*, i32)* @_ZN9LoadGraphC2Ei
17 define void @_ZN9LoadGraphC2Ei(%struct.LoadGraph* %this, i32 %arg) unnamed_addr uwtable align 2 {
19 %colors = getelementptr inbounds %struct.LoadGraph* %this, i64 0, i32 0
20 call void @_ZN6vectorI9_GdkColor9allocatorIS0_EEC1Ev(%struct.vector* %colors)
21 %data_block = getelementptr inbounds %struct.LoadGraph* %this, i64 0, i32 1
22 invoke void @_ZN6vectorIf9allocatorIfEEC1Ev(%struct.vector.0* %data_block)
23 to label %invoke.cont unwind label %lpad
25 invoke.cont: ; preds = %entry
28 lpad: ; preds = %entry
29 %exn = call i8* @llvm.eh.exception() nounwind
30 %tmp = call i32 (i8*, i8*, ...)* @llvm.eh.selector(i8* %exn, i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*), i32 0) nounwind
31 %colors2 = getelementptr inbounds %struct.LoadGraph* %this, i64 0, i32 0
32 invoke void @_ZN6vectorI9_GdkColor9allocatorIS0_EED1Ev(%struct.vector* %colors2)
33 to label %invoke.cont3 unwind label %terminate.lpad
35 invoke.cont3: ; preds = %lpad
38 eh.resume: ; preds = %invoke.cont3
39 call void @llvm.eh.resume(i8* %exn, i32 %tmp) noreturn
42 terminate.lpad: ; preds = %lpad
43 %exn4 = call i8* @llvm.eh.exception() nounwind
44 %tmp1 = call i32 (i8*, i8*, ...)* @llvm.eh.selector(i8* %exn4, i8* bitcast (i32 (...)* @__gxx_personality_v0 to i8*), i8* null) nounwind
45 call void @_ZSt9terminatev() noreturn nounwind
49 define linkonce_odr void @_ZN6vectorI9_GdkColor9allocatorIS0_EEC1Ev(%struct.vector* %this) unnamed_addr uwtable align 2 {
51 call void @_ZN6vectorI9_GdkColor9allocatorIS0_EEC2Ev(%struct.vector* %this)
55 define linkonce_odr void @_ZN6vectorIf9allocatorIfEEC1Ev(%struct.vector.0* %this) unnamed_addr uwtable align 2 {
57 call void @_ZN6vectorIf9allocatorIfEEC2Ev(%struct.vector.0* %this)
61 declare i8* @llvm.eh.exception() nounwind readonly
63 declare i32 @__gxx_personality_v0(...)
65 declare i32 @llvm.eh.selector(i8*, i8*, ...) nounwind
67 declare i32 @llvm.eh.typeid.for(i8*) nounwind
69 declare void @llvm.eh.resume(i8*, i32)
71 declare void @_ZN6vectorI9_GdkColor9allocatorIS0_EED1Ev(%struct.vector*)
73 declare void @_ZSt9terminatev()
75 define linkonce_odr void @_ZN6vectorIf9allocatorIfEEC2Ev(%struct.vector.0* %this) unnamed_addr nounwind uwtable align 2 {
77 %tmp = bitcast %struct.vector.0* %this to i8*
78 call void @llvm.memset.p0i8.i64(i8* %tmp, i8 0, i64 24, i32 8, i1 false)
82 declare void @llvm.memset.p0i8.i64(i8* nocapture, i8, i64, i32, i1) nounwind
84 define linkonce_odr void @_ZN6vectorI9_GdkColor9allocatorIS0_EEC2Ev(%struct.vector* %this) unnamed_addr nounwind uwtable align 2 {
86 %tmp = bitcast %struct.vector* %this to i8*
87 call void @llvm.memset.p0i8.i64(i8* %tmp, i8 0, i64 24, i32 8, i1 false)