Move Intrinsic::objectsize lowering back to InstCombineCalls and
[oota-llvm.git] / test / Transforms / InstCombine / objsize.ll
index 41d071517df4f108dc442675339c16d157504727..69e09f61f7cd7d385dc858380d03c07c17b45bfa 100644 (file)
@@ -1,6 +1,5 @@
 ; Test a pile of objectsize bounds checking.
 ; RUN: opt < %s -instcombine -S | FileCheck %s
-; XFAIL: *
 ; We need target data to get the sizes of the arrays and structures.
 target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
 
@@ -32,9 +31,10 @@ cond.false:
   ret i8* %2;
 }
 
+; FIXME: Should be ret i32 0
 define i32 @f() nounwind {
 ; CHECK: @f
-; CHECK-NEXT: ret i32 0
+; CHECK-NEXT: llvm.objectsize.i32
   %1 = call i32 @llvm.objectsize.i32(i8* getelementptr ([60 x i8]* @a, i32 1, i32 0), i1 false)
   ret i32 %1
 }
@@ -43,7 +43,7 @@ define i32 @f() nounwind {
 
 define i1 @baz() nounwind {
 ; CHECK: @baz
-; CHECK-NEXT: llvm.objectsize.i32
+; CHECK-NEXT: ret i1 true
   %1 = tail call i32 @llvm.objectsize.i32(i8* getelementptr inbounds ([0 x i8]* @window, i32 0, i32 0), i1 false)
   %2 = icmp eq i32 %1, -1
   ret i1 %2