diff options
Diffstat (limited to 'test/Transforms/GlobalOpt')
65 files changed, 210 insertions, 210 deletions
diff --git a/test/Transforms/GlobalOpt/2004-10-10-CastStoreOnce.ll b/test/Transforms/GlobalOpt/2004-10-10-CastStoreOnce.ll index bdcf1fa..061b9b0 100644 --- a/test/Transforms/GlobalOpt/2004-10-10-CastStoreOnce.ll +++ b/test/Transforms/GlobalOpt/2004-10-10-CastStoreOnce.ll @@ -4,8 +4,8 @@ @G = internal global i32* null ; <i32**> [#uses=2] define i32 @user() { - %P = load i32** @G ; <i32*> [#uses=1] - %Q = load i32* %P ; <i32> [#uses=1] + %P = load i32*, i32** @G ; <i32*> [#uses=1] + %Q = load i32, i32* %P ; <i32> [#uses=1] ret i32 %Q } diff --git a/test/Transforms/GlobalOpt/2005-06-15-LocalizeConstExprCrash.ll b/test/Transforms/GlobalOpt/2005-06-15-LocalizeConstExprCrash.ll index 7bcb1d4..3efbde4 100644 --- a/test/Transforms/GlobalOpt/2005-06-15-LocalizeConstExprCrash.ll +++ b/test/Transforms/GlobalOpt/2005-06-15-LocalizeConstExprCrash.ll @@ -4,7 +4,7 @@ @g_40507551 = internal global i16 31038 ; <i16*> [#uses=1] define void @main() { - %tmp.4.i.1 = load i8* getelementptr (i8* bitcast (i16* @g_40507551 to i8*), i32 1) ; <i8> [#uses=0] + %tmp.4.i.1 = load i8, i8* getelementptr (i8, i8* bitcast (i16* @g_40507551 to i8*), i32 1) ; <i8> [#uses=0] ret void } diff --git a/test/Transforms/GlobalOpt/2005-09-27-Crash.ll b/test/Transforms/GlobalOpt/2005-09-27-Crash.ll index 43597bf..061c881 100644 --- a/test/Transforms/GlobalOpt/2005-09-27-Crash.ll +++ b/test/Transforms/GlobalOpt/2005-09-27-Crash.ll @@ -8,7 +8,7 @@ define fastcc void @pypy_array_constant() { block0: - %tmp.9 = getelementptr %structtype.test* bitcast ({ i32, { i32, [2 x i32] } }* @structinstance.test to %structtype.test*), i32 0, i32 0 ; <i32*> [#uses=0] + %tmp.9 = getelementptr %structtype.test, %structtype.test* bitcast ({ i32, { i32, [2 x i32] } }* @structinstance.test to %structtype.test*), i32 0, i32 0 ; <i32*> [#uses=0] ret void } diff --git a/test/Transforms/GlobalOpt/2006-07-07-InlineAsmCrash.ll b/test/Transforms/GlobalOpt/2006-07-07-InlineAsmCrash.ll index c971219..419ae10 100644 --- a/test/Transforms/GlobalOpt/2006-07-07-InlineAsmCrash.ll +++ b/test/Transforms/GlobalOpt/2006-07-07-InlineAsmCrash.ll @@ -106,12 +106,12 @@ entry: %__priority_addr = alloca i32 ; <i32*> [#uses=2] store i32 %__initialize_p, i32* %__initialize_p_addr store i32 %__priority, i32* %__priority_addr - %tmp = load i32* %__priority_addr ; <i32> [#uses=1] + %tmp = load i32, i32* %__priority_addr ; <i32> [#uses=1] %tmp.upgrd.1 = icmp eq i32 %tmp, 65535 ; <i1> [#uses=1] br i1 %tmp.upgrd.1, label %cond_true, label %cond_next14 cond_true: ; preds = %entry - %tmp8 = load i32* %__initialize_p_addr ; <i32> [#uses=1] + %tmp8 = load i32, i32* %__initialize_p_addr ; <i32> [#uses=1] %tmp9 = icmp eq i32 %tmp8, 1 ; <i1> [#uses=1] br i1 %tmp9, label %cond_true10, label %cond_next14 diff --git a/test/Transforms/GlobalOpt/2006-11-01-ShrinkGlobalPhiCrash.ll b/test/Transforms/GlobalOpt/2006-11-01-ShrinkGlobalPhiCrash.ll index 352639a..7b62cf0 100644 --- a/test/Transforms/GlobalOpt/2006-11-01-ShrinkGlobalPhiCrash.ll +++ b/test/Transforms/GlobalOpt/2006-11-01-ShrinkGlobalPhiCrash.ll @@ -10,7 +10,7 @@ entry: cond_true16.i: ; preds = %cond_true16.i, %entry %low.0.in.i.0 = phi i32* [ @nrow, %entry ], [ null, %cond_true16.i ] ; <i32*> [#uses=1] - %low.0.i = load i32* %low.0.in.i.0 ; <i32> [#uses=0] + %low.0.i = load i32, i32* %low.0.in.i.0 ; <i32> [#uses=0] br label %cond_true16.i } diff --git a/test/Transforms/GlobalOpt/2007-04-05-Crash.ll b/test/Transforms/GlobalOpt/2007-04-05-Crash.ll index c7aca62..f312fbb 100644 --- a/test/Transforms/GlobalOpt/2007-04-05-Crash.ll +++ b/test/Transforms/GlobalOpt/2007-04-05-Crash.ll @@ -9,7 +9,7 @@ target triple = "thumb-apple-darwin8" define zeroext i16 @__NSCharToUnicharCFWrapper(i8 zeroext %ch) { entry: %iftmp.0.0.in.in = select i1 false, i16* @replacementUnichar, i16* null ; <i16*> [#uses=1] - %iftmp.0.0.in = load i16* %iftmp.0.0.in.in ; <i16> [#uses=1] + %iftmp.0.0.in = load i16, i16* %iftmp.0.0.in.in ; <i16> [#uses=1] ret i16 %iftmp.0.0.in } diff --git a/test/Transforms/GlobalOpt/2007-05-13-Crash.ll b/test/Transforms/GlobalOpt/2007-05-13-Crash.ll index 5703909..90ba15c 100644 --- a/test/Transforms/GlobalOpt/2007-05-13-Crash.ll +++ b/test/Transforms/GlobalOpt/2007-05-13-Crash.ll @@ -9,9 +9,9 @@ target triple = "i686-apple-darwin8" @_ZZ19SFLGetVisibilityKeyvE19_kSFLLVisibilityKey = internal global %struct.__CFString* null ; <%struct.__CFString**> [#uses=2] @_ZZ22SFLGetAlwaysVisibleKeyvE22_kSFLLAlwaysVisibleKey = internal global %struct.__CFString* null ; <%struct.__CFString**> [#uses=7] internal constant %struct.__builtin_CFString { - i32* getelementptr ([0 x i32]* @__CFConstantStringClassReference, i32 0, i32 0), + i32* getelementptr ([0 x i32], [0 x i32]* @__CFConstantStringClassReference, i32 0, i32 0), i32 1992, - i8* getelementptr ([14 x i8]* @.str, i32 0, i32 0), + i8* getelementptr ([14 x i8], [14 x i8]* @.str, i32 0, i32 0), i32 13 }, section "__DATA,__cfstring" ; <%struct.__builtin_CFString*>:0 [#uses=1] @__CFConstantStringClassReference = external global [0 x i32] ; <[0 x i32]*> [#uses=1] @.str = internal constant [14 x i8] c"AlwaysVisible\00" ; <[14 x i8]*> [#uses=1] @@ -19,13 +19,13 @@ internal constant %struct.__builtin_CFString { define %struct.__CFString* @_Z19SFLGetVisibilityKeyv() { entry: - %tmp1 = load %struct.__CFString** @_ZZ19SFLGetVisibilityKeyvE19_kSFLLVisibilityKey ; <%struct.__CFString*> [#uses=1] + %tmp1 = load %struct.__CFString*, %struct.__CFString** @_ZZ19SFLGetVisibilityKeyvE19_kSFLLVisibilityKey ; <%struct.__CFString*> [#uses=1] ret %struct.__CFString* %tmp1 } define %struct.__CFString* @_Z22SFLGetAlwaysVisibleKeyv() { entry: - %tmp1 = load %struct.__CFString** @_ZZ22SFLGetAlwaysVisibleKeyvE22_kSFLLAlwaysVisibleKey ; <%struct.__CFString*> [#uses=1] + %tmp1 = load %struct.__CFString*, %struct.__CFString** @_ZZ22SFLGetAlwaysVisibleKeyvE22_kSFLLAlwaysVisibleKey ; <%struct.__CFString*> [#uses=1] %tmp2 = icmp eq %struct.__CFString* %tmp1, null ; <i1> [#uses=1] br i1 %tmp2, label %cond_true, label %cond_next @@ -34,25 +34,25 @@ cond_true: ; preds = %entry br label %cond_next cond_next: ; preds = %entry, %cond_true - %tmp4 = load %struct.__CFString** @_ZZ22SFLGetAlwaysVisibleKeyvE22_kSFLLAlwaysVisibleKey ; <%struct.__CFString*> [#uses=1] + %tmp4 = load %struct.__CFString*, %struct.__CFString** @_ZZ22SFLGetAlwaysVisibleKeyvE22_kSFLLAlwaysVisibleKey ; <%struct.__CFString*> [#uses=1] ret %struct.__CFString* %tmp4 } define %struct.__CFString* @_Z21SFLGetNeverVisibleKeyv() { entry: - %tmp1 = load %struct.__CFString** @_ZZ21SFLGetNeverVisibleKeyvE21_kSFLLNeverVisibleKey ; <%struct.__CFString*> [#uses=1] + %tmp1 = load %struct.__CFString*, %struct.__CFString** @_ZZ21SFLGetNeverVisibleKeyvE21_kSFLLNeverVisibleKey ; <%struct.__CFString*> [#uses=1] ret %struct.__CFString* %tmp1 } define %struct.__CFDictionary* @_ZN18SFLMutableListItem18GetPrefsDictionaryEv(%struct.SFLMutableListItem* %this) { entry: - %tmp4 = getelementptr %struct.SFLMutableListItem* %this, i32 0, i32 0 ; <i16*> [#uses=1] - %tmp5 = load i16* %tmp4 ; <i16> [#uses=1] + %tmp4 = getelementptr %struct.SFLMutableListItem, %struct.SFLMutableListItem* %this, i32 0, i32 0 ; <i16*> [#uses=1] + %tmp5 = load i16, i16* %tmp4 ; <i16> [#uses=1] %tmp6 = icmp eq i16 %tmp5, 0 ; <i1> [#uses=1] br i1 %tmp6, label %cond_next22, label %cond_true cond_true: ; preds = %entry - %tmp9 = load %struct.__CFString** @_ZZ22SFLGetAlwaysVisibleKeyvE22_kSFLLAlwaysVisibleKey ; <%struct.__CFString*> [#uses=1] + %tmp9 = load %struct.__CFString*, %struct.__CFString** @_ZZ22SFLGetAlwaysVisibleKeyvE22_kSFLLAlwaysVisibleKey ; <%struct.__CFString*> [#uses=1] %tmp10 = icmp eq %struct.__CFString* %tmp9, null ; <i1> [#uses=1] br i1 %tmp10, label %cond_true13, label %cond_next22 @@ -62,8 +62,8 @@ cond_true13: ; preds = %cond_true cond_next22: ; preds = %entry, %cond_true13, %cond_true %iftmp.1.0.in = phi %struct.__CFString** [ @_ZZ22SFLGetAlwaysVisibleKeyvE22_kSFLLAlwaysVisibleKey, %cond_true ], [ @_ZZ22SFLGetAlwaysVisibleKeyvE22_kSFLLAlwaysVisibleKey, %cond_true13 ], [ @_ZZ21SFLGetNeverVisibleKeyvE21_kSFLLNeverVisibleKey, %entry ] ; <%struct.__CFString**> [#uses=1] - %iftmp.1.0 = load %struct.__CFString** %iftmp.1.0.in ; <%struct.__CFString*> [#uses=1] - %tmp24 = load %struct.__CFString** @_ZZ19SFLGetVisibilityKeyvE19_kSFLLVisibilityKey ; <%struct.__CFString*> [#uses=1] + %iftmp.1.0 = load %struct.__CFString*, %struct.__CFString** %iftmp.1.0.in ; <%struct.__CFString*> [#uses=1] + %tmp24 = load %struct.__CFString*, %struct.__CFString** @_ZZ19SFLGetVisibilityKeyvE19_kSFLLVisibilityKey ; <%struct.__CFString*> [#uses=1] %tmp2728 = bitcast %struct.__CFString* %tmp24 to i8* ; <i8*> [#uses=1] %tmp2930 = bitcast %struct.__CFString* %iftmp.1.0 to i8* ; <i8*> [#uses=1] call void @_Z20CFDictionaryAddValuePKvS0_( i8* %tmp2728, i8* %tmp2930 ) diff --git a/test/Transforms/GlobalOpt/2007-06-04-PackedStruct.ll b/test/Transforms/GlobalOpt/2007-06-04-PackedStruct.ll index 7036c15..f6e0bb7 100644 --- a/test/Transforms/GlobalOpt/2007-06-04-PackedStruct.ll +++ b/test/Transforms/GlobalOpt/2007-06-04-PackedStruct.ll @@ -28,7 +28,7 @@ entry: br i1 %tmp7, label %cond_true, label %cond_next cond_true: ; preds = %entry - store i8 0, i8* getelementptr (%"struct.std::map<int,int,std::less<int>,std::allocator<std::pair<const int, int> > >"* @someMap, i32 0, i32 0, i32 0, i32 0, i32 0) + store i8 0, i8* getelementptr (%"struct.std::map<int,int,std::less<int>,std::allocator<std::pair<const int, int> > >", %"struct.std::map<int,int,std::less<int>,std::allocator<std::pair<const int, int> > >"* @someMap, i32 0, i32 0, i32 0, i32 0, i32 0) ret void cond_next: ; preds = %entry diff --git a/test/Transforms/GlobalOpt/2007-11-09-GEP-GEP-Crash.ll b/test/Transforms/GlobalOpt/2007-11-09-GEP-GEP-Crash.ll index 442cb92..cbc9c75 100644 --- a/test/Transforms/GlobalOpt/2007-11-09-GEP-GEP-Crash.ll +++ b/test/Transforms/GlobalOpt/2007-11-09-GEP-GEP-Crash.ll @@ -9,8 +9,8 @@ target triple = "powerpc-apple-darwin8" define i8 @func() { entry: - %tmp10 = getelementptr [2 x i32]* getelementptr ([6 x [2 x i32]]* @aaui1, i32 0, i32 0), i32 5, i32 1 ; <i32*> [#uses=1] - %tmp11 = load i32* %tmp10, align 4 ; <i32> [#uses=1] + %tmp10 = getelementptr [2 x i32], [2 x i32]* getelementptr ([6 x [2 x i32]], [6 x [2 x i32]]* @aaui1, i32 0, i32 0), i32 5, i32 1 ; <i32*> [#uses=1] + %tmp11 = load i32, i32* %tmp10, align 4 ; <i32> [#uses=1] %tmp12 = call i32 (...)* @func3( i32* null, i32 0, i32 %tmp11 ) ; <i32> [#uses=0] ret i8 undef } diff --git a/test/Transforms/GlobalOpt/2008-01-03-Crash.ll b/test/Transforms/GlobalOpt/2008-01-03-Crash.ll index 4105ab1..dc41fdb 100644 --- a/test/Transforms/GlobalOpt/2008-01-03-Crash.ll +++ b/test/Transforms/GlobalOpt/2008-01-03-Crash.ll @@ -20,7 +20,7 @@ stack_restore: ; preds = %cond_next20.i ret i32 0 cond_next21.i.i23.i: ; preds = %cond_next20.i - %tmp6.i4.i = load i32* bitcast (void (i32)** @indirect1 to i32*), align 4 ; <i32> [#uses=0] + %tmp6.i4.i = load i32, i32* bitcast (void (i32)** @indirect1 to i32*), align 4 ; <i32> [#uses=0] ret i32 0 } diff --git a/test/Transforms/GlobalOpt/2008-01-13-OutOfRangeSROA.ll b/test/Transforms/GlobalOpt/2008-01-13-OutOfRangeSROA.ll index 7c07d5d..8df7050 100644 --- a/test/Transforms/GlobalOpt/2008-01-13-OutOfRangeSROA.ll +++ b/test/Transforms/GlobalOpt/2008-01-13-OutOfRangeSROA.ll @@ -4,13 +4,13 @@ @mm = internal global [16 x [31 x double]] zeroinitializer, align 32 define void @test(i32 %X) { - %P = getelementptr [16 x [31 x double]]* @mm, i32 0, i32 0, i32 %X + %P = getelementptr [16 x [31 x double]], [16 x [31 x double]]* @mm, i32 0, i32 0, i32 %X store double 1.0, double* %P ret void } define double @get(i32 %X) { - %P = getelementptr [16 x [31 x double]]* @mm, i32 0, i32 0, i32 %X - %V = load double* %P + %P = getelementptr [16 x [31 x double]], [16 x [31 x double]]* @mm, i32 0, i32 0, i32 %X + %V = load double, double* %P ret double %V } diff --git a/test/Transforms/GlobalOpt/2008-01-29-VolatileGlobal.ll b/test/Transforms/GlobalOpt/2008-01-29-VolatileGlobal.ll index 08b2cb1..ac66360 100644 --- a/test/Transforms/GlobalOpt/2008-01-29-VolatileGlobal.ll +++ b/test/Transforms/GlobalOpt/2008-01-29-VolatileGlobal.ll @@ -3,7 +3,7 @@ define double @foo() nounwind { entry: - %tmp1 = load volatile double* @t0.1441, align 8 ; <double> [#uses=2] + %tmp1 = load volatile double, double* @t0.1441, align 8 ; <double> [#uses=2] %tmp4 = fmul double %tmp1, %tmp1 ; <double> [#uses=1] ret double %tmp4 } diff --git a/test/Transforms/GlobalOpt/2008-04-26-SROA-Global-Align.ll b/test/Transforms/GlobalOpt/2008-04-26-SROA-Global-Align.ll index d58becd..934d928 100644 --- a/test/Transforms/GlobalOpt/2008-04-26-SROA-Global-Align.ll +++ b/test/Transforms/GlobalOpt/2008-04-26-SROA-Global-Align.ll @@ -16,16 +16,16 @@ target triple = "x86_64-apple-darwin8" define void @test() { - store double 1.0, double* getelementptr (%T* @G, i32 0, i32 0), align 16 - store double 2.0, double* getelementptr (%T* @G, i32 0, i32 1), align 8 - store double 3.0, double* getelementptr (%T* @G, i32 0, i32 2), align 16 + store double 1.0, double* getelementptr (%T, %T* @G, i32 0, i32 0), align 16 + store double 2.0, double* getelementptr (%T, %T* @G, i32 0, i32 1), align 8 + store double 3.0, double* getelementptr (%T, %T* @G, i32 0, i32 2), align 16 ret void } define double @test2() { - %V1 = load double* getelementptr (%T* @G, i32 0, i32 0), align 16 - %V2 = load double* getelementptr (%T* @G, i32 0, i32 1), align 8 - %V3 = load double* getelementptr (%T* @G, i32 0, i32 2), align 16 + %V1 = load double, double* getelementptr (%T, %T* @G, i32 0, i32 0), align 16 + %V2 = load double, double* getelementptr (%T, %T* @G, i32 0, i32 1), align 8 + %V3 = load double, double* getelementptr (%T, %T* @G, i32 0, i32 2), align 16 %R = fadd double %V1, %V2 %R2 = fadd double %R, %V3 ret double %R2 diff --git a/test/Transforms/GlobalOpt/2008-07-17-addrspace.ll b/test/Transforms/GlobalOpt/2008-07-17-addrspace.ll index 0867ca9..d602df1 100644 --- a/test/Transforms/GlobalOpt/2008-07-17-addrspace.ll +++ b/test/Transforms/GlobalOpt/2008-07-17-addrspace.ll @@ -10,8 +10,8 @@ @array = internal addrspace(1) global [ 2 x i32 ] zeroinitializer define i32 @foo() { - %A = load i32 addrspace(1) * getelementptr ({ i32, i32 } addrspace(1) * @struct, i32 0, i32 0) - %B = load i32 addrspace(1) * getelementptr ([ 2 x i32 ] addrspace(1) * @array, i32 0, i32 0) + %A = load i32, i32 addrspace(1) * getelementptr ({ i32, i32 }, { i32, i32 } addrspace(1) * @struct, i32 0, i32 0) + %B = load i32, i32 addrspace(1) * getelementptr ([ 2 x i32 ], [ 2 x i32 ] addrspace(1) * @array, i32 0, i32 0) ; Use the loaded values, so they won't get removed completely %R = add i32 %A, %B ret i32 %R @@ -20,8 +20,8 @@ define i32 @foo() { ; We put stores in a different function, so that the global variables won't get ; optimized away completely. define void @bar(i32 %R) { - store i32 %R, i32 addrspace(1) * getelementptr ([ 2 x i32 ] addrspace(1) * @array, i32 0, i32 0) - store i32 %R, i32 addrspace(1) * getelementptr ({ i32, i32 } addrspace(1) * @struct, i32 0, i32 0) + store i32 %R, i32 addrspace(1) * getelementptr ([ 2 x i32 ], [ 2 x i32 ] addrspace(1) * @array, i32 0, i32 0) + store i32 %R, i32 addrspace(1) * getelementptr ({ i32, i32 }, { i32, i32 } addrspace(1) * @struct, i32 0, i32 0) ret void } diff --git a/test/Transforms/GlobalOpt/2008-12-16-HeapSRACrash-2.ll b/test/Transforms/GlobalOpt/2008-12-16-HeapSRACrash-2.ll index b74e4fc..bd32163 100644 --- a/test/Transforms/GlobalOpt/2008-12-16-HeapSRACrash-2.ll +++ b/test/Transforms/GlobalOpt/2008-12-16-HeapSRACrash-2.ll @@ -6,9 +6,9 @@ target triple = "i386-apple-darwin7" define void @bar(i32 %Size) nounwind noinline { entry: - %malloccall = tail call i8* @malloc(i32 trunc (i64 mul (i64 ptrtoint (i32* getelementptr (i32* null, i32 1) to i64), i64 2000000) to i32)) + %malloccall = tail call i8* @malloc(i32 trunc (i64 mul (i64 ptrtoint (i32* getelementptr (i32, i32* null, i32 1) to i64), i64 2000000) to i32)) %tmp = bitcast i8* %malloccall to [1000000 x %struct.foo]* - %.sub = getelementptr [1000000 x %struct.foo]* %tmp, i32 0, i32 0 ; <%struct.foo*> [#uses=1] + %.sub = getelementptr [1000000 x %struct.foo], [1000000 x %struct.foo]* %tmp, i32 0, i32 0 ; <%struct.foo*> [#uses=1] store %struct.foo* %.sub, %struct.foo** @X, align 4 ret void } @@ -18,11 +18,11 @@ declare noalias i8* @malloc(i32) define i32 @baz() nounwind readonly noinline { bb1.thread: - %tmpLD1 = load %struct.foo** @X, align 4 ; <%struct.foo*> [#uses=2] + %tmpLD1 = load %struct.foo*, %struct.foo** @X, align 4 ; <%struct.foo*> [#uses=2] br label %bb1 bb1: ; preds = %bb1, %bb1.thread %tmp = phi %struct.foo* [ %tmpLD1, %bb1.thread ], [ %tmpLD1, %bb1 ] ; <%struct.foo*> [#uses=1] - %0 = getelementptr %struct.foo* %tmp, i32 1 ; <%struct.foo*> [#uses=0] + %0 = getelementptr %struct.foo, %struct.foo* %tmp, i32 1 ; <%struct.foo*> [#uses=0] br label %bb1 } diff --git a/test/Transforms/GlobalOpt/2008-12-16-HeapSRACrash.ll b/test/Transforms/GlobalOpt/2008-12-16-HeapSRACrash.ll index 613cb7b..e9c1678 100644 --- a/test/Transforms/GlobalOpt/2008-12-16-HeapSRACrash.ll +++ b/test/Transforms/GlobalOpt/2008-12-16-HeapSRACrash.ll @@ -6,9 +6,9 @@ target triple = "i386-apple-darwin7" define void @bar(i32 %Size) nounwind noinline { entry: - %malloccall = tail call i8* @malloc(i32 trunc (i64 mul (i64 ptrtoint (i32* getelementptr (i32* null, i32 1) to i64), i64 2000000) to i32)) + %malloccall = tail call i8* @malloc(i32 trunc (i64 mul (i64 ptrtoint (i32* getelementptr (i32, i32* null, i32 1) to i64), i64 2000000) to i32)) %tmp = bitcast i8* %malloccall to [1000000 x %struct.foo]* - %.sub = getelementptr [1000000 x %struct.foo]* %tmp, i32 0, i32 0 ; <%struct.foo*> [#uses=1] + %.sub = getelementptr [1000000 x %struct.foo], [1000000 x %struct.foo]* %tmp, i32 0, i32 0 ; <%struct.foo*> [#uses=1] store %struct.foo* %.sub, %struct.foo** @X, align 4 ret void } @@ -17,7 +17,7 @@ declare noalias i8* @malloc(i32) define i32 @baz() nounwind readonly noinline { bb1.thread: - %tmpLD1 = load %struct.foo** @X, align 4 ; <%struct.foo*> [#uses=3] + %tmpLD1 = load %struct.foo*, %struct.foo** @X, align 4 ; <%struct.foo*> [#uses=3] store %struct.foo* %tmpLD1, %struct.foo** null br label %bb1 diff --git a/test/Transforms/GlobalOpt/2009-01-13-phi-user.ll b/test/Transforms/GlobalOpt/2009-01-13-phi-user.ll index e76c44d..21ec526 100644 --- a/test/Transforms/GlobalOpt/2009-01-13-phi-user.ll +++ b/test/Transforms/GlobalOpt/2009-01-13-phi-user.ll @@ -12,15 +12,15 @@ entry: br label %bb1 bb: ; preds = %bb1 - %0 = getelementptr %struct.node* %t.0, i64 0, i32 1 ; <i32*> [#uses=1] - %1 = load i32* %0, align 4 ; <i32> [#uses=1] - %2 = getelementptr %struct.node* %t.0, i64 0, i32 0 ; <%struct.node**> [#uses=1] + %0 = getelementptr %struct.node, %struct.node* %t.0, i64 0, i32 1 ; <i32*> [#uses=1] + %1 = load i32, i32* %0, align 4 ; <i32> [#uses=1] + %2 = getelementptr %struct.node, %struct.node* %t.0, i64 0, i32 0 ; <%struct.node**> [#uses=1] br label %bb1 bb1: ; preds = %bb, %entry %value.0 = phi i32 [ undef, %entry ], [ %1, %bb ] ; <i32> [#uses=1] %t.0.in = phi %struct.node** [ @head, %entry ], [ %2, %bb ] ; <%struct.node**> [#uses=1] - %t.0 = load %struct.node** %t.0.in ; <%struct.node*> [#uses=3] + %t.0 = load %struct.node*, %struct.node** %t.0.in ; <%struct.node*> [#uses=3] %3 = icmp eq %struct.node* %t.0, null ; <i1> [#uses=1] br i1 %3, label %bb2, label %bb diff --git a/test/Transforms/GlobalOpt/2009-02-15-BitcastAlias.ll b/test/Transforms/GlobalOpt/2009-02-15-BitcastAlias.ll index d6a565a..a3e9004 100644 --- a/test/Transforms/GlobalOpt/2009-02-15-BitcastAlias.ll +++ b/test/Transforms/GlobalOpt/2009-02-15-BitcastAlias.ll @@ -5,6 +5,6 @@ @a = alias bitcast (i32* @g to i8*) define void @f() { - %tmp = load i8* @a + %tmp = load i8, i8* @a ret void } diff --git a/test/Transforms/GlobalOpt/2009-03-05-dbg.ll b/test/Transforms/GlobalOpt/2009-03-05-dbg.ll index 049eef1..f52a313 100644 --- a/test/Transforms/GlobalOpt/2009-03-05-dbg.ll +++ b/test/Transforms/GlobalOpt/2009-03-05-dbg.ll @@ -33,7 +33,7 @@ declare void @llvm.dbg.declare(metadata, metadata, metadata) nounwind readnone define i32 @bar() nounwind ssp { entry: %"alloca point" = bitcast i32 0 to i32 ; <i32> [#uses=0] - %0 = load i32* @Stop, align 4, !dbg !13 ; <i32> [#uses=1] + %0 = load i32, i32* @Stop, align 4, !dbg !13 ; <i32> [#uses=1] %1 = icmp eq i32 %0, 1, !dbg !13 ; <i1> [#uses=1] br i1 %1, label %bb, label %bb1, !dbg !13 @@ -55,25 +55,25 @@ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) nounwind readnon !llvm.dbg.gv = !{!0} -!0 = !{!"0x34\00Stop\00Stop\00\002\001\001", !1, !1, !2, i32* @Stop} ; [ DW_TAG_variable ] -!1 = !{!"0x11\001\004.2.1 (Based on Apple Inc. build 5658) (LLVM build)\001\00\000\00\000", !20, !21, !21, null, null, null} ; [ DW_TAG_compile_unit ] -!2 = !{!"0x24\00int\000\0032\0032\000\000\005", null, !1} ; [ DW_TAG_base_type ] -!3 = !{!"0x101\00i\004\000", !4, !1, !2} ; [ DW_TAG_arg_variable ] -!4 = !{!"0x2e\00foo\00foo\00foo\004\000\001\000\006\000\000\000", i32 0, !1, !5, null, null, null, null, null} ; [ DW_TAG_subprogram ] -!5 = !{!"0x15\00\000\000\000\000\000\000", !1, null, null, !6, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ] +!0 = !MDGlobalVariable(name: "Stop", line: 2, isLocal: true, isDefinition: true, scope: !1, file: !1, type: !2, variable: i32* @Stop) +!1 = !MDCompileUnit(language: DW_LANG_C89, producer: "4.2.1 (Based on Apple Inc. build 5658) (LLVM build)", isOptimized: true, emissionKind: 0, file: !20, enums: !21, retainedTypes: !21) +!2 = !MDBasicType(tag: DW_TAG_base_type, name: "int", size: 32, align: 32, encoding: DW_ATE_signed) +!3 = !MDLocalVariable(tag: DW_TAG_arg_variable, name: "i", line: 4, arg: 0, scope: !4, file: !1, type: !2) +!4 = !MDSubprogram(name: "foo", linkageName: "foo", line: 4, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: false, scope: !1, type: !5) +!5 = !MDSubroutineType(types: !6) !6 = !{!2, !2} !7 = !MDLocation(line: 5, scope: !8) -!8 = !{!"0xb\000\000\000", !20, !4} ; [ DW_TAG_lexical_block ] +!8 = distinct !MDLexicalBlock(line: 0, column: 0, file: !20, scope: !4) !9 = !MDLocation(line: 6, scope: !8) !10 = !MDLocation(line: 7, scope: !8) !11 = !MDLocation(line: 9, scope: !8) !12 = !MDLocation(line: 11, scope: !8) !13 = !MDLocation(line: 14, scope: !14) -!14 = !{!"0xb\000\000\000", !20, !15} ; [ DW_TAG_lexical_block ] -!15 = !{!"0x2e\00bar\00bar\00bar\0013\000\001\000\006\000\000\000", i32 0, !1, !16, null, null, null, null, null} ; [ DW_TAG_subprogram ] -!16 = !{!"0x15\00\000\000\000\000\000\000", !1, null, null, !17, null, null, null} ; [ DW_TAG_subroutine_type ] [line 0, size 0, align 0, offset 0] [from ] +!14 = distinct !MDLexicalBlock(line: 0, column: 0, file: !20, scope: !15) +!15 = !MDSubprogram(name: "bar", linkageName: "bar", line: 13, isLocal: false, isDefinition: true, virtualIndex: 6, isOptimized: false, scope: !1, type: !16) +!16 = !MDSubroutineType(types: !17) !17 = !{!2} !18 = !MDLocation(line: 15, scope: !14) !19 = !MDLocation(line: 16, scope: !14) -!20 = !{!"g.c", !"/tmp"} +!20 = !MDFile(filename: "g.c", directory: "/tmp") !21 = !{i32 0} diff --git a/test/Transforms/GlobalOpt/2009-03-07-PromotePtrToBool.ll b/test/Transforms/GlobalOpt/2009-03-07-PromotePtrToBool.ll index 059af1c..469fa76 100644 --- a/test/Transforms/GlobalOpt/2009-03-07-PromotePtrToBool.ll +++ b/test/Transforms/GlobalOpt/2009-03-07-PromotePtrToBool.ll @@ -12,6 +12,6 @@ entry: define i32* @get() nounwind { entry: - %0 = load i32** @X, align 4 ; <i32*> [#uses=1] + %0 = load i32*, i32** @X, align 4 ; <i32*> [#uses=1] ret i32* %0 } diff --git a/test/Transforms/GlobalOpt/2009-06-01-RecursivePHI.ll b/test/Transforms/GlobalOpt/2009-06-01-RecursivePHI.ll index d3c3ff5..30e4d42 100644 --- a/test/Transforms/GlobalOpt/2009-06-01-RecursivePHI.ll +++ b/test/Transforms/GlobalOpt/2009-06-01-RecursivePHI.ll @@ -33,7 +33,7 @@ bb.i4.i: ; preds = %my_calloc.exit.i unreachable my_calloc.exit5.i: ; preds = %my_calloc.exit.i - %.pre.i58 = load %struct.s_net** @net, align 4 ; <%struct.s_net*> [#uses=1] + %.pre.i58 = load %struct.s_net*, %struct.s_net** @net, align 4 ; <%struct.s_net*> [#uses=1] br label %bb17.i78 bb1.i61: ; preds = %bb4.preheader.i, %bb1.i61 @@ -58,11 +58,11 @@ bb.i1.i68: ; preds = %bb8.i67 unreachable my_malloc.exit.i70: ; preds = %bb8.i67 - %0 = load %struct.s_net** @net, align 4 ; <%struct.s_net*> [#uses=1] + %0 = load %struct.s_net*, %struct.s_net** @net, align 4 ; <%struct.s_net*> [#uses=1] br i1 undef, label %bb9.i71, label %bb16.i77 bb9.i71: ; preds = %bb9.i71, %my_malloc.exit.i70 - %1 = load %struct.s_net** @net, align 4 ; <%struct.s_net*> [#uses=1] + %1 = load %struct.s_net*, %struct.s_net** @net, align 4 ; <%struct.s_net*> [#uses=1] br i1 undef, label %bb9.i71, label %bb16.i77 bb16.i77: ; preds = %bb9.i71, %my_malloc.exit.i70, %bb15.preheader.i diff --git a/test/Transforms/GlobalOpt/2009-11-16-BrokenPerformHeapAllocSRoA.ll b/test/Transforms/GlobalOpt/2009-11-16-BrokenPerformHeapAllocSRoA.ll index 40862bd..461c253 100644 --- a/test/Transforms/GlobalOpt/2009-11-16-BrokenPerformHeapAllocSRoA.ll +++ b/test/Transforms/GlobalOpt/2009-11-16-BrokenPerformHeapAllocSRoA.ll @@ -13,9 +13,9 @@ target triple = "x86_64-apple-darwin10.0" ; based on linit in office-ispell define void @test() nounwind ssp { - %1 = load i32* getelementptr inbounds (%struct.hashheader* @hashheader, i64 0, i32 13), align 8 ; <i32> [#uses=1] + %1 = load i32, i32* getelementptr inbounds (%struct.hashheader, %struct.hashheader* @hashheader, i64 0, i32 13), align 8 ; <i32> [#uses=1] %2 = sext i32 %1 to i64 ; <i64> [#uses=1] - %3 = mul i64 %2, ptrtoint (%struct.strchartype* getelementptr (%struct.strchartype* null, i64 1) to i64) ; <i64> [#uses=1] + %3 = mul i64 %2, ptrtoint (%struct.strchartype* getelementptr (%struct.strchartype, %struct.strchartype* null, i64 1) to i64) ; <i64> [#uses=1] %4 = tail call i8* @malloc(i64 %3) ; <i8*> [#uses=1] ; CHECK-NOT: call i8* @malloc(i64 %5 = bitcast i8* %4 to %struct.strchartype* ; <%struct.strchartype*> [#uses=1] diff --git a/test/Transforms/GlobalOpt/2009-11-16-MallocSingleStoreToGlobalVar.ll b/test/Transforms/GlobalOpt/2009-11-16-MallocSingleStoreToGlobalVar.ll index b73f62b..25bb976 100644 --- a/test/Transforms/GlobalOpt/2009-11-16-MallocSingleStoreToGlobalVar.ll +++ b/test/Transforms/GlobalOpt/2009-11-16-MallocSingleStoreToGlobalVar.ll @@ -14,15 +14,15 @@ target triple = "x86_64-apple-darwin10.0" ; Derived from @DescribeChannel() in yacr2 define void @test() nounwind ssp { store i64 2335, i64* @channelColumns, align 8 - %1 = load i64* @channelColumns, align 8 ; <i64> [#uses=1] + %1 = load i64, i64* @channelColumns, align 8 ; <i64> [#uses=1] %2 = shl i64 %1, 3 ; <i64> [#uses=1] %3 = add i64 %2, 8 ; <i64> [#uses=1] %4 = call noalias i8* @malloc(i64 %3) nounwind ; <i8*> [#uses=1] ; CHECK: call noalias i8* @malloc %5 = bitcast i8* %4 to i64* ; <i64*> [#uses=1] store i64* %5, i64** @TOP, align 8 - %6 = load i64** @TOP, align 8 ; <i64*> [#uses=1] - %7 = getelementptr inbounds i64* %6, i64 13 ; <i64*> [#uses=1] + %6 = load i64*, i64** @TOP, align 8 ; <i64*> [#uses=1] + %7 = getelementptr inbounds i64, i64* %6, i64 13 ; <i64*> [#uses=1] store i64 0, i64* %7, align 8 ret void } diff --git a/test/Transforms/GlobalOpt/2010-02-25-MallocPromote.ll b/test/Transforms/GlobalOpt/2010-02-25-MallocPromote.ll index 629d57c..9f53ce4 100644 --- a/test/Transforms/GlobalOpt/2010-02-25-MallocPromote.ll +++ b/test/Transforms/GlobalOpt/2010-02-25-MallocPromote.ll @@ -12,7 +12,7 @@ bb918: %malloccall.i10 = call i8* @malloc(i32 16) nounwind ; <i8*> [#uses=1] %0 = bitcast i8* %malloccall.i10 to i32* ; <i32*> [#uses=1] store i32* %0, i32** @fixLRBT, align 8 - %1 = load i32** @fixLRBT, align 8 ; <i32*> [#uses=0] - %A = load i32* %1 + %1 = load i32*, i32** @fixLRBT, align 8 ; <i32*> [#uses=0] + %A = load i32, i32* %1 ret i32 %A } diff --git a/test/Transforms/GlobalOpt/2010-02-26-MallocSROA.ll b/test/Transforms/GlobalOpt/2010-02-26-MallocSROA.ll index ab7721f..12fa341 100644 --- a/test/Transforms/GlobalOpt/2010-02-26-MallocSROA.ll +++ b/test/Transforms/GlobalOpt/2010-02-26-MallocSROA.ll @@ -10,7 +10,7 @@ target triple = "x86_64-unknown-linux-gnu" define fastcc void @init_net() nounwind { entry: - %0 = load i32* @numf2s, align 4 ; <i32> [#uses=1] + %0 = load i32, i32* @numf2s, align 4 ; <i32> [#uses=1] %mallocsize2 = shl i32 %0, 4 ; <i32> [#uses=1] %malloccall3 = tail call i8* @malloc(i32 %mallocsize2) nounwind ; <i8*> [#uses=1] %1 = bitcast i8* %malloccall3 to %struct.xyz* ; <%struct.xyz*> [#uses=1] @@ -20,7 +20,7 @@ entry: define fastcc void @load_train(i8* %trainfile, i32 %mode, i32 %objects) nounwind { entry: - %0 = load %struct.xyz** @Y, align 8 ; <%struct.xyz*> [#uses=0] + %0 = load %struct.xyz*, %struct.xyz** @Y, align 8 ; <%struct.xyz*> [#uses=0] ret void } diff --git a/test/Transforms/GlobalOpt/alias-resolve.ll b/test/Transforms/GlobalOpt/alias-resolve.ll index ebc20c6..090d784 100644 --- a/test/Transforms/GlobalOpt/alias-resolve.ll +++ b/test/Transforms/GlobalOpt/alias-resolve.ll @@ -13,8 +13,8 @@ ; CHECK: @weak1 = weak alias void ()* @bar2 @bar4 = private unnamed_addr constant [2 x i8*] zeroinitializer -@foo4 = linkonce_odr unnamed_addr alias getelementptr inbounds ([2 x i8*]* @bar4, i32 0, i32 1) -; CHECK: @foo4 = linkonce_odr unnamed_addr alias getelementptr inbounds ([2 x i8*]* @bar4, i32 0, i32 1) +@foo4 = linkonce_odr unnamed_addr alias getelementptr inbounds ([2 x i8*], [2 x i8*]* @bar4, i32 0, i32 1) +; CHECK: @foo4 = linkonce_odr unnamed_addr alias getelementptr inbounds ([2 x i8*], [2 x i8*]* @bar4, i32 0, i32 1) define void @bar2() { ret void diff --git a/test/Transforms/GlobalOpt/array-elem-refs.ll b/test/Transforms/GlobalOpt/array-elem-refs.ll index ec472b0..c31965b 100644 --- a/test/Transforms/GlobalOpt/array-elem-refs.ll +++ b/test/Transforms/GlobalOpt/array-elem-refs.ll @@ -4,16 +4,16 @@ target triple = "x86_64-unknown-linux-gnu" %struct.S = type { i8, i8 } -@c = internal global i8** bitcast (i8* getelementptr (i8* bitcast ([8 x i8*]* @b to i8*), i64 48) to i8**), align 8 -@b = internal global [8 x i8*] [i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, i8* getelementptr inbounds (%struct.S* @a, i32 0, i32 0), i8* getelementptr (i8* getelementptr inbounds (%struct.S* @a, i32 0, i32 0), i64 1)], align 16 +@c = internal global i8** bitcast (i8* getelementptr (i8, i8* bitcast ([8 x i8*]* @b to i8*), i64 48) to i8**), align 8 +@b = internal global [8 x i8*] [i8* null, i8* null, i8* null, i8* null, i8* null, i8* null, i8* getelementptr inbounds (%struct.S, %struct.S* @a, i32 0, i32 0), i8* getelementptr (i8, i8* getelementptr inbounds (%struct.S, %struct.S* @a, i32 0, i32 0), i64 1)], align 16 @a = internal global %struct.S zeroinitializer, align 1 ; Function Attrs: nounwind uwtable define signext i8 @foo() #0 { entry: - %0 = load i8*** @c, align 8 - %1 = load i8** %0, align 8 - %2 = load i8* %1, align 1 + %0 = load i8**, i8*** @c, align 8 + %1 = load i8*, i8** %0, align 8 + %2 = load i8, i8* %1, align 1 ret i8 %2 ; CHECK-LABEL: @foo diff --git a/test/Transforms/GlobalOpt/atomic.ll b/test/Transforms/GlobalOpt/atomic.ll index ac05bfd..563c1fe 100644 --- a/test/Transforms/GlobalOpt/atomic.ll +++ b/test/Transforms/GlobalOpt/atomic.ll @@ -8,7 +8,7 @@ define void @test1() { entry: - %0 = load atomic i8* bitcast (i64* @GV1 to i8*) acquire, align 8 + %0 = load atomic i8, i8* bitcast (i64* @GV1 to i8*) acquire, align 8 ret void } @@ -20,6 +20,6 @@ entry: } define i32 @test2b() { entry: - %atomic-load = load atomic i32* @GV2 seq_cst, align 4 + %atomic-load = load atomic i32, i32* @GV2 seq_cst, align 4 ret i32 %atomic-load } diff --git a/test/Transforms/GlobalOpt/basictest.ll b/test/Transforms/GlobalOpt/basictest.ll index 4332d3d..4c25e4f 100644 --- a/test/Transforms/GlobalOpt/basictest.ll +++ b/test/Transforms/GlobalOpt/basictest.ll @@ -3,7 +3,7 @@ @X = internal global i32 4 ; <i32*> [#uses=1] define i32 @foo() { - %V = load i32* @X ; <i32> [#uses=1] + %V = load i32, i32* @X ; <i32> [#uses=1] ret i32 %V } diff --git a/test/Transforms/GlobalOpt/constantfold-initializers.ll b/test/Transforms/GlobalOpt/constantfold-initializers.ll index 36de19c..d0c1881 100644 --- a/test/Transforms/GlobalOpt/constantfold-initializers.ll +++ b/test/Transforms/GlobalOpt/constantfold-initializers.ll @@ -5,7 +5,7 @@ target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3 @.str91250 = global [3 x i8] zeroinitializer ; CHECK: @A = global i1 false -@A = global i1 icmp ne (i64 sub nsw (i64 ptrtoint (i8* getelementptr inbounds ([3 x i8]* @.str91250, i64 0, i64 1) to i64), i64 ptrtoint ([3 x i8]* @.str91250 to i64)), i64 1) +@A = global i1 icmp ne (i64 sub nsw (i64 ptrtoint (i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str91250, i64 0, i64 1) to i64), i64 ptrtoint ([3 x i8]* @.str91250 to i64)), i64 1) ; PR11352 @@ -15,13 +15,13 @@ target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f3 ; PR12642 %PR12642.struct = type { i8 } @PR12642.s = global <{}> zeroinitializer, align 1 -@PR12642.p = constant %PR12642.struct* bitcast (i8* getelementptr (i8* bitcast (<{}>* @PR12642.s to i8*), i64 1) to %PR12642.struct*), align 8 +@PR12642.p = constant %PR12642.struct* bitcast (i8* getelementptr (i8, i8* bitcast (<{}>* @PR12642.s to i8*), i64 1) to %PR12642.struct*), align 8 define internal void @test1() { entry: - store i32 1, i32* getelementptr inbounds ([2 x i32]* @xs, i64 0, i64 0) - %0 = load i32* getelementptr inbounds ([2 x i32]* @xs, i32 0, i64 0), align 4 - store i32 %0, i32* getelementptr inbounds ([2 x i32]* @xs, i64 0, i64 1) + store i32 1, i32* getelementptr inbounds ([2 x i32], [2 x i32]* @xs, i64 0, i64 0) + %0 = load i32, i32* getelementptr inbounds ([2 x i32], [2 x i32]* @xs, i32 0, i64 0), align 4 + store i32 %0, i32* getelementptr inbounds ([2 x i32], [2 x i32]* @xs, i64 0, i64 1) ret void } @@ -36,15 +36,15 @@ entry: define internal i32 @test2_helper(%closure* %this, i32 %b) { entry: - %0 = getelementptr inbounds %closure* %this, i32 0, i32 0 - %1 = load i32* %0, align 4 + %0 = getelementptr inbounds %closure, %closure* %this, i32 0, i32 0 + %1 = load i32, i32* %0, align 4 %add = add nsw i32 %1, %b ret i32 %add } define internal void @test2() { entry: - store i32 4, i32* getelementptr inbounds (%closure* @f, i32 0, i32 0) + store i32 4, i32* getelementptr inbounds (%closure, %closure* @f, i32 0, i32 0) %call = call i32 @test2_helper(%closure* @f, i32 9) store i32 %call, i32* @m, align 4 ret void @@ -85,7 +85,7 @@ entry: @test6_v2 = global i32 0, align 4 ; CHECK: @test6_v2 = global i32 42, align 4 define internal void @test6() { - %load = load { i32, i32 }* @test6_v1, align 8 + %load = load { i32, i32 }, { i32, i32 }* @test6_v1, align 8 %xv0 = extractvalue { i32, i32 } %load, 0 %iv = insertvalue { i32, i32 } %load, i32 %xv0, 1 %xv1 = extractvalue { i32, i32 } %iv, 1 diff --git a/test/Transforms/GlobalOpt/crash-2.ll b/test/Transforms/GlobalOpt/crash-2.ll index 684f6ce..748fb02 100644 --- a/test/Transforms/GlobalOpt/crash-2.ll +++ b/test/Transforms/GlobalOpt/crash-2.ll @@ -11,9 +11,9 @@ @g_71 = internal global %struct.S0.1.7.13 { i8 1, i8 -93, i8 58, i8 -1, i16 -5, [2 x i8] undef }, align 4 @g_114 = external global i8, align 1 @g_30 = external global { i32, i8, i32, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8 }, align 4 -@g_271 = internal global [7 x [6 x [5 x i8*]]] [[6 x [5 x i8*]] [[5 x i8*] [i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_25, i8* null], [5 x i8*] [i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_114, i8* @g_114, i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0)], [5 x i8*] [i8* null, i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_25, i8* null, i8* null], [5 x i8*] [i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_25, i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0)], [5 x i8*] [i8* @g_25, i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* null, i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0)], [5 x i8*] [i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr (i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* @g_25, i8* @g_114, i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0)]], [6 x [5 x i8*]] [[5 x i8*] [i8* @g_25, i8* null, i8* @g_25, i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0)], [5 x i8*] [i8* @g_25, i8* @g_114, i8* @g_25, i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_114], [5 x i8*] [i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr (i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* @g_25, i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_25], [5 x i8*] [i8* getelementptr (i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* getelementptr (i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_114, i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0)], [5 x i8*] [i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_25, i8* @g_25, i8* @g_25, i8* @g_25], [5 x i8*] [i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_25, i8* @g_25, i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0)]], [6 x [5 x i8*]] [[5 x i8*] [i8* null, i8* @g_25, i8* @g_25, i8* @g_25, i8* null], [5 x i8*] [i8* @g_25, i8* getelementptr (i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* @g_25, i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr (i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1)], [5 x i8*] [i8* null, i8* getelementptr (i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* getelementptr (i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* null, i8* @g_25], [5 x i8*] [i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_114, i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr (i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* getelementptr (i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1)], [5 x i8*] [i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* null, i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_25, i8* null], [5 x i8*] [i8* getelementptr (i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* @g_25, i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr (i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0)]], [6 x [5 x i8*]] [[5 x i8*] [i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_25, i8* null, i8* @g_25], [5 x i8*] [i8* @g_25, i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0)], [5 x i8*] [i8* @g_25, i8* getelementptr (i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_25, i8* @g_25], [5 x i8*] [i8* @g_114, i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_114], [5 x i8*] [i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr (i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* @g_25, i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0)], [5 x i8*] [i8* @g_114, i8* @g_25, i8* @g_25, i8* @g_114, i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0)]], [6 x [5 x i8*]] [[5 x i8*] [i8* @g_25, i8* null, i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_25, i8* @g_25], [5 x i8*] [i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr (i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_25, i8* getelementptr (i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1)], [5 x i8*] [i8* @g_25, i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr (i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* @g_25, i8* getelementptr (i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1)], [5 x i8*] [i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr (i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* @g_114], [5 x i8*] [i8* @g_25, i8* null, i8* getelementptr (i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* getelementptr (i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* null], [5 x i8*] [i8* @g_114, i8* @g_25, i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_114, i8* @g_25]], [6 x [5 x i8*]] [[5 x i8*] [i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* null, i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* null, i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0)], [5 x i8*] [i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_25, i8* @g_25, i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0)], [5 x i8*] [i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr (i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1)], [5 x i8*] [i8* @g_114, i8* getelementptr (i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0)], [5 x i8*] [i8* @g_25, i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_25, i8* getelementptr (i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0)], [5 x i8*] [i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_25, i8* @g_25, i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_25]], [6 x [5 x i8*]] [[5 x i8*] [i8* @g_25, i8* @g_25, i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* null], [5 x i8*] [i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_114, i8* @g_25, i8* @g_25, i8* @g_114], [5 x i8*] [i8* null, i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_25, i8* null, i8* getelementptr (i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1)], [5 x i8*] [i8* getelementptr (i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* @g_114, i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_114, i8* getelementptr (i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1)], [5 x i8*] [i8* @g_25, i8* @g_25, i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr (i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* @g_25], [5 x i8*] [i8* getelementptr (i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* @g_25, i8* @g_25, i8* getelementptr (i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* @g_25]]], align 4 +@g_271 = internal global [7 x [6 x [5 x i8*]]] [[6 x [5 x i8*]] [[5 x i8*] [i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_25, i8* null], [5 x i8*] [i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_114, i8* @g_114, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0)], [5 x i8*] [i8* null, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_25, i8* null, i8* null], [5 x i8*] [i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_25, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0)], [5 x i8*] [i8* @g_25, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* null, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0)], [5 x i8*] [i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr (i8, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* @g_25, i8* @g_114, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0)]], [6 x [5 x i8*]] [[5 x i8*] [i8* @g_25, i8* null, i8* @g_25, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0)], [5 x i8*] [i8* @g_25, i8* @g_114, i8* @g_25, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_114], [5 x i8*] [i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr (i8, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* @g_25, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_25], [5 x i8*] [i8* getelementptr (i8, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* getelementptr (i8, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_114, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0)], [5 x i8*] [i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_25, i8* @g_25, i8* @g_25, i8* @g_25], [5 x i8*] [i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_25, i8* @g_25, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0)]], [6 x [5 x i8*]] [[5 x i8*] [i8* null, i8* @g_25, i8* @g_25, i8* @g_25, i8* null], [5 x i8*] [i8* @g_25, i8* getelementptr (i8, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* @g_25, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr (i8, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1)], [5 x i8*] [i8* null, i8* getelementptr (i8, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* getelementptr (i8, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* null, i8* @g_25], [5 x i8*] [i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_114, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr (i8, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* getelementptr (i8, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1)], [5 x i8*] [i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* null, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_25, i8* null], [5 x i8*] [i8* getelementptr (i8, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* @g_25, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr (i8, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0)]], [6 x [5 x i8*]] [[5 x i8*] [i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_25, i8* null, i8* @g_25], [5 x i8*] [i8* @g_25, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0)], [5 x i8*] [i8* @g_25, i8* getelementptr (i8, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_25, i8* @g_25], [5 x i8*] [i8* @g_114, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_114], [5 x i8*] [i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr (i8, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* @g_25, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0)], [5 x i8*] [i8* @g_114, i8* @g_25, i8* @g_25, i8* @g_114, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0)]], [6 x [5 x i8*]] [[5 x i8*] [i8* @g_25, i8* null, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_25, i8* @g_25], [5 x i8*] [i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr (i8, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_25, i8* getelementptr (i8, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1)], [5 x i8*] [i8* @g_25, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr (i8, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* @g_25, i8* getelementptr (i8, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1)], [5 x i8*] [i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr (i8, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* @g_114], [5 x i8*] [i8* @g_25, i8* null, i8* getelementptr (i8, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* getelementptr (i8, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* null], [5 x i8*] [i8* @g_114, i8* @g_25, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_114, i8* @g_25]], [6 x [5 x i8*]] [[5 x i8*] [i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* null, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* null, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0)], [5 x i8*] [i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_25, i8* @g_25, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0)], [5 x i8*] [i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr (i8, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1)], [5 x i8*] [i8* @g_114, i8* getelementptr (i8, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0)], [5 x i8*] [i8* @g_25, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_25, i8* getelementptr (i8, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0)], [5 x i8*] [i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_25, i8* @g_25, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_25]], [6 x [5 x i8*]] [[5 x i8*] [i8* @g_25, i8* @g_25, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* null], [5 x i8*] [i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_114, i8* @g_25, i8* @g_25, i8* @g_114], [5 x i8*] [i8* null, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_25, i8* null, i8* getelementptr (i8, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1)], [5 x i8*] [i8* getelementptr (i8, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* @g_114, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* @g_114, i8* getelementptr (i8, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1)], [5 x i8*] [i8* @g_25, i8* @g_25, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i8* getelementptr (i8, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* @g_25], [5 x i8*] [i8* getelementptr (i8, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* @g_25, i8* @g_25, i8* getelementptr (i8, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), i64 1), i8* @g_25]]], align 4 define i32 @func() { - %tmp = load i8* getelementptr inbounds (%struct.S0.1.7.13* @g_71, i32 0, i32 0), align 1 + %tmp = load i8, i8* getelementptr inbounds (%struct.S0.1.7.13, %struct.S0.1.7.13* @g_71, i32 0, i32 0), align 1 ret i32 0 } diff --git a/test/Transforms/GlobalOpt/crash.ll b/test/Transforms/GlobalOpt/crash.ll index 80c777c..8e39931 100644 --- a/test/Transforms/GlobalOpt/crash.ll +++ b/test/Transforms/GlobalOpt/crash.ll @@ -11,7 +11,7 @@ target triple = "i386-apple-darwin9.8" define internal void @_GLOBAL__I__ZN21btConeTwistConstraintC2Ev() nounwind section "__TEXT,__StaticInit,regular,pure_instructions" { entry: - store float 1.0, float* getelementptr inbounds (%struct.btSimdScalar* @_ZL6vTwist, i32 0, i32 0, i32 0, i32 3), align 4 + store float 1.0, float* getelementptr inbounds (%struct.btSimdScalar, %struct.btSimdScalar* @_ZL6vTwist, i32 0, i32 0, i32 0, i32 3), align 4 ret void } @@ -31,11 +31,11 @@ entry: unreachable bb.nph.i: - %scevgep.i539 = getelementptr i8* %C, i64 4 + %scevgep.i539 = getelementptr i8, i8* %C, i64 4 unreachable xx: - %E = load %T** @switch_inf, align 8 + %E = load %T*, %T** @switch_inf, align 8 unreachable } @@ -46,7 +46,7 @@ declare noalias i8* @malloc(i64) nounwind @permute_bitrev.bitrev = internal global i32* null, align 8 define void @permute_bitrev() nounwind { entry: - %tmp = load i32** @permute_bitrev.bitrev, align 8 + %tmp = load i32*, i32** @permute_bitrev.bitrev, align 8 %conv = sext i32 0 to i64 %mul = mul i64 %conv, 4 %call = call i8* @malloc(i64 %mul) @@ -60,7 +60,7 @@ entry: @data8 = internal global [8000 x i8] zeroinitializer, align 16 define void @memset_with_strange_user() ssp { - call void @llvm.memset.p0i8.i64(i8* getelementptr inbounds ([8000 x i8]* @data8, i64 0, i64 0), i8 undef, i64 ptrtoint (i8* getelementptr ([8000 x i8]* @data8, i64 1, i64 sub (i64 0, i64 ptrtoint ([8000 x i8]* @data8 to i64))) to i64), i32 16, i1 false) + call void @llvm.memset.p0i8.i64(i8* getelementptr inbounds ([8000 x i8], [8000 x i8]* @data8, i64 0, i64 0), i8 undef, i64 ptrtoint (i8* getelementptr ([8000 x i8], [8000 x i8]* @data8, i64 1, i64 sub (i64 0, i64 ptrtoint ([8000 x i8]* @data8 to i64))) to i64), i32 16, i1 false) ret void } declare void @llvm.memset.p0i8.i64(i8* nocapture, i8, i64, i32, i1) nounwind @@ -72,7 +72,7 @@ declare void @llvm.memset.p0i8.i64(i8* nocapture, i8, i64, i32, i1) nounwind define void @icmp_user_of_stored_once() nounwind ssp { entry: - %tmp4 = load i32*** @g_52, align 8 + %tmp4 = load i32**, i32*** @g_52, align 8 store i32** @g_90, i32*** @g_52 %cmp17 = icmp ne i32*** undef, @g_52 ret void diff --git a/test/Transforms/GlobalOpt/ctor-list-opt-constexpr.ll b/test/Transforms/GlobalOpt/ctor-list-opt-constexpr.ll index dd86f01..0c3ff68 100644 --- a/test/Transforms/GlobalOpt/ctor-list-opt-constexpr.ll +++ b/test/Transforms/GlobalOpt/ctor-list-opt-constexpr.ll @@ -16,7 +16,7 @@ target triple = "x86_64-apple-darwin10.0.0" ; arbitrary constant expression, the code generator can't handle it. define internal void @init1() { entry: - %tmp = getelementptr inbounds %struct.foo* @X, i32 0, i32 0 + %tmp = getelementptr inbounds %struct.foo, %struct.foo* @X, i32 0, i32 0 store i32* inttoptr (i64 sdiv (i64 ptrtoint (i32* @G to i64), i64 ptrtoint (i32* @H to i64)) to i32*), i32** %tmp, align 8 ret void } @@ -26,7 +26,7 @@ entry: ; PR11705 - ptrtoint isn't safe in general in global initializers. define internal void @init2() { entry: - %tmp = getelementptr inbounds %struct.bar* @X2, i32 0, i32 0 + %tmp = getelementptr inbounds %struct.bar, %struct.bar* @X2, i32 0, i32 0 store i128 ptrtoint (i32* @G to i128), i128* %tmp, align 16 ret void } diff --git a/test/Transforms/GlobalOpt/ctor-list-opt-inbounds.ll b/test/Transforms/GlobalOpt/ctor-list-opt-inbounds.ll index 9b11985..63dc783 100644 --- a/test/Transforms/GlobalOpt/ctor-list-opt-inbounds.ll +++ b/test/Transforms/GlobalOpt/ctor-list-opt-inbounds.ll @@ -13,11 +13,11 @@ @I = global i32 90 define internal void @CTOR() { - store i32 1, i32* getelementptr ([6 x [5 x i32]]* @G, i64 0, i64 0, i64 0) - store i32 2, i32* getelementptr inbounds ([6 x [5 x i32]]* @G, i64 0, i64 0, i64 0) - %t = load i32* getelementptr ([6 x [5 x i32]]* @G, i64 0, i64 0, i64 0) + store i32 1, i32* getelementptr ([6 x [5 x i32]], [6 x [5 x i32]]* @G, i64 0, i64 0, i64 0) + store i32 2, i32* getelementptr inbounds ([6 x [5 x i32]], [6 x [5 x i32]]* @G, i64 0, i64 0, i64 0) + %t = load i32, i32* getelementptr ([6 x [5 x i32]], [6 x [5 x i32]]* @G, i64 0, i64 0, i64 0) store i32 %t, i32* @H - %s = load i32* getelementptr inbounds ([6 x [5 x i32]]* @G, i64 0, i64 0, i64 0) + %s = load i32, i32* getelementptr inbounds ([6 x [5 x i32]], [6 x [5 x i32]]* @G, i64 0, i64 0, i64 0) store i32 %s, i32* @I ret void } diff --git a/test/Transforms/GlobalOpt/ctor-list-opt.ll b/test/Transforms/GlobalOpt/ctor-list-opt.ll index 450bdb8..95e7d4d 100644 --- a/test/Transforms/GlobalOpt/ctor-list-opt.ll +++ b/test/Transforms/GlobalOpt/ctor-list-opt.ll @@ -51,16 +51,16 @@ T: ; preds = %Cont } define internal void @CTOR4() { - %X = load i32* @G3 ; <i32> [#uses=1] + %X = load i32, i32* @G3 ; <i32> [#uses=1] %Y = add i32 %X, 123 ; <i32> [#uses=1] store i32 %Y, i32* @G3 ret void } define internal void @CTOR5() { - %X.2p = getelementptr inbounds { i32, [2 x i32] }* @X, i32 0, i32 1, i32 0 ; <i32*> [#uses=2] - %X.2 = load i32* %X.2p ; <i32> [#uses=1] - %X.1p = getelementptr inbounds { i32, [2 x i32] }* @X, i32 0, i32 0 ; <i32*> [#uses=1] + %X.2p = getelementptr inbounds { i32, [2 x i32] }, { i32, [2 x i32] }* @X, i32 0, i32 1, i32 0 ; <i32*> [#uses=2] + %X.2 = load i32, i32* %X.2p ; <i32> [#uses=1] + %X.1p = getelementptr inbounds { i32, [2 x i32] }, { i32, [2 x i32] }* @X, i32 0, i32 0 ; <i32*> [#uses=1] store i32 %X.2, i32* %X.1p store i32 42, i32* %X.2p ret void @@ -68,9 +68,9 @@ define internal void @CTOR5() { define internal void @CTOR6() { %A = alloca i32 ; <i32*> [#uses=2] - %y = load i32* @Y ; <i32> [#uses=1] + %y = load i32, i32* @Y ; <i32> [#uses=1] store i32 %y, i32* %A - %Av = load i32* %A ; <i32> [#uses=1] + %Av = load i32, i32* %A ; <i32> [#uses=1] %Av1 = add i32 %Av, 1 ; <i32> [#uses=1] store i32 %Av1, i32* @Y ret void @@ -95,7 +95,7 @@ define internal void @CTOR8() { } define i1 @accessor() { - %V = load i1* @CTORGV ; <i1> [#uses=1] + %V = load i1, i1* @CTORGV ; <i1> [#uses=1] ret i1 %V } @@ -107,9 +107,9 @@ define i1 @accessor() { define internal void @CTOR9() { entry: %0 = bitcast %struct.B* @GV1 to i8* - %1 = getelementptr inbounds i8* %0, i64 16 + %1 = getelementptr inbounds i8, i8* %0, i64 16 %2 = bitcast i8* %1 to %struct.A* %3 = bitcast %struct.B* @GV1 to i8*** - store i8** getelementptr inbounds ([3 x i8*]* @GV2, i64 1, i64 0), i8*** %3 + store i8** getelementptr inbounds ([3 x i8*], [3 x i8*]* @GV2, i64 1, i64 0), i8*** %3 ret void } diff --git a/test/Transforms/GlobalOpt/cxx-dtor.ll b/test/Transforms/GlobalOpt/cxx-dtor.ll index 7c6ae78..c94c26b 100644 --- a/test/Transforms/GlobalOpt/cxx-dtor.ll +++ b/test/Transforms/GlobalOpt/cxx-dtor.ll @@ -11,7 +11,7 @@ ; CHECK-NOT: call i32 @__cxa_atexit define internal void @__cxx_global_var_init() nounwind section "__TEXT,__StaticInit,regular,pure_instructions" { - %1 = call i32 @__cxa_atexit(void (i8*)* bitcast (void (%struct.A*)* @_ZN1AD1Ev to void (i8*)*), i8* getelementptr inbounds (%struct.A* @a, i32 0, i32 0), i8* bitcast (i8** @__dso_handle to i8*)) + %1 = call i32 @__cxa_atexit(void (i8*)* bitcast (void (%struct.A*)* @_ZN1AD1Ev to void (i8*)*), i8* getelementptr inbounds (%struct.A, %struct.A* @a, i32 0, i32 0), i8* bitcast (i8** @__dso_handle to i8*)) ret void } diff --git a/test/Transforms/GlobalOpt/deadfunction.ll b/test/Transforms/GlobalOpt/deadfunction.ll index 5e003c6..5771c4c 100644 --- a/test/Transforms/GlobalOpt/deadfunction.ll +++ b/test/Transforms/GlobalOpt/deadfunction.ll @@ -10,8 +10,8 @@ declare void @bb() define internal void @test(i32 %n) nounwind noinline { entry: %idxprom = sext i32 %n to i64 - %arrayidx = getelementptr inbounds [3 x i8*]* @test.x, i64 0, i64 %idxprom - %0 = load i8** %arrayidx, align 8 + %arrayidx = getelementptr inbounds [3 x i8*], [3 x i8*]* @test.x, i64 0, i64 %idxprom + %0 = load i8*, i8** %arrayidx, align 8 indirectbr i8* %0, [label %a, label %b, label %c] a: diff --git a/test/Transforms/GlobalOpt/deadglobal-2.ll b/test/Transforms/GlobalOpt/deadglobal-2.ll index 4f81819..6b8717e 100644 --- a/test/Transforms/GlobalOpt/deadglobal-2.ll +++ b/test/Transforms/GlobalOpt/deadglobal-2.ll @@ -5,7 +5,7 @@ @G = internal global [4 x i32] zeroinitializer define void @foo(i32 %X) { - %Ptr = getelementptr [4 x i32]* @G, i32 0, i32 %X + %Ptr = getelementptr [4 x i32], [4 x i32]* @G, i32 0, i32 %X store i32 1, i32* %Ptr ret void } diff --git a/test/Transforms/GlobalOpt/externally-initialized-global-ctr.ll b/test/Transforms/GlobalOpt/externally-initialized-global-ctr.ll index 675211b..2e22ff0 100644 --- a/test/Transforms/GlobalOpt/externally-initialized-global-ctr.ll +++ b/test/Transforms/GlobalOpt/externally-initialized-global-ctr.ll @@ -7,14 +7,14 @@ @_ZL14buttonInitData = internal global [1 x %struct.ButtonInitData] zeroinitializer, align 4 @"\01L_OBJC_METH_VAR_NAME_40" = internal global [7 x i8] c"print:\00", section "__TEXT,__objc_methname,cstring_literals", align 1 -@"\01L_OBJC_SELECTOR_REFERENCES_41" = internal externally_initialized global i8* getelementptr inbounds ([7 x i8]* @"\01L_OBJC_METH_VAR_NAME_40", i32 0, i32 0), section "__DATA, __objc_selrefs, literal_pointers, no_dead_strip" +@"\01L_OBJC_SELECTOR_REFERENCES_41" = internal externally_initialized global i8* getelementptr inbounds ([7 x i8], [7 x i8]* @"\01L_OBJC_METH_VAR_NAME_40", i32 0, i32 0), section "__DATA, __objc_selrefs, literal_pointers, no_dead_strip" @llvm.global_ctors = appending global [1 x { i32, void ()* }] [{ i32, void ()* } { i32 65535, void ()* @_GLOBAL__I_a }] -@llvm.used = appending global [2 x i8*] [i8* getelementptr inbounds ([7 x i8]* @"\01L_OBJC_METH_VAR_NAME_40", i32 0, i32 0), i8* bitcast (i8** @"\01L_OBJC_SELECTOR_REFERENCES_41" to i8*)] +@llvm.used = appending global [2 x i8*] [i8* getelementptr inbounds ([7 x i8], [7 x i8]* @"\01L_OBJC_METH_VAR_NAME_40", i32 0, i32 0), i8* bitcast (i8** @"\01L_OBJC_SELECTOR_REFERENCES_41" to i8*)] define internal void @__cxx_global_var_init() section "__TEXT,__StaticInit,regular,pure_instructions" { - %1 = load i8** @"\01L_OBJC_SELECTOR_REFERENCES_41", !invariant.load !2009 - store i8* %1, i8** getelementptr inbounds ([1 x %struct.ButtonInitData]* @_ZL14buttonInitData, i32 0, i32 0, i32 0), align 4 + %1 = load i8*, i8** @"\01L_OBJC_SELECTOR_REFERENCES_41", !invariant.load !2009 + store i8* %1, i8** getelementptr inbounds ([1 x %struct.ButtonInitData], [1 x %struct.ButtonInitData]* @_ZL14buttonInitData, i32 0, i32 0, i32 0), align 4 ret void } @@ -26,8 +26,8 @@ define internal void @_GLOBAL__I_a() section "__TEXT,__StaticInit,regular,pure_i declare void @test(i8*) define void @print() { -; CHECK: %1 = load i8** getelementptr inbounds ([1 x %struct.ButtonInitData]* @_ZL14buttonInitData, i32 0, i32 0, i32 0), align 4 - %1 = load i8** getelementptr inbounds ([1 x %struct.ButtonInitData]* @_ZL14buttonInitData, i32 0, i32 0, i32 0), align 4 +; CHECK: %1 = load i8*, i8** @_ZL14buttonInitData.0.0, align 4 + %1 = load i8*, i8** getelementptr inbounds ([1 x %struct.ButtonInitData], [1 x %struct.ButtonInitData]* @_ZL14buttonInitData, i32 0, i32 0, i32 0), align 4 call void @test(i8* %1) ret void } diff --git a/test/Transforms/GlobalOpt/fastcc.ll b/test/Transforms/GlobalOpt/fastcc.ll index 76122b2..26398d2 100644 --- a/test/Transforms/GlobalOpt/fastcc.ll +++ b/test/Transforms/GlobalOpt/fastcc.ll @@ -2,13 +2,13 @@ define internal i32 @f(i32* %m) { ; CHECK-LABEL: define internal fastcc i32 @f - %v = load i32* %m + %v = load i32, i32* %m ret i32 %v } define internal x86_thiscallcc i32 @g(i32* %m) { ; CHECK-LABEL: define internal fastcc i32 @g - %v = load i32* %m + %v = load i32, i32* %m ret i32 %v } @@ -16,13 +16,13 @@ define internal x86_thiscallcc i32 @g(i32* %m) { ; convention. define internal coldcc i32 @h(i32* %m) { ; CHECK-LABEL: define internal coldcc i32 @h - %v = load i32* %m + %v = load i32, i32* %m ret i32 %v } define internal i32 @j(i32* %m) { ; CHECK-LABEL: define internal i32 @j - %v = load i32* %m + %v = load i32, i32* %m ret i32 %v } diff --git a/test/Transforms/GlobalOpt/globalsra-partial.ll b/test/Transforms/GlobalOpt/globalsra-partial.ll index 06485b5..9abcce6 100644 --- a/test/Transforms/GlobalOpt/globalsra-partial.ll +++ b/test/Transforms/GlobalOpt/globalsra-partial.ll @@ -6,19 +6,19 @@ target datalayout = "E-p:64:64:64-a0:0:8-f32:32:32-f64:64:64-i1:8:8-i8:8:8-i16:1 @G = internal global { i32, [4 x float] } zeroinitializer ; <{ i32, [4 x float] }*> [#uses=3] define void @onlystore() { - store i32 12345, i32* getelementptr ({ i32, [4 x float] }* @G, i32 0, i32 0) + store i32 12345, i32* getelementptr ({ i32, [4 x float] }, { i32, [4 x float] }* @G, i32 0, i32 0) ret void } define void @storeinit(i32 %i) { - %Ptr = getelementptr { i32, [4 x float] }* @G, i32 0, i32 1, i32 %i ; <float*> [#uses=1] + %Ptr = getelementptr { i32, [4 x float] }, { i32, [4 x float] }* @G, i32 0, i32 1, i32 %i ; <float*> [#uses=1] store float 1.000000e+00, float* %Ptr ret void } define float @readval(i32 %i) { - %Ptr = getelementptr { i32, [4 x float] }* @G, i32 0, i32 1, i32 %i ; <float*> [#uses=1] - %V = load float* %Ptr ; <float> [#uses=1] + %Ptr = getelementptr { i32, [4 x float] }, { i32, [4 x float] }* @G, i32 0, i32 1, i32 %i ; <float*> [#uses=1] + %V = load float, float* %Ptr ; <float> [#uses=1] ret float %V } diff --git a/test/Transforms/GlobalOpt/globalsra-unknown-index.ll b/test/Transforms/GlobalOpt/globalsra-unknown-index.ll index cc655e9..5194b2c 100644 --- a/test/Transforms/GlobalOpt/globalsra-unknown-index.ll +++ b/test/Transforms/GlobalOpt/globalsra-unknown-index.ll @@ -12,30 +12,30 @@ @addr = external global i8 define void @frob() { - store i32 1, i32* getelementptr inbounds ([3 x %struct.X]* @Y, i64 0, i64 0, i32 0, i64 ptrtoint (i8* @addr to i64)), align 4 + store i32 1, i32* getelementptr inbounds ([3 x %struct.X], [3 x %struct.X]* @Y, i64 0, i64 0, i32 0, i64 ptrtoint (i8* @addr to i64)), align 4 ret void } define i32 @borf(i64 %i, i64 %j) { - %p = getelementptr inbounds [3 x %struct.X]* @Y, i64 0, i64 0, i32 0, i64 0 - %a = load i32* %p - %q = getelementptr inbounds [3 x %struct.X]* @Y, i64 0, i64 0, i32 1, i64 0 - %b = load i32* %q + %p = getelementptr inbounds [3 x %struct.X], [3 x %struct.X]* @Y, i64 0, i64 0, i32 0, i64 0 + %a = load i32, i32* %p + %q = getelementptr inbounds [3 x %struct.X], [3 x %struct.X]* @Y, i64 0, i64 0, i32 1, i64 0 + %b = load i32, i32* %q %c = add i32 %a, %b ret i32 %c } define i32 @borg(i64 %i, i64 %j) { - %p = getelementptr inbounds [3 x %struct.X]* @Y, i64 0, i64 1, i32 0, i64 1 - %a = load i32* %p - %q = getelementptr inbounds [3 x %struct.X]* @Y, i64 0, i64 1, i32 1, i64 1 - %b = load i32* %q + %p = getelementptr inbounds [3 x %struct.X], [3 x %struct.X]* @Y, i64 0, i64 1, i32 0, i64 1 + %a = load i32, i32* %p + %q = getelementptr inbounds [3 x %struct.X], [3 x %struct.X]* @Y, i64 0, i64 1, i32 1, i64 1 + %b = load i32, i32* %q %c = add i32 %a, %b ret i32 %c } define i32 @borh(i64 %i, i64 %j) { - %p = getelementptr inbounds [3 x %struct.X]* @Y, i64 0, i64 2, i32 0, i64 2 - %a = load i32* %p - %q = getelementptr inbounds [3 x %struct.X]* @Y, i64 0, i64 2, i32 1, i64 2 - %b = load i32* %q + %p = getelementptr inbounds [3 x %struct.X], [3 x %struct.X]* @Y, i64 0, i64 2, i32 0, i64 2 + %a = load i32, i32* %p + %q = getelementptr inbounds [3 x %struct.X], [3 x %struct.X]* @Y, i64 0, i64 2, i32 1, i64 2 + %b = load i32, i32* %q %c = add i32 %a, %b ret i32 %c } diff --git a/test/Transforms/GlobalOpt/globalsra.ll b/test/Transforms/GlobalOpt/globalsra.ll index 6d8f220..d593fcd 100644 --- a/test/Transforms/GlobalOpt/globalsra.ll +++ b/test/Transforms/GlobalOpt/globalsra.ll @@ -7,18 +7,18 @@ target datalayout = "E-p:64:64:64-a0:0:8-f32:32:32-f64:64:64-i1:8:8-i8:8:8-i16:1 { double } { double 1.727000e+01 } } ; <{ i32, float, { double } }*> [#uses=3] define void @onlystore() { - store i32 123, i32* getelementptr ({ i32, float, { double } }* @G, i32 0, i32 0) + store i32 123, i32* getelementptr ({ i32, float, { double } }, { i32, float, { double } }* @G, i32 0, i32 0) ret void } define float @storeinit() { - store float 1.000000e+00, float* getelementptr ({ i32, float, { double } }* @G, i32 0, i32 1) - %X = load float* getelementptr ({ i32, float, { double } }* @G, i32 0, i32 1) ; <float> [#uses=1] + store float 1.000000e+00, float* getelementptr ({ i32, float, { double } }, { i32, float, { double } }* @G, i32 0, i32 1) + %X = load float, float* getelementptr ({ i32, float, { double } }, { i32, float, { double } }* @G, i32 0, i32 1) ; <float> [#uses=1] ret float %X } define double @constantize() { - %X = load double* getelementptr ({ i32, float, { double } }* @G, i32 0, i32 2, i32 0) ; <double> [#uses=1] + %X = load double, double* getelementptr ({ i32, float, { double } }, { i32, float, { double } }* @G, i32 0, i32 2, i32 0) ; <double> [#uses=1] ret double %X } diff --git a/test/Transforms/GlobalOpt/heap-sra-1.ll b/test/Transforms/GlobalOpt/heap-sra-1.ll index 9d5148f..6035eaa 100644 --- a/test/Transforms/GlobalOpt/heap-sra-1.ll +++ b/test/Transforms/GlobalOpt/heap-sra-1.ll @@ -19,14 +19,14 @@ declare noalias i8* @malloc(i64) define i32 @baz() nounwind readonly noinline { bb1.thread: - %0 = load %struct.foo** @X, align 4 + %0 = load %struct.foo*, %struct.foo** @X, align 4 br label %bb1 bb1: ; preds = %bb1, %bb1.thread %i.0.reg2mem.0 = phi i32 [ 0, %bb1.thread ], [ %indvar.next, %bb1 ] %sum.0.reg2mem.0 = phi i32 [ 0, %bb1.thread ], [ %3, %bb1 ] - %1 = getelementptr %struct.foo* %0, i32 %i.0.reg2mem.0, i32 0 - %2 = load i32* %1, align 4 + %1 = getelementptr %struct.foo, %struct.foo* %0, i32 %i.0.reg2mem.0, i32 0 + %2 = load i32, i32* %1, align 4 %3 = add i32 %2, %sum.0.reg2mem.0 %indvar.next = add i32 %i.0.reg2mem.0, 1 %exitcond = icmp eq i32 %indvar.next, 1200 diff --git a/test/Transforms/GlobalOpt/heap-sra-2.ll b/test/Transforms/GlobalOpt/heap-sra-2.ll index fa8c362..d66c627 100644 --- a/test/Transforms/GlobalOpt/heap-sra-2.ll +++ b/test/Transforms/GlobalOpt/heap-sra-2.ll @@ -10,7 +10,7 @@ define void @bar(i32 %Size) nounwind noinline { entry: %malloccall = tail call i8* @malloc(i64 8000000) ; <i8*> [#uses=1] %0 = bitcast i8* %malloccall to [1000000 x %struct.foo]* ; <[1000000 x %struct.foo]*> [#uses=1] - %.sub = getelementptr [1000000 x %struct.foo]* %0, i32 0, i32 0 ; <%struct.foo*> [#uses=1] + %.sub = getelementptr [1000000 x %struct.foo], [1000000 x %struct.foo]* %0, i32 0, i32 0 ; <%struct.foo*> [#uses=1] store %struct.foo* %.sub, %struct.foo** @X, align 4 ret void } @@ -19,14 +19,14 @@ declare noalias i8* @malloc(i64) define i32 @baz() nounwind readonly noinline { bb1.thread: - %0 = load %struct.foo** @X, align 4 ; <%struct.foo*> [#uses=1] + %0 = load %struct.foo*, %struct.foo** @X, align 4 ; <%struct.foo*> [#uses=1] br label %bb1 bb1: ; preds = %bb1, %bb1.thread %i.0.reg2mem.0 = phi i32 [ 0, %bb1.thread ], [ %indvar.next, %bb1 ] ; <i32> [#uses=2] %sum.0.reg2mem.0 = phi i32 [ 0, %bb1.thread ], [ %3, %bb1 ] ; <i32> [#uses=1] - %1 = getelementptr %struct.foo* %0, i32 %i.0.reg2mem.0, i32 0 ; <i32*> [#uses=1] - %2 = load i32* %1, align 4 ; <i32> [#uses=1] + %1 = getelementptr %struct.foo, %struct.foo* %0, i32 %i.0.reg2mem.0, i32 0 ; <i32*> [#uses=1] + %2 = load i32, i32* %1, align 4 ; <i32> [#uses=1] %3 = add i32 %2, %sum.0.reg2mem.0 ; <i32> [#uses=2] %indvar.next = add i32 %i.0.reg2mem.0, 1 ; <i32> [#uses=2] %exitcond = icmp eq i32 %indvar.next, 1200 ; <i1> [#uses=1] diff --git a/test/Transforms/GlobalOpt/heap-sra-3.ll b/test/Transforms/GlobalOpt/heap-sra-3.ll index e7a877c..6a34364 100644 --- a/test/Transforms/GlobalOpt/heap-sra-3.ll +++ b/test/Transforms/GlobalOpt/heap-sra-3.ll @@ -20,14 +20,14 @@ declare noalias i8* @malloc(i64) define i32 @baz() nounwind readonly noinline { bb1.thread: - %0 = load %struct.foo** @X, align 4 + %0 = load %struct.foo*, %struct.foo** @X, align 4 br label %bb1 bb1: ; preds = %bb1, %bb1.thread %i.0.reg2mem.0 = phi i32 [ 0, %bb1.thread ], [ %indvar.next, %bb1 ] %sum.0.reg2mem.0 = phi i32 [ 0, %bb1.thread ], [ %3, %bb1 ] - %1 = getelementptr %struct.foo* %0, i32 %i.0.reg2mem.0, i32 0 - %2 = load i32* %1, align 4 + %1 = getelementptr %struct.foo, %struct.foo* %0, i32 %i.0.reg2mem.0, i32 0 + %2 = load i32, i32* %1, align 4 %3 = add i32 %2, %sum.0.reg2mem.0 %indvar.next = add i32 %i.0.reg2mem.0, 1 %exitcond = icmp eq i32 %indvar.next, 1200 diff --git a/test/Transforms/GlobalOpt/heap-sra-4.ll b/test/Transforms/GlobalOpt/heap-sra-4.ll index d5a5828..2176b9f 100644 --- a/test/Transforms/GlobalOpt/heap-sra-4.ll +++ b/test/Transforms/GlobalOpt/heap-sra-4.ll @@ -20,14 +20,14 @@ declare noalias i8* @malloc(i64) define i32 @baz() nounwind readonly noinline { bb1.thread: - %0 = load %struct.foo** @X, align 4 + %0 = load %struct.foo*, %struct.foo** @X, align 4 br label %bb1 bb1: ; preds = %bb1, %bb1.thread %i.0.reg2mem.0 = phi i32 [ 0, %bb1.thread ], [ %indvar.next, %bb1 ] %sum.0.reg2mem.0 = phi i32 [ 0, %bb1.thread ], [ %3, %bb1 ] - %1 = getelementptr %struct.foo* %0, i32 %i.0.reg2mem.0, i32 0 - %2 = load i32* %1, align 4 + %1 = getelementptr %struct.foo, %struct.foo* %0, i32 %i.0.reg2mem.0, i32 0 + %2 = load i32, i32* %1, align 4 %3 = add i32 %2, %sum.0.reg2mem.0 %indvar.next = add i32 %i.0.reg2mem.0, 1 %exitcond = icmp eq i32 %indvar.next, 1200 diff --git a/test/Transforms/GlobalOpt/heap-sra-phi.ll b/test/Transforms/GlobalOpt/heap-sra-phi.ll index 123ad85..bf9ca7b 100644 --- a/test/Transforms/GlobalOpt/heap-sra-phi.ll +++ b/test/Transforms/GlobalOpt/heap-sra-phi.ll @@ -9,7 +9,7 @@ define void @bar(i32 %Size) nounwind noinline { entry: %malloccall = tail call i8* @malloc(i64 8000000) ; <i8*> [#uses=1] %tmp = bitcast i8* %malloccall to [1000000 x %struct.foo]* ; <[1000000 x %struct.foo]*> [#uses=1] - %.sub = getelementptr [1000000 x %struct.foo]* %tmp, i32 0, i32 0 ; <%struct.foo*> [#uses=1] + %.sub = getelementptr [1000000 x %struct.foo], [1000000 x %struct.foo]* %tmp, i32 0, i32 0 ; <%struct.foo*> [#uses=1] store %struct.foo* %.sub, %struct.foo** @X, align 4 ret void } @@ -18,22 +18,22 @@ declare noalias i8* @malloc(i64) define i32 @baz() nounwind readonly noinline { bb1.thread: - %tmpLD1 = load %struct.foo** @X, align 4 ; <%struct.foo*> [#uses=1] + %tmpLD1 = load %struct.foo*, %struct.foo** @X, align 4 ; <%struct.foo*> [#uses=1] br label %bb1 bb1: ; preds = %bb1, %bb1.thread %tmp = phi %struct.foo* [%tmpLD1, %bb1.thread ], [ %tmpLD2, %bb1 ] ; <i32> [#uses=2] %i.0.reg2mem.0 = phi i32 [ 0, %bb1.thread ], [ %indvar.next, %bb1 ] ; <i32> [#uses=2] %sum.0.reg2mem.0 = phi i32 [ 0, %bb1.thread ], [ %tmp3, %bb1 ] ; <i32> [#uses=1] - %tmp1 = getelementptr %struct.foo* %tmp, i32 %i.0.reg2mem.0, i32 0 ; <i32*> [#uses=1] - %tmp2 = load i32* %tmp1, align 4 ; <i32> [#uses=1] + %tmp1 = getelementptr %struct.foo, %struct.foo* %tmp, i32 %i.0.reg2mem.0, i32 0 ; <i32*> [#uses=1] + %tmp2 = load i32, i32* %tmp1, align 4 ; <i32> [#uses=1] %tmp6 = add i32 %tmp2, %sum.0.reg2mem.0 ; <i32> [#uses=2] - %tmp4 = getelementptr %struct.foo* %tmp, i32 %i.0.reg2mem.0, i32 1 ; <i32*> [#uses=1] - %tmp5 = load i32 * %tmp4 + %tmp4 = getelementptr %struct.foo, %struct.foo* %tmp, i32 %i.0.reg2mem.0, i32 1 ; <i32*> [#uses=1] + %tmp5 = load i32 , i32 * %tmp4 %tmp3 = add i32 %tmp5, %tmp6 %indvar.next = add i32 %i.0.reg2mem.0, 1 ; <i32> [#uses=2] - %tmpLD2 = load %struct.foo** @X, align 4 ; <%struct.foo*> [#uses=1] + %tmpLD2 = load %struct.foo*, %struct.foo** @X, align 4 ; <%struct.foo*> [#uses=1] %exitcond = icmp eq i32 %indvar.next, 1200 ; <i1> [#uses=1] br i1 %exitcond, label %bb2, label %bb1 diff --git a/test/Transforms/GlobalOpt/integer-bool.ll b/test/Transforms/GlobalOpt/integer-bool.ll index abf5fdd..617febd 100644 --- a/test/Transforms/GlobalOpt/integer-bool.ll +++ b/test/Transforms/GlobalOpt/integer-bool.ll @@ -20,7 +20,7 @@ define void @set2() { define i1 @get() { ; CHECK-LABEL: @get( - %A = load i32 addrspace(1) * @G + %A = load i32, i32 addrspace(1) * @G %C = icmp slt i32 %A, 2 ret i1 %C ; CHECK: ret i1 true diff --git a/test/Transforms/GlobalOpt/iterate.ll b/test/Transforms/GlobalOpt/iterate.ll index 7466874..f7f34fc 100644 --- a/test/Transforms/GlobalOpt/iterate.ll +++ b/test/Transforms/GlobalOpt/iterate.ll @@ -4,8 +4,8 @@ @H = internal global { i32* } { i32* @G } ; <{ i32* }*> [#uses=1] define i32 @loadg() { - %G = load i32** getelementptr ({ i32* }* @H, i32 0, i32 0) ; <i32*> [#uses=1] - %GV = load i32* %G ; <i32> [#uses=1] + %G = load i32*, i32** getelementptr ({ i32* }, { i32* }* @H, i32 0, i32 0) ; <i32*> [#uses=1] + %GV = load i32, i32* %G ; <i32> [#uses=1] ret i32 %GV } diff --git a/test/Transforms/GlobalOpt/load-store-global.ll b/test/Transforms/GlobalOpt/load-store-global.ll index ad7326d..e01358e 100644 --- a/test/Transforms/GlobalOpt/load-store-global.ll +++ b/test/Transforms/GlobalOpt/load-store-global.ll @@ -4,7 +4,7 @@ ; CHECK-NOT: @G define void @foo() { - %V = load i32* @G ; <i32> [#uses=1] + %V = load i32, i32* @G ; <i32> [#uses=1] store i32 %V, i32* @G ret void ; CHECK-LABEL: @foo( @@ -12,7 +12,7 @@ define void @foo() { } define i32 @bar() { - %X = load i32* @G ; <i32> [#uses=1] + %X = load i32, i32* @G ; <i32> [#uses=1] ret i32 %X ; CHECK-LABEL: @bar( ; CHECK-NEXT: ret i32 17 @@ -24,12 +24,12 @@ define i32 @bar() { ; PR13968 define void @qux() nounwind { %b = bitcast i64** @a to i8* - %g = getelementptr i64** @a, i32 1 + %g = getelementptr i64*, i64** @a, i32 1 %cmp = icmp ne i8* null, %b %cmp2 = icmp eq i8* null, %b %cmp3 = icmp eq i64** null, %g store i64* inttoptr (i64 1 to i64*), i64** @a, align 8 - %l = load i64** @a, align 8 + %l = load i64*, i64** @a, align 8 ret void ; CHECK-LABEL: @qux( ; CHECK-NOT: store diff --git a/test/Transforms/GlobalOpt/malloc-promote-1.ll b/test/Transforms/GlobalOpt/malloc-promote-1.ll index 51ccbbd..d5087de 100644 --- a/test/Transforms/GlobalOpt/malloc-promote-1.ll +++ b/test/Transforms/GlobalOpt/malloc-promote-1.ll @@ -8,7 +8,7 @@ define void @init() { %malloccall = tail call i8* @malloc(i64 4) ; <i8*> [#uses=1] %P = bitcast i8* %malloccall to i32* ; <i32*> [#uses=1] store i32* %P, i32** @G - %GV = load i32** @G ; <i32*> [#uses=1] + %GV = load i32*, i32** @G ; <i32*> [#uses=1] store i32 0, i32* %GV ret void } @@ -16,8 +16,8 @@ define void @init() { declare noalias i8* @malloc(i64) define i32 @get() { - %GV = load i32** @G ; <i32*> [#uses=1] - %V = load i32* %GV ; <i32> [#uses=1] + %GV = load i32*, i32** @G ; <i32*> [#uses=1] + %V = load i32, i32* %GV ; <i32> [#uses=1] ret i32 %V ; CHECK: ret i32 0 } diff --git a/test/Transforms/GlobalOpt/malloc-promote-2.ll b/test/Transforms/GlobalOpt/malloc-promote-2.ll index 6cb4481..335ed82 100644 --- a/test/Transforms/GlobalOpt/malloc-promote-2.ll +++ b/test/Transforms/GlobalOpt/malloc-promote-2.ll @@ -10,8 +10,8 @@ define void @t() { %malloccall = tail call i8* @malloc(i64 mul (i64 100, i64 4)) %P = bitcast i8* %malloccall to i32* store i32* %P, i32** @G - %GV = load i32** @G - %GVe = getelementptr i32* %GV, i32 40 + %GV = load i32*, i32** @G + %GVe = getelementptr i32, i32* %GV, i32 40 store i32 20, i32* %GVe ret void } diff --git a/test/Transforms/GlobalOpt/malloc-promote-3.ll b/test/Transforms/GlobalOpt/malloc-promote-3.ll index d44ee64..1e42c3b 100644 --- a/test/Transforms/GlobalOpt/malloc-promote-3.ll +++ b/test/Transforms/GlobalOpt/malloc-promote-3.ll @@ -9,8 +9,8 @@ define void @t() { %malloccall = tail call i8* @malloc(i64 mul (i64 100, i64 4)) nobuiltin %P = bitcast i8* %malloccall to i32* store i32* %P, i32** @G - %GV = load i32** @G - %GVe = getelementptr i32* %GV, i32 40 + %GV = load i32*, i32** @G + %GVe = getelementptr i32, i32* %GV, i32 40 store i32 20, i32* %GVe ret void } diff --git a/test/Transforms/GlobalOpt/memcpy.ll b/test/Transforms/GlobalOpt/memcpy.ll index dcfe009..437142e 100644 --- a/test/Transforms/GlobalOpt/memcpy.ll +++ b/test/Transforms/GlobalOpt/memcpy.ll @@ -5,8 +5,8 @@ define void @foo() { %Blah = alloca [58 x i8] - %tmp.0 = getelementptr [58 x i8]* %Blah, i32 0, i32 0 - call void @llvm.memcpy.p0i8.p0i8.i32(i8* %tmp.0, i8* getelementptr inbounds ([58 x i8]* @G1, i32 0, i32 0), i32 58, i32 1, i1 false) + %tmp.0 = getelementptr [58 x i8], [58 x i8]* %Blah, i32 0, i32 0 + call void @llvm.memcpy.p0i8.p0i8.i32(i8* %tmp.0, i8* getelementptr inbounds ([58 x i8], [58 x i8]* @G1, i32 0, i32 0), i32 58, i32 1, i1 false) ret void } diff --git a/test/Transforms/GlobalOpt/memset-null.ll b/test/Transforms/GlobalOpt/memset-null.ll index 53ec755..838ac09 100644 --- a/test/Transforms/GlobalOpt/memset-null.ll +++ b/test/Transforms/GlobalOpt/memset-null.ll @@ -23,7 +23,7 @@ entry: define internal void @_GLOBAL__I_b() nounwind { entry: - %tmp.i.i.i = load i8** @y, align 8 + %tmp.i.i.i = load i8*, i8** @y, align 8 tail call void @llvm.memset.p0i8.i64(i8* %tmp.i.i.i, i8 0, i64 10, i32 1, i1 false) nounwind ret void } diff --git a/test/Transforms/GlobalOpt/memset.ll b/test/Transforms/GlobalOpt/memset.ll index 85320b7..1dfdd64 100644 --- a/test/Transforms/GlobalOpt/memset.ll +++ b/test/Transforms/GlobalOpt/memset.ll @@ -11,7 +11,7 @@ define void @foo() { %Blah = alloca [58 x i8] %tmp3 = bitcast [58 x i8]* %Blah to i8* call void @llvm.memcpy.p0i8.p0i8.i32(i8* bitcast ([4 x i32]* @G1 to i8*), i8* %tmp3, i32 16, i32 1, i1 false) - call void @llvm.memset.p0i8.i32(i8* getelementptr inbounds ([58 x i8]* @G0, i32 0, i32 0), i8 17, i32 58, i32 1, i1 false) + call void @llvm.memset.p0i8.i32(i8* getelementptr inbounds ([58 x i8], [58 x i8]* @G0, i32 0, i32 0), i8 17, i32 58, i32 1, i1 false) ret void } @@ -22,7 +22,7 @@ define void @foo_as1() { %Blah = alloca [58 x i8] %tmp3 = bitcast [58 x i8]* %Blah to i8* call void @llvm.memcpy.p0i8.p0i8.i32(i8* addrspacecast ([4 x i32] addrspace(1)* @G1_as1 to i8*), i8* %tmp3, i32 16, i32 1, i1 false) - call void @llvm.memset.p1i8.i32(i8 addrspace(1)* getelementptr inbounds ([58 x i8] addrspace(1)* @G0_as1, i32 0, i32 0), i8 17, i32 58, i32 1, i1 false) + call void @llvm.memset.p1i8.i32(i8 addrspace(1)* getelementptr inbounds ([58 x i8], [58 x i8] addrspace(1)* @G0_as1, i32 0, i32 0), i8 17, i32 58, i32 1, i1 false) ret void } diff --git a/test/Transforms/GlobalOpt/phi-select.ll b/test/Transforms/GlobalOpt/phi-select.ll index cd8a7dc..e5cb981 100644 --- a/test/Transforms/GlobalOpt/phi-select.ll +++ b/test/Transforms/GlobalOpt/phi-select.ll @@ -8,7 +8,7 @@ define i32 @test1(i1 %C) { %P = select i1 %C, i32* @X, i32* @Y ; <i32*> [#uses=1] - %V = load i32* %P ; <i32> [#uses=1] + %V = load i32, i32* %P ; <i32> [#uses=1] ret i32 %V } @@ -21,7 +21,7 @@ T: ; preds = %0 Cont: ; preds = %T, %0 %P = phi i32* [ @X, %0 ], [ @Y, %T ] ; <i32*> [#uses=1] - %V = load i32* %P ; <i32> [#uses=1] + %V = load i32, i32* %P ; <i32> [#uses=1] ret i32 %V } diff --git a/test/Transforms/GlobalOpt/storepointer-compare.ll b/test/Transforms/GlobalOpt/storepointer-compare.ll index 09e20a8..bcf7caf 100644 --- a/test/Transforms/GlobalOpt/storepointer-compare.ll +++ b/test/Transforms/GlobalOpt/storepointer-compare.ll @@ -16,7 +16,7 @@ define void @init() { } define void @doit() { - %FP = load void ()** @G ; <void ()*> [#uses=2] + %FP = load void ()*, void ()** @G ; <void ()*> [#uses=2] %CC = icmp eq void ()* %FP, null ; <i1> [#uses=1] br i1 %CC, label %isNull, label %DoCall diff --git a/test/Transforms/GlobalOpt/storepointer.ll b/test/Transforms/GlobalOpt/storepointer.ll index 8019076..9003004 100644 --- a/test/Transforms/GlobalOpt/storepointer.ll +++ b/test/Transforms/GlobalOpt/storepointer.ll @@ -12,7 +12,7 @@ define void @init() { } define void @doit() { - %FP = load void ()** @G ; <void ()*> [#uses=1] + %FP = load void ()*, void ()** @G ; <void ()*> [#uses=1] call void %FP( ) ret void } diff --git a/test/Transforms/GlobalOpt/tls.ll b/test/Transforms/GlobalOpt/tls.ll index 59ae23a..f3cb4a6 100644 --- a/test/Transforms/GlobalOpt/tls.ll +++ b/test/Transforms/GlobalOpt/tls.ll @@ -14,34 +14,34 @@ declare void @start_thread(void ()*) define i32 @f() { entry: ; Set @ip to point to x[1] for thread 1. - store i32* getelementptr inbounds ([100 x i32]* @x, i64 0, i64 1), i32** @ip, align 8 + store i32* getelementptr inbounds ([100 x i32], [100 x i32]* @x, i64 0, i64 1), i32** @ip, align 8 ; Run g on a new thread. tail call void @start_thread(void ()* @g) nounwind tail call void @wait() nounwind ; Reset x[1] for thread 1. - store i32 0, i32* getelementptr inbounds ([100 x i32]* @x, i64 0, i64 1), align 4 + store i32 0, i32* getelementptr inbounds ([100 x i32], [100 x i32]* @x, i64 0, i64 1), align 4 ; Read the value of @ip, which now points at x[1] for thread 2. - %0 = load i32** @ip, align 8 + %0 = load i32*, i32** @ip, align 8 - %1 = load i32* %0, align 4 + %1 = load i32, i32* %0, align 4 ret i32 %1 ; CHECK-LABEL: @f( ; Make sure that the load from @ip hasn't been removed. -; CHECK: load i32** @ip +; CHECK: load i32*, i32** @ip ; CHECK: ret } define internal void @g() nounwind uwtable { entry: ; Set @ip to point to x[1] for thread 2. - store i32* getelementptr inbounds ([100 x i32]* @x, i64 0, i64 1), i32** @ip, align 8 + store i32* getelementptr inbounds ([100 x i32], [100 x i32]* @x, i64 0, i64 1), i32** @ip, align 8 ; Store 50 in x[1] for thread 2. - store i32 50, i32* getelementptr inbounds ([100 x i32]* @x, i64 0, i64 1), align 4 + store i32 50, i32* getelementptr inbounds ([100 x i32], [100 x i32]* @x, i64 0, i64 1), align 4 tail call void @signal() nounwind ret void diff --git a/test/Transforms/GlobalOpt/trivialstore.ll b/test/Transforms/GlobalOpt/trivialstore.ll index 21437f3..f907d83 100644 --- a/test/Transforms/GlobalOpt/trivialstore.ll +++ b/test/Transforms/GlobalOpt/trivialstore.ll @@ -8,7 +8,7 @@ define void @foo() { } define i32 @bar() { - %X = load i32* @G ; <i32> [#uses=1] + %X = load i32, i32* @G ; <i32> [#uses=1] ret i32 %X } diff --git a/test/Transforms/GlobalOpt/undef-init.ll b/test/Transforms/GlobalOpt/undef-init.ll index c149497..d304821 100644 --- a/test/Transforms/GlobalOpt/undef-init.ll +++ b/test/Transforms/GlobalOpt/undef-init.ll @@ -5,7 +5,7 @@ define i32 @_Z3foov() { entry: - %tmp.1 = load i32* @X.0 ; <i32> [#uses=1] + %tmp.1 = load i32, i32* @X.0 ; <i32> [#uses=1] ret i32 %tmp.1 } diff --git a/test/Transforms/GlobalOpt/unnamed-addr.ll b/test/Transforms/GlobalOpt/unnamed-addr.ll index 2ca91e5..85ed829 100644 --- a/test/Transforms/GlobalOpt/unnamed-addr.ll +++ b/test/Transforms/GlobalOpt/unnamed-addr.ll @@ -13,7 +13,7 @@ ; CHECK: @e = linkonce_odr global i32 0 define i32 @get_e() { - %t = load i32* @e + %t = load i32, i32* @e ret i32 %t } @@ -24,10 +24,10 @@ define void @set_e(i32 %x) { define i1 @bah(i64 %i) nounwind readonly optsize ssp { entry: - %arrayidx4 = getelementptr inbounds [4 x i8]* @d, i64 0, i64 %i - %tmp5 = load i8* %arrayidx4, align 1 + %arrayidx4 = getelementptr inbounds [4 x i8], [4 x i8]* @d, i64 0, i64 %i + %tmp5 = load i8, i8* %arrayidx4, align 1 %array0 = bitcast [4 x i8]* @d to i8* - %tmp6 = load i8* %array0, align 1 + %tmp6 = load i8, i8* %array0, align 1 %cmp = icmp eq i8 %tmp5, %tmp6 ret i1 %cmp } @@ -63,6 +63,6 @@ return: define i32 @zed() { entry: - %tmp1 = load i32* @c, align 4 + %tmp1 = load i32, i32* @c, align 4 ret i32 %tmp1 } diff --git a/test/Transforms/GlobalOpt/zeroinitializer-gep-load.ll b/test/Transforms/GlobalOpt/zeroinitializer-gep-load.ll index d978723..51feb48 100644 --- a/test/Transforms/GlobalOpt/zeroinitializer-gep-load.ll +++ b/test/Transforms/GlobalOpt/zeroinitializer-gep-load.ll @@ -3,8 +3,8 @@ @zero = internal global [10 x i32] zeroinitializer define i32 @test1(i64 %idx) nounwind { - %arrayidx = getelementptr inbounds [10 x i32]* @zero, i64 0, i64 %idx - %l = load i32* %arrayidx + %arrayidx = getelementptr inbounds [10 x i32], [10 x i32]* @zero, i64 0, i64 %idx + %l = load i32, i32* %arrayidx ret i32 %l ; CHECK-LABEL: @test1( ; CHECK: ret i32 0 |