diff options
Diffstat (limited to 'test/CodeGen/Thumb2')
81 files changed, 879 insertions, 773 deletions
diff --git a/test/CodeGen/Thumb2/2009-07-17-CrossRegClassCopy.ll b/test/CodeGen/Thumb2/2009-07-17-CrossRegClassCopy.ll index 76ffe2a18f19..f76c8ff4d0f8 100644 --- a/test/CodeGen/Thumb2/2009-07-17-CrossRegClassCopy.ll +++ b/test/CodeGen/Thumb2/2009-07-17-CrossRegClassCopy.ll @@ -17,8 +17,8 @@ bb1: ; preds = %entry bb.i: ; preds = %bb.i, %bb1 %indvar.i = phi i32 [ 0, %bb1 ], [ %2, %bb.i ] ; <i32> [#uses=3] %tmp39 = add i32 %indvar.i, %tmp38 ; <i32> [#uses=1] - %p_addr.0.i = getelementptr i8* undef, i32 %tmp39 ; <i8*> [#uses=1] - %0 = load i8* %p_addr.0.i, align 1 ; <i8> [#uses=1] + %p_addr.0.i = getelementptr i8, i8* undef, i32 %tmp39 ; <i8*> [#uses=1] + %0 = load i8, i8* %p_addr.0.i, align 1 ; <i8> [#uses=1] %1 = icmp slt i8 %0, 0 ; <i1> [#uses=1] %2 = add i32 %indvar.i, 1 ; <i32> [#uses=1] br i1 %1, label %bb.i, label %read_uleb128.exit @@ -26,7 +26,7 @@ bb.i: ; preds = %bb.i, %bb1 read_uleb128.exit: ; preds = %bb.i %.sum40 = add i32 %indvar.i, undef ; <i32> [#uses=1] %.sum31 = add i32 %.sum40, 2 ; <i32> [#uses=1] - %scevgep.i = getelementptr %struct.dwarf_cie* %cie, i32 0, i32 3, i32 %.sum31 ; <i8*> [#uses=1] + %scevgep.i = getelementptr %struct.dwarf_cie, %struct.dwarf_cie* %cie, i32 0, i32 3, i32 %.sum31 ; <i8*> [#uses=1] %3 = call i8* @read_sleb128(i8* %scevgep.i, i32* undef) ; <i8*> [#uses=0] unreachable diff --git a/test/CodeGen/Thumb2/2009-07-21-ISelBug.ll b/test/CodeGen/Thumb2/2009-07-21-ISelBug.ll index 4abeca930c1f..e363a343f0be 100644 --- a/test/CodeGen/Thumb2/2009-07-21-ISelBug.ll +++ b/test/CodeGen/Thumb2/2009-07-21-ISelBug.ll @@ -7,24 +7,24 @@ define i32 @t(i32, ...) nounwind { entry: ; CHECK-LABEL: t: ; CHECK: add r7, sp, #12 - %1 = load i8** undef, align 4 ; <i8*> [#uses=3] - %2 = getelementptr i8* %1, i32 4 ; <i8*> [#uses=1] - %3 = getelementptr i8* %1, i32 8 ; <i8*> [#uses=1] + %1 = load i8*, i8** undef, align 4 ; <i8*> [#uses=3] + %2 = getelementptr i8, i8* %1, i32 4 ; <i8*> [#uses=1] + %3 = getelementptr i8, i8* %1, i32 8 ; <i8*> [#uses=1] %4 = bitcast i8* %2 to i32* ; <i32*> [#uses=1] - %5 = load i32* %4, align 4 ; <i32> [#uses=1] + %5 = load i32, i32* %4, align 4 ; <i32> [#uses=1] %6 = trunc i32 %5 to i8 ; <i8> [#uses=1] - %7 = getelementptr i8* %1, i32 12 ; <i8*> [#uses=1] + %7 = getelementptr i8, i8* %1, i32 12 ; <i8*> [#uses=1] %8 = bitcast i8* %3 to i32* ; <i32*> [#uses=1] - %9 = load i32* %8, align 4 ; <i32> [#uses=1] + %9 = load i32, i32* %8, align 4 ; <i32> [#uses=1] %10 = trunc i32 %9 to i16 ; <i16> [#uses=1] %11 = bitcast i8* %7 to i32* ; <i32*> [#uses=1] - %12 = load i32* %11, align 4 ; <i32> [#uses=1] + %12 = load i32, i32* %11, align 4 ; <i32> [#uses=1] %13 = trunc i32 %12 to i16 ; <i16> [#uses=1] - %14 = load i32* undef, align 4 ; <i32> [#uses=2] + %14 = load i32, i32* undef, align 4 ; <i32> [#uses=2] %15 = sext i8 %6 to i32 ; <i32> [#uses=2] %16 = sext i16 %10 to i32 ; <i32> [#uses=2] %17 = sext i16 %13 to i32 ; <i32> [#uses=2] - %18 = call i32 (i8*, ...)* @printf(i8* getelementptr ([36 x i8]* @"\01LC", i32 0, i32 0), i32 -128, i32 0, i32 %15, i32 %16, i32 %17, i32 0, i32 %14) nounwind ; <i32> [#uses=0] + %18 = call i32 (i8*, ...) @printf(i8* getelementptr ([36 x i8], [36 x i8]* @"\01LC", i32 0, i32 0), i32 -128, i32 0, i32 %15, i32 %16, i32 %17, i32 0, i32 %14) nounwind ; <i32> [#uses=0] %19 = add i32 0, %15 ; <i32> [#uses=1] %20 = add i32 %19, %16 ; <i32> [#uses=1] %21 = add i32 %20, %14 ; <i32> [#uses=1] diff --git a/test/CodeGen/Thumb2/2009-07-30-PEICrash.ll b/test/CodeGen/Thumb2/2009-07-30-PEICrash.ll index 3e0761898925..77d2991160d9 100644 --- a/test/CodeGen/Thumb2/2009-07-30-PEICrash.ll +++ b/test/CodeGen/Thumb2/2009-07-30-PEICrash.ll @@ -31,35 +31,35 @@ define void @jpeg_idct_float(%struct.jpeg_decompress_struct* nocapture %cinfo, %struct.jpeg_component_info* nocapture %compptr, i16* nocapture %coef_block, i8** nocapture %output_buf, i32 %output_col) nounwind { entry: %workspace = alloca [64 x float], align 4 ; <[64 x float]*> [#uses=11] - %0 = load i8** undef, align 4 ; <i8*> [#uses=5] + %0 = load i8*, i8** undef, align 4 ; <i8*> [#uses=5] br label %bb bb: ; preds = %bb, %entry %indvar = phi i32 [ 0, %entry ], [ %indvar.next, %bb ] ; <i32> [#uses=11] %tmp39 = add i32 %indvar, 8 ; <i32> [#uses=0] %tmp41 = add i32 %indvar, 16 ; <i32> [#uses=2] - %scevgep42 = getelementptr [64 x float]* %workspace, i32 0, i32 %tmp41 ; <float*> [#uses=1] + %scevgep42 = getelementptr [64 x float], [64 x float]* %workspace, i32 0, i32 %tmp41 ; <float*> [#uses=1] %tmp43 = add i32 %indvar, 24 ; <i32> [#uses=1] - %scevgep44 = getelementptr [64 x float]* %workspace, i32 0, i32 %tmp43 ; <float*> [#uses=1] + %scevgep44 = getelementptr [64 x float], [64 x float]* %workspace, i32 0, i32 %tmp43 ; <float*> [#uses=1] %tmp45 = add i32 %indvar, 32 ; <i32> [#uses=1] - %scevgep46 = getelementptr [64 x float]* %workspace, i32 0, i32 %tmp45 ; <float*> [#uses=1] + %scevgep46 = getelementptr [64 x float], [64 x float]* %workspace, i32 0, i32 %tmp45 ; <float*> [#uses=1] %tmp47 = add i32 %indvar, 40 ; <i32> [#uses=1] - %scevgep48 = getelementptr [64 x float]* %workspace, i32 0, i32 %tmp47 ; <float*> [#uses=1] + %scevgep48 = getelementptr [64 x float], [64 x float]* %workspace, i32 0, i32 %tmp47 ; <float*> [#uses=1] %tmp49 = add i32 %indvar, 48 ; <i32> [#uses=1] - %scevgep50 = getelementptr [64 x float]* %workspace, i32 0, i32 %tmp49 ; <float*> [#uses=1] + %scevgep50 = getelementptr [64 x float], [64 x float]* %workspace, i32 0, i32 %tmp49 ; <float*> [#uses=1] %tmp51 = add i32 %indvar, 56 ; <i32> [#uses=1] - %scevgep52 = getelementptr [64 x float]* %workspace, i32 0, i32 %tmp51 ; <float*> [#uses=1] - %wsptr.119 = getelementptr [64 x float]* %workspace, i32 0, i32 %indvar ; <float*> [#uses=1] + %scevgep52 = getelementptr [64 x float], [64 x float]* %workspace, i32 0, i32 %tmp51 ; <float*> [#uses=1] + %wsptr.119 = getelementptr [64 x float], [64 x float]* %workspace, i32 0, i32 %indvar ; <float*> [#uses=1] %tmp54 = shl i32 %indvar, 2 ; <i32> [#uses=1] - %scevgep76 = getelementptr i8* undef, i32 %tmp54 ; <i8*> [#uses=1] + %scevgep76 = getelementptr i8, i8* undef, i32 %tmp54 ; <i8*> [#uses=1] %quantptr.118 = bitcast i8* %scevgep76 to float* ; <float*> [#uses=1] - %scevgep79 = getelementptr i16* %coef_block, i32 %tmp41 ; <i16*> [#uses=0] - %inptr.117 = getelementptr i16* %coef_block, i32 %indvar ; <i16*> [#uses=1] - %1 = load i16* null, align 2 ; <i16> [#uses=1] - %2 = load i16* undef, align 2 ; <i16> [#uses=1] - %3 = load i16* %inptr.117, align 2 ; <i16> [#uses=1] + %scevgep79 = getelementptr i16, i16* %coef_block, i32 %tmp41 ; <i16*> [#uses=0] + %inptr.117 = getelementptr i16, i16* %coef_block, i32 %indvar ; <i16*> [#uses=1] + %1 = load i16, i16* null, align 2 ; <i16> [#uses=1] + %2 = load i16, i16* undef, align 2 ; <i16> [#uses=1] + %3 = load i16, i16* %inptr.117, align 2 ; <i16> [#uses=1] %4 = sitofp i16 %3 to float ; <float> [#uses=1] - %5 = load float* %quantptr.118, align 4 ; <float> [#uses=1] + %5 = load float, float* %quantptr.118, align 4 ; <float> [#uses=1] %6 = fmul float %4, %5 ; <float> [#uses=1] %7 = fsub float %6, undef ; <float> [#uses=2] %8 = fmul float undef, 0x3FF6A09E60000000 ; <float> [#uses=1] @@ -70,7 +70,7 @@ bb: ; preds = %bb, %entry %13 = sitofp i16 %1 to float ; <float> [#uses=1] %14 = fmul float %13, undef ; <float> [#uses=2] %15 = sitofp i16 %2 to float ; <float> [#uses=1] - %16 = load float* undef, align 4 ; <float> [#uses=1] + %16 = load float, float* undef, align 4 ; <float> [#uses=1] %17 = fmul float %15, %16 ; <float> [#uses=1] %18 = fadd float %14, undef ; <float> [#uses=2] %19 = fsub float %14, undef ; <float> [#uses=2] @@ -114,22 +114,22 @@ bb6: ; preds = %bb bb8: ; preds = %bb8, %bb6 %ctr.116 = phi i32 [ 0, %bb6 ], [ %88, %bb8 ] ; <i32> [#uses=3] - %scevgep = getelementptr i8** %output_buf, i32 %ctr.116 ; <i8**> [#uses=1] + %scevgep = getelementptr i8*, i8** %output_buf, i32 %ctr.116 ; <i8**> [#uses=1] %tmp = shl i32 %ctr.116, 3 ; <i32> [#uses=5] %tmp2392 = or i32 %tmp, 4 ; <i32> [#uses=1] - %scevgep24 = getelementptr [64 x float]* %workspace, i32 0, i32 %tmp2392 ; <float*> [#uses=1] + %scevgep24 = getelementptr [64 x float], [64 x float]* %workspace, i32 0, i32 %tmp2392 ; <float*> [#uses=1] %tmp2591 = or i32 %tmp, 2 ; <i32> [#uses=1] - %scevgep26 = getelementptr [64 x float]* %workspace, i32 0, i32 %tmp2591 ; <float*> [#uses=1] + %scevgep26 = getelementptr [64 x float], [64 x float]* %workspace, i32 0, i32 %tmp2591 ; <float*> [#uses=1] %tmp2790 = or i32 %tmp, 6 ; <i32> [#uses=1] - %scevgep28 = getelementptr [64 x float]* %workspace, i32 0, i32 %tmp2790 ; <float*> [#uses=1] + %scevgep28 = getelementptr [64 x float], [64 x float]* %workspace, i32 0, i32 %tmp2790 ; <float*> [#uses=1] %tmp3586 = or i32 %tmp, 7 ; <i32> [#uses=0] - %wsptr.215 = getelementptr [64 x float]* %workspace, i32 0, i32 %tmp ; <float*> [#uses=1] - %40 = load i8** %scevgep, align 4 ; <i8*> [#uses=4] - %41 = load float* %wsptr.215, align 4 ; <float> [#uses=1] - %42 = load float* %scevgep24, align 4 ; <float> [#uses=1] + %wsptr.215 = getelementptr [64 x float], [64 x float]* %workspace, i32 0, i32 %tmp ; <float*> [#uses=1] + %40 = load i8*, i8** %scevgep, align 4 ; <i8*> [#uses=4] + %41 = load float, float* %wsptr.215, align 4 ; <float> [#uses=1] + %42 = load float, float* %scevgep24, align 4 ; <float> [#uses=1] %43 = fadd float %41, %42 ; <float> [#uses=1] - %44 = load float* %scevgep26, align 4 ; <float> [#uses=1] - %45 = load float* %scevgep28, align 4 ; <float> [#uses=1] + %44 = load float, float* %scevgep26, align 4 ; <float> [#uses=1] + %45 = load float, float* %scevgep28, align 4 ; <float> [#uses=1] %46 = fadd float %44, %45 ; <float> [#uses=1] %47 = fsub float %43, %46 ; <float> [#uses=2] %48 = fsub float undef, 0.000000e+00 ; <float> [#uses=1] @@ -139,13 +139,13 @@ bb8: ; preds = %bb8, %bb6 %52 = lshr i32 %51, 3 ; <i32> [#uses=1] %53 = and i32 %52, 1023 ; <i32> [#uses=1] %.sum14 = add i32 %53, 128 ; <i32> [#uses=1] - %54 = getelementptr i8* %0, i32 %.sum14 ; <i8*> [#uses=1] - %55 = load i8* %54, align 1 ; <i8> [#uses=1] + %54 = getelementptr i8, i8* %0, i32 %.sum14 ; <i8*> [#uses=1] + %55 = load i8, i8* %54, align 1 ; <i8> [#uses=1] store i8 %55, i8* null, align 1 - %56 = getelementptr i8* %40, i32 %.sum10 ; <i8*> [#uses=1] + %56 = getelementptr i8, i8* %40, i32 %.sum10 ; <i8*> [#uses=1] store i8 0, i8* %56, align 1 - %57 = load i8* null, align 1 ; <i8> [#uses=1] - %58 = getelementptr i8* %40, i32 %.sum8 ; <i8*> [#uses=1] + %57 = load i8, i8* null, align 1 ; <i8> [#uses=1] + %58 = getelementptr i8, i8* %40, i32 %.sum8 ; <i8*> [#uses=1] store i8 %57, i8* %58, align 1 %59 = fadd float undef, %48 ; <float> [#uses=1] %60 = fptosi float %59 to i32 ; <i32> [#uses=1] @@ -153,17 +153,17 @@ bb8: ; preds = %bb8, %bb6 %62 = lshr i32 %61, 3 ; <i32> [#uses=1] %63 = and i32 %62, 1023 ; <i32> [#uses=1] %.sum7 = add i32 %63, 128 ; <i32> [#uses=1] - %64 = getelementptr i8* %0, i32 %.sum7 ; <i8*> [#uses=1] - %65 = load i8* %64, align 1 ; <i8> [#uses=1] - %66 = getelementptr i8* %40, i32 %.sum6 ; <i8*> [#uses=1] + %64 = getelementptr i8, i8* %0, i32 %.sum7 ; <i8*> [#uses=1] + %65 = load i8, i8* %64, align 1 ; <i8> [#uses=1] + %66 = getelementptr i8, i8* %40, i32 %.sum6 ; <i8*> [#uses=1] store i8 %65, i8* %66, align 1 %67 = fptosi float undef to i32 ; <i32> [#uses=1] %68 = add i32 %67, 4 ; <i32> [#uses=1] %69 = lshr i32 %68, 3 ; <i32> [#uses=1] %70 = and i32 %69, 1023 ; <i32> [#uses=1] %.sum5 = add i32 %70, 128 ; <i32> [#uses=1] - %71 = getelementptr i8* %0, i32 %.sum5 ; <i8*> [#uses=1] - %72 = load i8* %71, align 1 ; <i8> [#uses=1] + %71 = getelementptr i8, i8* %0, i32 %.sum5 ; <i8*> [#uses=1] + %72 = load i8, i8* %71, align 1 ; <i8> [#uses=1] store i8 %72, i8* undef, align 1 %73 = fadd float %47, undef ; <float> [#uses=1] %74 = fptosi float %73 to i32 ; <i32> [#uses=1] @@ -171,8 +171,8 @@ bb8: ; preds = %bb8, %bb6 %76 = lshr i32 %75, 3 ; <i32> [#uses=1] %77 = and i32 %76, 1023 ; <i32> [#uses=1] %.sum3 = add i32 %77, 128 ; <i32> [#uses=1] - %78 = getelementptr i8* %0, i32 %.sum3 ; <i8*> [#uses=1] - %79 = load i8* %78, align 1 ; <i8> [#uses=1] + %78 = getelementptr i8, i8* %0, i32 %.sum3 ; <i8*> [#uses=1] + %79 = load i8, i8* %78, align 1 ; <i8> [#uses=1] store i8 %79, i8* undef, align 1 %80 = fsub float %47, undef ; <float> [#uses=1] %81 = fptosi float %80 to i32 ; <i32> [#uses=1] @@ -180,9 +180,9 @@ bb8: ; preds = %bb8, %bb6 %83 = lshr i32 %82, 3 ; <i32> [#uses=1] %84 = and i32 %83, 1023 ; <i32> [#uses=1] %.sum1 = add i32 %84, 128 ; <i32> [#uses=1] - %85 = getelementptr i8* %0, i32 %.sum1 ; <i8*> [#uses=1] - %86 = load i8* %85, align 1 ; <i8> [#uses=1] - %87 = getelementptr i8* %40, i32 %.sum ; <i8*> [#uses=1] + %85 = getelementptr i8, i8* %0, i32 %.sum1 ; <i8*> [#uses=1] + %86 = load i8, i8* %85, align 1 ; <i8> [#uses=1] + %87 = getelementptr i8, i8* %40, i32 %.sum ; <i8*> [#uses=1] store i8 %86, i8* %87, align 1 %88 = add i32 %ctr.116, 1 ; <i32> [#uses=2] %exitcond = icmp eq i32 %88, 8 ; <i1> [#uses=1] diff --git a/test/CodeGen/Thumb2/2009-08-01-WrongLDRBOpc.ll b/test/CodeGen/Thumb2/2009-08-01-WrongLDRBOpc.ll index 09e0ed1ead63..4a99e280e7ab 100644 --- a/test/CodeGen/Thumb2/2009-08-01-WrongLDRBOpc.ll +++ b/test/CodeGen/Thumb2/2009-08-01-WrongLDRBOpc.ll @@ -22,7 +22,7 @@ bb4.preheader.i: ; preds = %entry br i1 undef, label %tbl.exit, label %bb.i.preheader bb.i.preheader: ; preds = %bb4.preheader.i - %line3.i.i.i = getelementptr [200 x i8]* %line.i.i.i, i32 0, i32 0 ; <i8*> [#uses=1] + %line3.i.i.i = getelementptr [200 x i8], [200 x i8]* %line.i.i.i, i32 0, i32 0 ; <i8*> [#uses=1] br label %bb.i bb.i: ; preds = %bb4.backedge.i, %bb.i.preheader @@ -38,7 +38,7 @@ bb2.i184.i.i: ; preds = %bb.i183.i.i, %bb3.i br i1 undef, label %bb5.i185.i.i, label %bb35.preheader.i.i.i bb35.preheader.i.i.i: ; preds = %bb2.i184.i.i - %0 = load i8* %line3.i.i.i, align 1 ; <i8> [#uses=1] + %0 = load i8, i8* %line3.i.i.i, align 1 ; <i8> [#uses=1] %1 = icmp eq i8 %0, 59 ; <i1> [#uses=1] br i1 %1, label %bb36.i.i.i, label %bb9.i186.i.i @@ -53,16 +53,16 @@ bb36.i.i.i: ; preds = %bb35.preheader.i.i.i bb.i171.i.i: ; preds = %bb3.i176.i.i, %bb36.i.i.i, %bb5.i185.i.i %2 = phi i32 [ %4, %bb3.i176.i.i ], [ 0, %bb36.i.i.i ], [ 0, %bb5.i185.i.i ] ; <i32> [#uses=6] - %scevgep16.i.i.i = getelementptr [20 x i32]* @sep, i32 0, i32 %2 ; <i32*> [#uses=1] - %scevgep18.i.i.i = getelementptr [20 x [10 x i8]]* @cll, i32 0, i32 %2, i32 0 ; <i8*> [#uses=0] + %scevgep16.i.i.i = getelementptr [20 x i32], [20 x i32]* @sep, i32 0, i32 %2 ; <i32*> [#uses=1] + %scevgep18.i.i.i = getelementptr [20 x [10 x i8]], [20 x [10 x i8]]* @cll, i32 0, i32 %2, i32 0 ; <i8*> [#uses=0] store i32 -1, i32* %scevgep16.i.i.i, align 4 br label %bb1.i175.i.i bb1.i175.i.i: ; preds = %bb1.i175.i.i, %bb.i171.i.i %i.03.i172.i.i = phi i32 [ 0, %bb.i171.i.i ], [ %3, %bb1.i175.i.i ] ; <i32> [#uses=4] - %scevgep11.i.i.i = getelementptr [100 x [20 x i32]]* @lefline, i32 0, i32 %i.03.i172.i.i, i32 %2 ; <i32*> [#uses=1] - %scevgep12.i.i.i = getelementptr [100 x [20 x [4 x i8]]]* @vsize, i32 0, i32 %i.03.i172.i.i, i32 %2, i32 0 ; <i8*> [#uses=1] - %scevgep13.i.i.i = getelementptr [100 x [20 x [4 x i8]]]* @csize, i32 0, i32 %i.03.i172.i.i, i32 %2, i32 0 ; <i8*> [#uses=0] + %scevgep11.i.i.i = getelementptr [100 x [20 x i32]], [100 x [20 x i32]]* @lefline, i32 0, i32 %i.03.i172.i.i, i32 %2 ; <i32*> [#uses=1] + %scevgep12.i.i.i = getelementptr [100 x [20 x [4 x i8]]], [100 x [20 x [4 x i8]]]* @vsize, i32 0, i32 %i.03.i172.i.i, i32 %2, i32 0 ; <i8*> [#uses=1] + %scevgep13.i.i.i = getelementptr [100 x [20 x [4 x i8]]], [100 x [20 x [4 x i8]]]* @csize, i32 0, i32 %i.03.i172.i.i, i32 %2, i32 0 ; <i8*> [#uses=0] store i8 0, i8* %scevgep12.i.i.i, align 1 store i32 0, i32* %scevgep11.i.i.i, align 4 store i32 108, i32* undef, align 4 diff --git a/test/CodeGen/Thumb2/2009-08-02-CoalescerBug.ll b/test/CodeGen/Thumb2/2009-08-02-CoalescerBug.ll index 0b5610327107..55b0921779d4 100644 --- a/test/CodeGen/Thumb2/2009-08-02-CoalescerBug.ll +++ b/test/CodeGen/Thumb2/2009-08-02-CoalescerBug.ll @@ -26,15 +26,15 @@ declare void @_ZN10xalanc_1_814FormatterToXML17writeParentTagEndEv(%"struct.xala define void @_ZN10xalanc_1_814FormatterToXML5cdataEPKtj(%"struct.xalanc_1_8::FormatterToXML"* %this, i16* %ch, i32 %length) { entry: - %0 = getelementptr %"struct.xalanc_1_8::FormatterToXML"* %this, i32 0, i32 13 ; <i8*> [#uses=1] + %0 = getelementptr %"struct.xalanc_1_8::FormatterToXML", %"struct.xalanc_1_8::FormatterToXML"* %this, i32 0, i32 13 ; <i8*> [#uses=1] br i1 undef, label %bb4, label %bb bb: ; preds = %entry store i8 0, i8* %0, align 1 - %1 = getelementptr %"struct.xalanc_1_8::FormatterToXML"* %this, i32 0, i32 0, i32 0, i32 0 ; <i32 (...)***> [#uses=1] - %2 = load i32 (...)*** %1, align 4 ; <i32 (...)**> [#uses=1] - %3 = getelementptr i32 (...)** %2, i32 11 ; <i32 (...)**> [#uses=1] - %4 = load i32 (...)** %3, align 4 ; <i32 (...)*> [#uses=1] + %1 = getelementptr %"struct.xalanc_1_8::FormatterToXML", %"struct.xalanc_1_8::FormatterToXML"* %this, i32 0, i32 0, i32 0, i32 0 ; <i32 (...)***> [#uses=1] + %2 = load i32 (...)**, i32 (...)*** %1, align 4 ; <i32 (...)**> [#uses=1] + %3 = getelementptr i32 (...)*, i32 (...)** %2, i32 11 ; <i32 (...)**> [#uses=1] + %4 = load i32 (...)*, i32 (...)** %3, align 4 ; <i32 (...)*> [#uses=1] %5 = bitcast i32 (...)* %4 to void (%"struct.xalanc_1_8::FormatterToXML"*, i16*, i32)* ; <void (%"struct.xalanc_1_8::FormatterToXML"*, i16*, i32)*> [#uses=1] tail call void %5(%"struct.xalanc_1_8::FormatterToXML"* %this, i16* %ch, i32 %length) ret void diff --git a/test/CodeGen/Thumb2/2009-08-04-CoalescerAssert.ll b/test/CodeGen/Thumb2/2009-08-04-CoalescerAssert.ll index acff2615cbb3..b75a14b0a674 100644 --- a/test/CodeGen/Thumb2/2009-08-04-CoalescerAssert.ll +++ b/test/CodeGen/Thumb2/2009-08-04-CoalescerAssert.ll @@ -17,7 +17,7 @@ bb1: ; preds = %entry bb2: ; preds = %bb1 %0 = call i8* @llvm.frameaddress(i32 0) ; <i8*> [#uses=1] - %1 = call i32 (%struct.FILE*, i8*, ...)* @fprintf(%struct.FILE* noalias undef, i8* noalias getelementptr ([30 x i8]* @.str2, i32 0, i32 0), i8* %0, i8* null) nounwind ; <i32> [#uses=0] + %1 = call i32 (%struct.FILE*, i8*, ...) @fprintf(%struct.FILE* noalias undef, i8* noalias getelementptr ([30 x i8], [30 x i8]* @.str2, i32 0, i32 0), i8* %0, i8* null) nounwind ; <i32> [#uses=0] unreachable bb9: ; preds = %bb1 diff --git a/test/CodeGen/Thumb2/2009-08-04-CoalescerBug.ll b/test/CodeGen/Thumb2/2009-08-04-CoalescerBug.ll index 28ac28bbc550..ccec979bf8cf 100644 --- a/test/CodeGen/Thumb2/2009-08-04-CoalescerBug.ll +++ b/test/CodeGen/Thumb2/2009-08-04-CoalescerBug.ll @@ -44,8 +44,8 @@ entry: bb5: ; preds = %bb5, %entry %.pn = phi %struct.rec* [ %y.0, %bb5 ], [ undef, %entry ] ; <%struct.rec*> [#uses=1] - %y.0.in = getelementptr %struct.rec* %.pn, i32 0, i32 0, i32 0, i32 1, i32 0 ; <%struct.rec**> [#uses=1] - %y.0 = load %struct.rec** %y.0.in ; <%struct.rec*> [#uses=2] + %y.0.in = getelementptr %struct.rec, %struct.rec* %.pn, i32 0, i32 0, i32 0, i32 1, i32 0 ; <%struct.rec**> [#uses=1] + %y.0 = load %struct.rec*, %struct.rec** %y.0.in ; <%struct.rec*> [#uses=2] br i1 undef, label %bb5, label %bb6 bb6: ; preds = %bb5 @@ -62,33 +62,33 @@ bb.i1: ; preds = %FontHalfXHeight.exit br label %FontSize.exit FontSize.exit: ; preds = %bb.i1, %FontHalfXHeight.exit - %1 = load i32* undef, align 4 ; <i32> [#uses=1] + %1 = load i32, i32* undef, align 4 ; <i32> [#uses=1] %2 = icmp ult i32 0, undef ; <i1> [#uses=1] br i1 %2, label %bb.i5, label %FontName.exit bb.i5: ; preds = %FontSize.exit - call void (i32, i32, i8*, i32, %struct.FILE_POS*, ...)* @Error(i32 1, i32 2, i8* getelementptr ([20 x i8]* @.str24239, i32 0, i32 0), i32 0, %struct.FILE_POS* bitcast (%4* @no_file_pos to %struct.FILE_POS*), i8* getelementptr ([10 x i8]* @.str81872, i32 0, i32 0)) nounwind + call void (i32, i32, i8*, i32, %struct.FILE_POS*, ...) @Error(i32 1, i32 2, i8* getelementptr ([20 x i8], [20 x i8]* @.str24239, i32 0, i32 0), i32 0, %struct.FILE_POS* bitcast (%4* @no_file_pos to %struct.FILE_POS*), i8* getelementptr ([10 x i8], [10 x i8]* @.str81872, i32 0, i32 0)) nounwind br label %FontName.exit FontName.exit: ; preds = %bb.i5, %FontSize.exit - %3 = call i32 (%struct.FILE*, i8*, ...)* @fprintf(%struct.FILE* undef, i8* getelementptr ([8 x i8]* @.str1822946, i32 0, i32 0), i32 %1, i8* undef) nounwind ; <i32> [#uses=0] - %4 = call i32 @"\01_fwrite"(i8* getelementptr ([11 x i8]* @.str1842948, i32 0, i32 0), i32 1, i32 10, i8* undef) nounwind ; <i32> [#uses=0] + %3 = call i32 (%struct.FILE*, i8*, ...) @fprintf(%struct.FILE* undef, i8* getelementptr ([8 x i8], [8 x i8]* @.str1822946, i32 0, i32 0), i32 %1, i8* undef) nounwind ; <i32> [#uses=0] + %4 = call i32 @"\01_fwrite"(i8* getelementptr ([11 x i8], [11 x i8]* @.str1842948, i32 0, i32 0), i32 1, i32 10, i8* undef) nounwind ; <i32> [#uses=0] %5 = sub i32 %colmark, undef ; <i32> [#uses=1] %6 = sub i32 %rowmark, undef ; <i32> [#uses=1] - %7 = load %struct.FILE** @out_fp, align 4 ; <%struct.FILE*> [#uses=1] - %8 = call i32 (%struct.FILE*, i8*, ...)* @fprintf(%struct.FILE* %7, i8* getelementptr ([17 x i8]* @.str212784, i32 0, i32 0), i32 %5, i32 %6) nounwind ; <i32> [#uses=0] + %7 = load %struct.FILE*, %struct.FILE** @out_fp, align 4 ; <%struct.FILE*> [#uses=1] + %8 = call i32 (%struct.FILE*, i8*, ...) @fprintf(%struct.FILE* %7, i8* getelementptr ([17 x i8], [17 x i8]* @.str212784, i32 0, i32 0), i32 %5, i32 %6) nounwind ; <i32> [#uses=0] store i32 0, i32* @cpexists, align 4 - %9 = getelementptr %struct.rec* %y.0, i32 0, i32 0, i32 3, i32 0, i32 0, i32 1 ; <i32*> [#uses=1] - %10 = load i32* %9, align 4 ; <i32> [#uses=1] + %9 = getelementptr %struct.rec, %struct.rec* %y.0, i32 0, i32 0, i32 3, i32 0, i32 0, i32 1 ; <i32*> [#uses=1] + %10 = load i32, i32* %9, align 4 ; <i32> [#uses=1] %11 = sub i32 0, %10 ; <i32> [#uses=1] - %12 = load %struct.FILE** @out_fp, align 4 ; <%struct.FILE*> [#uses=1] - %13 = call i32 (%struct.FILE*, i8*, ...)* @fprintf(%struct.FILE* %12, i8* getelementptr ([17 x i8]* @.str212784, i32 0, i32 0), i32 undef, i32 %11) nounwind ; <i32> [#uses=0] + %12 = load %struct.FILE*, %struct.FILE** @out_fp, align 4 ; <%struct.FILE*> [#uses=1] + %13 = call i32 (%struct.FILE*, i8*, ...) @fprintf(%struct.FILE* %12, i8* getelementptr ([17 x i8], [17 x i8]* @.str212784, i32 0, i32 0), i32 undef, i32 %11) nounwind ; <i32> [#uses=0] store i32 0, i32* @cpexists, align 4 br label %bb100.outer.outer bb100.outer.outer: ; preds = %bb79.critedge, %bb1.i3, %FontName.exit %x_addr.0.ph.ph = phi %struct.rec* [ %x, %FontName.exit ], [ null, %bb79.critedge ], [ null, %bb1.i3 ] ; <%struct.rec*> [#uses=1] - %14 = getelementptr %struct.rec* %x_addr.0.ph.ph, i32 0, i32 0, i32 1, i32 0 ; <%struct.FILE_POS*> [#uses=0] + %14 = getelementptr %struct.rec, %struct.rec* %x_addr.0.ph.ph, i32 0, i32 0, i32 1, i32 0 ; <%struct.FILE_POS*> [#uses=0] br label %bb100.outer bb.i80: ; preds = %bb3.i85 @@ -116,7 +116,7 @@ bb.i47: ; preds = %bb3.i52 br i1 undef, label %bb2.i51, label %bb2.i.i15.critedge bb2.i51: ; preds = %bb.i47, %StringBeginsWith.exit88, %bb.i80 - %15 = load i8* undef, align 1 ; <i8> [#uses=0] + %15 = load i8, i8* undef, align 1 ; <i8> [#uses=0] br i1 false, label %StringBeginsWith.exit55thread-split, label %bb3.i52 bb3.i52: ; preds = %bb2.i51 diff --git a/test/CodeGen/Thumb2/2009-08-04-ScavengerAssert.ll b/test/CodeGen/Thumb2/2009-08-04-ScavengerAssert.ll index 88accf8063ed..89f47d9d26f9 100644 --- a/test/CodeGen/Thumb2/2009-08-04-ScavengerAssert.ll +++ b/test/CodeGen/Thumb2/2009-08-04-ScavengerAssert.ll @@ -76,8 +76,8 @@ declare i8* @fgets(i8*, i32, %struct.FILE* nocapture) nounwind define void @PS_PrintGraphicInclude(%struct.rec* %x, i32 %colmark, i32 %rowmark) nounwind { entry: %buff = alloca [512 x i8], align 4 ; <[512 x i8]*> [#uses=5] - %0 = getelementptr %struct.rec* %x, i32 0, i32 0, i32 1, i32 0, i32 0 ; <i8*> [#uses=2] - %1 = load i8* %0, align 4 ; <i8> [#uses=1] + %0 = getelementptr %struct.rec, %struct.rec* %x, i32 0, i32 0, i32 1, i32 0, i32 0 ; <i8*> [#uses=2] + %1 = load i8, i8* %0, align 4 ; <i8> [#uses=1] %2 = add i8 %1, -94 ; <i8> [#uses=1] %3 = icmp ugt i8 %2, 1 ; <i1> [#uses=1] br i1 %3, label %bb, label %bb1 @@ -86,28 +86,28 @@ bb: ; preds = %entry br label %bb1 bb1: ; preds = %bb, %entry - %4 = getelementptr %struct.rec* %x, i32 0, i32 0, i32 2 ; <%struct.SECOND_UNION*> [#uses=1] + %4 = getelementptr %struct.rec, %struct.rec* %x, i32 0, i32 0, i32 2 ; <%struct.SECOND_UNION*> [#uses=1] %5 = bitcast %struct.SECOND_UNION* %4 to %5* ; <%5*> [#uses=1] - %6 = getelementptr %5* %5, i32 0, i32 1 ; <i8*> [#uses=1] - %7 = load i8* %6, align 1 ; <i8> [#uses=1] + %6 = getelementptr %5, %5* %5, i32 0, i32 1 ; <i8*> [#uses=1] + %7 = load i8, i8* %6, align 1 ; <i8> [#uses=1] %8 = icmp eq i8 %7, 0 ; <i1> [#uses=1] br i1 %8, label %bb2, label %bb3 bb2: ; preds = %bb1 - call void (i32, i32, i8*, i32, %struct.FILE_POS*, ...)* @Error(i32 1, i32 2, i8* getelementptr ([20 x i8]* @.str24239, i32 0, i32 0), i32 0, %struct.FILE_POS* bitcast (%4* @no_file_pos to %struct.FILE_POS*), i8* getelementptr ([40 x i8]* @.str1802944, i32 0, i32 0)) nounwind + call void (i32, i32, i8*, i32, %struct.FILE_POS*, ...) @Error(i32 1, i32 2, i8* getelementptr ([20 x i8], [20 x i8]* @.str24239, i32 0, i32 0), i32 0, %struct.FILE_POS* bitcast (%4* @no_file_pos to %struct.FILE_POS*), i8* getelementptr ([40 x i8], [40 x i8]* @.str1802944, i32 0, i32 0)) nounwind br label %bb3 bb3: ; preds = %bb2, %bb1 - %9 = load %struct.rec** undef, align 4 ; <%struct.rec*> [#uses=0] + %9 = load %struct.rec*, %struct.rec** undef, align 4 ; <%struct.rec*> [#uses=0] br label %bb5 bb5: ; preds = %bb5, %bb3 - %y.0 = load %struct.rec** null ; <%struct.rec*> [#uses=2] + %y.0 = load %struct.rec*, %struct.rec** null ; <%struct.rec*> [#uses=2] br i1 false, label %bb5, label %bb6 bb6: ; preds = %bb5 - %10 = load i8* %0, align 4 ; <i8> [#uses=1] - %11 = getelementptr %struct.rec* %y.0, i32 0, i32 0, i32 1, i32 0 ; <%struct.FILE_POS*> [#uses=1] + %10 = load i8, i8* %0, align 4 ; <i8> [#uses=1] + %11 = getelementptr %struct.rec, %struct.rec* %y.0, i32 0, i32 0, i32 1, i32 0 ; <%struct.FILE_POS*> [#uses=1] %12 = call %struct.FILE* @OpenIncGraphicFile(i8* undef, i8 zeroext %10, %struct.rec** null, %struct.FILE_POS* %11, i32* undef) nounwind ; <%struct.FILE*> [#uses=4] br i1 false, label %bb7, label %bb8 @@ -116,7 +116,7 @@ bb7: ; preds = %bb6 bb8: ; preds = %bb6 %13 = and i32 undef, 4095 ; <i32> [#uses=2] - %14 = load i32* @currentfont, align 4 ; <i32> [#uses=0] + %14 = load i32, i32* @currentfont, align 4 ; <i32> [#uses=0] br i1 false, label %bb10, label %bb9 bb9: ; preds = %bb8 @@ -124,8 +124,8 @@ bb9: ; preds = %bb8 br i1 %15, label %bb.i, label %FontHalfXHeight.exit bb.i: ; preds = %bb9 - call void (i32, i32, i8*, i32, %struct.FILE_POS*, ...)* @Error(i32 1, i32 2, i8* getelementptr ([20 x i8]* @.str24239, i32 0, i32 0), i32 0, %struct.FILE_POS* bitcast (%4* @no_file_pos to %struct.FILE_POS*), i8* getelementptr ([17 x i8]* @.str111875, i32 0, i32 0)) nounwind - %.pre186 = load i32* @currentfont, align 4 ; <i32> [#uses=1] + call void (i32, i32, i8*, i32, %struct.FILE_POS*, ...) @Error(i32 1, i32 2, i8* getelementptr ([20 x i8], [20 x i8]* @.str24239, i32 0, i32 0), i32 0, %struct.FILE_POS* bitcast (%4* @no_file_pos to %struct.FILE_POS*), i8* getelementptr ([17 x i8], [17 x i8]* @.str111875, i32 0, i32 0)) nounwind + %.pre186 = load i32, i32* @currentfont, align 4 ; <i32> [#uses=1] br label %FontHalfXHeight.exit FontHalfXHeight.exit: ; preds = %bb.i, %bb9 @@ -139,55 +139,55 @@ bb1.i: ; preds = %bb.i1, %FontHalfXHeight.exit br i1 undef, label %bb2.i, label %FontSize.exit bb2.i: ; preds = %bb1.i - call void (i32, i32, i8*, i32, %struct.FILE_POS*, ...)* @Error(i32 37, i32 61, i8* getelementptr ([30 x i8]* @.str101874, i32 0, i32 0), i32 1, %struct.FILE_POS* null) nounwind + call void (i32, i32, i8*, i32, %struct.FILE_POS*, ...) @Error(i32 37, i32 61, i8* getelementptr ([30 x i8], [30 x i8]* @.str101874, i32 0, i32 0), i32 1, %struct.FILE_POS* null) nounwind unreachable FontSize.exit: ; preds = %bb1.i - %17 = getelementptr %struct.FONT_INFO* undef, i32 %16, i32 5 ; <%struct.rec**> [#uses=0] - %18 = load i32* undef, align 4 ; <i32> [#uses=1] - %19 = load i32* @currentfont, align 4 ; <i32> [#uses=2] - %20 = load i32* @font_count, align 4 ; <i32> [#uses=1] + %17 = getelementptr %struct.FONT_INFO, %struct.FONT_INFO* undef, i32 %16, i32 5 ; <%struct.rec**> [#uses=0] + %18 = load i32, i32* undef, align 4 ; <i32> [#uses=1] + %19 = load i32, i32* @currentfont, align 4 ; <i32> [#uses=2] + %20 = load i32, i32* @font_count, align 4 ; <i32> [#uses=1] %21 = icmp ult i32 %20, %19 ; <i1> [#uses=1] br i1 %21, label %bb.i5, label %FontName.exit bb.i5: ; preds = %FontSize.exit - call void (i32, i32, i8*, i32, %struct.FILE_POS*, ...)* @Error(i32 1, i32 2, i8* getelementptr ([20 x i8]* @.str24239, i32 0, i32 0), i32 0, %struct.FILE_POS* bitcast (%4* @no_file_pos to %struct.FILE_POS*), i8* getelementptr ([10 x i8]* @.str81872, i32 0, i32 0)) nounwind + call void (i32, i32, i8*, i32, %struct.FILE_POS*, ...) @Error(i32 1, i32 2, i8* getelementptr ([20 x i8], [20 x i8]* @.str24239, i32 0, i32 0), i32 0, %struct.FILE_POS* bitcast (%4* @no_file_pos to %struct.FILE_POS*), i8* getelementptr ([10 x i8], [10 x i8]* @.str81872, i32 0, i32 0)) nounwind br label %FontName.exit FontName.exit: ; preds = %bb.i5, %FontSize.exit %22 = phi %struct.FONT_INFO* [ undef, %bb.i5 ], [ undef, %FontSize.exit ] ; <%struct.FONT_INFO*> [#uses=1] - %23 = getelementptr %struct.FONT_INFO* %22, i32 %19, i32 5 ; <%struct.rec**> [#uses=0] - %24 = call i32 (%struct.FILE*, i8*, ...)* @fprintf(%struct.FILE* undef, i8* getelementptr ([8 x i8]* @.str1822946, i32 0, i32 0), i32 %18, i8* null) nounwind ; <i32> [#uses=0] + %23 = getelementptr %struct.FONT_INFO, %struct.FONT_INFO* %22, i32 %19, i32 5 ; <%struct.rec**> [#uses=0] + %24 = call i32 (%struct.FILE*, i8*, ...) @fprintf(%struct.FILE* undef, i8* getelementptr ([8 x i8], [8 x i8]* @.str1822946, i32 0, i32 0), i32 %18, i8* null) nounwind ; <i32> [#uses=0] br label %bb10 bb10: ; preds = %FontName.exit, %bb8 - %25 = call i32 @"\01_fwrite"(i8* getelementptr ([11 x i8]* @.str1842948, i32 0, i32 0), i32 1, i32 10, i8* undef) nounwind ; <i32> [#uses=0] + %25 = call i32 @"\01_fwrite"(i8* getelementptr ([11 x i8], [11 x i8]* @.str1842948, i32 0, i32 0), i32 1, i32 10, i8* undef) nounwind ; <i32> [#uses=0] %26 = sub i32 %rowmark, undef ; <i32> [#uses=1] - %27 = load %struct.FILE** @out_fp, align 4 ; <%struct.FILE*> [#uses=1] - %28 = call i32 (%struct.FILE*, i8*, ...)* @fprintf(%struct.FILE* %27, i8* getelementptr ([17 x i8]* @.str212784, i32 0, i32 0), i32 undef, i32 %26) nounwind ; <i32> [#uses=0] + %27 = load %struct.FILE*, %struct.FILE** @out_fp, align 4 ; <%struct.FILE*> [#uses=1] + %28 = call i32 (%struct.FILE*, i8*, ...) @fprintf(%struct.FILE* %27, i8* getelementptr ([17 x i8], [17 x i8]* @.str212784, i32 0, i32 0), i32 undef, i32 %26) nounwind ; <i32> [#uses=0] store i32 0, i32* @cpexists, align 4 - %29 = call i32 (%struct.FILE*, i8*, ...)* @fprintf(%struct.FILE* undef, i8* getelementptr ([17 x i8]* @.str192782, i32 0, i32 0), double 2.000000e+01, double 2.000000e+01) nounwind ; <i32> [#uses=0] - %30 = getelementptr %struct.rec* %y.0, i32 0, i32 0, i32 3, i32 0, i32 0, i32 0 ; <i32*> [#uses=1] - %31 = load i32* %30, align 4 ; <i32> [#uses=1] + %29 = call i32 (%struct.FILE*, i8*, ...) @fprintf(%struct.FILE* undef, i8* getelementptr ([17 x i8], [17 x i8]* @.str192782, i32 0, i32 0), double 2.000000e+01, double 2.000000e+01) nounwind ; <i32> [#uses=0] + %30 = getelementptr %struct.rec, %struct.rec* %y.0, i32 0, i32 0, i32 3, i32 0, i32 0, i32 0 ; <i32*> [#uses=1] + %31 = load i32, i32* %30, align 4 ; <i32> [#uses=1] %32 = sub i32 0, %31 ; <i32> [#uses=1] - %33 = load i32* undef, align 4 ; <i32> [#uses=1] + %33 = load i32, i32* undef, align 4 ; <i32> [#uses=1] %34 = sub i32 0, %33 ; <i32> [#uses=1] - %35 = load %struct.FILE** @out_fp, align 4 ; <%struct.FILE*> [#uses=1] - %36 = call i32 (%struct.FILE*, i8*, ...)* @fprintf(%struct.FILE* %35, i8* getelementptr ([17 x i8]* @.str212784, i32 0, i32 0), i32 %32, i32 %34) nounwind ; <i32> [#uses=0] + %35 = load %struct.FILE*, %struct.FILE** @out_fp, align 4 ; <%struct.FILE*> [#uses=1] + %36 = call i32 (%struct.FILE*, i8*, ...) @fprintf(%struct.FILE* %35, i8* getelementptr ([17 x i8], [17 x i8]* @.str212784, i32 0, i32 0), i32 %32, i32 %34) nounwind ; <i32> [#uses=0] store i32 0, i32* @cpexists, align 4 - %37 = load %struct.rec** null, align 4 ; <%struct.rec*> [#uses=1] - %38 = getelementptr %struct.rec* %37, i32 0, i32 0, i32 4 ; <%struct.FOURTH_UNION*> [#uses=1] - %39 = call i32 (%struct.FILE*, i8*, ...)* @fprintf(%struct.FILE* undef, i8* getelementptr ([23 x i8]* @.str1852949, i32 0, i32 0), %struct.FOURTH_UNION* %38) nounwind ; <i32> [#uses=0] - %buff14 = getelementptr [512 x i8]* %buff, i32 0, i32 0 ; <i8*> [#uses=5] + %37 = load %struct.rec*, %struct.rec** null, align 4 ; <%struct.rec*> [#uses=1] + %38 = getelementptr %struct.rec, %struct.rec* %37, i32 0, i32 0, i32 4 ; <%struct.FOURTH_UNION*> [#uses=1] + %39 = call i32 (%struct.FILE*, i8*, ...) @fprintf(%struct.FILE* undef, i8* getelementptr ([23 x i8], [23 x i8]* @.str1852949, i32 0, i32 0), %struct.FOURTH_UNION* %38) nounwind ; <i32> [#uses=0] + %buff14 = getelementptr [512 x i8], [512 x i8]* %buff, i32 0, i32 0 ; <i8*> [#uses=5] %40 = call i8* @fgets(i8* %buff14, i32 512, %struct.FILE* %12) nounwind ; <i8*> [#uses=0] %iftmp.506.0 = select i1 undef, i32 2, i32 0 ; <i32> [#uses=1] - %41 = getelementptr [512 x i8]* %buff, i32 0, i32 26 ; <i8*> [#uses=1] + %41 = getelementptr [512 x i8], [512 x i8]* %buff, i32 0, i32 26 ; <i8*> [#uses=1] br label %bb100.outer.outer bb100.outer.outer: ; preds = %bb83, %bb10 %state.0.ph.ph = phi i32 [ %iftmp.506.0, %bb10 ], [ undef, %bb83 ] ; <i32> [#uses=1] %x_addr.0.ph.ph = phi %struct.rec* [ %x, %bb10 ], [ %71, %bb83 ] ; <%struct.rec*> [#uses=1] - %42 = getelementptr %struct.rec* %x_addr.0.ph.ph, i32 0, i32 0, i32 1, i32 0 ; <%struct.FILE_POS*> [#uses=0] + %42 = getelementptr %struct.rec, %struct.rec* %x_addr.0.ph.ph, i32 0, i32 0, i32 1, i32 0 ; <%struct.FILE_POS*> [#uses=0] br label %bb100.outer bb.i80: ; preds = %bb3.i85 @@ -197,19 +197,19 @@ bb.i80: ; preds = %bb3.i85 bb2.i84: ; preds = %bb100.outer, %bb.i80 %indvar.i81 = phi i32 [ %indvar.next.i79, %bb.i80 ], [ 0, %bb100.outer ] ; <i32> [#uses=3] - %pp.0.i82 = getelementptr [27 x i8]* @.str141878, i32 0, i32 %indvar.i81 ; <i8*> [#uses=2] - %sp.0.i83 = getelementptr [512 x i8]* %buff, i32 0, i32 %indvar.i81 ; <i8*> [#uses=1] - %44 = load i8* %sp.0.i83, align 1 ; <i8> [#uses=2] + %pp.0.i82 = getelementptr [27 x i8], [27 x i8]* @.str141878, i32 0, i32 %indvar.i81 ; <i8*> [#uses=2] + %sp.0.i83 = getelementptr [512 x i8], [512 x i8]* %buff, i32 0, i32 %indvar.i81 ; <i8*> [#uses=1] + %44 = load i8, i8* %sp.0.i83, align 1 ; <i8> [#uses=2] %45 = icmp eq i8 %44, 0 ; <i1> [#uses=1] br i1 %45, label %StringBeginsWith.exit88thread-split, label %bb3.i85 bb3.i85: ; preds = %bb2.i84 - %46 = load i8* %pp.0.i82, align 1 ; <i8> [#uses=3] + %46 = load i8, i8* %pp.0.i82, align 1 ; <i8> [#uses=3] %47 = icmp eq i8 %46, 0 ; <i1> [#uses=1] br i1 %47, label %StringBeginsWith.exit88, label %bb.i80 StringBeginsWith.exit88thread-split: ; preds = %bb2.i84 - %.pr = load i8* %pp.0.i82 ; <i8> [#uses=1] + %.pr = load i8, i8* %pp.0.i82 ; <i8> [#uses=1] br label %StringBeginsWith.exit88 StringBeginsWith.exit88: ; preds = %StringBeginsWith.exit88thread-split, %bb3.i85 @@ -224,17 +224,17 @@ bb2.i75: ; preds = %bb2.i.i68 br label %bb3.i77 bb3.i77: ; preds = %bb2.i75, %StringBeginsWith.exit88 - %sp.0.i76 = getelementptr [512 x i8]* %buff, i32 0, i32 undef ; <i8*> [#uses=1] - %49 = load i8* %sp.0.i76, align 1 ; <i8> [#uses=1] + %sp.0.i76 = getelementptr [512 x i8], [512 x i8]* %buff, i32 0, i32 undef ; <i8*> [#uses=1] + %49 = load i8, i8* %sp.0.i76, align 1 ; <i8> [#uses=1] %50 = icmp eq i8 %49, 0 ; <i1> [#uses=1] br i1 %50, label %bb24, label %bb2.i.i68 bb24: ; preds = %bb3.i77 %51 = call %struct.rec* @MakeWord(i32 11, i8* %41, %struct.FILE_POS* bitcast (%4* @no_file_pos to %struct.FILE_POS*)) nounwind ; <%struct.rec*> [#uses=0] - %52 = load i8* getelementptr ([150 x i8]* @zz_lengths, i32 0, i32 0), align 4 ; <i8> [#uses=1] + %52 = load i8, i8* getelementptr ([150 x i8], [150 x i8]* @zz_lengths, i32 0, i32 0), align 4 ; <i8> [#uses=1] %53 = zext i8 %52 to i32 ; <i32> [#uses=2] - %54 = getelementptr [524 x %struct.rec*]* @zz_free, i32 0, i32 %53 ; <%struct.rec**> [#uses=2] - %55 = load %struct.rec** %54, align 4 ; <%struct.rec*> [#uses=3] + %54 = getelementptr [524 x %struct.rec*], [524 x %struct.rec*]* @zz_free, i32 0, i32 %53 ; <%struct.rec**> [#uses=2] + %55 = load %struct.rec*, %struct.rec** %54, align 4 ; <%struct.rec*> [#uses=3] %56 = icmp eq %struct.rec* %55, null ; <i1> [#uses=1] br i1 %56, label %bb27, label %bb28 @@ -245,7 +245,7 @@ bb.i56: ; preds = %bb27 br i1 undef, label %bb1.i58, label %bb2.i60 bb1.i58: ; preds = %bb.i56 - call void (i32, i32, i8*, i32, %struct.FILE_POS*, ...)* @Error(i32 31, i32 1, i8* getelementptr ([32 x i8]* @.str1575, i32 0, i32 0), i32 1, %struct.FILE_POS* bitcast (%4* @no_file_pos to %struct.FILE_POS*)) nounwind + call void (i32, i32, i8*, i32, %struct.FILE_POS*, ...) @Error(i32 31, i32 1, i8* getelementptr ([32 x i8], [32 x i8]* @.str1575, i32 0, i32 0), i32 1, %struct.FILE_POS* bitcast (%4* @no_file_pos to %struct.FILE_POS*)) nounwind br label %bb2.i60 bb2.i60: ; preds = %bb1.i58, %bb.i56 @@ -255,14 +255,14 @@ bb2.i60: ; preds = %bb1.i58, %bb.i56 GetMemory.exit62: ; preds = %bb2.i60, %bb27 %57 = phi i8** [ %.pre1.i59, %bb2.i60 ], [ undef, %bb27 ] ; <i8**> [#uses=1] - %58 = getelementptr i8** %57, i32 %53 ; <i8**> [#uses=1] + %58 = getelementptr i8*, i8** %57, i32 %53 ; <i8**> [#uses=1] store i8** %58, i8*** @next_free.4772, align 4 store %struct.rec* undef, %struct.rec** @zz_hold, align 4 br label %bb29 bb28: ; preds = %bb24 store %struct.rec* %55, %struct.rec** @zz_hold, align 4 - %59 = load %struct.rec** null, align 4 ; <%struct.rec*> [#uses=1] + %59 = load %struct.rec*, %struct.rec** null, align 4 ; <%struct.rec*> [#uses=1] store %struct.rec* %59, %struct.rec** %54, align 4 br label %bb29 @@ -280,7 +280,7 @@ bb35: ; preds = %bb31, %bb29 br i1 undef, label %bb41, label %bb37 bb37: ; preds = %bb35 - %60 = load %struct.rec** null, align 4 ; <%struct.rec*> [#uses=1] + %60 = load %struct.rec*, %struct.rec** null, align 4 ; <%struct.rec*> [#uses=1] store %struct.rec* %60, %struct.rec** undef store %struct.rec* undef, %struct.rec** null store %struct.rec* %.pre184, %struct.rec** null, align 4 @@ -297,12 +297,12 @@ bb.i47: ; preds = %bb3.i52 br i1 %63, label %bb2.i51, label %bb2.i41 bb2.i51: ; preds = %bb.i47, %bb2.i.i68, %StringBeginsWith.exit88, %bb.i80 - %pp.0.i49 = getelementptr [17 x i8]* @.str1872951, i32 0, i32 0 ; <i8*> [#uses=1] - %64 = load i8* null, align 1 ; <i8> [#uses=1] + %pp.0.i49 = getelementptr [17 x i8], [17 x i8]* @.str1872951, i32 0, i32 0 ; <i8*> [#uses=1] + %64 = load i8, i8* null, align 1 ; <i8> [#uses=1] br i1 false, label %StringBeginsWith.exit55thread-split, label %bb3.i52 bb3.i52: ; preds = %bb2.i51 - %65 = load i8* %pp.0.i49, align 1 ; <i8> [#uses=1] + %65 = load i8, i8* %pp.0.i49, align 1 ; <i8> [#uses=1] br i1 false, label %StringBeginsWith.exit55, label %bb.i47 StringBeginsWith.exit55thread-split: ; preds = %bb2.i51 @@ -318,11 +318,11 @@ bb2.i41: ; preds = %bb2.i41, %bb49, %StringBeginsWith.exit55, %bb.i47 br i1 false, label %bb2.i41, label %bb2.i.i15 bb2.i.i15: ; preds = %bb2.i41 - %pp.0.i.i13 = getelementptr [6 x i8]* @.str742838, i32 0, i32 0 ; <i8*> [#uses=1] + %pp.0.i.i13 = getelementptr [6 x i8], [6 x i8]* @.str742838, i32 0, i32 0 ; <i8*> [#uses=1] br i1 false, label %StringBeginsWith.exitthread-split.i18, label %bb3.i.i16 bb3.i.i16: ; preds = %bb2.i.i15 - %66 = load i8* %pp.0.i.i13, align 1 ; <i8> [#uses=1] + %66 = load i8, i8* %pp.0.i.i13, align 1 ; <i8> [#uses=1] br label %StringBeginsWith.exit.i20 StringBeginsWith.exitthread-split.i18: ; preds = %bb2.i.i15 @@ -335,9 +335,9 @@ StringBeginsWith.exit.i20: ; preds = %StringBeginsWith.exitthread-split.i18, %b bb2.i6.i26: ; preds = %bb2.i6.i26, %StringBeginsWith.exit.i20 %indvar.i3.i23 = phi i32 [ %indvar.next.i1.i21, %bb2.i6.i26 ], [ 0, %StringBeginsWith.exit.i20 ] ; <i32> [#uses=3] - %sp.0.i5.i25 = getelementptr [512 x i8]* %buff, i32 0, i32 %indvar.i3.i23 ; <i8*> [#uses=0] - %pp.0.i4.i24 = getelementptr [10 x i8]* @.str752839, i32 0, i32 %indvar.i3.i23 ; <i8*> [#uses=1] - %68 = load i8* %pp.0.i4.i24, align 1 ; <i8> [#uses=0] + %sp.0.i5.i25 = getelementptr [512 x i8], [512 x i8]* %buff, i32 0, i32 %indvar.i3.i23 ; <i8*> [#uses=0] + %pp.0.i4.i24 = getelementptr [10 x i8], [10 x i8]* @.str752839, i32 0, i32 %indvar.i3.i23 ; <i8*> [#uses=1] + %68 = load i8, i8* %pp.0.i4.i24, align 1 ; <i8> [#uses=0] %indvar.next.i1.i21 = add i32 %indvar.i3.i23, 1 ; <i32> [#uses=1] br i1 undef, label %bb2.i6.i26, label %bb55 @@ -368,10 +368,10 @@ StringBeginsWith.exit: ; preds = %StringBeginsWith.exitthread-split, %bb3.i bb66: ; preds = %StringBeginsWith.exit %71 = call %struct.rec* @MakeWord(i32 11, i8* undef, %struct.FILE_POS* bitcast (%4* @no_file_pos to %struct.FILE_POS*)) nounwind ; <%struct.rec*> [#uses=4] - %72 = load i8* getelementptr ([150 x i8]* @zz_lengths, i32 0, i32 0), align 4 ; <i8> [#uses=1] + %72 = load i8, i8* getelementptr ([150 x i8], [150 x i8]* @zz_lengths, i32 0, i32 0), align 4 ; <i8> [#uses=1] %73 = zext i8 %72 to i32 ; <i32> [#uses=2] - %74 = getelementptr [524 x %struct.rec*]* @zz_free, i32 0, i32 %73 ; <%struct.rec**> [#uses=2] - %75 = load %struct.rec** %74, align 4 ; <%struct.rec*> [#uses=3] + %74 = getelementptr [524 x %struct.rec*], [524 x %struct.rec*]* @zz_free, i32 0, i32 %73 ; <%struct.rec**> [#uses=2] + %75 = load %struct.rec*, %struct.rec** %74, align 4 ; <%struct.rec*> [#uses=3] %76 = icmp eq %struct.rec* %75, null ; <i1> [#uses=1] br i1 %76, label %bb69, label %bb70 @@ -385,43 +385,43 @@ bb.i2: ; preds = %bb69 br i1 undef, label %bb1.i3, label %bb2.i4 bb1.i3: ; preds = %bb.i2 - call void (i32, i32, i8*, i32, %struct.FILE_POS*, ...)* @Error(i32 31, i32 1, i8* getelementptr ([32 x i8]* @.str1575, i32 0, i32 0), i32 1, %struct.FILE_POS* bitcast (%4* @no_file_pos to %struct.FILE_POS*)) nounwind + call void (i32, i32, i8*, i32, %struct.FILE_POS*, ...) @Error(i32 31, i32 1, i8* getelementptr ([32 x i8], [32 x i8]* @.str1575, i32 0, i32 0), i32 1, %struct.FILE_POS* bitcast (%4* @no_file_pos to %struct.FILE_POS*)) nounwind br label %bb2.i4 bb2.i4: ; preds = %bb1.i3, %bb.i2 %.pre1.i = phi i8** [ undef, %bb1.i3 ], [ %78, %bb.i2 ] ; <i8**> [#uses=1] %79 = phi i8** [ undef, %bb1.i3 ], [ %78, %bb.i2 ] ; <i8**> [#uses=1] - %80 = getelementptr i8** %79, i32 1020 ; <i8**> [#uses=1] + %80 = getelementptr i8*, i8** %79, i32 1020 ; <i8**> [#uses=1] store i8** %80, i8*** @top_free.4773, align 4 br label %GetMemory.exit GetMemory.exit: ; preds = %bb2.i4, %bb69 %81 = phi i8** [ %.pre1.i, %bb2.i4 ], [ undef, %bb69 ] ; <i8**> [#uses=2] %82 = bitcast i8** %81 to %struct.rec* ; <%struct.rec*> [#uses=3] - %83 = getelementptr i8** %81, i32 %73 ; <i8**> [#uses=1] + %83 = getelementptr i8*, i8** %81, i32 %73 ; <i8**> [#uses=1] store i8** %83, i8*** @next_free.4772, align 4 store %struct.rec* %82, %struct.rec** @zz_hold, align 4 br label %bb71 bb70: ; preds = %bb66 - %84 = load %struct.rec** null, align 4 ; <%struct.rec*> [#uses=1] + %84 = load %struct.rec*, %struct.rec** null, align 4 ; <%struct.rec*> [#uses=1] store %struct.rec* %84, %struct.rec** %74, align 4 br label %bb71 bb71: ; preds = %bb70, %GetMemory.exit %.pre185 = phi %struct.rec* [ %75, %bb70 ], [ %82, %GetMemory.exit ] ; <%struct.rec*> [#uses=8] %85 = phi %struct.rec* [ %75, %bb70 ], [ %82, %GetMemory.exit ] ; <%struct.rec*> [#uses=1] - %86 = getelementptr %struct.rec* %85, i32 0, i32 0, i32 1, i32 0, i32 0 ; <i8*> [#uses=0] - %87 = getelementptr %struct.rec* %.pre185, i32 0, i32 0, i32 0, i32 1, i32 1 ; <%struct.rec**> [#uses=0] - %88 = getelementptr %struct.rec* %.pre185, i32 0, i32 0, i32 0, i32 1, i32 0 ; <%struct.rec**> [#uses=1] + %86 = getelementptr %struct.rec, %struct.rec* %85, i32 0, i32 0, i32 1, i32 0, i32 0 ; <i8*> [#uses=0] + %87 = getelementptr %struct.rec, %struct.rec* %.pre185, i32 0, i32 0, i32 0, i32 1, i32 1 ; <%struct.rec**> [#uses=0] + %88 = getelementptr %struct.rec, %struct.rec* %.pre185, i32 0, i32 0, i32 0, i32 1, i32 0 ; <%struct.rec**> [#uses=1] store %struct.rec* %.pre185, %struct.rec** @xx_link, align 4 store %struct.rec* %.pre185, %struct.rec** @zz_res, align 4 - %89 = load %struct.rec** @needs, align 4 ; <%struct.rec*> [#uses=2] + %89 = load %struct.rec*, %struct.rec** @needs, align 4 ; <%struct.rec*> [#uses=2] store %struct.rec* %89, %struct.rec** @zz_hold, align 4 br i1 false, label %bb77, label %bb73 bb73: ; preds = %bb71 - %90 = getelementptr %struct.rec* %89, i32 0, i32 0, i32 0, i32 0, i32 0 ; <%struct.rec**> [#uses=1] + %90 = getelementptr %struct.rec, %struct.rec* %89, i32 0, i32 0, i32 0, i32 0, i32 0 ; <%struct.rec**> [#uses=1] store %struct.rec* null, %struct.rec** @zz_tmp, align 4 store %struct.rec* %.pre185, %struct.rec** %90 store %struct.rec* %.pre185, %struct.rec** undef, align 4 @@ -433,11 +433,11 @@ bb77: ; preds = %bb73, %bb71 br i1 undef, label %bb83, label %bb79 bb79: ; preds = %bb77 - %91 = getelementptr %struct.rec* %71, i32 0, i32 0, i32 0, i32 1, i32 0 ; <%struct.rec**> [#uses=1] + %91 = getelementptr %struct.rec, %struct.rec* %71, i32 0, i32 0, i32 0, i32 1, i32 0 ; <%struct.rec**> [#uses=1] store %struct.rec* null, %struct.rec** @zz_tmp, align 4 - %92 = load %struct.rec** %88, align 4 ; <%struct.rec*> [#uses=1] + %92 = load %struct.rec*, %struct.rec** %88, align 4 ; <%struct.rec*> [#uses=1] store %struct.rec* %92, %struct.rec** %91 - %93 = getelementptr %struct.rec* undef, i32 0, i32 0, i32 0, i32 1, i32 1 ; <%struct.rec**> [#uses=1] + %93 = getelementptr %struct.rec, %struct.rec* undef, i32 0, i32 0, i32 0, i32 1, i32 1 ; <%struct.rec**> [#uses=1] store %struct.rec* %71, %struct.rec** %93, align 4 store %struct.rec* %.pre185, %struct.rec** undef, align 4 br label %bb83 @@ -467,11 +467,11 @@ bb2.i6.i: ; preds = %bb.i2.i, %StringBeginsWith.exit.i, %bb.i.i br i1 undef, label %strip_out.exitthread-split, label %bb3.i7.i bb3.i7.i: ; preds = %bb2.i6.i - %94 = load i8* undef, align 1 ; <i8> [#uses=1] + %94 = load i8, i8* undef, align 1 ; <i8> [#uses=1] br i1 undef, label %strip_out.exit, label %bb.i2.i strip_out.exitthread-split: ; preds = %bb2.i6.i - %.pr100 = load i8* undef ; <i8> [#uses=1] + %.pr100 = load i8, i8* undef ; <i8> [#uses=1] br label %strip_out.exit strip_out.exit: ; preds = %strip_out.exitthread-split, %bb3.i7.i @@ -497,12 +497,12 @@ bb101.split: ; preds = %bb100.outer br i1 %97, label %bb103, label %bb102 bb102: ; preds = %bb101.split - %98 = call i32 @remove(i8* getelementptr ([9 x i8]* @.str19294, i32 0, i32 0)) nounwind ; <i32> [#uses=0] + %98 = call i32 @remove(i8* getelementptr ([9 x i8], [9 x i8]* @.str19294, i32 0, i32 0)) nounwind ; <i32> [#uses=0] unreachable bb103: ; preds = %bb101.split - %99 = load %struct.FILE** @out_fp, align 4 ; <%struct.FILE*> [#uses=1] - %100 = call i32 (%struct.FILE*, i8*, ...)* @fprintf(%struct.FILE* %99, i8* getelementptr ([26 x i8]* @.str1932957, i32 0, i32 0)) nounwind ; <i32> [#uses=0] + %99 = load %struct.FILE*, %struct.FILE** @out_fp, align 4 ; <%struct.FILE*> [#uses=1] + %100 = call i32 (%struct.FILE*, i8*, ...) @fprintf(%struct.FILE* %99, i8* getelementptr ([26 x i8], [26 x i8]* @.str1932957, i32 0, i32 0)) nounwind ; <i32> [#uses=0] store i32 0, i32* @wordcount, align 4 ret void } diff --git a/test/CodeGen/Thumb2/2009-08-04-SubregLoweringBug3.ll b/test/CodeGen/Thumb2/2009-08-04-SubregLoweringBug3.ll index ad32dc9d0a07..66ed876f98e3 100644 --- a/test/CodeGen/Thumb2/2009-08-04-SubregLoweringBug3.ll +++ b/test/CodeGen/Thumb2/2009-08-04-SubregLoweringBug3.ll @@ -17,7 +17,7 @@ bb5: ; preds = %bb5, %bb3.preheader br i1 undef, label %bb11, label %bb5 bb11: ; preds = %bb5 - %0 = load i32* undef, align 4 ; <i32> [#uses=1] + %0 = load i32, i32* undef, align 4 ; <i32> [#uses=1] %1 = xor i32 %0, 123459876 ; <i32> [#uses=1] %2 = sdiv i32 %1, 127773 ; <i32> [#uses=1] %3 = mul i32 %2, 2836 ; <i32> [#uses=1] diff --git a/test/CodeGen/Thumb2/2009-08-06-SpDecBug.ll b/test/CodeGen/Thumb2/2009-08-06-SpDecBug.ll index 59c236732118..a451321838e7 100644 --- a/test/CodeGen/Thumb2/2009-08-06-SpDecBug.ll +++ b/test/CodeGen/Thumb2/2009-08-06-SpDecBug.ll @@ -7,8 +7,8 @@ entry: ; CHECK-LABEL: __gcov_execlp: ; CHECK: sub sp, #8 ; CHECK: push -; CHECK: add r7, sp, #4 -; CHECK: sub.w r4, r7, #4 +; CHECK: add r7, sp, #8 +; CHECK: sub.w r4, r7, #8 ; CHECK: mov sp, r4 ; CHECK-NOT: mov sp, r7 ; CHECK: add sp, #8 diff --git a/test/CodeGen/Thumb2/2009-08-07-NeonFPBug.ll b/test/CodeGen/Thumb2/2009-08-07-NeonFPBug.ll index f3baeb74e2cb..5480868d7a66 100644 --- a/test/CodeGen/Thumb2/2009-08-07-NeonFPBug.ll +++ b/test/CodeGen/Thumb2/2009-08-07-NeonFPBug.ll @@ -33,12 +33,12 @@ entry: br label %bb bb: ; preds = %bb, %entry - %0 = load float* undef, align 4 ; <float> [#uses=1] + %0 = load float, float* undef, align 4 ; <float> [#uses=1] %1 = fmul float undef, %0 ; <float> [#uses=2] %tmp73 = add i32 0, 224 ; <i32> [#uses=1] - %scevgep74 = getelementptr i8* null, i32 %tmp73 ; <i8*> [#uses=1] + %scevgep74 = getelementptr i8, i8* null, i32 %tmp73 ; <i8*> [#uses=1] %scevgep7475 = bitcast i8* %scevgep74 to float* ; <float*> [#uses=1] - %2 = load float* null, align 4 ; <float> [#uses=1] + %2 = load float, float* null, align 4 ; <float> [#uses=1] %3 = fmul float 0.000000e+00, %2 ; <float> [#uses=2] %4 = fadd float %1, %3 ; <float> [#uses=1] %5 = fsub float %1, %3 ; <float> [#uses=2] @@ -51,7 +51,7 @@ bb: ; preds = %bb, %entry %12 = sitofp i16 undef to float ; <float> [#uses=1] %13 = fmul float %12, 0.000000e+00 ; <float> [#uses=2] %14 = sitofp i16 undef to float ; <float> [#uses=1] - %15 = load float* %scevgep7475, align 4 ; <float> [#uses=1] + %15 = load float, float* %scevgep7475, align 4 ; <float> [#uses=1] %16 = fmul float %14, %15 ; <float> [#uses=2] %17 = fadd float undef, undef ; <float> [#uses=2] %18 = fadd float %13, %16 ; <float> [#uses=2] diff --git a/test/CodeGen/Thumb2/2009-08-10-ISelBug.ll b/test/CodeGen/Thumb2/2009-08-10-ISelBug.ll index 974ce50d6d44..2bbed1beae15 100644 --- a/test/CodeGen/Thumb2/2009-08-10-ISelBug.ll +++ b/test/CodeGen/Thumb2/2009-08-10-ISelBug.ll @@ -3,11 +3,11 @@ define float @t1(i32 %v0) nounwind { entry: store i32 undef, i32* undef, align 4 - %0 = load [4 x i8]** undef, align 4 ; <[4 x i8]*> [#uses=1] - %1 = load i8* undef, align 1 ; <i8> [#uses=1] + %0 = load [4 x i8]*, [4 x i8]** undef, align 4 ; <[4 x i8]*> [#uses=1] + %1 = load i8, i8* undef, align 1 ; <i8> [#uses=1] %2 = zext i8 %1 to i32 ; <i32> [#uses=1] - %3 = getelementptr [4 x i8]* %0, i32 %v0, i32 0 ; <i8*> [#uses=1] - %4 = load i8* %3, align 1 ; <i8> [#uses=1] + %3 = getelementptr [4 x i8], [4 x i8]* %0, i32 %v0, i32 0 ; <i8*> [#uses=1] + %4 = load i8, i8* %3, align 1 ; <i8> [#uses=1] %5 = zext i8 %4 to i32 ; <i32> [#uses=1] %6 = sub i32 %5, %2 ; <i32> [#uses=1] %7 = sitofp i32 %6 to float ; <float> [#uses=1] diff --git a/test/CodeGen/Thumb2/2009-08-21-PostRAKill4.ll b/test/CodeGen/Thumb2/2009-08-21-PostRAKill4.ll index 5cfc68d09408..04dcb9d03ad5 100644 --- a/test/CodeGen/Thumb2/2009-08-21-PostRAKill4.ll +++ b/test/CodeGen/Thumb2/2009-08-21-PostRAKill4.ll @@ -18,9 +18,9 @@ declare i32 @printf(i8* nocapture, ...) nounwind define i32 @main() nounwind { entry: - %0 = tail call i32 (i8*, ...)* @printf(i8* getelementptr ([31 x i8]* @.str1, i32 0, i32 0), i32 1, i32 1, i32 1, i32 1, i32 1, i32 1) nounwind ; <i32> [#uses=0] - %1 = tail call i32 (i8*, ...)* @printf(i8* getelementptr ([31 x i8]* @.str1, i32 0, i32 0), i32 -128, i32 116, i32 116, i32 -3852, i32 -31232, i32 -1708916736) nounwind ; <i32> [#uses=0] - %2 = tail call i32 (i32, ...)* @getUnknown(i32 undef, i32 116, i32 116, i32 -3852, i32 -31232, i32 30556, i32 -1708916736) nounwind ; <i32> [#uses=1] - %3 = tail call i32 (i8*, ...)* @printf(i8* getelementptr ([4 x i8]* @.str2, i32 0, i32 0), i32 %2) nounwind ; <i32> [#uses=0] + %0 = tail call i32 (i8*, ...) @printf(i8* getelementptr ([31 x i8], [31 x i8]* @.str1, i32 0, i32 0), i32 1, i32 1, i32 1, i32 1, i32 1, i32 1) nounwind ; <i32> [#uses=0] + %1 = tail call i32 (i8*, ...) @printf(i8* getelementptr ([31 x i8], [31 x i8]* @.str1, i32 0, i32 0), i32 -128, i32 116, i32 116, i32 -3852, i32 -31232, i32 -1708916736) nounwind ; <i32> [#uses=0] + %2 = tail call i32 (i32, ...) @getUnknown(i32 undef, i32 116, i32 116, i32 -3852, i32 -31232, i32 30556, i32 -1708916736) nounwind ; <i32> [#uses=1] + %3 = tail call i32 (i8*, ...) @printf(i8* getelementptr ([4 x i8], [4 x i8]* @.str2, i32 0, i32 0), i32 %2) nounwind ; <i32> [#uses=0] ret i32 0 } diff --git a/test/CodeGen/Thumb2/2009-09-01-PostRAProlog.ll b/test/CodeGen/Thumb2/2009-09-01-PostRAProlog.ll index 06a152d56e4d..84f69f4b6e0b 100644 --- a/test/CodeGen/Thumb2/2009-09-01-PostRAProlog.ll +++ b/test/CodeGen/Thumb2/2009-09-01-PostRAProlog.ll @@ -37,25 +37,25 @@ declare i32 @getchar() nounwind define internal i32 @transpose() nounwind readonly { ; CHECK: push entry: - %0 = load i32* getelementptr inbounds ([128 x i32]* @columns, i32 0, i32 1), align 4 ; <i32> [#uses=1] + %0 = load i32, i32* getelementptr inbounds ([128 x i32], [128 x i32]* @columns, i32 0, i32 1), align 4 ; <i32> [#uses=1] %1 = shl i32 %0, 7 ; <i32> [#uses=1] - %2 = load i32* getelementptr inbounds ([128 x i32]* @columns, i32 0, i32 2), align 4 ; <i32> [#uses=1] + %2 = load i32, i32* getelementptr inbounds ([128 x i32], [128 x i32]* @columns, i32 0, i32 2), align 4 ; <i32> [#uses=1] %3 = or i32 %1, %2 ; <i32> [#uses=1] %4 = shl i32 %3, 7 ; <i32> [#uses=1] - %5 = load i32* getelementptr inbounds ([128 x i32]* @columns, i32 0, i32 3), align 4 ; <i32> [#uses=1] + %5 = load i32, i32* getelementptr inbounds ([128 x i32], [128 x i32]* @columns, i32 0, i32 3), align 4 ; <i32> [#uses=1] %6 = or i32 %4, %5 ; <i32> [#uses=3] - %7 = load i32* getelementptr inbounds ([128 x i32]* @columns, i32 0, i32 7), align 4 ; <i32> [#uses=1] + %7 = load i32, i32* getelementptr inbounds ([128 x i32], [128 x i32]* @columns, i32 0, i32 7), align 4 ; <i32> [#uses=1] %8 = shl i32 %7, 7 ; <i32> [#uses=1] - %9 = load i32* getelementptr inbounds ([128 x i32]* @columns, i32 0, i32 6), align 4 ; <i32> [#uses=1] + %9 = load i32, i32* getelementptr inbounds ([128 x i32], [128 x i32]* @columns, i32 0, i32 6), align 4 ; <i32> [#uses=1] %10 = or i32 %8, %9 ; <i32> [#uses=1] %11 = shl i32 %10, 7 ; <i32> [#uses=1] - %12 = load i32* getelementptr inbounds ([128 x i32]* @columns, i32 0, i32 5), align 4 ; <i32> [#uses=1] + %12 = load i32, i32* getelementptr inbounds ([128 x i32], [128 x i32]* @columns, i32 0, i32 5), align 4 ; <i32> [#uses=1] %13 = or i32 %11, %12 ; <i32> [#uses=3] %14 = icmp ugt i32 %6, %13 ; <i1> [#uses=2] %.pn2.in.i = select i1 %14, i32 %6, i32 %13 ; <i32> [#uses=1] %.pn1.in.i = select i1 %14, i32 %13, i32 %6 ; <i32> [#uses=1] %.pn2.i = shl i32 %.pn2.in.i, 7 ; <i32> [#uses=1] - %.pn3.i = load i32* getelementptr inbounds ([128 x i32]* @columns, i32 0, i32 4) ; <i32> [#uses=1] + %.pn3.i = load i32, i32* getelementptr inbounds ([128 x i32], [128 x i32]* @columns, i32 0, i32 4) ; <i32> [#uses=1] %.pn.in.in.i = or i32 %.pn2.i, %.pn3.i ; <i32> [#uses=1] %.pn.in.i = zext i32 %.pn.in.in.i to i64 ; <i64> [#uses=1] %.pn.i = shl i64 %.pn.in.i, 21 ; <i64> [#uses=1] @@ -67,19 +67,19 @@ entry: %18 = trunc i64 %17 to i32 ; <i32> [#uses=1] %19 = urem i32 %16, 179 ; <i32> [#uses=1] %20 = or i32 %19, 131072 ; <i32> [#uses=1] - %21 = load i32** @ht, align 4 ; <i32*> [#uses=1] + %21 = load i32*, i32** @ht, align 4 ; <i32*> [#uses=1] br label %bb5 bb: ; preds = %bb5 - %22 = getelementptr inbounds i32* %21, i32 %x.0 ; <i32*> [#uses=1] - %23 = load i32* %22, align 4 ; <i32> [#uses=1] + %22 = getelementptr inbounds i32, i32* %21, i32 %x.0 ; <i32*> [#uses=1] + %23 = load i32, i32* %22, align 4 ; <i32> [#uses=1] %24 = icmp eq i32 %23, %16 ; <i1> [#uses=1] br i1 %24, label %bb1, label %bb2 bb1: ; preds = %bb - %25 = load i8** @he, align 4 ; <i8*> [#uses=1] - %26 = getelementptr inbounds i8* %25, i32 %x.0 ; <i8*> [#uses=1] - %27 = load i8* %26, align 1 ; <i8> [#uses=1] + %25 = load i8*, i8** @he, align 4 ; <i8*> [#uses=1] + %26 = getelementptr inbounds i8, i8* %25, i32 %x.0 ; <i8*> [#uses=1] + %27 = load i8, i8* %26, align 1 ; <i8> [#uses=1] %28 = sext i8 %27 to i32 ; <i32> [#uses=1] ret i32 %28 diff --git a/test/CodeGen/Thumb2/2009-09-28-ITBlockBug.ll b/test/CodeGen/Thumb2/2009-09-28-ITBlockBug.ll index a9a2478e4034..8fdff02f9c1b 100644 --- a/test/CodeGen/Thumb2/2009-09-28-ITBlockBug.ll +++ b/test/CodeGen/Thumb2/2009-09-28-ITBlockBug.ll @@ -25,8 +25,8 @@ if.then366: ; preds = %lor.end, %lor.end unreachable if.end371: ; preds = %lor.end - %arrayidx56.2.i = getelementptr [4 x %struct.pix_pos]* %pix_a.i294, i32 0, i32 2 ; <%struct.pix_pos*> [#uses=1] - %arrayidx56.3.i = getelementptr [4 x %struct.pix_pos]* %pix_a.i294, i32 0, i32 3 ; <%struct.pix_pos*> [#uses=1] + %arrayidx56.2.i = getelementptr [4 x %struct.pix_pos], [4 x %struct.pix_pos]* %pix_a.i294, i32 0, i32 2 ; <%struct.pix_pos*> [#uses=1] + %arrayidx56.3.i = getelementptr [4 x %struct.pix_pos], [4 x %struct.pix_pos]* %pix_a.i294, i32 0, i32 3 ; <%struct.pix_pos*> [#uses=1] br i1 undef, label %for.body1857, label %for.end4557 for.body1857: ; preds = %if.end371 @@ -44,13 +44,13 @@ for.body1940: ; preds = %for.cond1933 br i1 undef, label %if.then1992, label %if.else2003 if.then1992: ; preds = %for.body1940 - %tmp14.i302 = load i32* undef ; <i32> [#uses=4] + %tmp14.i302 = load i32, i32* undef ; <i32> [#uses=4] %add.i307452 = or i32 %shl1959, 1 ; <i32> [#uses=1] %sub.i308 = add i32 %shl, -1 ; <i32> [#uses=4] call void undef(i32 %tmp14.i302, i32 %sub.i308, i32 %shl1959, i32 0, %struct.pix_pos* undef) nounwind - %tmp49.i309 = load void (i32, i32, i32, i32, %struct.pix_pos*)** @getNeighbour ; <void (i32, i32, i32, i32, %struct.pix_pos*)*> [#uses=1] + %tmp49.i309 = load void (i32, i32, i32, i32, %struct.pix_pos*)*, void (i32, i32, i32, i32, %struct.pix_pos*)** @getNeighbour ; <void (i32, i32, i32, i32, %struct.pix_pos*)*> [#uses=1] call void %tmp49.i309(i32 %tmp14.i302, i32 %sub.i308, i32 %add.i307452, i32 0, %struct.pix_pos* null) nounwind - %tmp49.1.i = load void (i32, i32, i32, i32, %struct.pix_pos*)** @getNeighbour ; <void (i32, i32, i32, i32, %struct.pix_pos*)*> [#uses=1] + %tmp49.1.i = load void (i32, i32, i32, i32, %struct.pix_pos*)*, void (i32, i32, i32, i32, %struct.pix_pos*)** @getNeighbour ; <void (i32, i32, i32, i32, %struct.pix_pos*)*> [#uses=1] call void %tmp49.1.i(i32 %tmp14.i302, i32 %sub.i308, i32 undef, i32 0, %struct.pix_pos* %arrayidx56.2.i) nounwind call void undef(i32 %tmp14.i302, i32 %sub.i308, i32 undef, i32 0, %struct.pix_pos* %arrayidx56.3.i) nounwind unreachable @@ -101,12 +101,12 @@ for.inc3040: ; preds = %for.inc3040, %for.c if.then3689: ; preds = %for.cond2882.preheader %add3695 = add nsw i32 %mul3693, %shl1959 ; <i32> [#uses=1] %mul3697 = shl i32 %add3695, 2 ; <i32> [#uses=2] - %arrayidx3705 = getelementptr inbounds i16* undef, i32 1 ; <i16*> [#uses=1] - %tmp3706 = load i16* %arrayidx3705 ; <i16> [#uses=1] + %arrayidx3705 = getelementptr inbounds i16, i16* undef, i32 1 ; <i16*> [#uses=1] + %tmp3706 = load i16, i16* %arrayidx3705 ; <i16> [#uses=1] %conv3707 = sext i16 %tmp3706 to i32 ; <i32> [#uses=1] %add3708 = add nsw i32 %conv3707, %mul3697 ; <i32> [#uses=1] - %arrayidx3724 = getelementptr inbounds i16* null, i32 1 ; <i16*> [#uses=1] - %tmp3725 = load i16* %arrayidx3724 ; <i16> [#uses=1] + %arrayidx3724 = getelementptr inbounds i16, i16* null, i32 1 ; <i16*> [#uses=1] + %tmp3725 = load i16, i16* %arrayidx3724 ; <i16> [#uses=1] %conv3726 = sext i16 %tmp3725 to i32 ; <i32> [#uses=1] %add3727 = add nsw i32 %conv3726, %mul3697 ; <i32> [#uses=1] br label %if.end3770 @@ -115,11 +115,11 @@ if.else3728: ; preds = %for.cond2882.prehea %mul3733 = add i32 %shl1959, 1073741816 ; <i32> [#uses=1] %add3735 = add nsw i32 %mul3733, %mul3693 ; <i32> [#uses=1] %mul3737 = shl i32 %add3735, 2 ; <i32> [#uses=2] - %tmp3746 = load i16* undef ; <i16> [#uses=1] + %tmp3746 = load i16, i16* undef ; <i16> [#uses=1] %conv3747 = sext i16 %tmp3746 to i32 ; <i32> [#uses=1] %add3748 = add nsw i32 %conv3747, %mul3737 ; <i32> [#uses=1] - %arrayidx3765 = getelementptr inbounds i16* null, i32 1 ; <i16*> [#uses=1] - %tmp3766 = load i16* %arrayidx3765 ; <i16> [#uses=1] + %arrayidx3765 = getelementptr inbounds i16, i16* null, i32 1 ; <i16*> [#uses=1] + %tmp3766 = load i16, i16* %arrayidx3765 ; <i16> [#uses=1] %conv3767 = sext i16 %tmp3766 to i32 ; <i32> [#uses=1] %add3768 = add nsw i32 %conv3767, %mul3737 ; <i32> [#uses=1] br label %if.end3770 diff --git a/test/CodeGen/Thumb2/2009-11-11-ScavengerAssert.ll b/test/CodeGen/Thumb2/2009-11-11-ScavengerAssert.ll index 956263b4fe2d..e283cb3434cc 100644 --- a/test/CodeGen/Thumb2/2009-11-11-ScavengerAssert.ll +++ b/test/CodeGen/Thumb2/2009-11-11-ScavengerAssert.ll @@ -7,7 +7,7 @@ declare void @Perl_mg_set(%struct.SV*) nounwind define %struct.OP* @Perl_pp_complement() nounwind { entry: - %0 = load %struct.SV** null, align 4 ; <%struct.SV*> [#uses=2] + %0 = load %struct.SV*, %struct.SV** null, align 4 ; <%struct.SV*> [#uses=2] br i1 undef, label %bb21, label %bb5 bb5: ; preds = %entry @@ -17,15 +17,15 @@ bb6: ; preds = %bb5 br i1 undef, label %bb8, label %bb7 bb7: ; preds = %bb6 - %1 = getelementptr inbounds %struct.SV* %0, i32 0, i32 0 ; <i8**> [#uses=1] - %2 = load i8** %1, align 4 ; <i8*> [#uses=1] - %3 = getelementptr inbounds i8* %2, i32 12 ; <i8*> [#uses=1] + %1 = getelementptr inbounds %struct.SV, %struct.SV* %0, i32 0, i32 0 ; <i8**> [#uses=1] + %2 = load i8*, i8** %1, align 4 ; <i8*> [#uses=1] + %3 = getelementptr inbounds i8, i8* %2, i32 12 ; <i8*> [#uses=1] %4 = bitcast i8* %3 to i32* ; <i32*> [#uses=1] - %5 = load i32* %4, align 4 ; <i32> [#uses=1] + %5 = load i32, i32* %4, align 4 ; <i32> [#uses=1] %storemerge5 = xor i32 %5, -1 ; <i32> [#uses=1] call void @Perl_sv_setiv(%struct.SV* undef, i32 %storemerge5) nounwind - %6 = getelementptr inbounds %struct.SV* undef, i32 0, i32 2 ; <i32*> [#uses=1] - %7 = load i32* %6, align 4 ; <i32> [#uses=1] + %6 = getelementptr inbounds %struct.SV, %struct.SV* undef, i32 0, i32 2 ; <i32*> [#uses=1] + %7 = load i32, i32* %6, align 4 ; <i32> [#uses=1] %8 = and i32 %7, 16384 ; <i32> [#uses=1] %9 = icmp eq i32 %8, 0 ; <i1> [#uses=1] br i1 %9, label %bb12, label %bb11 @@ -53,8 +53,8 @@ bb1.i: ; preds = %bb13 br label %Perl_sv_setuv.exit Perl_sv_setuv.exit: ; preds = %bb1.i, %bb.i - %11 = getelementptr inbounds %struct.SV* undef, i32 0, i32 2 ; <i32*> [#uses=1] - %12 = load i32* %11, align 4 ; <i32> [#uses=1] + %11 = getelementptr inbounds %struct.SV, %struct.SV* undef, i32 0, i32 2 ; <i32*> [#uses=1] + %12 = load i32, i32* %11, align 4 ; <i32> [#uses=1] %13 = and i32 %12, 16384 ; <i32> [#uses=1] %14 = icmp eq i32 %13, 0 ; <i1> [#uses=1] br i1 %14, label %bb20, label %bb19 diff --git a/test/CodeGen/Thumb2/2009-12-01-LoopIVUsers.ll b/test/CodeGen/Thumb2/2009-12-01-LoopIVUsers.ll index 89b7148f5ecd..e59e84d49ecf 100644 --- a/test/CodeGen/Thumb2/2009-12-01-LoopIVUsers.ll +++ b/test/CodeGen/Thumb2/2009-12-01-LoopIVUsers.ll @@ -1,6 +1,8 @@ ; RUN: opt < %s -O3 | \ ; RUN: llc -mtriple=thumbv7-apple-darwin10 -mattr=+neon | FileCheck %s +target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:32-f32:32:32-f64:32:32-v64:64:64-v128:128:128-a0:0:32" + define void @fred(i32 %three_by_three, i8* %in, double %dt1, i32 %x_size, i32 %y_size, i8* %bp) nounwind { entry: ; -- The loop following the load should only use a single add-literation @@ -43,16 +45,16 @@ entry: store i32 %x_size, i32* %x_size_addr store i32 %y_size, i32* %y_size_addr store i8* %bp, i8** %bp_addr - %0 = load i8** %in_addr, align 4 ; <i8*> [#uses=1] + %0 = load i8*, i8** %in_addr, align 4 ; <i8*> [#uses=1] store i8* %0, i8** %out, align 4 - %1 = call i32 (...)* @foo() nounwind ; <i32> [#uses=1] + %1 = call i32 (...) @foo() nounwind ; <i32> [#uses=1] store i32 %1, i32* %i, align 4 - %2 = load i32* %three_by_three_addr, align 4 ; <i32> [#uses=1] + %2 = load i32, i32* %three_by_three_addr, align 4 ; <i32> [#uses=1] %3 = icmp eq i32 %2, 0 ; <i1> [#uses=1] br i1 %3, label %bb, label %bb2 bb: ; preds = %entry - %4 = load float* %dt_addr, align 4 ; <float> [#uses=1] + %4 = load float, float* %dt_addr, align 4 ; <float> [#uses=1] %5 = fpext float %4 to double ; <double> [#uses=1] %6 = fmul double %5, 1.500000e+00 ; <double> [#uses=1] %7 = fptosi double %6 to i32 ; <i32> [#uses=1] @@ -65,54 +67,54 @@ bb2: ; preds = %entry br label %bb3 bb3: ; preds = %bb2, %bb - %9 = load i32* %mask_size, align 4 ; <i32> [#uses=1] + %9 = load i32, i32* %mask_size, align 4 ; <i32> [#uses=1] %10 = mul i32 %9, 2 ; <i32> [#uses=1] %11 = add nsw i32 %10, 1 ; <i32> [#uses=1] store i32 %11, i32* %n_max, align 4 - %12 = load i32* %x_size_addr, align 4 ; <i32> [#uses=1] - %13 = load i32* %n_max, align 4 ; <i32> [#uses=1] + %12 = load i32, i32* %x_size_addr, align 4 ; <i32> [#uses=1] + %13 = load i32, i32* %n_max, align 4 ; <i32> [#uses=1] %14 = sub i32 %12, %13 ; <i32> [#uses=1] store i32 %14, i32* %increment, align 4 - %15 = load i32* %n_max, align 4 ; <i32> [#uses=1] - %16 = load i32* %n_max, align 4 ; <i32> [#uses=1] + %15 = load i32, i32* %n_max, align 4 ; <i32> [#uses=1] + %16 = load i32, i32* %n_max, align 4 ; <i32> [#uses=1] %17 = mul i32 %15, %16 ; <i32> [#uses=1] %18 = call noalias i8* @malloc(i32 %17) nounwind ; <i8*> [#uses=1] store i8* %18, i8** %dp, align 4 - %19 = load i8** %dp, align 4 ; <i8*> [#uses=1] + %19 = load i8*, i8** %dp, align 4 ; <i8*> [#uses=1] store i8* %19, i8** %dpt, align 4 - %20 = load float* %dt_addr, align 4 ; <float> [#uses=1] - %21 = load float* %dt_addr, align 4 ; <float> [#uses=1] + %20 = load float, float* %dt_addr, align 4 ; <float> [#uses=1] + %21 = load float, float* %dt_addr, align 4 ; <float> [#uses=1] %22 = fmul float %20, %21 ; <float> [#uses=1] %23 = fsub float -0.000000e+00, %22 ; <float> [#uses=1] store float %23, float* %temp, align 4 - %24 = load i32* %mask_size, align 4 ; <i32> [#uses=1] + %24 = load i32, i32* %mask_size, align 4 ; <i32> [#uses=1] %25 = sub i32 0, %24 ; <i32> [#uses=1] store i32 %25, i32* %j, align 4 br label %bb5 bb4: ; preds = %bb5 - %26 = load i32* %j, align 4 ; <i32> [#uses=1] - %27 = load i32* %j, align 4 ; <i32> [#uses=1] + %26 = load i32, i32* %j, align 4 ; <i32> [#uses=1] + %27 = load i32, i32* %j, align 4 ; <i32> [#uses=1] %28 = mul i32 %26, %27 ; <i32> [#uses=1] %29 = sitofp i32 %28 to double ; <double> [#uses=1] %30 = fmul double %29, 1.234000e+00 ; <double> [#uses=1] %31 = fptosi double %30 to i32 ; <i32> [#uses=1] store i32 %31, i32* %x, align 4 - %32 = load i32* %x, align 4 ; <i32> [#uses=1] + %32 = load i32, i32* %x, align 4 ; <i32> [#uses=1] %33 = trunc i32 %32 to i8 ; <i8> [#uses=1] - %34 = load i8** %dpt, align 4 ; <i8*> [#uses=1] + %34 = load i8*, i8** %dpt, align 4 ; <i8*> [#uses=1] store i8 %33, i8* %34, align 1 - %35 = load i8** %dpt, align 4 ; <i8*> [#uses=1] - %36 = getelementptr inbounds i8* %35, i64 1 ; <i8*> [#uses=1] + %35 = load i8*, i8** %dpt, align 4 ; <i8*> [#uses=1] + %36 = getelementptr inbounds i8, i8* %35, i64 1 ; <i8*> [#uses=1] store i8* %36, i8** %dpt, align 4 - %37 = load i32* %j, align 4 ; <i32> [#uses=1] + %37 = load i32, i32* %j, align 4 ; <i32> [#uses=1] %38 = add nsw i32 %37, 1 ; <i32> [#uses=1] store i32 %38, i32* %j, align 4 br label %bb5 bb5: ; preds = %bb4, %bb3 - %39 = load i32* %j, align 4 ; <i32> [#uses=1] - %40 = load i32* %mask_size, align 4 ; <i32> [#uses=1] + %39 = load i32, i32* %j, align 4 ; <i32> [#uses=1] + %40 = load i32, i32* %mask_size, align 4 ; <i32> [#uses=1] %41 = icmp sle i32 %39, %40 ; <i1> [#uses=1] br i1 %41, label %bb4, label %bb6 diff --git a/test/CodeGen/Thumb2/2010-01-06-TailDuplicateLabels.ll b/test/CodeGen/Thumb2/2010-01-06-TailDuplicateLabels.ll index 348e9d3f20a7..56206ef77336 100644 --- a/test/CodeGen/Thumb2/2010-01-06-TailDuplicateLabels.ll +++ b/test/CodeGen/Thumb2/2010-01-06-TailDuplicateLabels.ll @@ -19,8 +19,8 @@ target triple = "thumbv7-apple-darwin10" define %"struct.WTF::TCMalloc_ThreadCache"* @_ZN3WTF20TCMalloc_ThreadCache22CreateCacheIfNecessaryEv() nounwind { entry: - %0 = tail call i32 @pthread_mutex_lock(%struct.PlatformMutex* getelementptr inbounds (%struct.SpinLock* @_ZN3WTFL13pageheap_lockE, i32 0, i32 0)) nounwind - %.b24 = load i1* @_ZN3WTFL10tsd_initedE.b, align 4 ; <i1> [#uses=1] + %0 = tail call i32 @pthread_mutex_lock(%struct.PlatformMutex* getelementptr inbounds (%struct.SpinLock, %struct.SpinLock* @_ZN3WTFL13pageheap_lockE, i32 0, i32 0)) nounwind + %.b24 = load i1, i1* @_ZN3WTFL10tsd_initedE.b, align 4 ; <i1> [#uses=1] br i1 %.b24, label %bb5, label %bb6 bb5: ; preds = %entry @@ -32,19 +32,19 @@ bb6: ; preds = %bb5, %entry br label %bb11 bb7: ; preds = %bb11 - %2 = getelementptr inbounds %"struct.WTF::TCMalloc_ThreadCache"* %h.0, i32 0, i32 1 - %3 = load %struct._opaque_pthread_t** %2, align 4 + %2 = getelementptr inbounds %"struct.WTF::TCMalloc_ThreadCache", %"struct.WTF::TCMalloc_ThreadCache"* %h.0, i32 0, i32 1 + %3 = load %struct._opaque_pthread_t*, %struct._opaque_pthread_t** %2, align 4 %4 = tail call i32 @pthread_equal(%struct._opaque_pthread_t* %3, %struct._opaque_pthread_t* %me.0) nounwind %5 = icmp eq i32 %4, 0 br i1 %5, label %bb10, label %bb14 bb10: ; preds = %bb7 - %6 = getelementptr inbounds %"struct.WTF::TCMalloc_ThreadCache"* %h.0, i32 0, i32 6 + %6 = getelementptr inbounds %"struct.WTF::TCMalloc_ThreadCache", %"struct.WTF::TCMalloc_ThreadCache"* %h.0, i32 0, i32 6 br label %bb11 bb11: ; preds = %bb10, %bb6 %h.0.in = phi %"struct.WTF::TCMalloc_ThreadCache"** [ @_ZN3WTFL12thread_heapsE, %bb6 ], [ %6, %bb10 ] ; <%"struct.WTF::TCMalloc_ThreadCache"**> [#uses=1] - %h.0 = load %"struct.WTF::TCMalloc_ThreadCache"** %h.0.in, align 4 ; <%"struct.WTF::TCMalloc_ThreadCache"*> [#uses=4] + %h.0 = load %"struct.WTF::TCMalloc_ThreadCache"*, %"struct.WTF::TCMalloc_ThreadCache"** %h.0.in, align 4 ; <%"struct.WTF::TCMalloc_ThreadCache"*> [#uses=4] %7 = icmp eq %"struct.WTF::TCMalloc_ThreadCache"* %h.0, null br i1 %7, label %bb13, label %bb7 @@ -54,19 +54,19 @@ bb13: ; preds = %bb11 bb14: ; preds = %bb13, %bb7 %heap.1 = phi %"struct.WTF::TCMalloc_ThreadCache"* [ %8, %bb13 ], [ %h.0, %bb7 ] ; <%"struct.WTF::TCMalloc_ThreadCache"*> [#uses=4] - %9 = tail call i32 @pthread_mutex_unlock(%struct.PlatformMutex* getelementptr inbounds (%struct.SpinLock* @_ZN3WTFL13pageheap_lockE, i32 0, i32 0)) nounwind - %10 = getelementptr inbounds %"struct.WTF::TCMalloc_ThreadCache"* %heap.1, i32 0, i32 2 - %11 = load i8* %10, align 4 + %9 = tail call i32 @pthread_mutex_unlock(%struct.PlatformMutex* getelementptr inbounds (%struct.SpinLock, %struct.SpinLock* @_ZN3WTFL13pageheap_lockE, i32 0, i32 0)) nounwind + %10 = getelementptr inbounds %"struct.WTF::TCMalloc_ThreadCache", %"struct.WTF::TCMalloc_ThreadCache"* %heap.1, i32 0, i32 2 + %11 = load i8, i8* %10, align 4 %toBool15not = icmp eq i8 %11, 0 ; <i1> [#uses=1] br i1 %toBool15not, label %bb19, label %bb22 bb19: ; preds = %bb14 - %.b = load i1* @_ZN3WTFL10tsd_initedE.b, align 4 ; <i1> [#uses=1] + %.b = load i1, i1* @_ZN3WTFL10tsd_initedE.b, align 4 ; <i1> [#uses=1] br i1 %.b, label %bb21, label %bb22 bb21: ; preds = %bb19 store i8 1, i8* %10, align 4 - %12 = load i32* @_ZN3WTFL8heap_keyE, align 4 + %12 = load i32, i32* @_ZN3WTFL8heap_keyE, align 4 %13 = bitcast %"struct.WTF::TCMalloc_ThreadCache"* %heap.1 to i8* %14 = tail call i32 @pthread_setspecific(i32 %12, i8* %13) nounwind ret %"struct.WTF::TCMalloc_ThreadCache"* %heap.1 diff --git a/test/CodeGen/Thumb2/2010-01-19-RemovePredicates.ll b/test/CodeGen/Thumb2/2010-01-19-RemovePredicates.ll index 771a4f813634..a20d36ba5ed3 100644 --- a/test/CodeGen/Thumb2/2010-01-19-RemovePredicates.ll +++ b/test/CodeGen/Thumb2/2010-01-19-RemovePredicates.ll @@ -47,7 +47,7 @@ bb35: ; preds = %bb5 bb46: ; preds = %bb26, %bb10 %1 = bitcast double* %value to i16* ; <i16*> [#uses=1] - %v47 = getelementptr inbounds [6 x i16]* %v, i32 0, i32 0 ; <i16*> [#uses=1] + %v47 = getelementptr inbounds [6 x i16], [6 x i16]* %v, i32 0, i32 0 ; <i16*> [#uses=1] call void @etoe53(i16* %v47, i16* %1) nounwind ret void } diff --git a/test/CodeGen/Thumb2/2010-03-08-addi12-ccout.ll b/test/CodeGen/Thumb2/2010-03-08-addi12-ccout.ll index 7ce3c2586677..7d19d15f2a30 100644 --- a/test/CodeGen/Thumb2/2010-03-08-addi12-ccout.ll +++ b/test/CodeGen/Thumb2/2010-03-08-addi12-ccout.ll @@ -70,7 +70,7 @@ bb163: ; preds = %bb162, %bb161 unreachable bb224: ; preds = %bb162 - %0 = call i32 @SyFopen(i8* undef, i8* getelementptr inbounds ([2 x i8]* @.str41196, i32 0, i32 0)) nounwind ; <i32> [#uses=2] + %0 = call i32 @SyFopen(i8* undef, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @.str41196, i32 0, i32 0)) nounwind ; <i32> [#uses=2] br i1 false, label %bb297, label %bb300 bb297: ; preds = %bb224 @@ -138,8 +138,8 @@ bb345: ; preds = %bb345, %bb339 %4 = phi i8 [ %5, %bb345 ], [ undef, %bb339 ] ; <i8> [#uses=0] %indvar670 = phi i32 [ %tmp673, %bb345 ], [ 0, %bb339 ] ; <i32> [#uses=1] %tmp673 = add i32 %indvar670, 1 ; <i32> [#uses=2] - %scevgep674 = getelementptr [256 x i8]* %last, i32 0, i32 %tmp673 ; <i8*> [#uses=1] - %5 = load i8* %scevgep674, align 1 ; <i8> [#uses=1] + %scevgep674 = getelementptr [256 x i8], [256 x i8]* %last, i32 0, i32 %tmp673 ; <i8*> [#uses=1] + %5 = load i8, i8* %scevgep674, align 1 ; <i8> [#uses=1] br i1 undef, label %bb347, label %bb345 bb347: ; preds = %bb345 @@ -166,8 +166,8 @@ bb362: ; preds = %bb361 bb366: ; preds = %bb366, %bb360 %indvar662 = phi i32 [ %tmp665, %bb366 ], [ 0, %bb360 ] ; <i32> [#uses=1] %tmp665 = add i32 %indvar662, 1 ; <i32> [#uses=2] - %scevgep666 = getelementptr [256 x i8]* %last2, i32 0, i32 %tmp665 ; <i8*> [#uses=1] - %6 = load i8* %scevgep666, align 1 ; <i8> [#uses=0] + %scevgep666 = getelementptr [256 x i8], [256 x i8]* %last2, i32 0, i32 %tmp665 ; <i8*> [#uses=1] + %6 = load i8, i8* %scevgep666, align 1 ; <i8> [#uses=0] br i1 false, label %bb368, label %bb366 bb368: ; preds = %bb366 @@ -189,7 +189,7 @@ bb376: ; preds = %bb375 ret void bb383: ; preds = %bb373 - %10 = load i8* undef, align 1 ; <i8> [#uses=1] + %10 = load i8, i8* undef, align 1 ; <i8> [#uses=1] %cond1 = icmp eq i8 %10, 46 ; <i1> [#uses=1] br i1 %cond1, label %bb373, label %bb388 @@ -203,7 +203,7 @@ bb390: ; preds = %isdigit1498.exit83, bb391: ; preds = %bb390, %bb388 %indvar724 = phi i32 [ %indvar.next725, %bb390 ], [ 0, %bb388 ] ; <i32> [#uses=2] - %11 = load i8* undef, align 1 ; <i8> [#uses=0] + %11 = load i8, i8* undef, align 1 ; <i8> [#uses=0] br i1 false, label %bb395, label %bb392 bb392: ; preds = %bb391 @@ -217,7 +217,7 @@ bb394: ; preds = %isdigit1498.exit87 bb395: ; preds = %bb394, %isdigit1498.exit83, %bb391 %storemerge14.sum = add i32 %indvar724, undef ; <i32> [#uses=1] - %p.26 = getelementptr [256 x i8]* %line, i32 0, i32 %storemerge14.sum ; <i8*> [#uses=1] + %p.26 = getelementptr [256 x i8], [256 x i8]* %line, i32 0, i32 %storemerge14.sum ; <i8*> [#uses=1] br i1 undef, label %bb400, label %isdigit1498.exit87 isdigit1498.exit87: ; preds = %bb395 @@ -227,7 +227,7 @@ bb400: ; preds = %isdigit1498.exit87, br i1 undef, label %bb402, label %bb403 bb402: ; preds = %bb400 - %12 = getelementptr inbounds i8* %p.26, i32 undef ; <i8*> [#uses=1] + %12 = getelementptr inbounds i8, i8* %p.26, i32 undef ; <i8*> [#uses=1] br label %bb403 bb403: ; preds = %bb402, %bb400 diff --git a/test/CodeGen/Thumb2/2010-03-15-AsmCCClobber.ll b/test/CodeGen/Thumb2/2010-03-15-AsmCCClobber.ll index fcf1bae796b0..d3a44957a2eb 100644 --- a/test/CodeGen/Thumb2/2010-03-15-AsmCCClobber.ll +++ b/test/CodeGen/Thumb2/2010-03-15-AsmCCClobber.ll @@ -20,23 +20,23 @@ target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:32- ; CHECK: InlineAsm Start define void @test(%s1* %this, i32 %format, i32 %w, i32 %h, i32 %levels, i32* %s, i8* %data, i32* nocapture %rowbytes, void (i8*, i8*)* %release, i8* %info) nounwind { entry: - %tmp1 = getelementptr inbounds %s1* %this, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0 + %tmp1 = getelementptr inbounds %s1, %s1* %this, i32 0, i32 0, i32 0, i32 1, i32 0, i32 0 store volatile i32 1, i32* %tmp1, align 4 - %tmp12 = getelementptr inbounds %s1* %this, i32 0, i32 1 + %tmp12 = getelementptr inbounds %s1, %s1* %this, i32 0, i32 1 store i32 %levels, i32* %tmp12, align 4 - %tmp13 = getelementptr inbounds %s1* %this, i32 0, i32 3 + %tmp13 = getelementptr inbounds %s1, %s1* %this, i32 0, i32 3 store i8* %data, i8** %tmp13, align 4 - %tmp14 = getelementptr inbounds %s1* %this, i32 0, i32 4 + %tmp14 = getelementptr inbounds %s1, %s1* %this, i32 0, i32 4 store void (i8*, i8*)* %release, void (i8*, i8*)** %tmp14, align 4 - %tmp15 = getelementptr inbounds %s1* %this, i32 0, i32 5 + %tmp15 = getelementptr inbounds %s1, %s1* %this, i32 0, i32 5 store i8* %info, i8** %tmp15, align 4 - %tmp16 = getelementptr inbounds %s1* %this, i32 0, i32 6 + %tmp16 = getelementptr inbounds %s1, %s1* %this, i32 0, i32 6 store i32* null, i32** %tmp16, align 4 - %tmp17 = getelementptr inbounds %s1* %this, i32 0, i32 7 + %tmp17 = getelementptr inbounds %s1, %s1* %this, i32 0, i32 7 store i32* null, i32** %tmp17, align 4 - %tmp19 = getelementptr inbounds %s1* %this, i32 0, i32 10 + %tmp19 = getelementptr inbounds %s1, %s1* %this, i32 0, i32 10 store i64 0, i64* %tmp19, align 4 - %tmp20 = getelementptr inbounds %s1* %this, i32 0, i32 0 + %tmp20 = getelementptr inbounds %s1, %s1* %this, i32 0, i32 0 tail call void @f1(%s3* %tmp20, i32* %s) nounwind %tmp21 = shl i32 %format, 6 %tmp22 = tail call zeroext i8 @f2(i32 %format) nounwind @@ -45,16 +45,16 @@ entry: %flags.0 = or i32 %tmp23, %tmp21 %tmp24 = shl i32 %flags.0, 16 %asmtmp.i.i.i = tail call %0 asm sideeffect "\0A0:\09ldrex $1, [$2]\0A\09orr $1, $1, $3\0A\09strex $0, $1, [$2]\0A\09cmp $0, #0\0A\09bne 0b", "=&r,=&r,r,r,~{memory},~{cc}"(i32* %tmp1, i32 %tmp24) nounwind - %tmp25 = getelementptr inbounds %s1* %this, i32 0, i32 2, i32 0, i32 0 + %tmp25 = getelementptr inbounds %s1, %s1* %this, i32 0, i32 2, i32 0, i32 0 store volatile i32 1, i32* %tmp25, align 4 %tmp26 = icmp eq i32 %levels, 0 br i1 %tmp26, label %return, label %bb4 bb4: %l.09 = phi i32 [ %tmp28, %bb4 ], [ 0, %entry ] - %scevgep = getelementptr %s1* %this, i32 0, i32 11, i32 %l.09 - %scevgep10 = getelementptr i32* %rowbytes, i32 %l.09 - %tmp27 = load i32* %scevgep10, align 4 + %scevgep = getelementptr %s1, %s1* %this, i32 0, i32 11, i32 %l.09 + %scevgep10 = getelementptr i32, i32* %rowbytes, i32 %l.09 + %tmp27 = load i32, i32* %scevgep10, align 4 store i32 %tmp27, i32* %scevgep, align 4 %tmp28 = add i32 %l.09, 1 %exitcond = icmp eq i32 %tmp28, %levels diff --git a/test/CodeGen/Thumb2/2010-06-14-NEONCoalescer.ll b/test/CodeGen/Thumb2/2010-06-14-NEONCoalescer.ll index 06762bad854f..24a995a11538 100644 --- a/test/CodeGen/Thumb2/2010-06-14-NEONCoalescer.ll +++ b/test/CodeGen/Thumb2/2010-06-14-NEONCoalescer.ll @@ -32,10 +32,10 @@ entry: %tmp7 = extractelement <2 x double> %5, i32 0 ; <double> [#uses=1] %tmp5 = extractelement <2 x double> %5, i32 1 ; <double> [#uses=1] ; CHECK: printf - %7 = tail call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([7 x i8]* @.str, i32 0, i32 0), double %tmp7, double %tmp5) nounwind ; <i32> [#uses=0] + %7 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str, i32 0, i32 0), double %tmp7, double %tmp5) nounwind ; <i32> [#uses=0] %tmp3 = extractelement <2 x double> %6, i32 0 ; <double> [#uses=1] %tmp1 = extractelement <2 x double> %6, i32 1 ; <double> [#uses=1] - %8 = tail call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([7 x i8]* @.str, i32 0, i32 0), double %tmp3, double %tmp1) nounwind ; <i32> [#uses=0] + %8 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str, i32 0, i32 0), double %tmp3, double %tmp1) nounwind ; <i32> [#uses=0] ret i32 0 } diff --git a/test/CodeGen/Thumb2/2010-06-19-ITBlockCrash.ll b/test/CodeGen/Thumb2/2010-06-19-ITBlockCrash.ll index 501f763bda28..eba2e584ddc0 100644 --- a/test/CodeGen/Thumb2/2010-06-19-ITBlockCrash.ll +++ b/test/CodeGen/Thumb2/2010-06-19-ITBlockCrash.ll @@ -18,7 +18,7 @@ bb1.i.i11: ; preds = %bb11 %1 = tail call arm_apcscc i32 @__maskrune(i32 %0, i32 32768) nounwind ; <i32> [#uses=1] %2 = icmp ne i32 %1, 0 ; <i1> [#uses=1] %3 = zext i1 %2 to i32 ; <i32> [#uses=1] - %.pre = load i8* undef, align 1 ; <i8> [#uses=1] + %.pre = load i8, i8* undef, align 1 ; <i8> [#uses=1] br label %isupper144.exit12 isupper144.exit12: ; preds = %bb1.i.i11, %bb.i.i10 diff --git a/test/CodeGen/Thumb2/2010-06-21-TailMergeBug.ll b/test/CodeGen/Thumb2/2010-06-21-TailMergeBug.ll index f3046e1fcb82..34569e9116f2 100644 --- a/test/CodeGen/Thumb2/2010-06-21-TailMergeBug.ll +++ b/test/CodeGen/Thumb2/2010-06-21-TailMergeBug.ll @@ -86,17 +86,17 @@ bb10: ; preds = %bb9 bb11: ; preds = %bb10, %bb9 %p.0 = phi i8* [ undef, %bb10 ], [ %p.1, %bb9 ] ; <i8*> [#uses=1] - %0 = load %struct.FILE** @finput, align 4 ; <%struct.FILE*> [#uses=1] + %0 = load %struct.FILE*, %struct.FILE** @finput, align 4 ; <%struct.FILE*> [#uses=1] %1 = tail call i32 @getc(%struct.FILE* %0) nounwind ; <i32> [#uses=0] br label %bb12 bb12: ; preds = %bb11, %bb.i.i - %p.1 = phi i8* [ %p.0, %bb11 ], [ getelementptr inbounds ([1025 x i8]* @token_buffer, i32 0, i32 0), %bb.i.i ] ; <i8*> [#uses=2] + %p.1 = phi i8* [ %p.0, %bb11 ], [ getelementptr inbounds ([1025 x i8], [1025 x i8]* @token_buffer, i32 0, i32 0), %bb.i.i ] ; <i8*> [#uses=2] %2 = icmp ult i32 undef, 128 ; <i1> [#uses=1] br i1 %2, label %bb.i.i2, label %bb1.i.i3 bb.i.i2: ; preds = %bb12 - %3 = load i32* null, align 4 ; <i32> [#uses=1] + %3 = load i32, i32* null, align 4 ; <i32> [#uses=1] %4 = lshr i32 %3, 8 ; <i32> [#uses=1] %.lobit.i1 = and i32 %4, 1 ; <i32> [#uses=1] %.not = icmp ne i32 %.lobit.i1, 0 ; <i1> [#uses=1] diff --git a/test/CodeGen/Thumb2/2010-08-10-VarSizedAllocaBug.ll b/test/CodeGen/Thumb2/2010-08-10-VarSizedAllocaBug.ll index 547950fb17f0..3b14d22ddbff 100644 --- a/test/CodeGen/Thumb2/2010-08-10-VarSizedAllocaBug.ll +++ b/test/CodeGen/Thumb2/2010-08-10-VarSizedAllocaBug.ll @@ -14,9 +14,9 @@ entry: bb: ; preds = %entry %1 = alloca [1000 x i8], align 4 ; <[1000 x i8]*> [#uses=1] - %.sub = getelementptr inbounds [1000 x i8]* %1, i32 0, i32 0 ; <i8*> [#uses=2] - %2 = call i32 (i8*, i32, i32, i8*, ...)* @__sprintf_chk(i8* %.sub, i32 0, i32 1000, i8* getelementptr inbounds ([4 x i8]* @.str, i32 0, i32 0), i32 %i) nounwind ; <i32> [#uses=0] - %3 = load i8* %.sub, align 4 ; <i8> [#uses=1] + %.sub = getelementptr inbounds [1000 x i8], [1000 x i8]* %1, i32 0, i32 0 ; <i8*> [#uses=2] + %2 = call i32 (i8*, i32, i32, i8*, ...) @__sprintf_chk(i8* %.sub, i32 0, i32 1000, i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i32 0, i32 0), i32 %i) nounwind ; <i32> [#uses=0] + %3 = load i8, i8* %.sub, align 4 ; <i8> [#uses=1] %4 = sext i8 %3 to i32 ; <i32> [#uses=1] ret i32 %4 @@ -52,7 +52,7 @@ bb2: ; preds = %bb ; CHECK-NOT: mov sp, r7 ; CHECK-NOT: sub sp, #12 ; CHECK: pop - %4 = tail call i32 (i8*, ...)* @printf(i8* getelementptr inbounds ([4 x i8]* @.str, i32 0, i32 0), i32 %2) nounwind ; <i32> [#uses=0] + %4 = tail call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([4 x i8], [4 x i8]* @.str, i32 0, i32 0), i32 %2) nounwind ; <i32> [#uses=0] ret i32 0 } diff --git a/test/CodeGen/Thumb2/2011-06-07-TwoAddrEarlyClobber.ll b/test/CodeGen/Thumb2/2011-06-07-TwoAddrEarlyClobber.ll index 240df83252cc..b9bfdcbec4e4 100644 --- a/test/CodeGen/Thumb2/2011-06-07-TwoAddrEarlyClobber.ll +++ b/test/CodeGen/Thumb2/2011-06-07-TwoAddrEarlyClobber.ll @@ -3,13 +3,13 @@ %struct.op = type { %struct.op*, %struct.op*, %struct.op* ()*, i32, i16, i16, i8, i8 } ; CHECK: Perl_ck_sort -; CHECK: ldreq -; CHECK: moveq [[REGISTER:(r[0-9]+)|(lr)]] -; CHECK: streq {{(r[0-9])|(lr)}}, {{\[}}[[REGISTER]]{{\]}}, #24 +; CHECK: ldr +; CHECK: mov [[REGISTER:(r[0-9]+)|(lr)]] +; CHECK: str {{(r[0-9])|(lr)}}, {{\[}}[[REGISTER]]{{\]}}, #24 define void @Perl_ck_sort() nounwind optsize { entry: - %tmp27 = load %struct.op** undef, align 4 + %tmp27 = load %struct.op*, %struct.op** undef, align 4 switch i16 undef, label %if.end151 [ i16 178, label %if.then60 i16 177, label %if.then60 @@ -19,14 +19,14 @@ if.then60: ; preds = %if.then40 br i1 undef, label %if.then67, label %if.end95 if.then67: ; preds = %if.then60 - %op_next71 = getelementptr inbounds %struct.op* %tmp27, i32 0, i32 0 + %op_next71 = getelementptr inbounds %struct.op, %struct.op* %tmp27, i32 0, i32 0 store %struct.op* %tmp27, %struct.op** %op_next71, align 4 - %0 = getelementptr inbounds %struct.op* %tmp27, i32 1, i32 0 + %0 = getelementptr inbounds %struct.op, %struct.op* %tmp27, i32 1, i32 0 br label %if.end95 if.end95: ; preds = %if.else92, %if.then67 %.pre-phi = phi %struct.op** [ undef, %if.then60 ], [ %0, %if.then67 ] - %tmp98 = load %struct.op** %.pre-phi, align 4 + %tmp98 = load %struct.op*, %struct.op** %.pre-phi, align 4 br label %if.end151 if.end151: ; preds = %if.end100, %if.end, %entry diff --git a/test/CodeGen/Thumb2/2011-12-16-T2SizeReduceAssert.ll b/test/CodeGen/Thumb2/2011-12-16-T2SizeReduceAssert.ll index ea8d233e79f1..7c8802ddad67 100644 --- a/test/CodeGen/Thumb2/2011-12-16-T2SizeReduceAssert.ll +++ b/test/CodeGen/Thumb2/2011-12-16-T2SizeReduceAssert.ll @@ -8,15 +8,15 @@ entry: br label %bb3 bb: ; preds = %bb3 - %Scan.0.idx7.val = load i8** undef, align 4 - %.idx = getelementptr i8* %Scan.0.idx7.val, i32 4 + %Scan.0.idx7.val = load i8*, i8** undef, align 4 + %.idx = getelementptr i8, i8* %Scan.0.idx7.val, i32 4 %0 = bitcast i8* %.idx to i8** - %.idx.val = load i8** %0, align 4 + %.idx.val = load i8*, i8** %0, align 4 %1 = icmp eq i8* %.idx.val, %Key br i1 %1, label %bb5, label %bb2 bb2: ; preds = %bb - %Scan.0.idx8.val = load %struct.LIST_NODE.0.16** undef, align 4 + %Scan.0.idx8.val = load %struct.LIST_NODE.0.16*, %struct.LIST_NODE.0.16** undef, align 4 br label %bb3 bb3: ; preds = %bb2, %entry @@ -34,7 +34,7 @@ entry: br i1 undef, label %for.body, label %for.end for.body: ; preds = %for.body, %entry - %0 = load double* null, align 8 + %0 = load double, double* null, align 8 %cmp2.6 = fcmp ogt double %0, 0.000000e+00 %idx.1.6 = select i1 %cmp2.6, i32 undef, i32 0 %idx.1.7 = select i1 undef, i32 undef, i32 %idx.1.6 diff --git a/test/CodeGen/Thumb2/2012-01-13-CBNZBug.ll b/test/CodeGen/Thumb2/2012-01-13-CBNZBug.ll index 500871519234..9121044be4ff 100644 --- a/test/CodeGen/Thumb2/2012-01-13-CBNZBug.ll +++ b/test/CodeGen/Thumb2/2012-01-13-CBNZBug.ll @@ -22,16 +22,16 @@ tailrecurse: ; preds = %if.then10, %entry br i1 %cmp, label %if.end11, label %if.end if.end: ; preds = %tailrecurse - %string = getelementptr inbounds %struct.Dict_node_struct* %dn.tr, i32 0, i32 0 - %0 = load i8** %string, align 4 + %string = getelementptr inbounds %struct.Dict_node_struct, %struct.Dict_node_struct* %dn.tr, i32 0, i32 0 + %0 = load i8*, i8** %string, align 4 br label %while.cond.i while.cond.i: ; preds = %while.body.i, %if.end %1 = phi i8* [ %s, %if.end ], [ %incdec.ptr.i, %while.body.i ] %storemerge.i = phi i8* [ %0, %if.end ], [ %incdec.ptr6.i, %while.body.i ] - %2 = load i8* %1, align 1 + %2 = load i8, i8* %1, align 1 %cmp.i = icmp eq i8 %2, 0 - %.pre.i = load i8* %storemerge.i, align 1 + %.pre.i = load i8, i8* %storemerge.i, align 1 br i1 %cmp.i, label %lor.lhs.false.i, label %land.end.i land.end.i: ; preds = %while.cond.i @@ -39,8 +39,8 @@ land.end.i: ; preds = %while.cond.i br i1 %cmp4.i, label %while.body.i, label %while.end.i while.body.i: ; preds = %land.end.i - %incdec.ptr.i = getelementptr inbounds i8* %1, i32 1 - %incdec.ptr6.i = getelementptr inbounds i8* %storemerge.i, i32 1 + %incdec.ptr.i = getelementptr inbounds i8, i8* %1, i32 1 + %incdec.ptr6.i = getelementptr inbounds i8, i8* %storemerge.i, i32 1 br label %while.cond.i while.end.i: ; preds = %land.end.i @@ -68,8 +68,8 @@ if.end3: ; preds = %dict_match.exit, %l ; CHECK: cmp ; CHECK-NOT: cbnz %storemerge1.i3 = phi i32 [ %sub.i, %dict_match.exit ], [ 0, %lor.lhs.false.i ], [ 0, %while.end.i ] - %right = getelementptr inbounds %struct.Dict_node_struct* %dn.tr, i32 0, i32 4 - %4 = load %struct.Dict_node_struct** %right, align 4 + %right = getelementptr inbounds %struct.Dict_node_struct, %struct.Dict_node_struct* %dn.tr, i32 0, i32 4 + %4 = load %struct.Dict_node_struct*, %struct.Dict_node_struct** %right, align 4 tail call fastcc void @rdictionary_lookup(%struct.Dict_node_struct* %4, i8* %s) %cmp4 = icmp eq i32 %storemerge1.i3, 0 br i1 %cmp4, label %if.then5, label %if.end8 @@ -79,8 +79,8 @@ if.then5: ; preds = %if.end3 %5 = bitcast i8* %call6 to %struct.Dict_node_struct* %6 = bitcast %struct.Dict_node_struct* %dn.tr to i8* tail call void @llvm.memcpy.p0i8.p0i8.i32(i8* %call6, i8* %6, i32 16, i32 4, i1 false) - %7 = load %struct.Dict_node_struct** @lookup_list, align 4 - %right7 = getelementptr inbounds i8* %call6, i32 16 + %7 = load %struct.Dict_node_struct*, %struct.Dict_node_struct** @lookup_list, align 4 + %right7 = getelementptr inbounds i8, i8* %call6, i32 16 %8 = bitcast i8* %right7 to %struct.Dict_node_struct** store %struct.Dict_node_struct* %7, %struct.Dict_node_struct** %8, align 4 store %struct.Dict_node_struct* %5, %struct.Dict_node_struct** @lookup_list, align 4 @@ -91,8 +91,8 @@ if.end8: ; preds = %if.end3 br i1 %cmp9, label %if.then10, label %if.end11 if.then10: ; preds = %if.end8, %if.then5, %dict_match.exit - %left = getelementptr inbounds %struct.Dict_node_struct* %dn.tr, i32 0, i32 3 - %9 = load %struct.Dict_node_struct** %left, align 4 + %left = getelementptr inbounds %struct.Dict_node_struct, %struct.Dict_node_struct* %dn.tr, i32 0, i32 3 + %9 = load %struct.Dict_node_struct*, %struct.Dict_node_struct** %left, align 4 br label %tailrecurse if.end11: ; preds = %if.end8, %tailrecurse diff --git a/test/CodeGen/Thumb2/2013-02-19-tail-call-register-hint.ll b/test/CodeGen/Thumb2/2013-02-19-tail-call-register-hint.ll index e905cb9114c2..c9d3f3dd2847 100644 --- a/test/CodeGen/Thumb2/2013-02-19-tail-call-register-hint.ll +++ b/test/CodeGen/Thumb2/2013-02-19-tail-call-register-hint.ll @@ -12,19 +12,19 @@ %struct.foo = type { i32, [40 x i8] } define hidden void @func(i8* %Data) nounwind ssp { - %1 = getelementptr inbounds i8* %Data, i32 12 + %1 = getelementptr inbounds i8, i8* %Data, i32 12 %2 = bitcast i8* %1 to %"myclass"* tail call void @abc(%"myclass"* %2) nounwind tail call void @def(%"myclass"* %2) nounwind - %3 = getelementptr inbounds i8* %Data, i32 8 + %3 = getelementptr inbounds i8, i8* %Data, i32 8 %4 = bitcast i8* %3 to i8** - %5 = load i8** %4, align 4 + %5 = load i8*, i8** %4, align 4 tail call void @ghi(i8* %5) nounwind %6 = bitcast i8* %Data to void (i8*)** - %7 = load void (i8*)** %6, align 4 - %8 = getelementptr inbounds i8* %Data, i32 4 + %7 = load void (i8*)*, void (i8*)** %6, align 4 + %8 = getelementptr inbounds i8, i8* %Data, i32 4 %9 = bitcast i8* %8 to i8** - %10 = load i8** %9, align 4 + %10 = load i8*, i8** %9, align 4 %11 = icmp eq i8* %Data, null br i1 %11, label %14, label %12 diff --git a/test/CodeGen/Thumb2/2013-03-02-vduplane-nonconstant-source-index.ll b/test/CodeGen/Thumb2/2013-03-02-vduplane-nonconstant-source-index.ll index 937ecc0d6679..5936b7803002 100644 --- a/test/CodeGen/Thumb2/2013-03-02-vduplane-nonconstant-source-index.ll +++ b/test/CodeGen/Thumb2/2013-03-02-vduplane-nonconstant-source-index.ll @@ -1,9 +1,9 @@ ; RUN: llc < %s -mtriple=thumbv7-apple-ios | FileCheck %s define void @bar(<4 x i32>* %p, i32 %lane, <4 x i32> %phitmp) nounwind { -; CHECK: vst1.64 {d{{[0-9]+}}, d{{[0-9]+}}}, [r[[SOURCE:[0-9]+]]:128] -; CHECK: add.w r[[ADDR:[0-9]+]], r[[SOURCE]], {{r[0-9]+}}, lsl #2 -; CHECK: vld1.32 {[[DREG:d[0-9]+]][], [[DREG2:d[0-9]+]][]}, [r[[ADDR]]:32] +; CHECK: lsls r[[ADDR:[0-9]+]], r[[ADDR]], #2 +; CHECK: vst1.64 {d{{[0-9]+}}, d{{[0-9]+}}}, [r[[SOURCE:[0-9]+]]:128], r[[ADDR]] +; CHECK: vld1.32 {[[DREG:d[0-9]+]][], [[DREG2:d[0-9]+]][]}, [r[[SOURCE]]:32] ; CHECK: vst1.32 {[[DREG]], [[DREG2]]}, [r0] %val = extractelement <4 x i32> %phitmp, i32 %lane %r1 = insertelement <4 x i32> undef, i32 %val, i32 1 diff --git a/test/CodeGen/Thumb2/aligned-constants.ll b/test/CodeGen/Thumb2/aligned-constants.ll index 16b3a193c9d7..13cca113452c 100644 --- a/test/CodeGen/Thumb2/aligned-constants.ll +++ b/test/CodeGen/Thumb2/aligned-constants.ll @@ -16,10 +16,10 @@ target triple = "thumbv7-apple-ios" ; CHECK: .long 1123477881 define void @func(float* nocapture %x, double* nocapture %y) nounwind ssp { entry: - %0 = load float* %x, align 4 + %0 = load float, float* %x, align 4 %add = fadd float %0, 0x405EDD2F20000000 store float %add, float* %x, align 4 - %1 = load double* %y, align 4 + %1 = load double, double* %y, align 4 %add1 = fadd double %1, 2.234560e+02 store double %add1, double* %y, align 4 ret void diff --git a/test/CodeGen/Thumb2/aligned-spill.ll b/test/CodeGen/Thumb2/aligned-spill.ll index 4ef294bdf5ff..59f546b8e8e6 100644 --- a/test/CodeGen/Thumb2/aligned-spill.ll +++ b/test/CodeGen/Thumb2/aligned-spill.ll @@ -13,7 +13,7 @@ target triple = "thumbv7-apple-ios" ; CHECK: mov sp, r4 define void @f(double* nocapture %p) nounwind ssp { entry: - %0 = load double* %p, align 4 + %0 = load double, double* %p, align 4 tail call void asm sideeffect "", "~{d8},~{d9},~{d10},~{d11},~{d12},~{d13},~{d14},~{d15}"() nounwind tail call void @g() nounwind store double %0, double* %p, align 4 diff --git a/test/CodeGen/Thumb2/bfi.ll b/test/CodeGen/Thumb2/bfi.ll index 4f056d571c4c..337f46a22748 100644 --- a/test/CodeGen/Thumb2/bfi.ll +++ b/test/CodeGen/Thumb2/bfi.ll @@ -9,7 +9,7 @@ entry: ; CHECK: f1 ; CHECK: movs r2, #10 ; CHECK: bfi r1, r2, #22, #4 - %0 = load i32* bitcast (%struct.F* @X to i32*), align 4 ; <i32> [#uses=1] + %0 = load i32, i32* bitcast (%struct.F* @X to i32*), align 4 ; <i32> [#uses=1] %1 = and i32 %0, -62914561 ; <i32> [#uses=1] %2 = or i32 %1, 41943040 ; <i32> [#uses=1] store i32 %2, i32* bitcast (%struct.F* @X to i32*), align 4 diff --git a/test/CodeGen/Thumb2/cbnz.ll b/test/CodeGen/Thumb2/cbnz.ll new file mode 100644 index 000000000000..5c0bb5bfe1cd --- /dev/null +++ b/test/CodeGen/Thumb2/cbnz.ll @@ -0,0 +1,54 @@ +; RUN: llc -mtriple thumbv7-unknown-linux -o - %s | FileCheck %s + +declare void @x() +declare void @y() + +define void @f(i32 %x, i32 %y) { + ; CHECK-LABEL: f: + ; CHECK: cbnz + %p = icmp eq i32 %x, 0 + br i1 %p, label %t, label %f + +t: + call void @x() + call void @x() + call void @x() + call void @x() + call void @x() + call void @x() + call void @x() + call void @x() + call void @x() + call void @x() + call void @x() + call void @x() + call void @x() + call void @x() + call void @x() + call void @x() + ; CHECK: cbnz + %q = icmp eq i32 %y, 0 + br i1 %q, label %t2, label %f + +t2: + call void @x() + call void @x() + call void @x() + call void @x() + call void @x() + call void @x() + call void @x() + call void @x() + call void @x() + call void @x() + call void @x() + call void @x() + call void @x() + call void @x() + call void @x() + br label %f + +f: + call void @y() + ret void +} diff --git a/test/CodeGen/Thumb2/constant-islands-new-island-padding.ll b/test/CodeGen/Thumb2/constant-islands-new-island-padding.ll index 991b043f0bdc..c2a2c068ca48 100644 --- a/test/CodeGen/Thumb2/constant-islands-new-island-padding.ll +++ b/test/CodeGen/Thumb2/constant-islands-new-island-padding.ll @@ -15,22 +15,22 @@ declare i32 @llvm.arm.space(i32, i32) define i32 @testpadding(i32 %a) { entry: - %0 = load i32* @g0, align 4 + %0 = load i32, i32* @g0, align 4 %add = add nsw i32 %0, 12 store i32 %add, i32* @g0, align 4 - %1 = load double* @d0, align 8 + %1 = load double, double* @d0, align 8 %add1 = fadd double %1, 0x3FF3C0B8ED46EACB store double %add1, double* @d0, align 8 %tmpcall11 = call i32 @llvm.arm.space(i32 28, i32 undef) call void @foo20(i32 191) - %2 = load float* @f0, align 4 + %2 = load float, float* @f0, align 4 %add2 = fadd float %2, 0x3FF3C0BDC0000000 store float %add2, float* @f0, align 4 br label %do.body do.body: ; preds = %do.body, %entry tail call void @foo20(i32 19) - %3 = load i32* @g1, align 4 + %3 = load i32, i32* @g1, align 4 %tobool = icmp eq i32 %3, 0 br i1 %tobool, label %do.end, label %do.body diff --git a/test/CodeGen/Thumb2/constant-islands.ll b/test/CodeGen/Thumb2/constant-islands.ll index 255b709edb73..a64d72e86efb 100644 --- a/test/CodeGen/Thumb2/constant-islands.ll +++ b/test/CodeGen/Thumb2/constant-islands.ll @@ -262,170 +262,170 @@ entry: store %class.btDynamicsWorld* %ownerWorld, %class.btDynamicsWorld** %ownerWorld.addr, align 4 store %class.btVector3* %positionOffset, %class.btVector3** %positionOffset.addr, align 4 store float %scale, float* %scale.addr, align 4 - %this1 = load %class.RagDoll** %this.addr + %this1 = load %class.RagDoll*, %class.RagDoll** %this.addr store %class.RagDoll* %this1, %class.RagDoll** %retval %0 = bitcast %class.RagDoll* %this1 to i8*** - store i8** getelementptr inbounds ([4 x i8*]* @_ZTV7RagDoll, i64 0, i64 2), i8*** %0 - %m_ownerWorld = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 1 - %1 = load %class.btDynamicsWorld** %ownerWorld.addr, align 4 + store i8** getelementptr inbounds ([4 x i8*], [4 x i8*]* @_ZTV7RagDoll, i64 0, i64 2), i8*** %0 + %m_ownerWorld = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 1 + %1 = load %class.btDynamicsWorld*, %class.btDynamicsWorld** %ownerWorld.addr, align 4 store %class.btDynamicsWorld* %1, %class.btDynamicsWorld** %m_ownerWorld, align 4 %call = call i8* @_ZN13btConvexShapenwEm(i32 56) %2 = bitcast i8* %call to %class.btCapsuleShape* - %3 = load float* %scale.addr, align 4 + %3 = load float, float* %scale.addr, align 4 %mul = fmul float 0x3FC3333340000000, %3 - %4 = load float* %scale.addr, align 4 + %4 = load float, float* %scale.addr, align 4 %mul2 = fmul float 0x3FC99999A0000000, %4 %call3 = invoke %class.btCapsuleShape* @_ZN14btCapsuleShapeC1Eff(%class.btCapsuleShape* %2, float %mul, float %mul2) to label %invoke.cont unwind label %lpad invoke.cont: ; preds = %entry %5 = bitcast %class.btCapsuleShape* %2 to %class.btCollisionShape* - %m_shapes = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 2 - %arrayidx = getelementptr inbounds [11 x %class.btCollisionShape*]* %m_shapes, i32 0, i32 0 + %m_shapes = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 + %arrayidx = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes, i32 0, i32 0 store %class.btCollisionShape* %5, %class.btCollisionShape** %arrayidx, align 4 %call5 = call i8* @_ZN13btConvexShapenwEm(i32 56) %6 = bitcast i8* %call5 to %class.btCapsuleShape* - %7 = load float* %scale.addr, align 4 + %7 = load float, float* %scale.addr, align 4 %mul6 = fmul float 0x3FC3333340000000, %7 - %8 = load float* %scale.addr, align 4 + %8 = load float, float* %scale.addr, align 4 %mul7 = fmul float 0x3FD1EB8520000000, %8 %call10 = invoke %class.btCapsuleShape* @_ZN14btCapsuleShapeC1Eff(%class.btCapsuleShape* %6, float %mul6, float %mul7) to label %invoke.cont9 unwind label %lpad8 invoke.cont9: ; preds = %invoke.cont %9 = bitcast %class.btCapsuleShape* %6 to %class.btCollisionShape* - %m_shapes12 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 2 - %arrayidx13 = getelementptr inbounds [11 x %class.btCollisionShape*]* %m_shapes12, i32 0, i32 1 + %m_shapes12 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 + %arrayidx13 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes12, i32 0, i32 1 store %class.btCollisionShape* %9, %class.btCollisionShape** %arrayidx13, align 4 %call14 = call i8* @_ZN13btConvexShapenwEm(i32 56) %10 = bitcast i8* %call14 to %class.btCapsuleShape* - %11 = load float* %scale.addr, align 4 + %11 = load float, float* %scale.addr, align 4 %mul15 = fmul float 0x3FB99999A0000000, %11 - %12 = load float* %scale.addr, align 4 + %12 = load float, float* %scale.addr, align 4 %mul16 = fmul float 0x3FA99999A0000000, %12 %call19 = invoke %class.btCapsuleShape* @_ZN14btCapsuleShapeC1Eff(%class.btCapsuleShape* %10, float %mul15, float %mul16) to label %invoke.cont18 unwind label %lpad17 invoke.cont18: ; preds = %invoke.cont9 %13 = bitcast %class.btCapsuleShape* %10 to %class.btCollisionShape* - %m_shapes21 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 2 - %arrayidx22 = getelementptr inbounds [11 x %class.btCollisionShape*]* %m_shapes21, i32 0, i32 2 + %m_shapes21 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 + %arrayidx22 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes21, i32 0, i32 2 store %class.btCollisionShape* %13, %class.btCollisionShape** %arrayidx22, align 4 %call23 = call i8* @_ZN13btConvexShapenwEm(i32 56) %14 = bitcast i8* %call23 to %class.btCapsuleShape* - %15 = load float* %scale.addr, align 4 + %15 = load float, float* %scale.addr, align 4 %mul24 = fmul float 0x3FB1EB8520000000, %15 - %16 = load float* %scale.addr, align 4 + %16 = load float, float* %scale.addr, align 4 %mul25 = fmul float 0x3FDCCCCCC0000000, %16 %call28 = invoke %class.btCapsuleShape* @_ZN14btCapsuleShapeC1Eff(%class.btCapsuleShape* %14, float %mul24, float %mul25) to label %invoke.cont27 unwind label %lpad26 invoke.cont27: ; preds = %invoke.cont18 %17 = bitcast %class.btCapsuleShape* %14 to %class.btCollisionShape* - %m_shapes30 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 2 - %arrayidx31 = getelementptr inbounds [11 x %class.btCollisionShape*]* %m_shapes30, i32 0, i32 3 + %m_shapes30 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 + %arrayidx31 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes30, i32 0, i32 3 store %class.btCollisionShape* %17, %class.btCollisionShape** %arrayidx31, align 4 %call32 = call i8* @_ZN13btConvexShapenwEm(i32 56) %18 = bitcast i8* %call32 to %class.btCapsuleShape* - %19 = load float* %scale.addr, align 4 + %19 = load float, float* %scale.addr, align 4 %mul33 = fmul float 0x3FA99999A0000000, %19 - %20 = load float* %scale.addr, align 4 + %20 = load float, float* %scale.addr, align 4 %mul34 = fmul float 0x3FD7AE1480000000, %20 %call37 = invoke %class.btCapsuleShape* @_ZN14btCapsuleShapeC1Eff(%class.btCapsuleShape* %18, float %mul33, float %mul34) to label %invoke.cont36 unwind label %lpad35 invoke.cont36: ; preds = %invoke.cont27 %21 = bitcast %class.btCapsuleShape* %18 to %class.btCollisionShape* - %m_shapes39 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 2 - %arrayidx40 = getelementptr inbounds [11 x %class.btCollisionShape*]* %m_shapes39, i32 0, i32 4 + %m_shapes39 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 + %arrayidx40 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes39, i32 0, i32 4 store %class.btCollisionShape* %21, %class.btCollisionShape** %arrayidx40, align 4 %call41 = call i8* @_ZN13btConvexShapenwEm(i32 56) %22 = bitcast i8* %call41 to %class.btCapsuleShape* - %23 = load float* %scale.addr, align 4 + %23 = load float, float* %scale.addr, align 4 %mul42 = fmul float 0x3FB1EB8520000000, %23 - %24 = load float* %scale.addr, align 4 + %24 = load float, float* %scale.addr, align 4 %mul43 = fmul float 0x3FDCCCCCC0000000, %24 %call46 = invoke %class.btCapsuleShape* @_ZN14btCapsuleShapeC1Eff(%class.btCapsuleShape* %22, float %mul42, float %mul43) to label %invoke.cont45 unwind label %lpad44 invoke.cont45: ; preds = %invoke.cont36 %25 = bitcast %class.btCapsuleShape* %22 to %class.btCollisionShape* - %m_shapes48 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 2 - %arrayidx49 = getelementptr inbounds [11 x %class.btCollisionShape*]* %m_shapes48, i32 0, i32 5 + %m_shapes48 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 + %arrayidx49 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes48, i32 0, i32 5 store %class.btCollisionShape* %25, %class.btCollisionShape** %arrayidx49, align 4 %call50 = call i8* @_ZN13btConvexShapenwEm(i32 56) %26 = bitcast i8* %call50 to %class.btCapsuleShape* - %27 = load float* %scale.addr, align 4 + %27 = load float, float* %scale.addr, align 4 %mul51 = fmul float 0x3FA99999A0000000, %27 - %28 = load float* %scale.addr, align 4 + %28 = load float, float* %scale.addr, align 4 %mul52 = fmul float 0x3FD7AE1480000000, %28 %call55 = invoke %class.btCapsuleShape* @_ZN14btCapsuleShapeC1Eff(%class.btCapsuleShape* %26, float %mul51, float %mul52) to label %invoke.cont54 unwind label %lpad53 invoke.cont54: ; preds = %invoke.cont45 %29 = bitcast %class.btCapsuleShape* %26 to %class.btCollisionShape* - %m_shapes57 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 2 - %arrayidx58 = getelementptr inbounds [11 x %class.btCollisionShape*]* %m_shapes57, i32 0, i32 6 + %m_shapes57 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 + %arrayidx58 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes57, i32 0, i32 6 store %class.btCollisionShape* %29, %class.btCollisionShape** %arrayidx58, align 4 %call59 = call i8* @_ZN13btConvexShapenwEm(i32 56) %30 = bitcast i8* %call59 to %class.btCapsuleShape* - %31 = load float* %scale.addr, align 4 + %31 = load float, float* %scale.addr, align 4 %mul60 = fmul float 0x3FA99999A0000000, %31 - %32 = load float* %scale.addr, align 4 + %32 = load float, float* %scale.addr, align 4 %mul61 = fmul float 0x3FD51EB860000000, %32 %call64 = invoke %class.btCapsuleShape* @_ZN14btCapsuleShapeC1Eff(%class.btCapsuleShape* %30, float %mul60, float %mul61) to label %invoke.cont63 unwind label %lpad62 invoke.cont63: ; preds = %invoke.cont54 %33 = bitcast %class.btCapsuleShape* %30 to %class.btCollisionShape* - %m_shapes66 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 2 - %arrayidx67 = getelementptr inbounds [11 x %class.btCollisionShape*]* %m_shapes66, i32 0, i32 7 + %m_shapes66 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 + %arrayidx67 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes66, i32 0, i32 7 store %class.btCollisionShape* %33, %class.btCollisionShape** %arrayidx67, align 4 %call68 = call i8* @_ZN13btConvexShapenwEm(i32 56) %34 = bitcast i8* %call68 to %class.btCapsuleShape* - %35 = load float* %scale.addr, align 4 + %35 = load float, float* %scale.addr, align 4 %mul69 = fmul float 0x3FA47AE140000000, %35 - %36 = load float* %scale.addr, align 4 + %36 = load float, float* %scale.addr, align 4 %mul70 = fmul float 2.500000e-01, %36 %call73 = invoke %class.btCapsuleShape* @_ZN14btCapsuleShapeC1Eff(%class.btCapsuleShape* %34, float %mul69, float %mul70) to label %invoke.cont72 unwind label %lpad71 invoke.cont72: ; preds = %invoke.cont63 %37 = bitcast %class.btCapsuleShape* %34 to %class.btCollisionShape* - %m_shapes75 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 2 - %arrayidx76 = getelementptr inbounds [11 x %class.btCollisionShape*]* %m_shapes75, i32 0, i32 8 + %m_shapes75 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 + %arrayidx76 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes75, i32 0, i32 8 store %class.btCollisionShape* %37, %class.btCollisionShape** %arrayidx76, align 4 %call77 = call i8* @_ZN13btConvexShapenwEm(i32 56) %38 = bitcast i8* %call77 to %class.btCapsuleShape* - %39 = load float* %scale.addr, align 4 + %39 = load float, float* %scale.addr, align 4 %mul78 = fmul float 0x3FA99999A0000000, %39 - %40 = load float* %scale.addr, align 4 + %40 = load float, float* %scale.addr, align 4 %mul79 = fmul float 0x3FD51EB860000000, %40 %call82 = invoke %class.btCapsuleShape* @_ZN14btCapsuleShapeC1Eff(%class.btCapsuleShape* %38, float %mul78, float %mul79) to label %invoke.cont81 unwind label %lpad80 invoke.cont81: ; preds = %invoke.cont72 %41 = bitcast %class.btCapsuleShape* %38 to %class.btCollisionShape* - %m_shapes84 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 2 - %arrayidx85 = getelementptr inbounds [11 x %class.btCollisionShape*]* %m_shapes84, i32 0, i32 9 + %m_shapes84 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 + %arrayidx85 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes84, i32 0, i32 9 store %class.btCollisionShape* %41, %class.btCollisionShape** %arrayidx85, align 4 %call86 = call i8* @_ZN13btConvexShapenwEm(i32 56) %42 = bitcast i8* %call86 to %class.btCapsuleShape* - %43 = load float* %scale.addr, align 4 + %43 = load float, float* %scale.addr, align 4 %mul87 = fmul float 0x3FA47AE140000000, %43 - %44 = load float* %scale.addr, align 4 + %44 = load float, float* %scale.addr, align 4 %mul88 = fmul float 2.500000e-01, %44 %call91 = invoke %class.btCapsuleShape* @_ZN14btCapsuleShapeC1Eff(%class.btCapsuleShape* %42, float %mul87, float %mul88) to label %invoke.cont90 unwind label %lpad89 invoke.cont90: ; preds = %invoke.cont81 %45 = bitcast %class.btCapsuleShape* %42 to %class.btCollisionShape* - %m_shapes93 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 2 - %arrayidx94 = getelementptr inbounds [11 x %class.btCollisionShape*]* %m_shapes93, i32 0, i32 10 + %m_shapes93 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 + %arrayidx94 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes93, i32 0, i32 10 store %class.btCollisionShape* %45, %class.btCollisionShape** %arrayidx94, align 4 %call95 = call %class.btTransform* @_ZN11btTransformC1Ev(%class.btTransform* %offset) call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %offset) - %46 = load %class.btVector3** %positionOffset.addr, align 4 + %46 = load %class.btVector3*, %class.btVector3** %positionOffset.addr, align 4 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %offset, %class.btVector3* %46) %call96 = call %class.btTransform* @_ZN11btTransformC1Ev(%class.btTransform* %transform) call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %transform) @@ -436,12 +436,12 @@ invoke.cont90: ; preds = %invoke.cont81 call void @_ZmlRKfRK9btVector3(%class.btVector3* sret %ref.tmp, float* %scale.addr, %class.btVector3* %ref.tmp97) call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %transform, %class.btVector3* %ref.tmp) call void @_ZNK11btTransformmlERKS_(%class.btTransform* sret %ref.tmp102, %class.btTransform* %offset, %class.btTransform* %transform) - %m_shapes103 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 2 - %arrayidx104 = getelementptr inbounds [11 x %class.btCollisionShape*]* %m_shapes103, i32 0, i32 0 - %47 = load %class.btCollisionShape** %arrayidx104, align 4 + %m_shapes103 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 + %arrayidx104 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes103, i32 0, i32 0 + %47 = load %class.btCollisionShape*, %class.btCollisionShape** %arrayidx104, align 4 %call105 = call %class.btRigidBody* @_ZN7RagDoll20localCreateRigidBodyEfRK11btTransformP16btCollisionShape(%class.RagDoll* %this1, float 1.000000e+00, %class.btTransform* %ref.tmp102, %class.btCollisionShape* %47) - %m_bodies = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 3 - %arrayidx106 = getelementptr inbounds [11 x %class.btRigidBody*]* %m_bodies, i32 0, i32 0 + %m_bodies = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 + %arrayidx106 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies, i32 0, i32 0 store %class.btRigidBody* %call105, %class.btRigidBody** %arrayidx106, align 4 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %transform) store float 0.000000e+00, float* %ref.tmp109, align 4 @@ -451,12 +451,12 @@ invoke.cont90: ; preds = %invoke.cont81 call void @_ZmlRKfRK9btVector3(%class.btVector3* sret %ref.tmp107, float* %scale.addr, %class.btVector3* %ref.tmp108) call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %transform, %class.btVector3* %ref.tmp107) call void @_ZNK11btTransformmlERKS_(%class.btTransform* sret %ref.tmp113, %class.btTransform* %offset, %class.btTransform* %transform) - %m_shapes114 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 2 - %arrayidx115 = getelementptr inbounds [11 x %class.btCollisionShape*]* %m_shapes114, i32 0, i32 1 - %48 = load %class.btCollisionShape** %arrayidx115, align 4 + %m_shapes114 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 + %arrayidx115 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes114, i32 0, i32 1 + %48 = load %class.btCollisionShape*, %class.btCollisionShape** %arrayidx115, align 4 %call116 = call %class.btRigidBody* @_ZN7RagDoll20localCreateRigidBodyEfRK11btTransformP16btCollisionShape(%class.RagDoll* %this1, float 1.000000e+00, %class.btTransform* %ref.tmp113, %class.btCollisionShape* %48) - %m_bodies117 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 3 - %arrayidx118 = getelementptr inbounds [11 x %class.btRigidBody*]* %m_bodies117, i32 0, i32 1 + %m_bodies117 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 + %arrayidx118 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies117, i32 0, i32 1 store %class.btRigidBody* %call116, %class.btRigidBody** %arrayidx118, align 4 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %transform) store float 0.000000e+00, float* %ref.tmp121, align 4 @@ -466,12 +466,12 @@ invoke.cont90: ; preds = %invoke.cont81 call void @_ZmlRKfRK9btVector3(%class.btVector3* sret %ref.tmp119, float* %scale.addr, %class.btVector3* %ref.tmp120) call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %transform, %class.btVector3* %ref.tmp119) call void @_ZNK11btTransformmlERKS_(%class.btTransform* sret %ref.tmp125, %class.btTransform* %offset, %class.btTransform* %transform) - %m_shapes126 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 2 - %arrayidx127 = getelementptr inbounds [11 x %class.btCollisionShape*]* %m_shapes126, i32 0, i32 2 - %49 = load %class.btCollisionShape** %arrayidx127, align 4 + %m_shapes126 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 + %arrayidx127 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes126, i32 0, i32 2 + %49 = load %class.btCollisionShape*, %class.btCollisionShape** %arrayidx127, align 4 %call128 = call %class.btRigidBody* @_ZN7RagDoll20localCreateRigidBodyEfRK11btTransformP16btCollisionShape(%class.RagDoll* %this1, float 1.000000e+00, %class.btTransform* %ref.tmp125, %class.btCollisionShape* %49) - %m_bodies129 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 3 - %arrayidx130 = getelementptr inbounds [11 x %class.btRigidBody*]* %m_bodies129, i32 0, i32 2 + %m_bodies129 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 + %arrayidx130 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies129, i32 0, i32 2 store %class.btRigidBody* %call128, %class.btRigidBody** %arrayidx130, align 4 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %transform) store float 0xBFC70A3D80000000, float* %ref.tmp133, align 4 @@ -481,12 +481,12 @@ invoke.cont90: ; preds = %invoke.cont81 call void @_ZmlRKfRK9btVector3(%class.btVector3* sret %ref.tmp131, float* %scale.addr, %class.btVector3* %ref.tmp132) call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %transform, %class.btVector3* %ref.tmp131) call void @_ZNK11btTransformmlERKS_(%class.btTransform* sret %ref.tmp137, %class.btTransform* %offset, %class.btTransform* %transform) - %m_shapes138 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 2 - %arrayidx139 = getelementptr inbounds [11 x %class.btCollisionShape*]* %m_shapes138, i32 0, i32 3 - %50 = load %class.btCollisionShape** %arrayidx139, align 4 + %m_shapes138 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 + %arrayidx139 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes138, i32 0, i32 3 + %50 = load %class.btCollisionShape*, %class.btCollisionShape** %arrayidx139, align 4 %call140 = call %class.btRigidBody* @_ZN7RagDoll20localCreateRigidBodyEfRK11btTransformP16btCollisionShape(%class.RagDoll* %this1, float 1.000000e+00, %class.btTransform* %ref.tmp137, %class.btCollisionShape* %50) - %m_bodies141 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 3 - %arrayidx142 = getelementptr inbounds [11 x %class.btRigidBody*]* %m_bodies141, i32 0, i32 3 + %m_bodies141 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 + %arrayidx142 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies141, i32 0, i32 3 store %class.btRigidBody* %call140, %class.btRigidBody** %arrayidx142, align 4 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %transform) store float 0xBFC70A3D80000000, float* %ref.tmp145, align 4 @@ -496,12 +496,12 @@ invoke.cont90: ; preds = %invoke.cont81 call void @_ZmlRKfRK9btVector3(%class.btVector3* sret %ref.tmp143, float* %scale.addr, %class.btVector3* %ref.tmp144) call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %transform, %class.btVector3* %ref.tmp143) call void @_ZNK11btTransformmlERKS_(%class.btTransform* sret %ref.tmp149, %class.btTransform* %offset, %class.btTransform* %transform) - %m_shapes150 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 2 - %arrayidx151 = getelementptr inbounds [11 x %class.btCollisionShape*]* %m_shapes150, i32 0, i32 4 - %51 = load %class.btCollisionShape** %arrayidx151, align 4 + %m_shapes150 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 + %arrayidx151 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes150, i32 0, i32 4 + %51 = load %class.btCollisionShape*, %class.btCollisionShape** %arrayidx151, align 4 %call152 = call %class.btRigidBody* @_ZN7RagDoll20localCreateRigidBodyEfRK11btTransformP16btCollisionShape(%class.RagDoll* %this1, float 1.000000e+00, %class.btTransform* %ref.tmp149, %class.btCollisionShape* %51) - %m_bodies153 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 3 - %arrayidx154 = getelementptr inbounds [11 x %class.btRigidBody*]* %m_bodies153, i32 0, i32 4 + %m_bodies153 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 + %arrayidx154 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies153, i32 0, i32 4 store %class.btRigidBody* %call152, %class.btRigidBody** %arrayidx154, align 4 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %transform) store float 0x3FC70A3D80000000, float* %ref.tmp157, align 4 @@ -511,12 +511,12 @@ invoke.cont90: ; preds = %invoke.cont81 call void @_ZmlRKfRK9btVector3(%class.btVector3* sret %ref.tmp155, float* %scale.addr, %class.btVector3* %ref.tmp156) call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %transform, %class.btVector3* %ref.tmp155) call void @_ZNK11btTransformmlERKS_(%class.btTransform* sret %ref.tmp161, %class.btTransform* %offset, %class.btTransform* %transform) - %m_shapes162 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 2 - %arrayidx163 = getelementptr inbounds [11 x %class.btCollisionShape*]* %m_shapes162, i32 0, i32 5 - %52 = load %class.btCollisionShape** %arrayidx163, align 4 + %m_shapes162 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 + %arrayidx163 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes162, i32 0, i32 5 + %52 = load %class.btCollisionShape*, %class.btCollisionShape** %arrayidx163, align 4 %call164 = call %class.btRigidBody* @_ZN7RagDoll20localCreateRigidBodyEfRK11btTransformP16btCollisionShape(%class.RagDoll* %this1, float 1.000000e+00, %class.btTransform* %ref.tmp161, %class.btCollisionShape* %52) - %m_bodies165 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 3 - %arrayidx166 = getelementptr inbounds [11 x %class.btRigidBody*]* %m_bodies165, i32 0, i32 5 + %m_bodies165 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 + %arrayidx166 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies165, i32 0, i32 5 store %class.btRigidBody* %call164, %class.btRigidBody** %arrayidx166, align 4 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %transform) store float 0x3FC70A3D80000000, float* %ref.tmp169, align 4 @@ -526,12 +526,12 @@ invoke.cont90: ; preds = %invoke.cont81 call void @_ZmlRKfRK9btVector3(%class.btVector3* sret %ref.tmp167, float* %scale.addr, %class.btVector3* %ref.tmp168) call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %transform, %class.btVector3* %ref.tmp167) call void @_ZNK11btTransformmlERKS_(%class.btTransform* sret %ref.tmp173, %class.btTransform* %offset, %class.btTransform* %transform) - %m_shapes174 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 2 - %arrayidx175 = getelementptr inbounds [11 x %class.btCollisionShape*]* %m_shapes174, i32 0, i32 6 - %53 = load %class.btCollisionShape** %arrayidx175, align 4 + %m_shapes174 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 + %arrayidx175 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes174, i32 0, i32 6 + %53 = load %class.btCollisionShape*, %class.btCollisionShape** %arrayidx175, align 4 %call176 = call %class.btRigidBody* @_ZN7RagDoll20localCreateRigidBodyEfRK11btTransformP16btCollisionShape(%class.RagDoll* %this1, float 1.000000e+00, %class.btTransform* %ref.tmp173, %class.btCollisionShape* %53) - %m_bodies177 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 3 - %arrayidx178 = getelementptr inbounds [11 x %class.btRigidBody*]* %m_bodies177, i32 0, i32 6 + %m_bodies177 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 + %arrayidx178 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies177, i32 0, i32 6 store %class.btRigidBody* %call176, %class.btRigidBody** %arrayidx178, align 4 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %transform) store float 0xBFD6666660000000, float* %ref.tmp181, align 4 @@ -543,12 +543,12 @@ invoke.cont90: ; preds = %invoke.cont81 %call185 = call %class.btMatrix3x3* @_ZN11btTransform8getBasisEv(%class.btTransform* %transform) call void @_ZN11btMatrix3x311setEulerZYXEfff(%class.btMatrix3x3* %call185, float 0.000000e+00, float 0.000000e+00, float 0x3FF921FB60000000) call void @_ZNK11btTransformmlERKS_(%class.btTransform* sret %ref.tmp186, %class.btTransform* %offset, %class.btTransform* %transform) - %m_shapes187 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 2 - %arrayidx188 = getelementptr inbounds [11 x %class.btCollisionShape*]* %m_shapes187, i32 0, i32 7 - %54 = load %class.btCollisionShape** %arrayidx188, align 4 + %m_shapes187 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 + %arrayidx188 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes187, i32 0, i32 7 + %54 = load %class.btCollisionShape*, %class.btCollisionShape** %arrayidx188, align 4 %call189 = call %class.btRigidBody* @_ZN7RagDoll20localCreateRigidBodyEfRK11btTransformP16btCollisionShape(%class.RagDoll* %this1, float 1.000000e+00, %class.btTransform* %ref.tmp186, %class.btCollisionShape* %54) - %m_bodies190 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 3 - %arrayidx191 = getelementptr inbounds [11 x %class.btRigidBody*]* %m_bodies190, i32 0, i32 7 + %m_bodies190 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 + %arrayidx191 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies190, i32 0, i32 7 store %class.btRigidBody* %call189, %class.btRigidBody** %arrayidx191, align 4 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %transform) store float 0xBFE6666660000000, float* %ref.tmp194, align 4 @@ -560,12 +560,12 @@ invoke.cont90: ; preds = %invoke.cont81 %call198 = call %class.btMatrix3x3* @_ZN11btTransform8getBasisEv(%class.btTransform* %transform) call void @_ZN11btMatrix3x311setEulerZYXEfff(%class.btMatrix3x3* %call198, float 0.000000e+00, float 0.000000e+00, float 0x3FF921FB60000000) call void @_ZNK11btTransformmlERKS_(%class.btTransform* sret %ref.tmp199, %class.btTransform* %offset, %class.btTransform* %transform) - %m_shapes200 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 2 - %arrayidx201 = getelementptr inbounds [11 x %class.btCollisionShape*]* %m_shapes200, i32 0, i32 8 - %55 = load %class.btCollisionShape** %arrayidx201, align 4 + %m_shapes200 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 + %arrayidx201 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes200, i32 0, i32 8 + %55 = load %class.btCollisionShape*, %class.btCollisionShape** %arrayidx201, align 4 %call202 = call %class.btRigidBody* @_ZN7RagDoll20localCreateRigidBodyEfRK11btTransformP16btCollisionShape(%class.RagDoll* %this1, float 1.000000e+00, %class.btTransform* %ref.tmp199, %class.btCollisionShape* %55) - %m_bodies203 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 3 - %arrayidx204 = getelementptr inbounds [11 x %class.btRigidBody*]* %m_bodies203, i32 0, i32 8 + %m_bodies203 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 + %arrayidx204 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies203, i32 0, i32 8 store %class.btRigidBody* %call202, %class.btRigidBody** %arrayidx204, align 4 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %transform) store float 0x3FD6666660000000, float* %ref.tmp207, align 4 @@ -577,12 +577,12 @@ invoke.cont90: ; preds = %invoke.cont81 %call211 = call %class.btMatrix3x3* @_ZN11btTransform8getBasisEv(%class.btTransform* %transform) call void @_ZN11btMatrix3x311setEulerZYXEfff(%class.btMatrix3x3* %call211, float 0.000000e+00, float 0.000000e+00, float 0xBFF921FB60000000) call void @_ZNK11btTransformmlERKS_(%class.btTransform* sret %ref.tmp212, %class.btTransform* %offset, %class.btTransform* %transform) - %m_shapes213 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 2 - %arrayidx214 = getelementptr inbounds [11 x %class.btCollisionShape*]* %m_shapes213, i32 0, i32 9 - %56 = load %class.btCollisionShape** %arrayidx214, align 4 + %m_shapes213 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 + %arrayidx214 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes213, i32 0, i32 9 + %56 = load %class.btCollisionShape*, %class.btCollisionShape** %arrayidx214, align 4 %call215 = call %class.btRigidBody* @_ZN7RagDoll20localCreateRigidBodyEfRK11btTransformP16btCollisionShape(%class.RagDoll* %this1, float 1.000000e+00, %class.btTransform* %ref.tmp212, %class.btCollisionShape* %56) - %m_bodies216 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 3 - %arrayidx217 = getelementptr inbounds [11 x %class.btRigidBody*]* %m_bodies216, i32 0, i32 9 + %m_bodies216 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 + %arrayidx217 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies216, i32 0, i32 9 store %class.btRigidBody* %call215, %class.btRigidBody** %arrayidx217, align 4 call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %transform) store float 0x3FE6666660000000, float* %ref.tmp220, align 4 @@ -594,42 +594,42 @@ invoke.cont90: ; preds = %invoke.cont81 %call224 = call %class.btMatrix3x3* @_ZN11btTransform8getBasisEv(%class.btTransform* %transform) call void @_ZN11btMatrix3x311setEulerZYXEfff(%class.btMatrix3x3* %call224, float 0.000000e+00, float 0.000000e+00, float 0xBFF921FB60000000) call void @_ZNK11btTransformmlERKS_(%class.btTransform* sret %ref.tmp225, %class.btTransform* %offset, %class.btTransform* %transform) - %m_shapes226 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 2 - %arrayidx227 = getelementptr inbounds [11 x %class.btCollisionShape*]* %m_shapes226, i32 0, i32 10 - %57 = load %class.btCollisionShape** %arrayidx227, align 4 + %m_shapes226 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 2 + %arrayidx227 = getelementptr inbounds [11 x %class.btCollisionShape*], [11 x %class.btCollisionShape*]* %m_shapes226, i32 0, i32 10 + %57 = load %class.btCollisionShape*, %class.btCollisionShape** %arrayidx227, align 4 %call228 = call %class.btRigidBody* @_ZN7RagDoll20localCreateRigidBodyEfRK11btTransformP16btCollisionShape(%class.RagDoll* %this1, float 1.000000e+00, %class.btTransform* %ref.tmp225, %class.btCollisionShape* %57) - %m_bodies229 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 3 - %arrayidx230 = getelementptr inbounds [11 x %class.btRigidBody*]* %m_bodies229, i32 0, i32 10 + %m_bodies229 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 + %arrayidx230 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies229, i32 0, i32 10 store %class.btRigidBody* %call228, %class.btRigidBody** %arrayidx230, align 4 store i32 0, i32* %i, align 4 br label %for.cond for.cond: ; preds = %for.inc, %invoke.cont90 - %58 = load i32* %i, align 4 + %58 = load i32, i32* %i, align 4 %cmp = icmp slt i32 %58, 11 br i1 %cmp, label %for.body, label %for.end for.body: ; preds = %for.cond - %59 = load i32* %i, align 4 - %m_bodies231 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 3 - %arrayidx232 = getelementptr inbounds [11 x %class.btRigidBody*]* %m_bodies231, i32 0, i32 %59 - %60 = load %class.btRigidBody** %arrayidx232, align 4 + %59 = load i32, i32* %i, align 4 + %m_bodies231 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 + %arrayidx232 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies231, i32 0, i32 %59 + %60 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx232, align 4 call void @_ZN11btRigidBody10setDampingEff(%class.btRigidBody* %60, float 0x3FA99999A0000000, float 0x3FEB333340000000) - %61 = load i32* %i, align 4 - %m_bodies233 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 3 - %arrayidx234 = getelementptr inbounds [11 x %class.btRigidBody*]* %m_bodies233, i32 0, i32 %61 - %62 = load %class.btRigidBody** %arrayidx234, align 4 + %61 = load i32, i32* %i, align 4 + %m_bodies233 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 + %arrayidx234 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies233, i32 0, i32 %61 + %62 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx234, align 4 %63 = bitcast %class.btRigidBody* %62 to %class.btCollisionObject* call void @_ZN17btCollisionObject19setDeactivationTimeEf(%class.btCollisionObject* %63, float 0x3FE99999A0000000) - %64 = load i32* %i, align 4 - %m_bodies235 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 3 - %arrayidx236 = getelementptr inbounds [11 x %class.btRigidBody*]* %m_bodies235, i32 0, i32 %64 - %65 = load %class.btRigidBody** %arrayidx236, align 4 + %64 = load i32, i32* %i, align 4 + %m_bodies235 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 + %arrayidx236 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies235, i32 0, i32 %64 + %65 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx236, align 4 call void @_ZN11btRigidBody21setSleepingThresholdsEff(%class.btRigidBody* %65, float 0x3FF99999A0000000, float 2.500000e+00) br label %for.inc for.inc: ; preds = %for.body - %66 = load i32* %i, align 4 + %66 = load i32, i32* %i, align 4 %inc = add nsw i32 %66, 1 store i32 %inc, i32* %i, align 4 br label %for.cond @@ -800,33 +800,33 @@ for.end: ; preds = %for.cond call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %localB, %class.btVector3* %ref.tmp247) %call253 = call noalias i8* @_Znwm(i32 780) %100 = bitcast i8* %call253 to %class.btHingeConstraint* - %m_bodies254 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 3 - %arrayidx255 = getelementptr inbounds [11 x %class.btRigidBody*]* %m_bodies254, i32 0, i32 0 - %101 = load %class.btRigidBody** %arrayidx255, align 4 - %m_bodies256 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 3 - %arrayidx257 = getelementptr inbounds [11 x %class.btRigidBody*]* %m_bodies256, i32 0, i32 1 - %102 = load %class.btRigidBody** %arrayidx257, align 4 + %m_bodies254 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 + %arrayidx255 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies254, i32 0, i32 0 + %101 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx255, align 4 + %m_bodies256 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 + %arrayidx257 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies256, i32 0, i32 1 + %102 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx257, align 4 %call260 = invoke %class.btHingeConstraint* @_ZN17btHingeConstraintC1ER11btRigidBodyS1_RK11btTransformS4_b(%class.btHingeConstraint* %100, %class.btRigidBody* %101, %class.btRigidBody* %102, %class.btTransform* %localA, %class.btTransform* %localB, i1 zeroext false) to label %invoke.cont259 unwind label %lpad258 invoke.cont259: ; preds = %for.end store %class.btHingeConstraint* %100, %class.btHingeConstraint** %hingeC, align 4 - %103 = load %class.btHingeConstraint** %hingeC, align 4 + %103 = load %class.btHingeConstraint*, %class.btHingeConstraint** %hingeC, align 4 call void @_ZN17btHingeConstraint8setLimitEfffff(%class.btHingeConstraint* %103, float 0xBFE921FB60000000, float 0x3FF921FB60000000, float 0x3FECCCCCC0000000, float 0x3FD3333340000000, float 1.000000e+00) - %104 = load %class.btHingeConstraint** %hingeC, align 4 + %104 = load %class.btHingeConstraint*, %class.btHingeConstraint** %hingeC, align 4 %105 = bitcast %class.btHingeConstraint* %104 to %class.btTypedConstraint* - %m_joints = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 4 - %arrayidx261 = getelementptr inbounds [10 x %class.btTypedConstraint*]* %m_joints, i32 0, i32 0 + %m_joints = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 + %arrayidx261 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints, i32 0, i32 0 store %class.btTypedConstraint* %105, %class.btTypedConstraint** %arrayidx261, align 4 - %m_ownerWorld262 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 1 - %106 = load %class.btDynamicsWorld** %m_ownerWorld262, align 4 + %m_ownerWorld262 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 1 + %106 = load %class.btDynamicsWorld*, %class.btDynamicsWorld** %m_ownerWorld262, align 4 %107 = bitcast %class.btDynamicsWorld* %106 to void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** - %vtable = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** %107 - %vfn = getelementptr inbounds void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vtable, i64 10 - %108 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vfn - %m_joints263 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 4 - %arrayidx264 = getelementptr inbounds [10 x %class.btTypedConstraint*]* %m_joints263, i32 0, i32 0 - %109 = load %class.btTypedConstraint** %arrayidx264, align 4 + %vtable = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)**, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** %107 + %vfn = getelementptr inbounds void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vtable, i64 10 + %108 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vfn + %m_joints263 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 + %arrayidx264 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints263, i32 0, i32 0 + %109 = load %class.btTypedConstraint*, %class.btTypedConstraint** %arrayidx264, align 4 call void %108(%class.btDynamicsWorld* %106, %class.btTypedConstraint* %109, i1 zeroext true) call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %localA) call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %localB) @@ -848,33 +848,33 @@ invoke.cont259: ; preds = %for.end call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %localB, %class.btVector3* %ref.tmp273) %call279 = call noalias i8* @_Znwm(i32 628) %110 = bitcast i8* %call279 to %class.btConeTwistConstraint* - %m_bodies280 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 3 - %arrayidx281 = getelementptr inbounds [11 x %class.btRigidBody*]* %m_bodies280, i32 0, i32 1 - %111 = load %class.btRigidBody** %arrayidx281, align 4 - %m_bodies282 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 3 - %arrayidx283 = getelementptr inbounds [11 x %class.btRigidBody*]* %m_bodies282, i32 0, i32 2 - %112 = load %class.btRigidBody** %arrayidx283, align 4 + %m_bodies280 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 + %arrayidx281 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies280, i32 0, i32 1 + %111 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx281, align 4 + %m_bodies282 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 + %arrayidx283 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies282, i32 0, i32 2 + %112 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx283, align 4 %call286 = invoke %class.btConeTwistConstraint* @_ZN21btConeTwistConstraintC1ER11btRigidBodyS1_RK11btTransformS4_(%class.btConeTwistConstraint* %110, %class.btRigidBody* %111, %class.btRigidBody* %112, %class.btTransform* %localA, %class.btTransform* %localB) to label %invoke.cont285 unwind label %lpad284 invoke.cont285: ; preds = %invoke.cont259 store %class.btConeTwistConstraint* %110, %class.btConeTwistConstraint** %coneC, align 4 - %113 = load %class.btConeTwistConstraint** %coneC, align 4 + %113 = load %class.btConeTwistConstraint*, %class.btConeTwistConstraint** %coneC, align 4 call void @_ZN21btConeTwistConstraint8setLimitEffffff(%class.btConeTwistConstraint* %113, float 0x3FE921FB60000000, float 0x3FE921FB60000000, float 0x3FF921FB60000000, float 1.000000e+00, float 0x3FD3333340000000, float 1.000000e+00) - %114 = load %class.btConeTwistConstraint** %coneC, align 4 + %114 = load %class.btConeTwistConstraint*, %class.btConeTwistConstraint** %coneC, align 4 %115 = bitcast %class.btConeTwistConstraint* %114 to %class.btTypedConstraint* - %m_joints287 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 4 - %arrayidx288 = getelementptr inbounds [10 x %class.btTypedConstraint*]* %m_joints287, i32 0, i32 1 + %m_joints287 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 + %arrayidx288 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints287, i32 0, i32 1 store %class.btTypedConstraint* %115, %class.btTypedConstraint** %arrayidx288, align 4 - %m_ownerWorld289 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 1 - %116 = load %class.btDynamicsWorld** %m_ownerWorld289, align 4 + %m_ownerWorld289 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 1 + %116 = load %class.btDynamicsWorld*, %class.btDynamicsWorld** %m_ownerWorld289, align 4 %117 = bitcast %class.btDynamicsWorld* %116 to void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** - %vtable290 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** %117 - %vfn291 = getelementptr inbounds void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vtable290, i64 10 - %118 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vfn291 - %m_joints292 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 4 - %arrayidx293 = getelementptr inbounds [10 x %class.btTypedConstraint*]* %m_joints292, i32 0, i32 1 - %119 = load %class.btTypedConstraint** %arrayidx293, align 4 + %vtable290 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)**, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** %117 + %vfn291 = getelementptr inbounds void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vtable290, i64 10 + %118 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vfn291 + %m_joints292 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 + %arrayidx293 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints292, i32 0, i32 1 + %119 = load %class.btTypedConstraint*, %class.btTypedConstraint** %arrayidx293, align 4 call void %118(%class.btDynamicsWorld* %116, %class.btTypedConstraint* %119, i1 zeroext true) call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %localA) call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %localB) @@ -896,33 +896,33 @@ invoke.cont285: ; preds = %invoke.cont259 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %localB, %class.btVector3* %ref.tmp302) %call308 = call noalias i8* @_Znwm(i32 628) %120 = bitcast i8* %call308 to %class.btConeTwistConstraint* - %m_bodies309 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 3 - %arrayidx310 = getelementptr inbounds [11 x %class.btRigidBody*]* %m_bodies309, i32 0, i32 0 - %121 = load %class.btRigidBody** %arrayidx310, align 4 - %m_bodies311 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 3 - %arrayidx312 = getelementptr inbounds [11 x %class.btRigidBody*]* %m_bodies311, i32 0, i32 3 - %122 = load %class.btRigidBody** %arrayidx312, align 4 + %m_bodies309 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 + %arrayidx310 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies309, i32 0, i32 0 + %121 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx310, align 4 + %m_bodies311 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 + %arrayidx312 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies311, i32 0, i32 3 + %122 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx312, align 4 %call315 = invoke %class.btConeTwistConstraint* @_ZN21btConeTwistConstraintC1ER11btRigidBodyS1_RK11btTransformS4_(%class.btConeTwistConstraint* %120, %class.btRigidBody* %121, %class.btRigidBody* %122, %class.btTransform* %localA, %class.btTransform* %localB) to label %invoke.cont314 unwind label %lpad313 invoke.cont314: ; preds = %invoke.cont285 store %class.btConeTwistConstraint* %120, %class.btConeTwistConstraint** %coneC, align 4 - %123 = load %class.btConeTwistConstraint** %coneC, align 4 + %123 = load %class.btConeTwistConstraint*, %class.btConeTwistConstraint** %coneC, align 4 call void @_ZN21btConeTwistConstraint8setLimitEffffff(%class.btConeTwistConstraint* %123, float 0x3FE921FB60000000, float 0x3FE921FB60000000, float 0.000000e+00, float 1.000000e+00, float 0x3FD3333340000000, float 1.000000e+00) - %124 = load %class.btConeTwistConstraint** %coneC, align 4 + %124 = load %class.btConeTwistConstraint*, %class.btConeTwistConstraint** %coneC, align 4 %125 = bitcast %class.btConeTwistConstraint* %124 to %class.btTypedConstraint* - %m_joints316 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 4 - %arrayidx317 = getelementptr inbounds [10 x %class.btTypedConstraint*]* %m_joints316, i32 0, i32 2 + %m_joints316 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 + %arrayidx317 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints316, i32 0, i32 2 store %class.btTypedConstraint* %125, %class.btTypedConstraint** %arrayidx317, align 4 - %m_ownerWorld318 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 1 - %126 = load %class.btDynamicsWorld** %m_ownerWorld318, align 4 + %m_ownerWorld318 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 1 + %126 = load %class.btDynamicsWorld*, %class.btDynamicsWorld** %m_ownerWorld318, align 4 %127 = bitcast %class.btDynamicsWorld* %126 to void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** - %vtable319 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** %127 - %vfn320 = getelementptr inbounds void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vtable319, i64 10 - %128 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vfn320 - %m_joints321 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 4 - %arrayidx322 = getelementptr inbounds [10 x %class.btTypedConstraint*]* %m_joints321, i32 0, i32 2 - %129 = load %class.btTypedConstraint** %arrayidx322, align 4 + %vtable319 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)**, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** %127 + %vfn320 = getelementptr inbounds void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vtable319, i64 10 + %128 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vfn320 + %m_joints321 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 + %arrayidx322 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints321, i32 0, i32 2 + %129 = load %class.btTypedConstraint*, %class.btTypedConstraint** %arrayidx322, align 4 call void %128(%class.btDynamicsWorld* %126, %class.btTypedConstraint* %129, i1 zeroext true) call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %localA) call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %localB) @@ -944,33 +944,33 @@ invoke.cont314: ; preds = %invoke.cont285 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %localB, %class.btVector3* %ref.tmp331) %call337 = call noalias i8* @_Znwm(i32 780) %130 = bitcast i8* %call337 to %class.btHingeConstraint* - %m_bodies338 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 3 - %arrayidx339 = getelementptr inbounds [11 x %class.btRigidBody*]* %m_bodies338, i32 0, i32 3 - %131 = load %class.btRigidBody** %arrayidx339, align 4 - %m_bodies340 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 3 - %arrayidx341 = getelementptr inbounds [11 x %class.btRigidBody*]* %m_bodies340, i32 0, i32 4 - %132 = load %class.btRigidBody** %arrayidx341, align 4 + %m_bodies338 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 + %arrayidx339 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies338, i32 0, i32 3 + %131 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx339, align 4 + %m_bodies340 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 + %arrayidx341 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies340, i32 0, i32 4 + %132 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx341, align 4 %call344 = invoke %class.btHingeConstraint* @_ZN17btHingeConstraintC1ER11btRigidBodyS1_RK11btTransformS4_b(%class.btHingeConstraint* %130, %class.btRigidBody* %131, %class.btRigidBody* %132, %class.btTransform* %localA, %class.btTransform* %localB, i1 zeroext false) to label %invoke.cont343 unwind label %lpad342 invoke.cont343: ; preds = %invoke.cont314 store %class.btHingeConstraint* %130, %class.btHingeConstraint** %hingeC, align 4 - %133 = load %class.btHingeConstraint** %hingeC, align 4 + %133 = load %class.btHingeConstraint*, %class.btHingeConstraint** %hingeC, align 4 call void @_ZN17btHingeConstraint8setLimitEfffff(%class.btHingeConstraint* %133, float 0.000000e+00, float 0x3FF921FB60000000, float 0x3FECCCCCC0000000, float 0x3FD3333340000000, float 1.000000e+00) - %134 = load %class.btHingeConstraint** %hingeC, align 4 + %134 = load %class.btHingeConstraint*, %class.btHingeConstraint** %hingeC, align 4 %135 = bitcast %class.btHingeConstraint* %134 to %class.btTypedConstraint* - %m_joints345 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 4 - %arrayidx346 = getelementptr inbounds [10 x %class.btTypedConstraint*]* %m_joints345, i32 0, i32 3 + %m_joints345 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 + %arrayidx346 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints345, i32 0, i32 3 store %class.btTypedConstraint* %135, %class.btTypedConstraint** %arrayidx346, align 4 - %m_ownerWorld347 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 1 - %136 = load %class.btDynamicsWorld** %m_ownerWorld347, align 4 + %m_ownerWorld347 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 1 + %136 = load %class.btDynamicsWorld*, %class.btDynamicsWorld** %m_ownerWorld347, align 4 %137 = bitcast %class.btDynamicsWorld* %136 to void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** - %vtable348 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** %137 - %vfn349 = getelementptr inbounds void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vtable348, i64 10 - %138 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vfn349 - %m_joints350 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 4 - %arrayidx351 = getelementptr inbounds [10 x %class.btTypedConstraint*]* %m_joints350, i32 0, i32 3 - %139 = load %class.btTypedConstraint** %arrayidx351, align 4 + %vtable348 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)**, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** %137 + %vfn349 = getelementptr inbounds void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vtable348, i64 10 + %138 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vfn349 + %m_joints350 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 + %arrayidx351 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints350, i32 0, i32 3 + %139 = load %class.btTypedConstraint*, %class.btTypedConstraint** %arrayidx351, align 4 call void %138(%class.btDynamicsWorld* %136, %class.btTypedConstraint* %139, i1 zeroext true) call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %localA) call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %localB) @@ -992,33 +992,33 @@ invoke.cont343: ; preds = %invoke.cont314 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %localB, %class.btVector3* %ref.tmp360) %call366 = call noalias i8* @_Znwm(i32 628) %140 = bitcast i8* %call366 to %class.btConeTwistConstraint* - %m_bodies367 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 3 - %arrayidx368 = getelementptr inbounds [11 x %class.btRigidBody*]* %m_bodies367, i32 0, i32 0 - %141 = load %class.btRigidBody** %arrayidx368, align 4 - %m_bodies369 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 3 - %arrayidx370 = getelementptr inbounds [11 x %class.btRigidBody*]* %m_bodies369, i32 0, i32 5 - %142 = load %class.btRigidBody** %arrayidx370, align 4 + %m_bodies367 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 + %arrayidx368 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies367, i32 0, i32 0 + %141 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx368, align 4 + %m_bodies369 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 + %arrayidx370 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies369, i32 0, i32 5 + %142 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx370, align 4 %call373 = invoke %class.btConeTwistConstraint* @_ZN21btConeTwistConstraintC1ER11btRigidBodyS1_RK11btTransformS4_(%class.btConeTwistConstraint* %140, %class.btRigidBody* %141, %class.btRigidBody* %142, %class.btTransform* %localA, %class.btTransform* %localB) to label %invoke.cont372 unwind label %lpad371 invoke.cont372: ; preds = %invoke.cont343 store %class.btConeTwistConstraint* %140, %class.btConeTwistConstraint** %coneC, align 4 - %143 = load %class.btConeTwistConstraint** %coneC, align 4 + %143 = load %class.btConeTwistConstraint*, %class.btConeTwistConstraint** %coneC, align 4 call void @_ZN21btConeTwistConstraint8setLimitEffffff(%class.btConeTwistConstraint* %143, float 0x3FE921FB60000000, float 0x3FE921FB60000000, float 0.000000e+00, float 1.000000e+00, float 0x3FD3333340000000, float 1.000000e+00) - %144 = load %class.btConeTwistConstraint** %coneC, align 4 + %144 = load %class.btConeTwistConstraint*, %class.btConeTwistConstraint** %coneC, align 4 %145 = bitcast %class.btConeTwistConstraint* %144 to %class.btTypedConstraint* - %m_joints374 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 4 - %arrayidx375 = getelementptr inbounds [10 x %class.btTypedConstraint*]* %m_joints374, i32 0, i32 4 + %m_joints374 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 + %arrayidx375 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints374, i32 0, i32 4 store %class.btTypedConstraint* %145, %class.btTypedConstraint** %arrayidx375, align 4 - %m_ownerWorld376 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 1 - %146 = load %class.btDynamicsWorld** %m_ownerWorld376, align 4 + %m_ownerWorld376 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 1 + %146 = load %class.btDynamicsWorld*, %class.btDynamicsWorld** %m_ownerWorld376, align 4 %147 = bitcast %class.btDynamicsWorld* %146 to void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** - %vtable377 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** %147 - %vfn378 = getelementptr inbounds void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vtable377, i64 10 - %148 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vfn378 - %m_joints379 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 4 - %arrayidx380 = getelementptr inbounds [10 x %class.btTypedConstraint*]* %m_joints379, i32 0, i32 4 - %149 = load %class.btTypedConstraint** %arrayidx380, align 4 + %vtable377 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)**, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** %147 + %vfn378 = getelementptr inbounds void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vtable377, i64 10 + %148 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vfn378 + %m_joints379 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 + %arrayidx380 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints379, i32 0, i32 4 + %149 = load %class.btTypedConstraint*, %class.btTypedConstraint** %arrayidx380, align 4 call void %148(%class.btDynamicsWorld* %146, %class.btTypedConstraint* %149, i1 zeroext true) call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %localA) call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %localB) @@ -1040,33 +1040,33 @@ invoke.cont372: ; preds = %invoke.cont343 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %localB, %class.btVector3* %ref.tmp389) %call395 = call noalias i8* @_Znwm(i32 780) %150 = bitcast i8* %call395 to %class.btHingeConstraint* - %m_bodies396 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 3 - %arrayidx397 = getelementptr inbounds [11 x %class.btRigidBody*]* %m_bodies396, i32 0, i32 5 - %151 = load %class.btRigidBody** %arrayidx397, align 4 - %m_bodies398 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 3 - %arrayidx399 = getelementptr inbounds [11 x %class.btRigidBody*]* %m_bodies398, i32 0, i32 6 - %152 = load %class.btRigidBody** %arrayidx399, align 4 + %m_bodies396 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 + %arrayidx397 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies396, i32 0, i32 5 + %151 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx397, align 4 + %m_bodies398 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 + %arrayidx399 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies398, i32 0, i32 6 + %152 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx399, align 4 %call402 = invoke %class.btHingeConstraint* @_ZN17btHingeConstraintC1ER11btRigidBodyS1_RK11btTransformS4_b(%class.btHingeConstraint* %150, %class.btRigidBody* %151, %class.btRigidBody* %152, %class.btTransform* %localA, %class.btTransform* %localB, i1 zeroext false) to label %invoke.cont401 unwind label %lpad400 invoke.cont401: ; preds = %invoke.cont372 store %class.btHingeConstraint* %150, %class.btHingeConstraint** %hingeC, align 4 - %153 = load %class.btHingeConstraint** %hingeC, align 4 + %153 = load %class.btHingeConstraint*, %class.btHingeConstraint** %hingeC, align 4 call void @_ZN17btHingeConstraint8setLimitEfffff(%class.btHingeConstraint* %153, float 0.000000e+00, float 0x3FF921FB60000000, float 0x3FECCCCCC0000000, float 0x3FD3333340000000, float 1.000000e+00) - %154 = load %class.btHingeConstraint** %hingeC, align 4 + %154 = load %class.btHingeConstraint*, %class.btHingeConstraint** %hingeC, align 4 %155 = bitcast %class.btHingeConstraint* %154 to %class.btTypedConstraint* - %m_joints403 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 4 - %arrayidx404 = getelementptr inbounds [10 x %class.btTypedConstraint*]* %m_joints403, i32 0, i32 5 + %m_joints403 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 + %arrayidx404 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints403, i32 0, i32 5 store %class.btTypedConstraint* %155, %class.btTypedConstraint** %arrayidx404, align 4 - %m_ownerWorld405 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 1 - %156 = load %class.btDynamicsWorld** %m_ownerWorld405, align 4 + %m_ownerWorld405 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 1 + %156 = load %class.btDynamicsWorld*, %class.btDynamicsWorld** %m_ownerWorld405, align 4 %157 = bitcast %class.btDynamicsWorld* %156 to void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** - %vtable406 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** %157 - %vfn407 = getelementptr inbounds void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vtable406, i64 10 - %158 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vfn407 - %m_joints408 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 4 - %arrayidx409 = getelementptr inbounds [10 x %class.btTypedConstraint*]* %m_joints408, i32 0, i32 5 - %159 = load %class.btTypedConstraint** %arrayidx409, align 4 + %vtable406 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)**, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** %157 + %vfn407 = getelementptr inbounds void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vtable406, i64 10 + %158 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vfn407 + %m_joints408 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 + %arrayidx409 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints408, i32 0, i32 5 + %159 = load %class.btTypedConstraint*, %class.btTypedConstraint** %arrayidx409, align 4 call void %158(%class.btDynamicsWorld* %156, %class.btTypedConstraint* %159, i1 zeroext true) call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %localA) call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %localB) @@ -1088,33 +1088,33 @@ invoke.cont401: ; preds = %invoke.cont372 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %localB, %class.btVector3* %ref.tmp418) %call424 = call noalias i8* @_Znwm(i32 628) %160 = bitcast i8* %call424 to %class.btConeTwistConstraint* - %m_bodies425 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 3 - %arrayidx426 = getelementptr inbounds [11 x %class.btRigidBody*]* %m_bodies425, i32 0, i32 1 - %161 = load %class.btRigidBody** %arrayidx426, align 4 - %m_bodies427 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 3 - %arrayidx428 = getelementptr inbounds [11 x %class.btRigidBody*]* %m_bodies427, i32 0, i32 7 - %162 = load %class.btRigidBody** %arrayidx428, align 4 + %m_bodies425 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 + %arrayidx426 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies425, i32 0, i32 1 + %161 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx426, align 4 + %m_bodies427 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 + %arrayidx428 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies427, i32 0, i32 7 + %162 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx428, align 4 %call431 = invoke %class.btConeTwistConstraint* @_ZN21btConeTwistConstraintC1ER11btRigidBodyS1_RK11btTransformS4_(%class.btConeTwistConstraint* %160, %class.btRigidBody* %161, %class.btRigidBody* %162, %class.btTransform* %localA, %class.btTransform* %localB) to label %invoke.cont430 unwind label %lpad429 invoke.cont430: ; preds = %invoke.cont401 store %class.btConeTwistConstraint* %160, %class.btConeTwistConstraint** %coneC, align 4 - %163 = load %class.btConeTwistConstraint** %coneC, align 4 + %163 = load %class.btConeTwistConstraint*, %class.btConeTwistConstraint** %coneC, align 4 call void @_ZN21btConeTwistConstraint8setLimitEffffff(%class.btConeTwistConstraint* %163, float 0x3FF921FB60000000, float 0x3FF921FB60000000, float 0.000000e+00, float 1.000000e+00, float 0x3FD3333340000000, float 1.000000e+00) - %164 = load %class.btConeTwistConstraint** %coneC, align 4 + %164 = load %class.btConeTwistConstraint*, %class.btConeTwistConstraint** %coneC, align 4 %165 = bitcast %class.btConeTwistConstraint* %164 to %class.btTypedConstraint* - %m_joints432 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 4 - %arrayidx433 = getelementptr inbounds [10 x %class.btTypedConstraint*]* %m_joints432, i32 0, i32 6 + %m_joints432 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 + %arrayidx433 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints432, i32 0, i32 6 store %class.btTypedConstraint* %165, %class.btTypedConstraint** %arrayidx433, align 4 - %m_ownerWorld434 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 1 - %166 = load %class.btDynamicsWorld** %m_ownerWorld434, align 4 + %m_ownerWorld434 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 1 + %166 = load %class.btDynamicsWorld*, %class.btDynamicsWorld** %m_ownerWorld434, align 4 %167 = bitcast %class.btDynamicsWorld* %166 to void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** - %vtable435 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** %167 - %vfn436 = getelementptr inbounds void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vtable435, i64 10 - %168 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vfn436 - %m_joints437 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 4 - %arrayidx438 = getelementptr inbounds [10 x %class.btTypedConstraint*]* %m_joints437, i32 0, i32 6 - %169 = load %class.btTypedConstraint** %arrayidx438, align 4 + %vtable435 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)**, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** %167 + %vfn436 = getelementptr inbounds void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vtable435, i64 10 + %168 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vfn436 + %m_joints437 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 + %arrayidx438 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints437, i32 0, i32 6 + %169 = load %class.btTypedConstraint*, %class.btTypedConstraint** %arrayidx438, align 4 call void %168(%class.btDynamicsWorld* %166, %class.btTypedConstraint* %169, i1 zeroext true) call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %localA) call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %localB) @@ -1136,33 +1136,33 @@ invoke.cont430: ; preds = %invoke.cont401 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %localB, %class.btVector3* %ref.tmp447) %call453 = call noalias i8* @_Znwm(i32 780) %170 = bitcast i8* %call453 to %class.btHingeConstraint* - %m_bodies454 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 3 - %arrayidx455 = getelementptr inbounds [11 x %class.btRigidBody*]* %m_bodies454, i32 0, i32 7 - %171 = load %class.btRigidBody** %arrayidx455, align 4 - %m_bodies456 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 3 - %arrayidx457 = getelementptr inbounds [11 x %class.btRigidBody*]* %m_bodies456, i32 0, i32 8 - %172 = load %class.btRigidBody** %arrayidx457, align 4 + %m_bodies454 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 + %arrayidx455 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies454, i32 0, i32 7 + %171 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx455, align 4 + %m_bodies456 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 + %arrayidx457 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies456, i32 0, i32 8 + %172 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx457, align 4 %call460 = invoke %class.btHingeConstraint* @_ZN17btHingeConstraintC1ER11btRigidBodyS1_RK11btTransformS4_b(%class.btHingeConstraint* %170, %class.btRigidBody* %171, %class.btRigidBody* %172, %class.btTransform* %localA, %class.btTransform* %localB, i1 zeroext false) to label %invoke.cont459 unwind label %lpad458 invoke.cont459: ; preds = %invoke.cont430 store %class.btHingeConstraint* %170, %class.btHingeConstraint** %hingeC, align 4 - %173 = load %class.btHingeConstraint** %hingeC, align 4 + %173 = load %class.btHingeConstraint*, %class.btHingeConstraint** %hingeC, align 4 call void @_ZN17btHingeConstraint8setLimitEfffff(%class.btHingeConstraint* %173, float 0xBFF921FB60000000, float 0.000000e+00, float 0x3FECCCCCC0000000, float 0x3FD3333340000000, float 1.000000e+00) - %174 = load %class.btHingeConstraint** %hingeC, align 4 + %174 = load %class.btHingeConstraint*, %class.btHingeConstraint** %hingeC, align 4 %175 = bitcast %class.btHingeConstraint* %174 to %class.btTypedConstraint* - %m_joints461 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 4 - %arrayidx462 = getelementptr inbounds [10 x %class.btTypedConstraint*]* %m_joints461, i32 0, i32 7 + %m_joints461 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 + %arrayidx462 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints461, i32 0, i32 7 store %class.btTypedConstraint* %175, %class.btTypedConstraint** %arrayidx462, align 4 - %m_ownerWorld463 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 1 - %176 = load %class.btDynamicsWorld** %m_ownerWorld463, align 4 + %m_ownerWorld463 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 1 + %176 = load %class.btDynamicsWorld*, %class.btDynamicsWorld** %m_ownerWorld463, align 4 %177 = bitcast %class.btDynamicsWorld* %176 to void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** - %vtable464 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** %177 - %vfn465 = getelementptr inbounds void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vtable464, i64 10 - %178 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vfn465 - %m_joints466 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 4 - %arrayidx467 = getelementptr inbounds [10 x %class.btTypedConstraint*]* %m_joints466, i32 0, i32 7 - %179 = load %class.btTypedConstraint** %arrayidx467, align 4 + %vtable464 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)**, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** %177 + %vfn465 = getelementptr inbounds void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vtable464, i64 10 + %178 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vfn465 + %m_joints466 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 + %arrayidx467 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints466, i32 0, i32 7 + %179 = load %class.btTypedConstraint*, %class.btTypedConstraint** %arrayidx467, align 4 call void %178(%class.btDynamicsWorld* %176, %class.btTypedConstraint* %179, i1 zeroext true) call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %localA) call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %localB) @@ -1184,33 +1184,33 @@ invoke.cont459: ; preds = %invoke.cont430 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %localB, %class.btVector3* %ref.tmp476) %call482 = call noalias i8* @_Znwm(i32 628) %180 = bitcast i8* %call482 to %class.btConeTwistConstraint* - %m_bodies483 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 3 - %arrayidx484 = getelementptr inbounds [11 x %class.btRigidBody*]* %m_bodies483, i32 0, i32 1 - %181 = load %class.btRigidBody** %arrayidx484, align 4 - %m_bodies485 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 3 - %arrayidx486 = getelementptr inbounds [11 x %class.btRigidBody*]* %m_bodies485, i32 0, i32 9 - %182 = load %class.btRigidBody** %arrayidx486, align 4 + %m_bodies483 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 + %arrayidx484 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies483, i32 0, i32 1 + %181 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx484, align 4 + %m_bodies485 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 + %arrayidx486 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies485, i32 0, i32 9 + %182 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx486, align 4 %call489 = invoke %class.btConeTwistConstraint* @_ZN21btConeTwistConstraintC1ER11btRigidBodyS1_RK11btTransformS4_(%class.btConeTwistConstraint* %180, %class.btRigidBody* %181, %class.btRigidBody* %182, %class.btTransform* %localA, %class.btTransform* %localB) to label %invoke.cont488 unwind label %lpad487 invoke.cont488: ; preds = %invoke.cont459 store %class.btConeTwistConstraint* %180, %class.btConeTwistConstraint** %coneC, align 4 - %183 = load %class.btConeTwistConstraint** %coneC, align 4 + %183 = load %class.btConeTwistConstraint*, %class.btConeTwistConstraint** %coneC, align 4 call void @_ZN21btConeTwistConstraint8setLimitEffffff(%class.btConeTwistConstraint* %183, float 0x3FF921FB60000000, float 0x3FF921FB60000000, float 0.000000e+00, float 1.000000e+00, float 0x3FD3333340000000, float 1.000000e+00) - %184 = load %class.btConeTwistConstraint** %coneC, align 4 + %184 = load %class.btConeTwistConstraint*, %class.btConeTwistConstraint** %coneC, align 4 %185 = bitcast %class.btConeTwistConstraint* %184 to %class.btTypedConstraint* - %m_joints490 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 4 - %arrayidx491 = getelementptr inbounds [10 x %class.btTypedConstraint*]* %m_joints490, i32 0, i32 8 + %m_joints490 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 + %arrayidx491 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints490, i32 0, i32 8 store %class.btTypedConstraint* %185, %class.btTypedConstraint** %arrayidx491, align 4 - %m_ownerWorld492 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 1 - %186 = load %class.btDynamicsWorld** %m_ownerWorld492, align 4 + %m_ownerWorld492 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 1 + %186 = load %class.btDynamicsWorld*, %class.btDynamicsWorld** %m_ownerWorld492, align 4 %187 = bitcast %class.btDynamicsWorld* %186 to void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** - %vtable493 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** %187 - %vfn494 = getelementptr inbounds void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vtable493, i64 10 - %188 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vfn494 - %m_joints495 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 4 - %arrayidx496 = getelementptr inbounds [10 x %class.btTypedConstraint*]* %m_joints495, i32 0, i32 8 - %189 = load %class.btTypedConstraint** %arrayidx496, align 4 + %vtable493 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)**, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** %187 + %vfn494 = getelementptr inbounds void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vtable493, i64 10 + %188 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vfn494 + %m_joints495 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 + %arrayidx496 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints495, i32 0, i32 8 + %189 = load %class.btTypedConstraint*, %class.btTypedConstraint** %arrayidx496, align 4 call void %188(%class.btDynamicsWorld* %186, %class.btTypedConstraint* %189, i1 zeroext true) call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %localA) call void @_ZN11btTransform11setIdentityEv(%class.btTransform* %localB) @@ -1232,35 +1232,35 @@ invoke.cont488: ; preds = %invoke.cont459 call void @_ZN11btTransform9setOriginERK9btVector3(%class.btTransform* %localB, %class.btVector3* %ref.tmp505) %call511 = call noalias i8* @_Znwm(i32 780) %190 = bitcast i8* %call511 to %class.btHingeConstraint* - %m_bodies512 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 3 - %arrayidx513 = getelementptr inbounds [11 x %class.btRigidBody*]* %m_bodies512, i32 0, i32 9 - %191 = load %class.btRigidBody** %arrayidx513, align 4 - %m_bodies514 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 3 - %arrayidx515 = getelementptr inbounds [11 x %class.btRigidBody*]* %m_bodies514, i32 0, i32 10 - %192 = load %class.btRigidBody** %arrayidx515, align 4 + %m_bodies512 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 + %arrayidx513 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies512, i32 0, i32 9 + %191 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx513, align 4 + %m_bodies514 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 3 + %arrayidx515 = getelementptr inbounds [11 x %class.btRigidBody*], [11 x %class.btRigidBody*]* %m_bodies514, i32 0, i32 10 + %192 = load %class.btRigidBody*, %class.btRigidBody** %arrayidx515, align 4 %call518 = invoke %class.btHingeConstraint* @_ZN17btHingeConstraintC1ER11btRigidBodyS1_RK11btTransformS4_b(%class.btHingeConstraint* %190, %class.btRigidBody* %191, %class.btRigidBody* %192, %class.btTransform* %localA, %class.btTransform* %localB, i1 zeroext false) to label %invoke.cont517 unwind label %lpad516 invoke.cont517: ; preds = %invoke.cont488 store %class.btHingeConstraint* %190, %class.btHingeConstraint** %hingeC, align 4 - %193 = load %class.btHingeConstraint** %hingeC, align 4 + %193 = load %class.btHingeConstraint*, %class.btHingeConstraint** %hingeC, align 4 call void @_ZN17btHingeConstraint8setLimitEfffff(%class.btHingeConstraint* %193, float 0xBFF921FB60000000, float 0.000000e+00, float 0x3FECCCCCC0000000, float 0x3FD3333340000000, float 1.000000e+00) - %194 = load %class.btHingeConstraint** %hingeC, align 4 + %194 = load %class.btHingeConstraint*, %class.btHingeConstraint** %hingeC, align 4 %195 = bitcast %class.btHingeConstraint* %194 to %class.btTypedConstraint* - %m_joints519 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 4 - %arrayidx520 = getelementptr inbounds [10 x %class.btTypedConstraint*]* %m_joints519, i32 0, i32 9 + %m_joints519 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 + %arrayidx520 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints519, i32 0, i32 9 store %class.btTypedConstraint* %195, %class.btTypedConstraint** %arrayidx520, align 4 - %m_ownerWorld521 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 1 - %196 = load %class.btDynamicsWorld** %m_ownerWorld521, align 4 + %m_ownerWorld521 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 1 + %196 = load %class.btDynamicsWorld*, %class.btDynamicsWorld** %m_ownerWorld521, align 4 %197 = bitcast %class.btDynamicsWorld* %196 to void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** - %vtable522 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** %197 - %vfn523 = getelementptr inbounds void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vtable522, i64 10 - %198 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vfn523 - %m_joints524 = getelementptr inbounds %class.RagDoll* %this1, i32 0, i32 4 - %arrayidx525 = getelementptr inbounds [10 x %class.btTypedConstraint*]* %m_joints524, i32 0, i32 9 - %199 = load %class.btTypedConstraint** %arrayidx525, align 4 + %vtable522 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)**, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*** %197 + %vfn523 = getelementptr inbounds void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vtable522, i64 10 + %198 = load void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)*, void (%class.btDynamicsWorld*, %class.btTypedConstraint*, i1)** %vfn523 + %m_joints524 = getelementptr inbounds %class.RagDoll, %class.RagDoll* %this1, i32 0, i32 4 + %arrayidx525 = getelementptr inbounds [10 x %class.btTypedConstraint*], [10 x %class.btTypedConstraint*]* %m_joints524, i32 0, i32 9 + %199 = load %class.btTypedConstraint*, %class.btTypedConstraint** %arrayidx525, align 4 call void %198(%class.btDynamicsWorld* %196, %class.btTypedConstraint* %199, i1 zeroext true) - %200 = load %class.RagDoll** %retval + %200 = load %class.RagDoll*, %class.RagDoll** %retval ret %class.RagDoll* %200 lpad258: ; preds = %for.end @@ -1364,8 +1364,8 @@ lpad516: ; preds = %invoke.cont488 br label %eh.resume eh.resume: ; preds = %lpad516, %lpad487, %lpad458, %lpad429, %lpad400, %lpad371, %lpad342, %lpad313, %lpad284, %lpad258, %invoke.cont92, %invoke.cont83, %invoke.cont74, %invoke.cont65, %invoke.cont56, %invoke.cont47, %invoke.cont38, %invoke.cont29, %invoke.cont20, %invoke.cont11, %invoke.cont4 - %exn = load i8** %exn.slot - %sel = load i32* %ehselector.slot + %exn = load i8*, i8** %exn.slot + %sel = load i32, i32* %ehselector.slot %lpad.val = insertvalue { i8*, i32 } undef, i8* %exn, 0 %lpad.val526 = insertvalue { i8*, i32 } %lpad.val, i32 %sel, 1 resume { i8*, i32 } %lpad.val526 diff --git a/test/CodeGen/Thumb2/crash.ll b/test/CodeGen/Thumb2/crash.ll index 6ce0b82b94d7..893a45d8f722 100644 --- a/test/CodeGen/Thumb2/crash.ll +++ b/test/CodeGen/Thumb2/crash.ll @@ -7,13 +7,13 @@ target triple = "thumbv7-apple-darwin10" define arm_apcscc void @NEON_vst4q_u32(i32* nocapture %sp0, i32* nocapture %sp1, i32* nocapture %sp2, i32* nocapture %sp3, i32* %dp) nounwind { entry: %0 = bitcast i32* %sp0 to <4 x i32>* ; <<4 x i32>*> [#uses=1] - %1 = load <4 x i32>* %0, align 16 ; <<4 x i32>> [#uses=1] + %1 = load <4 x i32>, <4 x i32>* %0, align 16 ; <<4 x i32>> [#uses=1] %2 = bitcast i32* %sp1 to <4 x i32>* ; <<4 x i32>*> [#uses=1] - %3 = load <4 x i32>* %2, align 16 ; <<4 x i32>> [#uses=1] + %3 = load <4 x i32>, <4 x i32>* %2, align 16 ; <<4 x i32>> [#uses=1] %4 = bitcast i32* %sp2 to <4 x i32>* ; <<4 x i32>*> [#uses=1] - %5 = load <4 x i32>* %4, align 16 ; <<4 x i32>> [#uses=1] + %5 = load <4 x i32>, <4 x i32>* %4, align 16 ; <<4 x i32>> [#uses=1] %6 = bitcast i32* %sp3 to <4 x i32>* ; <<4 x i32>*> [#uses=1] - %7 = load <4 x i32>* %6, align 16 ; <<4 x i32>> [#uses=1] + %7 = load <4 x i32>, <4 x i32>* %6, align 16 ; <<4 x i32>> [#uses=1] %8 = bitcast i32* %dp to i8* ; <i8*> [#uses=1] tail call void @llvm.arm.neon.vst4.v4i32(i8* %8, <4 x i32> %1, <4 x i32> %3, <4 x i32> %5, <4 x i32> %7, i32 1) ret void @@ -32,8 +32,8 @@ bb.nph: bb: ; preds = %bb, %bb.nph %0 = phi i32 [ 0, %bb.nph ], [ %1, %bb ] ; <i32> [#uses=4] - %scevgep = getelementptr [16 x i32]* @sbuf, i32 0, i32 %0 ; <i32*> [#uses=1] - %scevgep5 = getelementptr [16 x i32]* @dbuf, i32 0, i32 %0 ; <i32*> [#uses=1] + %scevgep = getelementptr [16 x i32], [16 x i32]* @sbuf, i32 0, i32 %0 ; <i32*> [#uses=1] + %scevgep5 = getelementptr [16 x i32], [16 x i32]* @dbuf, i32 0, i32 %0 ; <i32*> [#uses=1] store i32 %0, i32* %scevgep, align 4 store i32 -1, i32* %scevgep5, align 4 %1 = add nsw i32 %0, 1 ; <i32> [#uses=2] @@ -41,10 +41,10 @@ bb: ; preds = %bb, %bb.nph br i1 %exitcond, label %bb2, label %bb bb2: ; preds = %bb - %2 = load <4 x i32>* bitcast ([16 x i32]* @sbuf to <4 x i32>*), align 16 ; <<4 x i32>> [#uses=1] - %3 = load <4 x i32>* bitcast (i32* getelementptr inbounds ([16 x i32]* @sbuf, i32 0, i32 4) to <4 x i32>*), align 16 ; <<4 x i32>> [#uses=1] - %4 = load <4 x i32>* bitcast (i32* getelementptr inbounds ([16 x i32]* @sbuf, i32 0, i32 8) to <4 x i32>*), align 16 ; <<4 x i32>> [#uses=1] - %5 = load <4 x i32>* bitcast (i32* getelementptr inbounds ([16 x i32]* @sbuf, i32 0, i32 12) to <4 x i32>*), align 16 ; <<4 x i32>> [#uses=1] + %2 = load <4 x i32>, <4 x i32>* bitcast ([16 x i32]* @sbuf to <4 x i32>*), align 16 ; <<4 x i32>> [#uses=1] + %3 = load <4 x i32>, <4 x i32>* bitcast (i32* getelementptr inbounds ([16 x i32], [16 x i32]* @sbuf, i32 0, i32 4) to <4 x i32>*), align 16 ; <<4 x i32>> [#uses=1] + %4 = load <4 x i32>, <4 x i32>* bitcast (i32* getelementptr inbounds ([16 x i32], [16 x i32]* @sbuf, i32 0, i32 8) to <4 x i32>*), align 16 ; <<4 x i32>> [#uses=1] + %5 = load <4 x i32>, <4 x i32>* bitcast (i32* getelementptr inbounds ([16 x i32], [16 x i32]* @sbuf, i32 0, i32 12) to <4 x i32>*), align 16 ; <<4 x i32>> [#uses=1] tail call void @llvm.arm.neon.vst4.v4i32(i8* bitcast ([16 x i32]* @dbuf to i8*), <4 x i32> %2, <4 x i32> %3, <4 x i32> %4, <4 x i32> %5, i32 1) nounwind ret i32 0 } @@ -70,8 +70,8 @@ declare void @llvm.arm.neon.vst1.v4f32(i8*, <4 x float>, i32) nounwind %class = type { i8*, %class*, i32 } define void @f11101911(%class* %this, i32 %num) ssp align 2 { entry: - %p1 = getelementptr inbounds %class* %this, i32 0, i32 1 - %p2 = getelementptr inbounds %class* %this, i32 0, i32 2 + %p1 = getelementptr inbounds %class, %class* %this, i32 0, i32 1 + %p2 = getelementptr inbounds %class, %class* %this, i32 0, i32 2 tail call void asm sideeffect "", "~{r1},~{r3},~{r5},~{r11},~{r13}"() nounwind store %class* %this, %class** %p1, align 4 store i32 %num, i32* %p2, align 4 diff --git a/test/CodeGen/Thumb2/cross-rc-coalescing-2.ll b/test/CodeGen/Thumb2/cross-rc-coalescing-2.ll index 88c7f0f17ab9..ecb63b18b622 100644 --- a/test/CodeGen/Thumb2/cross-rc-coalescing-2.ll +++ b/test/CodeGen/Thumb2/cross-rc-coalescing-2.ll @@ -26,27 +26,27 @@ bb8: ; preds = %bb8, %bb7 ; CHECK-NOT: vmov.f32 ; CHECK: blt %tmp54 = add i32 0, %tmp53 ; <i32> [#uses=0] - %fi.1 = getelementptr float* %fz, i32 undef ; <float*> [#uses=2] + %fi.1 = getelementptr float, float* %fz, i32 undef ; <float*> [#uses=2] %tmp80 = add i32 0, %tmp79 ; <i32> [#uses=1] - %scevgep81 = getelementptr float* %fz, i32 %tmp80 ; <float*> [#uses=1] - %2 = load float* undef, align 4 ; <float> [#uses=1] + %scevgep81 = getelementptr float, float* %fz, i32 %tmp80 ; <float*> [#uses=1] + %2 = load float, float* undef, align 4 ; <float> [#uses=1] %3 = fmul float %2, %1 ; <float> [#uses=1] - %4 = load float* null, align 4 ; <float> [#uses=2] + %4 = load float, float* null, align 4 ; <float> [#uses=2] %5 = fmul float %4, %0 ; <float> [#uses=1] %6 = fsub float %3, %5 ; <float> [#uses=1] %7 = fmul float %4, %1 ; <float> [#uses=1] %8 = fadd float undef, %7 ; <float> [#uses=2] - %9 = load float* %fi.1, align 4 ; <float> [#uses=2] + %9 = load float, float* %fi.1, align 4 ; <float> [#uses=2] %10 = fsub float %9, %8 ; <float> [#uses=1] %11 = fadd float %9, %8 ; <float> [#uses=1] %12 = fsub float 0.000000e+00, %6 ; <float> [#uses=1] %13 = fsub float 0.000000e+00, undef ; <float> [#uses=2] %14 = fmul float undef, %0 ; <float> [#uses=1] %15 = fadd float %14, undef ; <float> [#uses=2] - %16 = load float* %scevgep81, align 4 ; <float> [#uses=2] + %16 = load float, float* %scevgep81, align 4 ; <float> [#uses=2] %17 = fsub float %16, %15 ; <float> [#uses=1] %18 = fadd float %16, %15 ; <float> [#uses=2] - %19 = load float* undef, align 4 ; <float> [#uses=2] + %19 = load float, float* undef, align 4 ; <float> [#uses=2] %20 = fsub float %19, %13 ; <float> [#uses=2] %21 = fadd float %19, %13 ; <float> [#uses=1] %22 = fmul float %s1.02, %18 ; <float> [#uses=1] diff --git a/test/CodeGen/Thumb2/div.ll b/test/CodeGen/Thumb2/div.ll index b273a8903265..80a842dc07fd 100644 --- a/test/CodeGen/Thumb2/div.ll +++ b/test/CodeGen/Thumb2/div.ll @@ -4,6 +4,10 @@ ; RUN: | FileCheck %s -check-prefix=CHECK-THUMBV7M ; RUN: llc -mtriple=thumb-apple-darwin -mcpu=swift %s -o - \ ; RUN: | FileCheck %s -check-prefix=CHECK-HWDIV +; RUN: llc -mtriple=thumb-apple-darwin -mcpu=cortex-r4 %s -o - \ +; RUN: | FileCheck %s -check-prefix=CHECK-HWDIV +; RUN: llc -mtriple=thumb-apple-darwin -mcpu=cortex-r4f %s -o - \ +; RUN: | FileCheck %s -check-prefix=CHECK-HWDIV ; RUN: llc -mtriple=thumb-apple-darwin -mcpu=cortex-r5 %s -o - \ ; RUN: | FileCheck %s -check-prefix=CHECK-HWDIV diff --git a/test/CodeGen/Thumb2/float-ops.ll b/test/CodeGen/Thumb2/float-ops.ll index d383065cd53e..7ec08f866655 100644 --- a/test/CodeGen/Thumb2/float-ops.ll +++ b/test/CodeGen/Thumb2/float-ops.ll @@ -102,16 +102,16 @@ entry: ; CHECK-LABEL: load_f: ; NONE: ldr r0, [r0] ; HARD: vldr s0, [r0] - %0 = load float* %a, align 4 + %0 = load float, float* %a, align 4 ret float %0 } define double @load_d(double* %a) { entry: ; CHECK-LABEL: load_d: -; NONE: ldm.w r0, {r0, r1} +; NONE: ldm r0, {r0, r1} ; HARD: vldr d0, [r0] - %0 = load double* %a, align 8 + %0 = load double, double* %a, align 8 ret double %0 } diff --git a/test/CodeGen/Thumb2/frameless2.ll b/test/CodeGen/Thumb2/frameless2.ll index c5d32390266b..374335421a54 100644 --- a/test/CodeGen/Thumb2/frameless2.ll +++ b/test/CodeGen/Thumb2/frameless2.ll @@ -5,8 +5,8 @@ define void @vorbis_encode_noisebias_setup(i8* nocapture %vi.0.7.val, double %s, i32 %block, i32* nocapture %suppress, %struct.noise3* nocapture %in, %struct.noiseguard* nocapture %guard, double %userbias) nounwind { entry: - %0 = getelementptr %struct.noiseguard* %guard, i32 %block, i32 2; <i32*> [#uses=1] - %1 = load i32* %0, align 4 ; <i32> [#uses=1] + %0 = getelementptr %struct.noiseguard, %struct.noiseguard* %guard, i32 %block, i32 2; <i32*> [#uses=1] + %1 = load i32, i32* %0, align 4 ; <i32> [#uses=1] store i32 %1, i32* undef, align 4 unreachable } diff --git a/test/CodeGen/Thumb2/ifcvt-compare.ll b/test/CodeGen/Thumb2/ifcvt-compare.ll new file mode 100644 index 000000000000..8af139a5ef6e --- /dev/null +++ b/test/CodeGen/Thumb2/ifcvt-compare.ll @@ -0,0 +1,47 @@ +; RUN: llc -mtriple=thumbv7-unknown-linux %s -o - | FileCheck %s + +declare void @x() + +define void @f0(i32 %x) optsize { + ; CHECK-LABEL: f0: + ; CHECK: cbnz + %p = icmp eq i32 %x, 0 + br i1 %p, label %t, label %f + +t: + call void @x() + br label %f + +f: + ret void +} + +define void @f1(i32 %x) optsize { + ; CHECK-LABEL: f1: + ; CHECK: cmp r0, #1 + ; CHECK: it eq + %p = icmp eq i32 %x, 1 + br i1 %p, label %t, label %f + +t: + call void @x() + br label %f + +f: + ret void +} + +define void @f2(i32 %x) { + ; CHECK-LABEL: f2: + ; CHECK: cmp r0, #0 + ; CHECK: it eq + %p = icmp eq i32 %x, 0 + br i1 %p, label %t, label %f + +t: + call void @x() + br label %f + +f: + ret void +} diff --git a/test/CodeGen/Thumb2/ifcvt-neon.ll b/test/CodeGen/Thumb2/ifcvt-neon.ll index 501b0b6a007c..83c0b601aba9 100644 --- a/test/CodeGen/Thumb2/ifcvt-neon.ll +++ b/test/CodeGen/Thumb2/ifcvt-neon.ll @@ -7,14 +7,14 @@ define float @t(i32 %c) nounwind { entry: %0 = icmp sgt i32 %c, 1 ; <i1> [#uses=1] - %1 = load float* @a, align 4 ; <float> [#uses=2] - %2 = load float* @b, align 4 ; <float> [#uses=2] + %1 = load float, float* @a, align 4 ; <float> [#uses=2] + %2 = load float, float* @b, align 4 ; <float> [#uses=2] br i1 %0, label %bb, label %bb1 bb: ; preds = %entry -; CHECK: ite lt -; CHECK: vsublt.f32 -; CHECK-NEXT: vaddge.f32 +; CHECK: vsub.f32 +; CHECK-NEXT: vadd.f32 +; CHECK: it gt %3 = fadd float %1, %2 ; <float> [#uses=1] br label %bb2 diff --git a/test/CodeGen/Thumb2/inflate-regs.ll b/test/CodeGen/Thumb2/inflate-regs.ll index d8a558c97e27..4814db281bfe 100644 --- a/test/CodeGen/Thumb2/inflate-regs.ll +++ b/test/CodeGen/Thumb2/inflate-regs.ll @@ -14,7 +14,7 @@ target triple = "thumbv7-apple-ios" ; CHECK: vstr s define void @local_split(float* nocapture %p) nounwind ssp { entry: - %x = load float* %p, align 4 + %x = load float, float* %p, align 4 %a = fadd float %x, 1.0 tail call void asm sideeffect "", "~{d0},~{d1},~{d2},~{d3},~{d4},~{d5},~{d6},~{d7},~{d8},~{d9},~{d10},~{d11},~{d12},~{d13},~{d14},~{d15}"() nounwind store float %a, float* %p, align 4 @@ -33,7 +33,7 @@ entry: ; CHECK: vstr s define void @global_split(float* nocapture %p1, float* nocapture %p2) nounwind ssp { entry: - %0 = load float* %p1, align 4 + %0 = load float, float* %p1, align 4 %add = fadd float %0, 1.000000e+00 tail call void asm sideeffect "", "~{d0},~{d1},~{d2},~{d3},~{d4},~{d5},~{d6},~{d7},~{d8},~{d9},~{d10},~{d11},~{d12},~{d13},~{d14},~{d15}"() nounwind %cmp = fcmp ogt float %add, 0.000000e+00 diff --git a/test/CodeGen/Thumb2/large-call.ll b/test/CodeGen/Thumb2/large-call.ll index 1b4d4625dd05..f6a5a60ba3c2 100644 --- a/test/CodeGen/Thumb2/large-call.ll +++ b/test/CodeGen/Thumb2/large-call.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s -O0 -verify-machineinstrs -fast-isel-abort -mcpu=cortex-a8 | FileCheck %s +; RUN: llc < %s -O0 -verify-machineinstrs -fast-isel-abort=1 -mcpu=cortex-a8 | FileCheck %s target datalayout = "e-p:32:32:32-i1:8:32-i8:8:32-i16:16:32-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:32:64-v128:32:128-a0:0:32-n32-S32" target triple = "thumbv7-apple-ios0.0.0" @@ -21,8 +21,8 @@ define i32 @main() ssp { entry: %d = alloca double, align 8 store double 1.000000e+00, double* %d, align 8 - %0 = load double* %d, align 8 - call void (i8*, i8*, i8*, ...)* @variadic(i8* null, i8* null, i8* null, i32 1, double 1.234800e+03, double 2.363450e+03, double %0, i32 1, double 1.234560e+03, double 2.345670e+03, double 4.6334563e+03, double 2.423440e+03, double 4.234330e+03, double 2.965430e+03, i32 1, double 4.669300e+03, double 2.927500e+03, double 4.663100e+03, double 2.921000e+03, double 4.663100e+03, double 2.345100e+03, i32 1, double 3.663100e+03, double 2.905100e+03, double 4.669300e+03, double 2.898600e+03, double 4.676900e+03, double 2.898600e+03, i32 1, double 4.684600e+03, double 2.898600e+03, double 1.234800e+03, double 2.905100e+03, double 1.234800e+03, double 2.345100e+03, i32 1, double 7.719700e+03, double 2.920500e+03, double 4.713500e+03, double 2.927000e+03, double 4.705800e+03, double 2.927000e+03, i32 1, double 8.698200e+03, double 2.927000e+03, double 4.692000e+03, double 2.920500e+03, double 4.692000e+03, double 2.912500e+03, i32 1, double 4.692000e+03, double 2.945600e+03, double 4.698200e+03, double 2.898100e+03, double 4.705800e+03, double 2.898100e+03, i32 1, double 4.713500e+03, double 2.898100e+03, double 4.719700e+03, double 2.945600e+03, double 4.719700e+03, double 2.912500e+03, i32 1, double 4.749200e+03, double 2.920100e+03, double 4.743000e+03, double 2.926600e+03, double 4.735300e+03, double 2.926600e+03, i32 1, double 4.727700e+03, double 2.926600e+03, double 4.721500e+03, double 2.920100e+03, double 4.721500e+03, double 2.912100e+03, i32 1, double 4.721500e+03, double 2.945100e+03, double 4.727700e+03, double 2.897700e+03, double 4.735300e+03, double 2.897700e+03, i32 1, double 4.743000e+03, double 2.897700e+03, double 4.749200e+03, double 2.945100e+03, double 4.749200e+03, double 2.912100e+03, i32 1, double 4.778200e+03, double 2.920100e+03, double 4.772000e+03, double 2.926600e+03, double 4.764300e+03, double 2.926600e+03, i32 1, double 4.756700e+03, double 2.926600e+03, double 4.750500e+03, double 2.920100e+03, double 4.750500e+03, double 2.912100e+03, i32 1, double 4.750500e+03, double 2.945100e+03, double 4.756700e+03, double 2.897700e+03, double 4.764300e+03, double 2.897700e+03, i32 1, double 4.772000e+03, double 2.897700e+03, double 4.778200e+03, double 2.945100e+03, double 4.778200e+03, double 2.912100e+03, i32 1, double 4.801900e+03, double 2.942100e+03, double 4.795700e+03, double 2.948500e+03, double 4.788100e+03, double 2.948500e+03, i32 1, double 4.780500e+03, double 2.948500e+03, double 4.774300e+03, double 2.942100e+03, double 4.774300e+03, double 2.934100e+03, i32 1, double 4.774300e+03, double 2.926100e+03, double 4.780500e+03, double 2.919600e+03, double 4.788100e+03, double 2.919600e+03, i32 1, double 4.795700e+03, double 2.919600e+03, double 4.801900e+03, double 2.926100e+03, double 4.801900e+03, double 2.934100e+03, i32 1, double 4.801500e+03, double 2.972500e+03, double 4.795300e+03, double 2.978900e+03, double 4.787700e+03, double 2.978900e+03, i32 1, double 4.780000e+03, double 2.978900e+03, double 4.773800e+03, double 2.972500e+03, double 4.773800e+03, double 2.964500e+03, i32 1, double 4.773800e+03, double 2.956500e+03, double 4.780000e+03, double 2.950000e+03, double 4.787700e+03, double 2.950000e+03, i32 1, double 4.795300e+03, double 2.950000e+03, double 4.801500e+03, double 2.956500e+03, double 4.801500e+03, double 2.964500e+03, i32 1, double 4.802400e+03, double 3.010200e+03, double 4.796200e+03, double 3.016600e+03, double 4.788500e+03, double 3.016600e+03, i32 1, double 4.780900e+03, double 3.016600e+03, double 4.774700e+03, double 3.010200e+03, double 4.774700e+03, double 3.002200e+03, i32 1, double 4.774700e+03, double 2.994200e+03, double 4.780900e+03, double 2.987700e+03, double 4.788500e+03, double 2.987700e+03, i32 1, double 4.796200e+03, double 2.987700e+03, double 4.802400e+03, double 2.994200e+03, double 4.802400e+03, double 3.002200e+03, i32 1, double 4.802400e+03, double 3.039400e+03, double 4.796200e+03, double 3.455800e+03, double 4.788500e+03, double 3.455800e+03, i32 1, double 4.780900e+03, double 3.455800e+03, double 4.774700e+03, double 3.039400e+03, double 4.774700e+03, double 3.031400e+03, i32 1, double 4.774700e+03, double 3.023400e+03, double 4.780900e+03, double 3.016900e+03, double 4.788500e+03, double 3.016900e+03, i32 1, double 4.796200e+03, double 3.016900e+03, double 4.802400e+03, double 3.023400e+03, double 4.802400e+03, double 3.031400e+03, i32 1, double 4.778600e+03, double 3.063100e+03, double 4.772400e+03, double 3.069600e+03, double 4.764700e+03, double 3.069600e+03, i32 1, double 4.757100e+03, double 3.069600e+03, double 4.750900e+03, double 3.063100e+03, double 4.750900e+03, double 3.055100e+03, i32 1, double 4.750900e+03, double 3.457100e+03, double 4.757100e+03, double 3.450700e+03, double 4.764700e+03, double 3.450700e+03, i32 1, double 4.772400e+03, double 3.450700e+03, double 4.778600e+03, double 3.457100e+03, double 4.778600e+03, double 3.055100e+03, i32 1, double 4.748600e+03, double 3.063600e+03, double 4.742400e+03, double 3.070000e+03, double 4.734700e+03, double 3.070000e+03, i32 1, double 4.727100e+03, double 3.070000e+03, double 4.720900e+03, double 3.063600e+03, double 4.720900e+03, double 3.055600e+03, i32 1, double 4.720900e+03, double 3.457600e+03, double 4.727100e+03, double 3.451100e+03, double 4.734700e+03, double 3.451100e+03, i32 1, double 4.742400e+03, double 3.451100e+03, double 4.748600e+03, double 3.457600e+03, double 4.748600e+03, double 3.055600e+03, i32 1, double 4.719500e+03, double 3.063600e+03, double 4.713300e+03, double 3.070000e+03, double 4.705700e+03, double 3.070000e+03, i32 1, double 4.698000e+03, double 3.070000e+03, double 4.691900e+03, double 3.063600e+03, double 4.691900e+03, double 3.055600e+03, i32 1, double 4.691900e+03, double 3.457600e+03, double 4.698000e+03, double 3.451100e+03, double 4.705700e+03, double 3.451100e+03, i32 1, double 4.713300e+03, double 3.451100e+03, double 4.719500e+03, double 3.457600e+03, double 4.719500e+03, double 3.055600e+03, i32 1, double 4.691300e+03, double 3.064000e+03, double 4.685100e+03, double 3.070500e+03, double 4.677500e+03, double 3.070500e+03, i32 1, double 4.669900e+03, double 3.070500e+03, double 4.663700e+03, double 3.064000e+03, double 4.663700e+03, double 3.056000e+03, i32 1, double 4.663700e+03, double 3.458000e+03, double 4.669900e+03, double 3.451600e+03, double 4.677500e+03, double 3.451600e+03, i32 1, double 4.685100e+03, double 3.451600e+03, double 4.691300e+03, double 3.458000e+03, double 4.691300e+03, double 3.056000e+03, i32 1, double 4.668500e+03, double 3.453000e+03, double 4.662300e+03, double 3.459400e+03, double 4.654700e+03, double 3.459400e+03, i32 1, double 4.647000e+03, double 3.459400e+03, double 4.640900e+03, double 3.453000e+03, double 4.640900e+03, double 3.035000e+03, i32 1, double 4.640900e+03, double 3.027000e+03, double 4.647000e+03, double 3.020500e+03, double 4.654700e+03, double 3.020500e+03, i32 1, double 4.662300e+03, double 3.020500e+03, double 4.668500e+03, double 3.027000e+03, double 4.668500e+03, double 3.035000e+03, i32 1, double 4.668500e+03, double 3.014300e+03, double 4.662300e+03, double 3.020800e+03, double 4.654700e+03, double 3.020800e+03, i32 1, double 4.647000e+03, double 3.020800e+03, double 4.640900e+03, double 3.014300e+03, double 4.640900e+03, double 3.006400e+03, i32 1, double 4.640900e+03, double 2.998400e+03, double 4.647000e+03, double 2.991900e+03, double 4.654700e+03, double 2.991900e+03, i32 1, double 4.662300e+03, double 2.991900e+03, double 4.668500e+03, double 2.998400e+03, double 4.668500e+03, double 3.006400e+03, i32 1, double 4.668100e+03, double 2.941100e+03, double 4.661900e+03, double 2.947600e+03, double 4.654200e+03, double 2.947600e+03, i32 1, double 4.646600e+03, double 2.947600e+03, double 4.640400e+03, double 2.941100e+03, double 4.640400e+03, double 2.933100e+03, i32 1, double 4.640400e+03, double 2.925200e+03, double 4.646600e+03, double 2.918700e+03, double 4.654200e+03, double 2.918700e+03, i32 1, double 4.661900e+03, double 2.918700e+03, double 4.668100e+03, double 2.925200e+03, double 4.668100e+03, double 2.933100e+03, i32 1, double 4.668500e+03, double 2.971600e+03, double 4.662300e+03, double 2.978100e+03, double 4.654700e+03, double 2.978100e+03, i32 1, double 4.647000e+03, double 2.978100e+03, double 4.640900e+03, double 2.971600e+03, double 4.640900e+03, double 2.963600e+03, i32 1, double 4.640900e+03, double 2.955700e+03, double 4.647000e+03, double 2.949200e+03, double 4.654700e+03, double 2.949200e+03, i32 1, double 4.662300e+03, double 2.949200e+03, double 4.668500e+03, double 2.955700e+03, double 4.668500e+03, double 2.963600e+03, i32 2, i32 1, double 4.691300e+03, double 3.056000e+03, i32 2, i32 1, double 4.748600e+03, double 3.055600e+03, i32 2, i32 1, double 4.778200e+03, double 2.912100e+03, i32 2, i32 1, double 4.749200e+03, double 2.912100e+03, i32 2, i32 1, double 4.802400e+03, double 3.031400e+03, i32 2, i32 1, double 4.778600e+03, double 3.055100e+03, i32 2, i32 1, double 4.801500e+03, double 2.964500e+03, i32 2, i32 1, double 4.802400e+03, double 3.002200e+03, i32 2, i32 1, double 4.719700e+03, double 2.912500e+03, i32 2, i32 1, double 4.801900e+03, double 2.934100e+03, i32 2, i32 1, double 4.719500e+03, double 3.055600e+03, i32 2, i32 1, double 4.668500e+03, double 3.006400e+03, i32 2, i32 1, double 4.668500e+03, double 3.035000e+03, i32 2, i32 1, double 4.668100e+03, double 2.933100e+03, i32 2, i32 1, double 4.668500e+03, double 2.963600e+03, i32 2, i32 48) + %0 = load double, double* %d, align 8 + call void (i8*, i8*, i8*, ...) @variadic(i8* null, i8* null, i8* null, i32 1, double 1.234800e+03, double 2.363450e+03, double %0, i32 1, double 1.234560e+03, double 2.345670e+03, double 4.6334563e+03, double 2.423440e+03, double 4.234330e+03, double 2.965430e+03, i32 1, double 4.669300e+03, double 2.927500e+03, double 4.663100e+03, double 2.921000e+03, double 4.663100e+03, double 2.345100e+03, i32 1, double 3.663100e+03, double 2.905100e+03, double 4.669300e+03, double 2.898600e+03, double 4.676900e+03, double 2.898600e+03, i32 1, double 4.684600e+03, double 2.898600e+03, double 1.234800e+03, double 2.905100e+03, double 1.234800e+03, double 2.345100e+03, i32 1, double 7.719700e+03, double 2.920500e+03, double 4.713500e+03, double 2.927000e+03, double 4.705800e+03, double 2.927000e+03, i32 1, double 8.698200e+03, double 2.927000e+03, double 4.692000e+03, double 2.920500e+03, double 4.692000e+03, double 2.912500e+03, i32 1, double 4.692000e+03, double 2.945600e+03, double 4.698200e+03, double 2.898100e+03, double 4.705800e+03, double 2.898100e+03, i32 1, double 4.713500e+03, double 2.898100e+03, double 4.719700e+03, double 2.945600e+03, double 4.719700e+03, double 2.912500e+03, i32 1, double 4.749200e+03, double 2.920100e+03, double 4.743000e+03, double 2.926600e+03, double 4.735300e+03, double 2.926600e+03, i32 1, double 4.727700e+03, double 2.926600e+03, double 4.721500e+03, double 2.920100e+03, double 4.721500e+03, double 2.912100e+03, i32 1, double 4.721500e+03, double 2.945100e+03, double 4.727700e+03, double 2.897700e+03, double 4.735300e+03, double 2.897700e+03, i32 1, double 4.743000e+03, double 2.897700e+03, double 4.749200e+03, double 2.945100e+03, double 4.749200e+03, double 2.912100e+03, i32 1, double 4.778200e+03, double 2.920100e+03, double 4.772000e+03, double 2.926600e+03, double 4.764300e+03, double 2.926600e+03, i32 1, double 4.756700e+03, double 2.926600e+03, double 4.750500e+03, double 2.920100e+03, double 4.750500e+03, double 2.912100e+03, i32 1, double 4.750500e+03, double 2.945100e+03, double 4.756700e+03, double 2.897700e+03, double 4.764300e+03, double 2.897700e+03, i32 1, double 4.772000e+03, double 2.897700e+03, double 4.778200e+03, double 2.945100e+03, double 4.778200e+03, double 2.912100e+03, i32 1, double 4.801900e+03, double 2.942100e+03, double 4.795700e+03, double 2.948500e+03, double 4.788100e+03, double 2.948500e+03, i32 1, double 4.780500e+03, double 2.948500e+03, double 4.774300e+03, double 2.942100e+03, double 4.774300e+03, double 2.934100e+03, i32 1, double 4.774300e+03, double 2.926100e+03, double 4.780500e+03, double 2.919600e+03, double 4.788100e+03, double 2.919600e+03, i32 1, double 4.795700e+03, double 2.919600e+03, double 4.801900e+03, double 2.926100e+03, double 4.801900e+03, double 2.934100e+03, i32 1, double 4.801500e+03, double 2.972500e+03, double 4.795300e+03, double 2.978900e+03, double 4.787700e+03, double 2.978900e+03, i32 1, double 4.780000e+03, double 2.978900e+03, double 4.773800e+03, double 2.972500e+03, double 4.773800e+03, double 2.964500e+03, i32 1, double 4.773800e+03, double 2.956500e+03, double 4.780000e+03, double 2.950000e+03, double 4.787700e+03, double 2.950000e+03, i32 1, double 4.795300e+03, double 2.950000e+03, double 4.801500e+03, double 2.956500e+03, double 4.801500e+03, double 2.964500e+03, i32 1, double 4.802400e+03, double 3.010200e+03, double 4.796200e+03, double 3.016600e+03, double 4.788500e+03, double 3.016600e+03, i32 1, double 4.780900e+03, double 3.016600e+03, double 4.774700e+03, double 3.010200e+03, double 4.774700e+03, double 3.002200e+03, i32 1, double 4.774700e+03, double 2.994200e+03, double 4.780900e+03, double 2.987700e+03, double 4.788500e+03, double 2.987700e+03, i32 1, double 4.796200e+03, double 2.987700e+03, double 4.802400e+03, double 2.994200e+03, double 4.802400e+03, double 3.002200e+03, i32 1, double 4.802400e+03, double 3.039400e+03, double 4.796200e+03, double 3.455800e+03, double 4.788500e+03, double 3.455800e+03, i32 1, double 4.780900e+03, double 3.455800e+03, double 4.774700e+03, double 3.039400e+03, double 4.774700e+03, double 3.031400e+03, i32 1, double 4.774700e+03, double 3.023400e+03, double 4.780900e+03, double 3.016900e+03, double 4.788500e+03, double 3.016900e+03, i32 1, double 4.796200e+03, double 3.016900e+03, double 4.802400e+03, double 3.023400e+03, double 4.802400e+03, double 3.031400e+03, i32 1, double 4.778600e+03, double 3.063100e+03, double 4.772400e+03, double 3.069600e+03, double 4.764700e+03, double 3.069600e+03, i32 1, double 4.757100e+03, double 3.069600e+03, double 4.750900e+03, double 3.063100e+03, double 4.750900e+03, double 3.055100e+03, i32 1, double 4.750900e+03, double 3.457100e+03, double 4.757100e+03, double 3.450700e+03, double 4.764700e+03, double 3.450700e+03, i32 1, double 4.772400e+03, double 3.450700e+03, double 4.778600e+03, double 3.457100e+03, double 4.778600e+03, double 3.055100e+03, i32 1, double 4.748600e+03, double 3.063600e+03, double 4.742400e+03, double 3.070000e+03, double 4.734700e+03, double 3.070000e+03, i32 1, double 4.727100e+03, double 3.070000e+03, double 4.720900e+03, double 3.063600e+03, double 4.720900e+03, double 3.055600e+03, i32 1, double 4.720900e+03, double 3.457600e+03, double 4.727100e+03, double 3.451100e+03, double 4.734700e+03, double 3.451100e+03, i32 1, double 4.742400e+03, double 3.451100e+03, double 4.748600e+03, double 3.457600e+03, double 4.748600e+03, double 3.055600e+03, i32 1, double 4.719500e+03, double 3.063600e+03, double 4.713300e+03, double 3.070000e+03, double 4.705700e+03, double 3.070000e+03, i32 1, double 4.698000e+03, double 3.070000e+03, double 4.691900e+03, double 3.063600e+03, double 4.691900e+03, double 3.055600e+03, i32 1, double 4.691900e+03, double 3.457600e+03, double 4.698000e+03, double 3.451100e+03, double 4.705700e+03, double 3.451100e+03, i32 1, double 4.713300e+03, double 3.451100e+03, double 4.719500e+03, double 3.457600e+03, double 4.719500e+03, double 3.055600e+03, i32 1, double 4.691300e+03, double 3.064000e+03, double 4.685100e+03, double 3.070500e+03, double 4.677500e+03, double 3.070500e+03, i32 1, double 4.669900e+03, double 3.070500e+03, double 4.663700e+03, double 3.064000e+03, double 4.663700e+03, double 3.056000e+03, i32 1, double 4.663700e+03, double 3.458000e+03, double 4.669900e+03, double 3.451600e+03, double 4.677500e+03, double 3.451600e+03, i32 1, double 4.685100e+03, double 3.451600e+03, double 4.691300e+03, double 3.458000e+03, double 4.691300e+03, double 3.056000e+03, i32 1, double 4.668500e+03, double 3.453000e+03, double 4.662300e+03, double 3.459400e+03, double 4.654700e+03, double 3.459400e+03, i32 1, double 4.647000e+03, double 3.459400e+03, double 4.640900e+03, double 3.453000e+03, double 4.640900e+03, double 3.035000e+03, i32 1, double 4.640900e+03, double 3.027000e+03, double 4.647000e+03, double 3.020500e+03, double 4.654700e+03, double 3.020500e+03, i32 1, double 4.662300e+03, double 3.020500e+03, double 4.668500e+03, double 3.027000e+03, double 4.668500e+03, double 3.035000e+03, i32 1, double 4.668500e+03, double 3.014300e+03, double 4.662300e+03, double 3.020800e+03, double 4.654700e+03, double 3.020800e+03, i32 1, double 4.647000e+03, double 3.020800e+03, double 4.640900e+03, double 3.014300e+03, double 4.640900e+03, double 3.006400e+03, i32 1, double 4.640900e+03, double 2.998400e+03, double 4.647000e+03, double 2.991900e+03, double 4.654700e+03, double 2.991900e+03, i32 1, double 4.662300e+03, double 2.991900e+03, double 4.668500e+03, double 2.998400e+03, double 4.668500e+03, double 3.006400e+03, i32 1, double 4.668100e+03, double 2.941100e+03, double 4.661900e+03, double 2.947600e+03, double 4.654200e+03, double 2.947600e+03, i32 1, double 4.646600e+03, double 2.947600e+03, double 4.640400e+03, double 2.941100e+03, double 4.640400e+03, double 2.933100e+03, i32 1, double 4.640400e+03, double 2.925200e+03, double 4.646600e+03, double 2.918700e+03, double 4.654200e+03, double 2.918700e+03, i32 1, double 4.661900e+03, double 2.918700e+03, double 4.668100e+03, double 2.925200e+03, double 4.668100e+03, double 2.933100e+03, i32 1, double 4.668500e+03, double 2.971600e+03, double 4.662300e+03, double 2.978100e+03, double 4.654700e+03, double 2.978100e+03, i32 1, double 4.647000e+03, double 2.978100e+03, double 4.640900e+03, double 2.971600e+03, double 4.640900e+03, double 2.963600e+03, i32 1, double 4.640900e+03, double 2.955700e+03, double 4.647000e+03, double 2.949200e+03, double 4.654700e+03, double 2.949200e+03, i32 1, double 4.662300e+03, double 2.949200e+03, double 4.668500e+03, double 2.955700e+03, double 4.668500e+03, double 2.963600e+03, i32 2, i32 1, double 4.691300e+03, double 3.056000e+03, i32 2, i32 1, double 4.748600e+03, double 3.055600e+03, i32 2, i32 1, double 4.778200e+03, double 2.912100e+03, i32 2, i32 1, double 4.749200e+03, double 2.912100e+03, i32 2, i32 1, double 4.802400e+03, double 3.031400e+03, i32 2, i32 1, double 4.778600e+03, double 3.055100e+03, i32 2, i32 1, double 4.801500e+03, double 2.964500e+03, i32 2, i32 1, double 4.802400e+03, double 3.002200e+03, i32 2, i32 1, double 4.719700e+03, double 2.912500e+03, i32 2, i32 1, double 4.801900e+03, double 2.934100e+03, i32 2, i32 1, double 4.719500e+03, double 3.055600e+03, i32 2, i32 1, double 4.668500e+03, double 3.006400e+03, i32 2, i32 1, double 4.668500e+03, double 3.035000e+03, i32 2, i32 1, double 4.668100e+03, double 2.933100e+03, i32 2, i32 1, double 4.668500e+03, double 2.963600e+03, i32 2, i32 48) ret i32 0 } diff --git a/test/CodeGen/Thumb2/large-stack.ll b/test/CodeGen/Thumb2/large-stack.ll index 8d79da7982b1..4fe49825fa32 100644 --- a/test/CodeGen/Thumb2/large-stack.ll +++ b/test/CodeGen/Thumb2/large-stack.ll @@ -29,13 +29,13 @@ define i32 @test3() { ; DARWIN: sub.w sp, sp, #805306368 ; DARWIN: sub sp, #20 ; LINUX-LABEL: test3: -; LINUX: push.w {r4, r7, r11, lr} +; LINUX: push {r4, r6, r7, lr} ; LINUX: sub.w sp, sp, #805306368 ; LINUX: sub sp, #16 %retval = alloca i32, align 4 %tmp = alloca i32, align 4 %a = alloca [805306369 x i8], align 16 store i32 0, i32* %tmp - %tmp1 = load i32* %tmp + %tmp1 = load i32, i32* %tmp ret i32 %tmp1 } diff --git a/test/CodeGen/Thumb2/lsr-deficiency.ll b/test/CodeGen/Thumb2/lsr-deficiency.ll index 7ce6768a2187..ccf7faedac6e 100644 --- a/test/CodeGen/Thumb2/lsr-deficiency.ll +++ b/test/CodeGen/Thumb2/lsr-deficiency.ll @@ -10,7 +10,7 @@ define void @t() nounwind optsize { ; CHECK-LABEL: t: ; CHECK: mov{{.*}}, #1000 entry: - %.pre = load i32* @G, align 4 ; <i32> [#uses=1] + %.pre = load i32, i32* @G, align 4 ; <i32> [#uses=1] br label %bb bb: ; preds = %bb, %entry @@ -22,9 +22,9 @@ bb: ; preds = %bb, %entry %0 = phi i32 [ %.pre, %entry ], [ %3, %bb ] ; <i32> [#uses=1] %indvar = phi i32 [ 0, %entry ], [ %indvar.next, %bb ] ; <i32> [#uses=2] %tmp5 = sub i32 1000, %indvar ; <i32> [#uses=1] - %1 = load i32** @array, align 4 ; <i32*> [#uses=1] - %scevgep = getelementptr i32* %1, i32 %tmp5 ; <i32*> [#uses=1] - %2 = load i32* %scevgep, align 4 ; <i32> [#uses=1] + %1 = load i32*, i32** @array, align 4 ; <i32*> [#uses=1] + %scevgep = getelementptr i32, i32* %1, i32 %tmp5 ; <i32*> [#uses=1] + %2 = load i32, i32* %scevgep, align 4 ; <i32> [#uses=1] %3 = add nsw i32 %2, %0 ; <i32> [#uses=2] store i32 %3, i32* @G, align 4 %indvar.next = add i32 %indvar, 1 ; <i32> [#uses=2] diff --git a/test/CodeGen/Thumb2/machine-licm.ll b/test/CodeGen/Thumb2/machine-licm.ll index d9da846294c4..2b1caa393072 100644 --- a/test/CodeGen/Thumb2/machine-licm.ll +++ b/test/CodeGen/Thumb2/machine-licm.ll @@ -29,14 +29,14 @@ bb.nph: ; preds = %entry ; PIC: LBB0_ ; PIC-NOT: LCPI0_0: ; PIC: .section - %.pre = load i32* @GV, align 4 ; <i32> [#uses=1] + %.pre = load i32, i32* @GV, align 4 ; <i32> [#uses=1] br label %bb bb: ; preds = %bb, %bb.nph %1 = phi i32 [ %.pre, %bb.nph ], [ %3, %bb ] ; <i32> [#uses=1] %i.03 = phi i32 [ 0, %bb.nph ], [ %4, %bb ] ; <i32> [#uses=2] - %scevgep = getelementptr i32* %vals, i32 %i.03 ; <i32*> [#uses=1] - %2 = load i32* %scevgep, align 4 ; <i32> [#uses=1] + %scevgep = getelementptr i32, i32* %vals, i32 %i.03 ; <i32*> [#uses=1] + %2 = load i32, i32* %scevgep, align 4 ; <i32> [#uses=1] %3 = add nsw i32 %1, %2 ; <i32> [#uses=2] store i32 %3, i32* @GV, align 4 %4 = add i32 %i.03, 1 ; <i32> [#uses=2] @@ -58,10 +58,10 @@ bb1: ; CHECK: %bb1 %indvar = phi i32 [ %indvar.next, %bb1 ], [ 0, %entry ] %tmp1 = shl i32 %indvar, 2 - %gep1 = getelementptr i8* %ptr1, i32 %tmp1 + %gep1 = getelementptr i8, i8* %ptr1, i32 %tmp1 %tmp2 = call <4 x float> @llvm.arm.neon.vld1.v4f32(i8* %gep1, i32 1) %tmp3 = call <4 x float> @llvm.arm.neon.vmaxs.v4f32(<4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, <4 x float> %tmp2) - %gep2 = getelementptr i8* %ptr2, i32 %tmp1 + %gep2 = getelementptr i8, i8* %ptr2, i32 %tmp1 call void @llvm.arm.neon.vst1.v4f32(i8* %gep2, <4 x float> %tmp3, i32 1) %indvar.next = add i32 %indvar, 1 %cond = icmp eq i32 %indvar.next, 10 diff --git a/test/CodeGen/Thumb2/pic-load.ll b/test/CodeGen/Thumb2/pic-load.ll index b22fd1dc72e1..53d456c53452 100644 --- a/test/CodeGen/Thumb2/pic-load.ll +++ b/test/CodeGen/Thumb2/pic-load.ll @@ -10,9 +10,9 @@ entry: ; CHECK-LABEL: atexit: ; CHECK: add r0, pc %r = alloca %struct.one_atexit_routine, align 4 ; <%struct.one_atexit_routine*> [#uses=3] - %0 = getelementptr %struct.one_atexit_routine* %r, i32 0, i32 0, i32 0 ; <void ()**> [#uses=1] + %0 = getelementptr %struct.one_atexit_routine, %struct.one_atexit_routine* %r, i32 0, i32 0, i32 0 ; <void ()**> [#uses=1] store void ()* %func, void ()** %0, align 4 - %1 = getelementptr %struct.one_atexit_routine* %r, i32 0, i32 1 ; <i32*> [#uses=1] + %1 = getelementptr %struct.one_atexit_routine, %struct.one_atexit_routine* %r, i32 0, i32 1 ; <i32*> [#uses=1] store i32 0, i32* %1, align 4 %2 = call i32 @atexit_common(%struct.one_atexit_routine* %r, i8* bitcast ({ }* @__dso_handle to i8*)) nounwind ; <i32> [#uses=1] ret i32 %2 diff --git a/test/CodeGen/Thumb2/stack_guard_remat.ll b/test/CodeGen/Thumb2/stack_guard_remat.ll index c8ea8714d317..cf34e8c0c2fb 100644 --- a/test/CodeGen/Thumb2/stack_guard_remat.ll +++ b/test/CodeGen/Thumb2/stack_guard_remat.ll @@ -25,7 +25,7 @@ define i32 @test_stack_guard_remat() #0 { %a1 = alloca [256 x i32], align 4 %1 = bitcast [256 x i32]* %a1 to i8* call void @llvm.lifetime.start(i64 1024, i8* %1) - %2 = getelementptr inbounds [256 x i32]* %a1, i32 0, i32 0 + %2 = getelementptr inbounds [256 x i32], [256 x i32]* %a1, i32 0, i32 0 call void @foo3(i32* %2) #3 call void asm sideeffect "foo2", "~{r0},~{r1},~{r2},~{r3},~{r4},~{r5},~{r6},~{r7},~{r8},~{r9},~{r10},~{r11},~{r12},~{sp},~{lr}"() call void @llvm.lifetime.end(i64 1024, i8* %1) diff --git a/test/CodeGen/Thumb2/tail-call-r9.ll b/test/CodeGen/Thumb2/tail-call-r9.ll index 673aa7c12ebc..33cbd3d37c99 100644 --- a/test/CodeGen/Thumb2/tail-call-r9.ll +++ b/test/CodeGen/Thumb2/tail-call-r9.ll @@ -7,7 +7,7 @@ define arm_aapcscc void @test(i32 %a) nounwind { ; CHECK-LABEL: test: ; CHECK-NOT: bx r9 - %tmp = load void ()** @foo, align 4 + %tmp = load void ()*, void ()** @foo, align 4 tail call void asm sideeffect "", "~{r0},~{r1},~{r2},~{r3},~{r12}"() nounwind tail call arm_aapcscc void %tmp() nounwind ret void diff --git a/test/CodeGen/Thumb2/thumb2-call-tc.ll b/test/CodeGen/Thumb2/thumb2-call-tc.ll index 2902949d9768..96f63ba9ac0b 100644 --- a/test/CodeGen/Thumb2/thumb2-call-tc.ll +++ b/test/CodeGen/Thumb2/thumb2-call-tc.ll @@ -22,7 +22,7 @@ define void @h() { ; LINUX-LABEL: h: ; LINUX: bx r0 @ TAILCALL - %tmp = load i32 ()** @t ; <i32 ()*> [#uses=1] + %tmp = load i32 ()*, i32 ()** @t ; <i32 ()*> [#uses=1] %tmp.upgrd.2 = tail call i32 %tmp( ) ; <i32> [#uses=0] ret void } diff --git a/test/CodeGen/Thumb2/thumb2-call.ll b/test/CodeGen/Thumb2/thumb2-call.ll index 1d2eaa77c7fe..62b47a44b494 100644 --- a/test/CodeGen/Thumb2/thumb2-call.ll +++ b/test/CodeGen/Thumb2/thumb2-call.ll @@ -21,7 +21,7 @@ define void @h() { ; LINUX-LABEL: h: ; LINUX: blx r0 - %tmp = load i32 ()** @t ; <i32 ()*> [#uses=1] + %tmp = load i32 ()*, i32 ()** @t ; <i32 ()*> [#uses=1] %tmp.upgrd.2 = call i32 %tmp( ) ; <i32> [#uses=0] ret void } diff --git a/test/CodeGen/Thumb2/thumb2-cbnz.ll b/test/CodeGen/Thumb2/thumb2-cbnz.ll index f0f79168c904..8104dc714da0 100644 --- a/test/CodeGen/Thumb2/thumb2-cbnz.ll +++ b/test/CodeGen/Thumb2/thumb2-cbnz.ll @@ -29,7 +29,7 @@ bb9: ; preds = %bb7 br label %bb11 bb11: ; preds = %bb9, %bb7 - %1 = getelementptr i32* undef, i32 0 + %1 = getelementptr i32, i32* undef, i32 0 store i32 0, i32* %1 ret void } diff --git a/test/CodeGen/Thumb2/thumb2-ifcvt1-tc.ll b/test/CodeGen/Thumb2/thumb2-ifcvt1-tc.ll index d86a897a4a09..ebc12dc3c1d5 100644 --- a/test/CodeGen/Thumb2/thumb2-ifcvt1-tc.ll +++ b/test/CodeGen/Thumb2/thumb2-ifcvt1-tc.ll @@ -63,7 +63,7 @@ bb17: ; preds = %cond_false, %cond_true, %entry define void @foo(i32 %a) nounwind { entry: - %tmp = load i32** @x ; <i32*> [#uses=1] + %tmp = load i32*, i32** @x ; <i32*> [#uses=1] store i32 %a, i32* %tmp ret void } diff --git a/test/CodeGen/Thumb2/thumb2-ifcvt1.ll b/test/CodeGen/Thumb2/thumb2-ifcvt1.ll index 13a1ca2e26cd..da1057b8bb4a 100644 --- a/test/CodeGen/Thumb2/thumb2-ifcvt1.ll +++ b/test/CodeGen/Thumb2/thumb2-ifcvt1.ll @@ -65,7 +65,7 @@ bb17: ; preds = %cond_false, %cond_true, %entry define void @foo(i32 %a) nounwind { entry: - %tmp = load i32** @x ; <i32*> [#uses=1] + %tmp = load i32*, i32** @x ; <i32*> [#uses=1] store i32 %a, i32* %tmp ret void } diff --git a/test/CodeGen/Thumb2/thumb2-ifcvt2.ll b/test/CodeGen/Thumb2/thumb2-ifcvt2.ll index a861912fe113..1d2ba0008be8 100644 --- a/test/CodeGen/Thumb2/thumb2-ifcvt2.ll +++ b/test/CodeGen/Thumb2/thumb2-ifcvt2.ll @@ -15,7 +15,7 @@ entry: br i1 %tmp7, label %cond_true, label %UnifiedReturnBlock cond_true: ; preds = %entry - %tmp10 = call i32 (...)* @bar( ) ; <i32> [#uses=0] + %tmp10 = call i32 (...) @bar( ) ; <i32> [#uses=0] ret void UnifiedReturnBlock: ; preds = %entry @@ -41,9 +41,9 @@ entry: br label %tailrecurse tailrecurse: ; preds = %bb, %entry - %tmp6 = load %struct.quad_struct** null ; <%struct.quad_struct*> [#uses=1] - %tmp9 = load %struct.quad_struct** null ; <%struct.quad_struct*> [#uses=2] - %tmp12 = load %struct.quad_struct** null ; <%struct.quad_struct*> [#uses=1] + %tmp6 = load %struct.quad_struct*, %struct.quad_struct** null ; <%struct.quad_struct*> [#uses=1] + %tmp9 = load %struct.quad_struct*, %struct.quad_struct** null ; <%struct.quad_struct*> [#uses=2] + %tmp12 = load %struct.quad_struct*, %struct.quad_struct** null ; <%struct.quad_struct*> [#uses=1] %tmp14 = icmp eq %struct.quad_struct* null, null ; <i1> [#uses=1] %tmp17 = icmp eq %struct.quad_struct* %tmp6, null ; <i1> [#uses=1] %tmp23 = icmp eq %struct.quad_struct* %tmp9, null ; <i1> [#uses=1] diff --git a/test/CodeGen/Thumb2/thumb2-ifcvt3.ll b/test/CodeGen/Thumb2/thumb2-ifcvt3.ll index 79667d43b95e..24eb1a98a066 100644 --- a/test/CodeGen/Thumb2/thumb2-ifcvt3.ll +++ b/test/CodeGen/Thumb2/thumb2-ifcvt3.ll @@ -25,7 +25,7 @@ bb52: ; preds = %newFuncRoot ; CHECK: movne ; CHECK: moveq ; CHECK: pop - %0 = load i64* @posed, align 4 ; <i64> [#uses=3] + %0 = load i64, i64* @posed, align 4 ; <i64> [#uses=3] %1 = sub i64 %0, %.reload78 ; <i64> [#uses=1] %2 = ashr i64 %1, 1 ; <i64> [#uses=3] %3 = icmp eq i64 %2, 0 ; <i1> [#uses=1] diff --git a/test/CodeGen/Thumb2/thumb2-ldm.ll b/test/CodeGen/Thumb2/thumb2-ldm.ll index adfcf2b6aaf1..28903aca3267 100644 --- a/test/CodeGen/Thumb2/thumb2-ldm.ll +++ b/test/CodeGen/Thumb2/thumb2-ldm.ll @@ -7,8 +7,8 @@ define i32 @t1() { ; CHECK: push {r7, lr} ; CHECK: ldrd ; CHECK: pop {r7, pc} - %tmp = load i32* getelementptr ([0 x i32]* @X, i32 0, i32 0) ; <i32> [#uses=1] - %tmp3 = load i32* getelementptr ([0 x i32]* @X, i32 0, i32 1) ; <i32> [#uses=1] + %tmp = load i32, i32* getelementptr ([0 x i32], [0 x i32]* @X, i32 0, i32 0) ; <i32> [#uses=1] + %tmp3 = load i32, i32* getelementptr ([0 x i32], [0 x i32]* @X, i32 0, i32 1) ; <i32> [#uses=1] %tmp4 = call i32 @f1( i32 %tmp, i32 %tmp3 ) ; <i32> [#uses=1] ret i32 %tmp4 } @@ -18,9 +18,9 @@ define i32 @t2() { ; CHECK: push {r7, lr} ; CHECK: ldm ; CHECK: pop {r7, pc} - %tmp = load i32* getelementptr ([0 x i32]* @X, i32 0, i32 2) ; <i32> [#uses=1] - %tmp3 = load i32* getelementptr ([0 x i32]* @X, i32 0, i32 3) ; <i32> [#uses=1] - %tmp5 = load i32* getelementptr ([0 x i32]* @X, i32 0, i32 4) ; <i32> [#uses=1] + %tmp = load i32, i32* getelementptr ([0 x i32], [0 x i32]* @X, i32 0, i32 2) ; <i32> [#uses=1] + %tmp3 = load i32, i32* getelementptr ([0 x i32], [0 x i32]* @X, i32 0, i32 3) ; <i32> [#uses=1] + %tmp5 = load i32, i32* getelementptr ([0 x i32], [0 x i32]* @X, i32 0, i32 4) ; <i32> [#uses=1] %tmp6 = call i32 @f2( i32 %tmp, i32 %tmp3, i32 %tmp5 ) ; <i32> [#uses=1] ret i32 %tmp6 } @@ -30,9 +30,9 @@ define i32 @t3() { ; CHECK: push {r7, lr} ; CHECK: ldm ; CHECK: pop {r7, pc} - %tmp = load i32* getelementptr ([0 x i32]* @X, i32 0, i32 1) ; <i32> [#uses=1] - %tmp3 = load i32* getelementptr ([0 x i32]* @X, i32 0, i32 2) ; <i32> [#uses=1] - %tmp5 = load i32* getelementptr ([0 x i32]* @X, i32 0, i32 3) ; <i32> [#uses=1] + %tmp = load i32, i32* getelementptr ([0 x i32], [0 x i32]* @X, i32 0, i32 1) ; <i32> [#uses=1] + %tmp3 = load i32, i32* getelementptr ([0 x i32], [0 x i32]* @X, i32 0, i32 2) ; <i32> [#uses=1] + %tmp5 = load i32, i32* getelementptr ([0 x i32], [0 x i32]* @X, i32 0, i32 3) ; <i32> [#uses=1] %tmp6 = call i32 @f2( i32 %tmp, i32 %tmp3, i32 %tmp5 ) ; <i32> [#uses=1] ret i32 %tmp6 } diff --git a/test/CodeGen/Thumb2/thumb2-ldr.ll b/test/CodeGen/Thumb2/thumb2-ldr.ll index c25ed789de04..4b3ce86ef8d1 100644 --- a/test/CodeGen/Thumb2/thumb2-ldr.ll +++ b/test/CodeGen/Thumb2/thumb2-ldr.ll @@ -4,7 +4,7 @@ define i32 @f1(i32* %v) { entry: ; CHECK-LABEL: f1: ; CHECK: ldr r0, [r0] - %tmp = load i32* %v + %tmp = load i32, i32* %v ret i32 %tmp } @@ -12,8 +12,8 @@ define i32 @f2(i32* %v) { entry: ; CHECK-LABEL: f2: ; CHECK: ldr.w r0, [r0, #4092] - %tmp2 = getelementptr i32* %v, i32 1023 - %tmp = load i32* %tmp2 + %tmp2 = getelementptr i32, i32* %v, i32 1023 + %tmp = load i32, i32* %tmp2 ret i32 %tmp } @@ -22,8 +22,8 @@ entry: ; CHECK-LABEL: f3: ; CHECK: mov.w r1, #4096 ; CHECK: ldr r0, [r0, r1] - %tmp2 = getelementptr i32* %v, i32 1024 - %tmp = load i32* %tmp2 + %tmp2 = getelementptr i32, i32* %v, i32 1024 + %tmp = load i32, i32* %tmp2 ret i32 %tmp } @@ -33,7 +33,7 @@ entry: ; CHECK: ldr r0, [r0, #-128] %tmp1 = sub i32 %base, 128 %tmp2 = inttoptr i32 %tmp1 to i32* - %tmp3 = load i32* %tmp2 + %tmp3 = load i32, i32* %tmp2 ret i32 %tmp3 } @@ -43,7 +43,7 @@ entry: ; CHECK: ldr r0, [r0, r1] %tmp1 = add i32 %base, %offset %tmp2 = inttoptr i32 %tmp1 to i32* - %tmp3 = load i32* %tmp2 + %tmp3 = load i32, i32* %tmp2 ret i32 %tmp3 } @@ -54,7 +54,7 @@ entry: %tmp1 = shl i32 %offset, 2 %tmp2 = add i32 %base, %tmp1 %tmp3 = inttoptr i32 %tmp2 to i32* - %tmp4 = load i32* %tmp3 + %tmp4 = load i32, i32* %tmp3 ret i32 %tmp4 } @@ -67,6 +67,6 @@ entry: %tmp1 = lshr i32 %offset, 2 %tmp2 = add i32 %base, %tmp1 %tmp3 = inttoptr i32 %tmp2 to i32* - %tmp4 = load i32* %tmp3 + %tmp4 = load i32, i32* %tmp3 ret i32 %tmp4 } diff --git a/test/CodeGen/Thumb2/thumb2-ldr_ext.ll b/test/CodeGen/Thumb2/thumb2-ldr_ext.ll index b50b33320597..a911775ebc7b 100644 --- a/test/CodeGen/Thumb2/thumb2-ldr_ext.ll +++ b/test/CodeGen/Thumb2/thumb2-ldr_ext.ll @@ -1,25 +1,25 @@ ; RUN: llc -mtriple=thumb-eabi -mcpu=arm1156t2-s -mattr=+thumb2 %s -o - | FileCheck %s define i32 @test1(i8* %v.pntr.s0.u1) { - %tmp.u = load i8* %v.pntr.s0.u1 + %tmp.u = load i8, i8* %v.pntr.s0.u1 %tmp1.s = zext i8 %tmp.u to i32 ret i32 %tmp1.s } define i32 @test2(i16* %v.pntr.s0.u1) { - %tmp.u = load i16* %v.pntr.s0.u1 + %tmp.u = load i16, i16* %v.pntr.s0.u1 %tmp1.s = zext i16 %tmp.u to i32 ret i32 %tmp1.s } define i32 @test3(i8* %v.pntr.s1.u0) { - %tmp.s = load i8* %v.pntr.s1.u0 + %tmp.s = load i8, i8* %v.pntr.s1.u0 %tmp1.s = sext i8 %tmp.s to i32 ret i32 %tmp1.s } define i32 @test4() { - %tmp.s = load i16* null + %tmp.s = load i16, i16* null %tmp1.s = sext i16 %tmp.s to i32 ret i32 %tmp1.s } diff --git a/test/CodeGen/Thumb2/thumb2-ldr_post.ll b/test/CodeGen/Thumb2/thumb2-ldr_post.ll index c26e6b154e55..cb7e795a0450 100644 --- a/test/CodeGen/Thumb2/thumb2-ldr_post.ll +++ b/test/CodeGen/Thumb2/thumb2-ldr_post.ll @@ -3,7 +3,7 @@ define i32 @test(i32 %a, i32 %b, i32 %c) { %tmp1 = mul i32 %a, %b ; <i32> [#uses=2] %tmp2 = inttoptr i32 %tmp1 to i32* ; <i32*> [#uses=1] - %tmp3 = load i32* %tmp2 ; <i32> [#uses=1] + %tmp3 = load i32, i32* %tmp2 ; <i32> [#uses=1] %tmp4 = sub i32 %tmp1, 8 ; <i32> [#uses=1] %tmp5 = mul i32 %tmp4, %tmp3 ; <i32> [#uses=1] ret i32 %tmp5 diff --git a/test/CodeGen/Thumb2/thumb2-ldr_pre.ll b/test/CodeGen/Thumb2/thumb2-ldr_pre.ll index cafb02a4984f..2bb327c8f864 100644 --- a/test/CodeGen/Thumb2/thumb2-ldr_pre.ll +++ b/test/CodeGen/Thumb2/thumb2-ldr_pre.ll @@ -1,8 +1,8 @@ ; RUN: llc -mtriple=thumb-eabi -mcpu=arm1156t2-s -mattr=+thumb2 %s -o - | FileCheck %s define i32* @test1(i32* %X, i32* %dest) { - %Y = getelementptr i32* %X, i32 4 ; <i32*> [#uses=2] - %A = load i32* %Y ; <i32> [#uses=1] + %Y = getelementptr i32, i32* %X, i32 4 ; <i32*> [#uses=2] + %A = load i32, i32* %Y ; <i32> [#uses=1] store i32 %A, i32* %dest ret i32* %Y } @@ -12,7 +12,7 @@ define i32* @test1(i32* %X, i32* %dest) { define i32 @test2(i32 %a, i32 %b) { %tmp1 = sub i32 %a, 64 ; <i32> [#uses=2] %tmp2 = inttoptr i32 %tmp1 to i32* ; <i32*> [#uses=1] - %tmp3 = load i32* %tmp2 ; <i32> [#uses=1] + %tmp3 = load i32, i32* %tmp2 ; <i32> [#uses=1] %tmp4 = sub i32 %tmp1, %b ; <i32> [#uses=1] %tmp5 = add i32 %tmp4, %tmp3 ; <i32> [#uses=1] ret i32 %tmp5 @@ -21,8 +21,8 @@ define i32 @test2(i32 %a, i32 %b) { ; CHECK: ldr{{.*}}! define i8* @test3(i8* %X, i32* %dest) { - %tmp1 = getelementptr i8* %X, i32 4 - %tmp2 = load i8* %tmp1 + %tmp1 = getelementptr i8, i8* %X, i32 4 + %tmp2 = load i8, i8* %tmp1 %tmp3 = sext i8 %tmp2 to i32 store i32 %tmp3, i32* %dest ret i8* %tmp1 diff --git a/test/CodeGen/Thumb2/thumb2-ldrb.ll b/test/CodeGen/Thumb2/thumb2-ldrb.ll index 0b3441eb1e22..cf8fd6dca6df 100644 --- a/test/CodeGen/Thumb2/thumb2-ldrb.ll +++ b/test/CodeGen/Thumb2/thumb2-ldrb.ll @@ -4,7 +4,7 @@ define i8 @f1(i8* %v) { entry: ; CHECK-LABEL: f1: ; CHECK: ldrb r0, [r0] - %tmp = load i8* %v + %tmp = load i8, i8* %v ret i8 %tmp } @@ -12,8 +12,8 @@ define i8 @f2(i8* %v) { entry: ; CHECK-LABEL: f2: ; CHECK: ldrb r0, [r0, #-1] - %tmp2 = getelementptr i8* %v, i8 1023 - %tmp = load i8* %tmp2 + %tmp2 = getelementptr i8, i8* %v, i8 1023 + %tmp = load i8, i8* %tmp2 ret i8 %tmp } @@ -24,7 +24,7 @@ entry: ; CHECK: ldrb r0, [r0, r1] %tmp1 = add i32 %base, 4096 %tmp2 = inttoptr i32 %tmp1 to i8* - %tmp3 = load i8* %tmp2 + %tmp3 = load i8, i8* %tmp2 ret i8 %tmp3 } @@ -34,7 +34,7 @@ entry: ; CHECK: ldrb r0, [r0, #-128] %tmp1 = sub i32 %base, 128 %tmp2 = inttoptr i32 %tmp1 to i8* - %tmp3 = load i8* %tmp2 + %tmp3 = load i8, i8* %tmp2 ret i8 %tmp3 } @@ -44,7 +44,7 @@ entry: ; CHECK: ldrb r0, [r0, r1] %tmp1 = add i32 %base, %offset %tmp2 = inttoptr i32 %tmp1 to i8* - %tmp3 = load i8* %tmp2 + %tmp3 = load i8, i8* %tmp2 ret i8 %tmp3 } @@ -55,7 +55,7 @@ entry: %tmp1 = shl i32 %offset, 2 %tmp2 = add i32 %base, %tmp1 %tmp3 = inttoptr i32 %tmp2 to i8* - %tmp4 = load i8* %tmp3 + %tmp4 = load i8, i8* %tmp3 ret i8 %tmp4 } @@ -67,6 +67,6 @@ entry: %tmp1 = lshr i32 %offset, 2 %tmp2 = add i32 %base, %tmp1 %tmp3 = inttoptr i32 %tmp2 to i8* - %tmp4 = load i8* %tmp3 + %tmp4 = load i8, i8* %tmp3 ret i8 %tmp4 } diff --git a/test/CodeGen/Thumb2/thumb2-ldrd.ll b/test/CodeGen/Thumb2/thumb2-ldrd.ll index 2e83ea146cd0..c25359b40577 100644 --- a/test/CodeGen/Thumb2/thumb2-ldrd.ll +++ b/test/CodeGen/Thumb2/thumb2-ldrd.ll @@ -6,8 +6,8 @@ define i64 @t(i64 %a) nounwind readonly { entry: ; CHECK: ldrd ; CHECK: umull - %0 = load i64** @b, align 4 - %1 = load i64* %0, align 4 + %0 = load i64*, i64** @b, align 4 + %1 = load i64, i64* %0, align 4 %2 = mul i64 %1, %a ret i64 %2 } diff --git a/test/CodeGen/Thumb2/thumb2-ldrh.ll b/test/CodeGen/Thumb2/thumb2-ldrh.ll index db5dcfac2ba1..33dd681bb04b 100644 --- a/test/CodeGen/Thumb2/thumb2-ldrh.ll +++ b/test/CodeGen/Thumb2/thumb2-ldrh.ll @@ -4,7 +4,7 @@ define i16 @f1(i16* %v) { entry: ; CHECK-LABEL: f1: ; CHECK: ldrh r0, [r0] - %tmp = load i16* %v + %tmp = load i16, i16* %v ret i16 %tmp } @@ -12,8 +12,8 @@ define i16 @f2(i16* %v) { entry: ; CHECK-LABEL: f2: ; CHECK: ldrh.w r0, [r0, #2046] - %tmp2 = getelementptr i16* %v, i16 1023 - %tmp = load i16* %tmp2 + %tmp2 = getelementptr i16, i16* %v, i16 1023 + %tmp = load i16, i16* %tmp2 ret i16 %tmp } @@ -22,8 +22,8 @@ entry: ; CHECK-LABEL: f3: ; CHECK: mov.w r1, #4096 ; CHECK: ldrh r0, [r0, r1] - %tmp2 = getelementptr i16* %v, i16 2048 - %tmp = load i16* %tmp2 + %tmp2 = getelementptr i16, i16* %v, i16 2048 + %tmp = load i16, i16* %tmp2 ret i16 %tmp } @@ -33,7 +33,7 @@ entry: ; CHECK: ldrh r0, [r0, #-128] %tmp1 = sub i32 %base, 128 %tmp2 = inttoptr i32 %tmp1 to i16* - %tmp3 = load i16* %tmp2 + %tmp3 = load i16, i16* %tmp2 ret i16 %tmp3 } @@ -43,7 +43,7 @@ entry: ; CHECK: ldrh r0, [r0, r1] %tmp1 = add i32 %base, %offset %tmp2 = inttoptr i32 %tmp1 to i16* - %tmp3 = load i16* %tmp2 + %tmp3 = load i16, i16* %tmp2 ret i16 %tmp3 } @@ -54,7 +54,7 @@ entry: %tmp1 = shl i32 %offset, 2 %tmp2 = add i32 %base, %tmp1 %tmp3 = inttoptr i32 %tmp2 to i16* - %tmp4 = load i16* %tmp3 + %tmp4 = load i16, i16* %tmp3 ret i16 %tmp4 } @@ -66,6 +66,6 @@ entry: %tmp1 = lshr i32 %offset, 2 %tmp2 = add i32 %base, %tmp1 %tmp3 = inttoptr i32 %tmp2 to i16* - %tmp4 = load i16* %tmp3 + %tmp4 = load i16, i16* %tmp3 ret i16 %tmp4 } diff --git a/test/CodeGen/Thumb2/thumb2-smul.ll b/test/CodeGen/Thumb2/thumb2-smul.ll index 67783d284e9c..937f7737f2b3 100644 --- a/test/CodeGen/Thumb2/thumb2-smul.ll +++ b/test/CodeGen/Thumb2/thumb2-smul.ll @@ -6,7 +6,7 @@ define i32 @f1(i32 %y) { ; CHECK: f1 ; CHECK: smulbt r0, r1, r0 - %tmp = load i16* @x ; <i16> [#uses=1] + %tmp = load i16, i16* @x ; <i16> [#uses=1] %tmp1 = add i16 %tmp, 2 ; <i16> [#uses=1] %tmp2 = sext i16 %tmp1 to i32 ; <i32> [#uses=1] %tmp3 = ashr i32 %y, 16 ; <i32> [#uses=1] diff --git a/test/CodeGen/Thumb2/thumb2-spill-q.ll b/test/CodeGen/Thumb2/thumb2-spill-q.ll index d1deb461574f..e0f7b5bd919c 100644 --- a/test/CodeGen/Thumb2/thumb2-spill-q.ll +++ b/test/CodeGen/Thumb2/thumb2-spill-q.ll @@ -43,7 +43,7 @@ entry: store float 0.000000e+00, float* undef, align 4 %ld12 = call <4 x float> @llvm.arm.neon.vld1.v4f32(i8* undef, i32 1) nounwind store float 0.000000e+00, float* undef, align 4 - %val173 = load <4 x float>* undef ; <<4 x float>> [#uses=1] + %val173 = load <4 x float>, <4 x float>* undef ; <<4 x float>> [#uses=1] br label %bb4 bb4: ; preds = %bb193, %entry diff --git a/test/CodeGen/Thumb2/thumb2-str.ll b/test/CodeGen/Thumb2/thumb2-str.ll index 4008145b0732..9bda67ae406c 100644 --- a/test/CodeGen/Thumb2/thumb2-str.ll +++ b/test/CodeGen/Thumb2/thumb2-str.ll @@ -10,7 +10,7 @@ define i32 @f1(i32 %a, i32* %v) { define i32 @f2(i32 %a, i32* %v) { ; CHECK-LABEL: f2: ; CHECK: str.w r0, [r1, #4092] - %tmp2 = getelementptr i32* %v, i32 1023 + %tmp2 = getelementptr i32, i32* %v, i32 1023 store i32 %a, i32* %tmp2 ret i32 %a } @@ -18,7 +18,7 @@ define i32 @f2(i32 %a, i32* %v) { define i32 @f2a(i32 %a, i32* %v) { ; CHECK-LABEL: f2a: ; CHECK: str r0, [r1, #-128] - %tmp2 = getelementptr i32* %v, i32 -32 + %tmp2 = getelementptr i32, i32* %v, i32 -32 store i32 %a, i32* %tmp2 ret i32 %a } @@ -27,7 +27,7 @@ define i32 @f3(i32 %a, i32* %v) { ; CHECK-LABEL: f3: ; CHECK: mov.w r2, #4096 ; CHECK: str r0, [r1, r2] - %tmp2 = getelementptr i32* %v, i32 1024 + %tmp2 = getelementptr i32, i32* %v, i32 1024 store i32 %a, i32* %tmp2 ret i32 %a } diff --git a/test/CodeGen/Thumb2/thumb2-str_post.ll b/test/CodeGen/Thumb2/thumb2-str_post.ll index aed849e50f74..377c814823cb 100644 --- a/test/CodeGen/Thumb2/thumb2-str_post.ll +++ b/test/CodeGen/Thumb2/thumb2-str_post.ll @@ -3,7 +3,7 @@ define i16 @test1(i32* %X, i16* %A) { ; CHECK-LABEL: test1: ; CHECK: strh {{.*}}[{{.*}}], #-4 - %Y = load i32* %X ; <i32> [#uses=1] + %Y = load i32, i32* %X ; <i32> [#uses=1] %tmp1 = trunc i32 %Y to i16 ; <i16> [#uses=1] store i16 %tmp1, i16* %A %tmp2 = ptrtoint i16* %A to i16 ; <i16> [#uses=1] @@ -14,7 +14,7 @@ define i16 @test1(i32* %X, i16* %A) { define i32 @test2(i32* %X, i32* %A) { ; CHECK-LABEL: test2: ; CHECK: str {{.*}}[{{.*}}], - %Y = load i32* %X ; <i32> [#uses=1] + %Y = load i32, i32* %X ; <i32> [#uses=1] store i32 %Y, i32* %A %tmp1 = ptrtoint i32* %A to i32 ; <i32> [#uses=1] %tmp2 = sub i32 %tmp1, 4 ; <i32> [#uses=1] diff --git a/test/CodeGen/Thumb2/thumb2-str_pre.ll b/test/CodeGen/Thumb2/thumb2-str_pre.ll index e957400fe28f..d69a1024fadb 100644 --- a/test/CodeGen/Thumb2/thumb2-str_pre.ll +++ b/test/CodeGen/Thumb2/thumb2-str_pre.ll @@ -3,8 +3,8 @@ define void @test1(i32* %X, i32* %A, i32** %dest) { ; CHECK: test1 ; CHECK: str r1, [r0, #16]! - %B = load i32* %A ; <i32> [#uses=1] - %Y = getelementptr i32* %X, i32 4 ; <i32*> [#uses=2] + %B = load i32, i32* %A ; <i32> [#uses=1] + %Y = getelementptr i32, i32* %X, i32 4 ; <i32*> [#uses=2] store i32 %B, i32* %Y store i32* %Y, i32** %dest ret void @@ -13,8 +13,8 @@ define void @test1(i32* %X, i32* %A, i32** %dest) { define i16* @test2(i16* %X, i32* %A) { ; CHECK: test2 ; CHECK: strh r1, [r0, #8]! - %B = load i32* %A ; <i32> [#uses=1] - %Y = getelementptr i16* %X, i32 4 ; <i16*> [#uses=2] + %B = load i32, i32* %A ; <i32> [#uses=1] + %Y = getelementptr i16, i16* %X, i32 4 ; <i16*> [#uses=2] %tmp = trunc i32 %B to i16 ; <i16> [#uses=1] store i16 %tmp, i16* %Y ret i16* %Y diff --git a/test/CodeGen/Thumb2/thumb2-strb.ll b/test/CodeGen/Thumb2/thumb2-strb.ll index a2558eccc2b1..8ee9d2d158ea 100644 --- a/test/CodeGen/Thumb2/thumb2-strb.ll +++ b/test/CodeGen/Thumb2/thumb2-strb.ll @@ -10,7 +10,7 @@ define i8 @f1(i8 %a, i8* %v) { define i8 @f2(i8 %a, i8* %v) { ; CHECK-LABEL: f2: ; CHECK: strb.w r0, [r1, #4092] - %tmp2 = getelementptr i8* %v, i32 4092 + %tmp2 = getelementptr i8, i8* %v, i32 4092 store i8 %a, i8* %tmp2 ret i8 %a } @@ -18,7 +18,7 @@ define i8 @f2(i8 %a, i8* %v) { define i8 @f2a(i8 %a, i8* %v) { ; CHECK-LABEL: f2a: ; CHECK: strb r0, [r1, #-128] - %tmp2 = getelementptr i8* %v, i32 -128 + %tmp2 = getelementptr i8, i8* %v, i32 -128 store i8 %a, i8* %tmp2 ret i8 %a } @@ -27,7 +27,7 @@ define i8 @f3(i8 %a, i8* %v) { ; CHECK-LABEL: f3: ; CHECK: mov.w r2, #4096 ; CHECK: strb r0, [r1, r2] - %tmp2 = getelementptr i8* %v, i32 4096 + %tmp2 = getelementptr i8, i8* %v, i32 4096 store i8 %a, i8* %tmp2 ret i8 %a } diff --git a/test/CodeGen/Thumb2/thumb2-strh.ll b/test/CodeGen/Thumb2/thumb2-strh.ll index cbe73d5cf057..dfd1c90d9623 100644 --- a/test/CodeGen/Thumb2/thumb2-strh.ll +++ b/test/CodeGen/Thumb2/thumb2-strh.ll @@ -10,7 +10,7 @@ define i16 @f1(i16 %a, i16* %v) { define i16 @f2(i16 %a, i16* %v) { ; CHECK-LABEL: f2: ; CHECK: strh.w r0, [r1, #4092] - %tmp2 = getelementptr i16* %v, i32 2046 + %tmp2 = getelementptr i16, i16* %v, i32 2046 store i16 %a, i16* %tmp2 ret i16 %a } @@ -18,7 +18,7 @@ define i16 @f2(i16 %a, i16* %v) { define i16 @f2a(i16 %a, i16* %v) { ; CHECK-LABEL: f2a: ; CHECK: strh r0, [r1, #-128] - %tmp2 = getelementptr i16* %v, i32 -64 + %tmp2 = getelementptr i16, i16* %v, i32 -64 store i16 %a, i16* %tmp2 ret i16 %a } @@ -27,7 +27,7 @@ define i16 @f3(i16 %a, i16* %v) { ; CHECK-LABEL: f3: ; CHECK: mov.w r2, #4096 ; CHECK: strh r0, [r1, r2] - %tmp2 = getelementptr i16* %v, i32 2048 + %tmp2 = getelementptr i16, i16* %v, i32 2048 store i16 %a, i16* %tmp2 ret i16 %a } diff --git a/test/CodeGen/Thumb2/thumb2-tbb.ll b/test/CodeGen/Thumb2/thumb2-tbb.ll index d57638bbb4f6..758f792695fd 100644 --- a/test/CodeGen/Thumb2/thumb2-tbb.ll +++ b/test/CodeGen/Thumb2/thumb2-tbb.ll @@ -11,43 +11,43 @@ entry: switch i32 %n.u, label %bb12 [i32 1, label %bb i32 2, label %bb6 i32 4, label %bb7 i32 5, label %bb8 i32 6, label %bb10 i32 7, label %bb1 i32 8, label %bb3 i32 9, label %bb4 i32 10, label %bb9 i32 11, label %bb2 i32 12, label %bb5 i32 13, label %bb11 ] bb: - tail call void(...)* @foo1() + tail call void(...) @foo1() ret void bb1: - tail call void(...)* @foo2() + tail call void(...) @foo2() ret void bb2: - tail call void(...)* @foo6() + tail call void(...) @foo6() ret void bb3: - tail call void(...)* @foo3() + tail call void(...) @foo3() ret void bb4: - tail call void(...)* @foo4() + tail call void(...) @foo4() ret void bb5: - tail call void(...)* @foo5() + tail call void(...) @foo5() ret void bb6: - tail call void(...)* @foo1() + tail call void(...) @foo1() ret void bb7: - tail call void(...)* @foo2() + tail call void(...) @foo2() ret void bb8: - tail call void(...)* @foo6() + tail call void(...) @foo6() ret void bb9: - tail call void(...)* @foo3() + tail call void(...) @foo3() ret void bb10: - tail call void(...)* @foo4() + tail call void(...) @foo4() ret void bb11: - tail call void(...)* @foo5() + tail call void(...) @foo5() ret void bb12: - tail call void(...)* @foo6() + tail call void(...) @foo6() ret void } diff --git a/test/CodeGen/Thumb2/thumb2-tbh.ll b/test/CodeGen/Thumb2/thumb2-tbh.ll index bf1c7c613ab5..a5a5ed0c8da2 100644 --- a/test/CodeGen/Thumb2/thumb2-tbh.ll +++ b/test/CodeGen/Thumb2/thumb2-tbh.ll @@ -45,7 +45,7 @@ bb33.i: ; preds = %bb42.i unreachable bb34.i: ; preds = %bb42.i - %3 = load i32* @_C_nextcmd, align 4 ; <i32> [#uses=1] + %3 = load i32, i32* @_C_nextcmd, align 4 ; <i32> [#uses=1] %4 = add i32 %3, 1 ; <i32> [#uses=1] store i32 %4, i32* @_C_nextcmd, align 4 %5 = call noalias i8* @calloc(i32 22, i32 1) nounwind ; <i8*> [#uses=0] @@ -60,7 +60,7 @@ bb37.i: ; preds = %bb42.i unreachable bb39.i: ; preds = %bb42.i - call void @Z_fatal(i8* getelementptr ([28 x i8]* @.str31, i32 0, i32 0)) nounwind + call void @Z_fatal(i8* getelementptr ([28 x i8], [28 x i8]* @.str31, i32 0, i32 0)) nounwind unreachable bb40.i: ; preds = %bb42.i, %bb5.i, %bb1.i2 diff --git a/test/CodeGen/Thumb2/tls1.ll b/test/CodeGen/Thumb2/tls1.ll index 40973562d2b9..6acf27d1ad5d 100644 --- a/test/CodeGen/Thumb2/tls1.ll +++ b/test/CodeGen/Thumb2/tls1.ll @@ -10,7 +10,7 @@ define i32 @f() { entry: - %tmp1 = load i32* @i ; <i32> [#uses=1] + %tmp1 = load i32, i32* @i ; <i32> [#uses=1] ret i32 %tmp1 } diff --git a/test/CodeGen/Thumb2/tls2.ll b/test/CodeGen/Thumb2/tls2.ll index e6bed2f65a49..8f05ceab19fc 100644 --- a/test/CodeGen/Thumb2/tls2.ll +++ b/test/CodeGen/Thumb2/tls2.ll @@ -12,7 +12,7 @@ entry: ; CHECK-PIC-LABEL: f: ; CHECK-PIC: bl __tls_get_addr(PLT) - %tmp1 = load i32* @i ; <i32> [#uses=1] + %tmp1 = load i32, i32* @i ; <i32> [#uses=1] ret i32 %tmp1 } diff --git a/test/CodeGen/Thumb2/tpsoft.ll b/test/CodeGen/Thumb2/tpsoft.ll index 6ab8bf01761b..de358d98d49c 100644 --- a/test/CodeGen/Thumb2/tpsoft.ll +++ b/test/CodeGen/Thumb2/tpsoft.ll @@ -16,7 +16,7 @@ define arm_aapcs_vfpcc i32 @main() nounwind { entry: - %0 = load i32* @i, align 4 + %0 = load i32, i32* @i, align 4 switch i32 %0, label %bb2 [ i32 12, label %bb i32 13, label %bb1 @@ -32,13 +32,13 @@ bb: ; preds = %entry ; ELFOBJ: Section { ; ELFOBJ: Name: .text ; ELFOBJ-LE: SectionData ( -;;; BL __aeabi_read_tp is ---------+ -;;; V -; ELFOBJ-LE-NEXT: 0000: 2DE90048 0E487844 0168FFF7 FEFF4058 +;;; BL __aeabi_read_tp is ---+ +;;; V +; ELFOBJ-LE-NEXT: 0000: 80B50E48 78440168 FFF7FEFF 40580D28 ; ELFOBJ-BE: SectionData ( -;;; BL __aeabi_read_tp is ---------+ -;;; V -; ELFOBJ-BE-NEXT: 0000: E92D4800 480E4478 6801F7FF FFFE5840 +;;; BL __aeabi_read_tp is ---+ +;;; V +; ELFOBJ-BE-NEXT: 0000: B580480E 44786801 F7FFFFFE 5840280D bb1: ; preds = %entry diff --git a/test/CodeGen/Thumb2/v8_IT_2.ll b/test/CodeGen/Thumb2/v8_IT_2.ll index 170b4135b536..9a3f263c5259 100644 --- a/test/CodeGen/Thumb2/v8_IT_2.ll +++ b/test/CodeGen/Thumb2/v8_IT_2.ll @@ -16,9 +16,9 @@ entry: br label %tailrecurse tailrecurse: ; preds = %bb, %entry - %tmp6 = load %struct.quad_struct** null ; <%struct.quad_struct*> [#uses=1] - %tmp9 = load %struct.quad_struct** null ; <%struct.quad_struct*> [#uses=2] - %tmp12 = load %struct.quad_struct** null ; <%struct.quad_struct*> [#uses=1] + %tmp6 = load %struct.quad_struct*, %struct.quad_struct** null ; <%struct.quad_struct*> [#uses=1] + %tmp9 = load %struct.quad_struct*, %struct.quad_struct** null ; <%struct.quad_struct*> [#uses=2] + %tmp12 = load %struct.quad_struct*, %struct.quad_struct** null ; <%struct.quad_struct*> [#uses=1] %tmp14 = icmp eq %struct.quad_struct* null, null ; <i1> [#uses=1] %tmp17 = icmp eq %struct.quad_struct* %tmp6, null ; <i1> [#uses=1] %tmp23 = icmp eq %struct.quad_struct* %tmp9, null ; <i1> [#uses=1] diff --git a/test/CodeGen/Thumb2/v8_IT_3.ll b/test/CodeGen/Thumb2/v8_IT_3.ll index a028deebc8e8..3ccee5fbb8ca 100644 --- a/test/CodeGen/Thumb2/v8_IT_3.ll +++ b/test/CodeGen/Thumb2/v8_IT_3.ll @@ -21,17 +21,17 @@ entry: %block_count = alloca i32, align 4 %index_cache = alloca i32, align 4 store i32 0, i32* %index_cache, align 4 - %tmp = load i32* @G, align 4 + %tmp = load i32, i32* @G, align 4 %tmp1 = call i32 @bar(i32 0, i32 0, i32 %tmp) nounwind switch i32 %tmp1, label %bb8 [ - i32 0, label %bb + i32 1, label %bb i32 536870913, label %bb4 i32 536870914, label %bb6 ] bb: - %tmp2 = load i32* @G, align 4 - %tmp4 = icmp eq i32 %tmp2, 0 + %tmp2 = load i32, i32* @G, align 4 + %tmp4 = icmp eq i32 %tmp2, 1 br i1 %tmp4, label %bb1, label %bb8 bb1: @@ -41,14 +41,14 @@ bb1: ; CHECK-NEXT: it eq ; CHECK-NEXT: cmpeq ; CHECK: %bb1 - %tmp5 = load i32* %block_size, align 4 - %tmp6 = load i32* %block_count, align 4 + %tmp5 = load i32, i32* %block_size, align 4 + %tmp6 = load i32, i32* %block_count, align 4 %tmp7 = call %struct.FF* @Get() nounwind store %struct.FF* %tmp7, %struct.FF** @FuncPtr, align 4 %tmp10 = zext i32 %tmp6 to i64 %tmp11 = zext i32 %tmp5 to i64 %tmp12 = mul nsw i64 %tmp10, %tmp11 - %tmp13 = call i32 @foo(i8* getelementptr inbounds ([6 x i8]* @.str1, i32 0, i32 0), i64 %tmp12, i32 %tmp5) nounwind + %tmp13 = call i32 @foo(i8* getelementptr inbounds ([6 x i8], [6 x i8]* @.str1, i32 0, i32 0), i64 %tmp12, i32 %tmp5) nounwind br label %bb8 bb4: diff --git a/test/CodeGen/Thumb2/v8_IT_5.ll b/test/CodeGen/Thumb2/v8_IT_5.ll index 2da75ad21436..78b80d7dcdef 100644 --- a/test/CodeGen/Thumb2/v8_IT_5.ll +++ b/test/CodeGen/Thumb2/v8_IT_5.ll @@ -3,8 +3,7 @@ ; CHECK: it ne ; CHECK-NEXT: cmpne ; CHECK-NEXT: bne [[JUMPTARGET:.LBB[0-9]+_[0-9]+]] -; CHECK: cmp -; CHECK-NEXT: beq +; CHECK: cbz ; CHECK-NEXT: %if.else163 ; CHECK-NEXT: mov.w ; CHECK-NEXT: b |