Promote aggregate store to memset when possible
[oota-llvm.git] / test / Transforms / ArgumentPromotion / fp80.ll
index a770d6013d6b5e3618d855c4b1289c9967d1c541..84ef603de82c12c54cc8662668162018c2fadb19 100644 (file)
@@ -24,22 +24,22 @@ entry:
 define internal i8 @UseLongDoubleUnsafely(%union.u* byval align 16 %arg) {
 entry:
   %bitcast = bitcast %union.u* %arg to %struct.s*
-  %gep = getelementptr inbounds %struct.s* %bitcast, i64 0, i32 2
-  %result = load i8* %gep
+  %gep = getelementptr inbounds %struct.s, %struct.s* %bitcast, i64 0, i32 2
+  %result = load i8, i8* %gep
   ret i8 %result
 }
 
 ; CHECK: internal x86_fp80 @UseLongDoubleSafely(x86_fp80 {{%.*}}) {
 define internal x86_fp80 @UseLongDoubleSafely(%union.u* byval align 16 %arg) {
-  %gep = getelementptr inbounds %union.u* %arg, i64 0, i32 0
-  %fp80 = load x86_fp80* %gep
+  %gep = getelementptr inbounds %union.u, %union.u* %arg, i64 0, i32 0
+  %fp80 = load x86_fp80, x86_fp80* %gep
   ret x86_fp80 %fp80
 }
 
 ; CHECK: define internal i64 @AccessPaddingOfStruct(%struct.Foo* byval %a) {
 define internal i64 @AccessPaddingOfStruct(%struct.Foo* byval %a) {
   %p = bitcast %struct.Foo* %a to i64*
-  %v = load i64* %p
+  %v = load i64, i64* %p
   ret i64 %v
 }
 
@@ -53,6 +53,6 @@ loop:
   %phi = phi %struct.Foo* [ null, %entry ], [ %gep, %loop ]
   %0   = phi %struct.Foo* [ %a, %entry ],   [ %0, %loop ]
   store %struct.Foo* %phi, %struct.Foo** %a_ptr
-  %gep = getelementptr %struct.Foo* %a, i64 0
+  %gep = getelementptr %struct.Foo, %struct.Foo* %a, i64 0
   br label %loop
 }