diff options
Diffstat (limited to 'llvm/test/Transforms')
5 files changed, 191 insertions, 61 deletions
| diff --git a/llvm/test/Transforms/SLPVectorizer/X86/crash_bullet.ll b/llvm/test/Transforms/SLPVectorizer/X86/crash_bullet.ll index 565905df2c6..389892115ce 100644 --- a/llvm/test/Transforms/SLPVectorizer/X86/crash_bullet.ll +++ b/llvm/test/Transforms/SLPVectorizer/X86/crash_bullet.ll @@ -36,3 +36,93 @@ for.inc.1:                                        ; preds = %if.then7.1, %land.l    store i32 %dec.2, i32* %nub5, align 4    unreachable  } + +%class.GIM_TRIANGLE_CALCULATION_CACHE.9.34.69.94.119.144.179.189.264.284.332 = type { float, [3 x %class.btVector3.5.30.65.90.115.140.175.185.260.280.330], [3 x %class.btVector3.5.30.65.90.115.140.175.185.260.280.330], %class.btVector4.7.32.67.92.117.142.177.187.262.282.331, %class.btVector4.7.32.67.92.117.142.177.187.262.282.331, %class.btVector3.5.30.65.90.115.140.175.185.260.280.330, %class.btVector3.5.30.65.90.115.140.175.185.260.280.330, %class.btVector3.5.30.65.90.115.140.175.185.260.280.330, %class.btVector3.5.30.65.90.115.140.175.185.260.280.330, [4 x float], float, float, [4 x float], float, float, [16 x %class.btVector3.5.30.65.90.115.140.175.185.260.280.330], [16 x %class.btVector3.5.30.65.90.115.140.175.185.260.280.330], [16 x %class.btVector3.5.30.65.90.115.140.175.185.260.280.330] } +%class.btVector3.5.30.65.90.115.140.175.185.260.280.330 = type { [4 x float] } +%class.btVector4.7.32.67.92.117.142.177.187.262.282.331 = type { %class.btVector3.5.30.65.90.115.140.175.185.260.280.330 } + +define void @_ZN30GIM_TRIANGLE_CALCULATION_CACHE18triangle_collisionERK9btVector3S2_S2_fS2_S2_S2_fR25GIM_TRIANGLE_CONTACT_DATA(%class.GIM_TRIANGLE_CALCULATION_CACHE.9.34.69.94.119.144.179.189.264.284.332* %this) { +entry: +  %arrayidx26 = getelementptr inbounds %class.GIM_TRIANGLE_CALCULATION_CACHE.9.34.69.94.119.144.179.189.264.284.332* %this, i64 0, i32 2, i64 0, i32 0, i64 1 +  %arrayidx36 = getelementptr inbounds %class.GIM_TRIANGLE_CALCULATION_CACHE.9.34.69.94.119.144.179.189.264.284.332* %this, i64 0, i32 2, i64 0, i32 0, i64 2 +  %0 = load float* %arrayidx36, align 4 +  %add587 = fadd float undef, undef +  %sub600 = fsub float %add587, undef +  store float %sub600, float* undef, align 4 +  %sub613 = fsub float %add587, %sub600 +  store float %sub613, float* %arrayidx26, align 4 +  %add626 = fadd float %0, undef +  %sub639 = fsub float %add626, undef +  %sub652 = fsub float %add626, %sub639 +  store float %sub652, float* %arrayidx36, align 4 +  br i1 undef, label %if.else1609, label %if.then1595 + +if.then1595:                                      ; preds = %entry +  br i1 undef, label %return, label %for.body.lr.ph.i.i1702 + +for.body.lr.ph.i.i1702:                           ; preds = %if.then1595 +  unreachable + +if.else1609:                                      ; preds = %entry +  unreachable + +return:                                           ; preds = %if.then1595 +  ret void +} + +define void @_Z8dBoxBox2RK9btVector3PKfS1_S1_S3_S1_RS_PfPiiP12dContactGeomiRN36btDiscreteCollisionDetectorInterface6ResultE() { +entry: +  %add8.i2343 = fadd float undef, undef +  %add8.i2381 = fadd float undef, undef +  br i1 undef, label %return, label %if.end + +if.end:                                           ; preds = %entry +  br i1 undef, label %return, label %if.end111 + +if.end111:                                        ; preds = %if.end +  br i1 undef, label %return, label %if.end136 + +if.end136:                                        ; preds = %if.end111 +  br i1 undef, label %return, label %if.end162 + +if.end162:                                        ; preds = %if.end136 +  br i1 undef, label %return, label %if.end189 + +if.end189:                                        ; preds = %if.end162 +  br i1 undef, label %return, label %if.end216 + +if.end216:                                        ; preds = %if.end189 +  br i1 undef, label %if.then218, label %if.end225 + +if.then218:                                       ; preds = %if.end216 +  br label %if.end225 + +if.end225:                                        ; preds = %if.then218, %if.end216 +  br i1 undef, label %return, label %if.end248 + +if.end248:                                        ; preds = %if.end225 +  br i1 undef, label %return, label %if.end304 + +if.end304:                                        ; preds = %if.end248 +  %mul341 = fmul float undef, %add8.i2343 +  %mul344 = fmul float undef, %add8.i2381 +  %sub345 = fsub float %mul341, %mul344 +  br i1 undef, label %return, label %if.end361 + +if.end361:                                        ; preds = %if.end304 +  %mul364 = fmul float %add8.i2381, %add8.i2381 +  br i1 undef, label %if.then370, label %if.end395 + +if.then370:                                       ; preds = %if.end361 +  br i1 undef, label %if.then374, label %if.end395 + +if.then374:                                       ; preds = %if.then370 +  %cmp392 = fcmp olt float %sub345, 0.000000e+00 +  br label %if.end395 + +if.end395:                                        ; preds = %if.then374, %if.then370, %if.end361 +  unreachable + +return:                                           ; preds = %if.end304, %if.end248, %if.end225, %if.end189, %if.end162, %if.end136, %if.end111, %if.end, %entry +  ret void +} diff --git a/llvm/test/Transforms/SLPVectorizer/X86/crash_bullet2.ll b/llvm/test/Transforms/SLPVectorizer/X86/crash_bullet2.ll deleted file mode 100644 index df026d12cb9..00000000000 --- a/llvm/test/Transforms/SLPVectorizer/X86/crash_bullet2.ll +++ /dev/null @@ -1,38 +0,0 @@ -; RUN: opt < %s -basicaa -slp-vectorizer -dce -S -mtriple=x86_64-apple-macosx10.8.0 -mcpu=corei7 - -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-S128" -target triple = "x86_64-apple-macosx10.8.0" - -%class.GIM_TRIANGLE_CALCULATION_CACHE.9.34.69.94.119.144.179.189.264.284.332 = type { float, [3 x %class.btVector3.5.30.65.90.115.140.175.185.260.280.330], [3 x %class.btVector3.5.30.65.90.115.140.175.185.260.280.330], %class.btVector4.7.32.67.92.117.142.177.187.262.282.331, %class.btVector4.7.32.67.92.117.142.177.187.262.282.331, %class.btVector3.5.30.65.90.115.140.175.185.260.280.330, %class.btVector3.5.30.65.90.115.140.175.185.260.280.330, %class.btVector3.5.30.65.90.115.140.175.185.260.280.330, %class.btVector3.5.30.65.90.115.140.175.185.260.280.330, [4 x float], float, float, [4 x float], float, float, [16 x %class.btVector3.5.30.65.90.115.140.175.185.260.280.330], [16 x %class.btVector3.5.30.65.90.115.140.175.185.260.280.330], [16 x %class.btVector3.5.30.65.90.115.140.175.185.260.280.330] } -%class.btVector3.5.30.65.90.115.140.175.185.260.280.330 = type { [4 x float] } -%class.btVector4.7.32.67.92.117.142.177.187.262.282.331 = type { %class.btVector3.5.30.65.90.115.140.175.185.260.280.330 } - -define void @_ZN30GIM_TRIANGLE_CALCULATION_CACHE18triangle_collisionERK9btVector3S2_S2_fS2_S2_S2_fR25GIM_TRIANGLE_CONTACT_DATA(%class.GIM_TRIANGLE_CALCULATION_CACHE.9.34.69.94.119.144.179.189.264.284.332* %this) { -entry: -  %arrayidx26 = getelementptr inbounds %class.GIM_TRIANGLE_CALCULATION_CACHE.9.34.69.94.119.144.179.189.264.284.332* %this, i64 0, i32 2, i64 0, i32 0, i64 1 -  %arrayidx36 = getelementptr inbounds %class.GIM_TRIANGLE_CALCULATION_CACHE.9.34.69.94.119.144.179.189.264.284.332* %this, i64 0, i32 2, i64 0, i32 0, i64 2 -  %0 = load float* %arrayidx36, align 4 -  %add587 = fadd float undef, undef -  %sub600 = fsub float %add587, undef -  store float %sub600, float* undef, align 4 -  %sub613 = fsub float %add587, %sub600 -  store float %sub613, float* %arrayidx26, align 4 -  %add626 = fadd float %0, undef -  %sub639 = fsub float %add626, undef -  %sub652 = fsub float %add626, %sub639 -  store float %sub652, float* %arrayidx36, align 4 -  br i1 undef, label %if.else1609, label %if.then1595 - -if.then1595:                                      ; preds = %entry -  br i1 undef, label %return, label %for.body.lr.ph.i.i1702 - -for.body.lr.ph.i.i1702:                           ; preds = %if.then1595 -  unreachable - -if.else1609:                                      ; preds = %entry -  unreachable - -return:                                           ; preds = %if.then1595 -  ret void -} - diff --git a/llvm/test/Transforms/SLPVectorizer/X86/crash_bullet3.ll b/llvm/test/Transforms/SLPVectorizer/X86/crash_bullet3.ll new file mode 100644 index 00000000000..931195e4e2a --- /dev/null +++ b/llvm/test/Transforms/SLPVectorizer/X86/crash_bullet3.ll @@ -0,0 +1,88 @@ +; RUN: opt < %s -basicaa -slp-vectorizer -dce -S -mtriple=x86_64-apple-macosx10.8.0 -mcpu=corei7 + +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-S128" +target triple = "x86_64-apple-macosx10.8.0" + +%class.btVector3.23.221.463.485.507.573.595.683.727.749.815.837.991.1585.1607.1629.1651.1849.2047.2069.2091.2113 = type { [4 x float] } + +; Function Attrs: ssp uwtable +define void @_ZN11HullLibrary15CleanupVerticesEjPK9btVector3jRjPS0_fRS0_(%class.btVector3.23.221.463.485.507.573.595.683.727.749.815.837.991.1585.1607.1629.1651.1849.2047.2069.2091.2113* %vertices) #0 align 2 { +entry: +  br i1 undef, label %return, label %if.end + +if.end:                                           ; preds = %entry +  br label %for.body + +for.body:                                         ; preds = %if.end22.2, %if.end +  br i1 undef, label %if.then17.1, label %if.end22.1 + +for.end36:                                        ; preds = %if.end22.2 +  br label %for.body144 + +for.body144:                                      ; preds = %for.body144, %for.end36 +  br i1 undef, label %for.end227, label %for.body144 + +for.end227:                                       ; preds = %for.body144 +  br i1 undef, label %for.end271, label %for.body233 + +for.body233:                                      ; preds = %for.body233, %for.end227 +  br i1 undef, label %for.body233, label %for.end271 + +for.end271:                                       ; preds = %for.body233, %for.end227 +  %0 = phi float [ 0x47EFFFFFE0000000, %for.end227 ], [ undef, %for.body233 ] +  %1 = phi float [ 0x47EFFFFFE0000000, %for.end227 ], [ undef, %for.body233 ] +  %sub275 = fsub float undef, %1 +  %sub279 = fsub float undef, %0 +  br i1 undef, label %if.then291, label %return + +if.then291:                                       ; preds = %for.end271 +  %mul292 = fmul float %sub275, 5.000000e-01 +  %add294 = fadd float %1, %mul292 +  %mul295 = fmul float %sub279, 5.000000e-01 +  %add297 = fadd float %0, %mul295 +  br i1 undef, label %if.end332, label %if.else319 + +if.else319:                                       ; preds = %if.then291 +  br i1 undef, label %if.then325, label %if.end327 + +if.then325:                                       ; preds = %if.else319 +  br label %if.end327 + +if.end327:                                        ; preds = %if.then325, %if.else319 +  br i1 undef, label %if.then329, label %if.end332 + +if.then329:                                       ; preds = %if.end327 +  br label %if.end332 + +if.end332:                                        ; preds = %if.then329, %if.end327, %if.then291 +  %dx272.1 = phi float [ %sub275, %if.then329 ], [ %sub275, %if.end327 ], [ 0x3F847AE140000000, %if.then291 ] +  %dy276.1 = phi float [ undef, %if.then329 ], [ undef, %if.end327 ], [ 0x3F847AE140000000, %if.then291 ] +  %sub334 = fsub float %add294, %dx272.1 +  %sub338 = fsub float %add297, %dy276.1 +  %arrayidx.i.i606 = getelementptr inbounds %class.btVector3.23.221.463.485.507.573.595.683.727.749.815.837.991.1585.1607.1629.1651.1849.2047.2069.2091.2113* %vertices, i64 0, i32 0, i64 0 +  store float %sub334, float* %arrayidx.i.i606, align 4, !tbaa !0 +  %arrayidx3.i607 = getelementptr inbounds %class.btVector3.23.221.463.485.507.573.595.683.727.749.815.837.991.1585.1607.1629.1651.1849.2047.2069.2091.2113* %vertices, i64 0, i32 0, i64 1 +  store float %sub338, float* %arrayidx3.i607, align 4, !tbaa !0 +  br label %return + +return:                                           ; preds = %if.end332, %for.end271, %entry +  ret void + +if.then17.1:                                      ; preds = %for.body +  br label %if.end22.1 + +if.end22.1:                                       ; preds = %if.then17.1, %for.body +  br i1 undef, label %if.then17.2, label %if.end22.2 + +if.then17.2:                                      ; preds = %if.end22.1 +  br label %if.end22.2 + +if.end22.2:                                       ; preds = %if.then17.2, %if.end22.1 +  br i1 undef, label %for.end36, label %for.body +} + +attributes #0 = { ssp uwtable "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-frame-pointer-elim-non-leaf"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="false" } + +!0 = metadata !{metadata !"float", metadata !1} +!1 = metadata !{metadata !"omnipotent char", metadata !2} +!2 = metadata !{metadata !"Simple C/C++ TBAA"} diff --git a/llvm/test/Transforms/SLPVectorizer/X86/crash_lencod.ll b/llvm/test/Transforms/SLPVectorizer/X86/crash_lencod.ll index b35a5d74e2f..7a86867f25b 100644 --- a/llvm/test/Transforms/SLPVectorizer/X86/crash_lencod.ll +++ b/llvm/test/Transforms/SLPVectorizer/X86/crash_lencod.ll @@ -64,3 +64,16 @@ if.end103:                                        ; preds = %if.else, %if.then88    ret void  } + +define void @intrapred_luma() { +entry: +  %conv153 = trunc i32 undef to i16 +  %arrayidx154 = getelementptr inbounds [13 x i16]* undef, i64 0, i64 12 +  store i16 %conv153, i16* %arrayidx154, align 8 +  %arrayidx155 = getelementptr inbounds [13 x i16]* undef, i64 0, i64 11 +  store i16 %conv153, i16* %arrayidx155, align 2 +  %arrayidx156 = getelementptr inbounds [13 x i16]* undef, i64 0, i64 10 +  store i16 %conv153, i16* %arrayidx156, align 4 +  ret void +} + diff --git a/llvm/test/Transforms/SLPVectorizer/X86/crash_lencod2.ll b/llvm/test/Transforms/SLPVectorizer/X86/crash_lencod2.ll deleted file mode 100644 index d1e719c160a..00000000000 --- a/llvm/test/Transforms/SLPVectorizer/X86/crash_lencod2.ll +++ /dev/null @@ -1,23 +0,0 @@ -; RUN: opt < %s -basicaa -slp-vectorizer -dce -S -mtriple=x86_64-apple-macosx10.8.0 -mcpu=corei7 - -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-S128" -target triple = "x86_64-apple-macosx10.8.0" - -; Function Attrs: nounwind ssp uwtable -define void @intrapred_luma() #0 { -entry: -  %conv153 = trunc i32 undef to i16 -  %arrayidx154 = getelementptr inbounds [13 x i16]* undef, i64 0, i64 12 -  store i16 %conv153, i16* %arrayidx154, align 8, !tbaa !0 -  %arrayidx155 = getelementptr inbounds [13 x i16]* undef, i64 0, i64 11 -  store i16 %conv153, i16* %arrayidx155, align 2, !tbaa !0 -  %arrayidx156 = getelementptr inbounds [13 x i16]* undef, i64 0, i64 10 -  store i16 %conv153, i16* %arrayidx156, align 4, !tbaa !0 -  ret void -} - -attributes #0 = { nounwind ssp uwtable "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-frame-pointer-elim-non-leaf"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "unsafe-fp-math"="false" "use-soft-float"="false" } - -!0 = metadata !{metadata !"short", metadata !1} -!1 = metadata !{metadata !"omnipotent char", metadata !2} -!2 = metadata !{metadata !"Simple C/C++ TBAA"} | 

