[InstCombine] Propagate non-null facts to call parameters
[oota-llvm.git] / test / Transforms / ScalarRepl / 2007-11-03-bigendian_apint.ll
index 55d6cf7cc8fe8cd98d4f5555ebf91575b53a7945..28f503a210caea840878197e9fa225012b8991da 100644 (file)
@@ -1,8 +1,14 @@
-; RUN: opt %s -scalarrepl -S | not grep shr
+; RUN: opt < %s -scalarrepl -S | not grep shr
+
+; FIXME: I think this test is no longer valid.
+; It was working because SROA was aborting when
+; no datalayout was supplied
+; XFAIL: *
+
 
 %struct.S = type { i16 }
 
-define i1 @f(i16 signext  %b) zeroext  {
+define zeroext i1 @f(i16 signext  %b)   {
 entry:
        %b_addr = alloca i16            ; <i16*> [#uses=2]
        %retval = alloca i32            ; <i32*> [#uses=2]
@@ -10,21 +16,21 @@ entry:
        %tmp = alloca i32               ; <i32*> [#uses=2]
        %"alloca point" = bitcast i32 0 to i32          ; <i32> [#uses=0]
        store i16 %b, i16* %b_addr
-       %tmp1 = getelementptr %struct.S* %s, i32 0, i32 0               ; <i16*> [#uses=1]
-       %tmp2 = load i16* %b_addr, align 2              ; <i16> [#uses=1]
+       %tmp1 = getelementptr %struct.S, %struct.S* %s, i32 0, i32 0            ; <i16*> [#uses=1]
+       %tmp2 = load i16, i16* %b_addr, align 2         ; <i16> [#uses=1]
        store i16 %tmp2, i16* %tmp1, align 2
-       %tmp3 = getelementptr %struct.S* %s, i32 0, i32 0               ; <i16*> [#uses=1]
+       %tmp3 = getelementptr %struct.S, %struct.S* %s, i32 0, i32 0            ; <i16*> [#uses=1]
        %tmp34 = bitcast i16* %tmp3 to [2 x i1]*                ; <[2 x i1]*> [#uses=1]
-       %tmp5 = getelementptr [2 x i1]* %tmp34, i32 0, i32 1            ; <i1*> [#uses=1]
-       %tmp6 = load i1* %tmp5, align 1         ; <i1> [#uses=1]
+       %tmp5 = getelementptr [2 x i1], [2 x i1]* %tmp34, i32 0, i32 1          ; <i1*> [#uses=1]
+       %tmp6 = load i1, i1* %tmp5, align 1             ; <i1> [#uses=1]
        %tmp67 = zext i1 %tmp6 to i32           ; <i32> [#uses=1]
        store i32 %tmp67, i32* %tmp, align 4
-       %tmp8 = load i32* %tmp, align 4         ; <i32> [#uses=1]
+       %tmp8 = load i32, i32* %tmp, align 4            ; <i32> [#uses=1]
        store i32 %tmp8, i32* %retval, align 4
        br label %return
 
 return:                ; preds = %entry
-       %retval9 = load i32* %retval            ; <i32> [#uses=1]
+       %retval9 = load i32, i32* %retval               ; <i32> [#uses=1]
        %retval910 = trunc i32 %retval9 to i1           ; <i1> [#uses=1]
        ret i1 %retval910
 }