Fixing a heisenbug where the memory dependence analysis behaves differently
[oota-llvm.git] / test / Transforms / ScalarRepl / negative-memset.ll
index 5c7f307b7af0202b5fdaec197e6082be8c32d088..e52ab468fd2cb1f02a5a53cd50d591b10e258c30 100644 (file)
@@ -1,20 +1,20 @@
-; PR12202\r
-; RUN: opt < %s -scalarrepl -S\r
-; Ensure that we do not hang or crash when feeding a negative value to memset\r
-\r
-target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-f80:128:128-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32-S32"\r
-target triple = "i686-pc-win32"\r
-\r
-define i32 @test() nounwind {\r
-entry:\r
-  %retval = alloca i32, align 4\r
-  %buff = alloca [1 x i8], align 1\r
-  store i32 0, i32* %retval\r
-  %0 = bitcast [1 x i8]* %buff to i8*\r
-  call void @llvm.memset.p0i8.i32(i8* %0, i8 0, i32 1, i32 1, i1 false)\r
-  %arraydecay = getelementptr inbounds [1 x i8]* %buff, i32 0, i32 0\r
-  call void @llvm.memset.p0i8.i32(i8* %arraydecay, i8 -1, i32 -8, i32 1, i1 false)     ; Negative 8!\r
-  ret i32 0\r
-}\r
-\r
-declare void @llvm.memset.p0i8.i32(i8* nocapture, i8, i32, i32, i1) nounwind\r
+; PR12202
+; RUN: opt < %s -scalarrepl -S
+; Ensure that we do not hang or crash when feeding a negative value to memset
+
+target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-f80:128:128-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32-S32"
+target triple = "i686-pc-win32"
+
+define i32 @test() nounwind {
+entry:
+  %retval = alloca i32, align 4
+  %buff = alloca [1 x i8], align 1
+  store i32 0, i32* %retval
+  %0 = bitcast [1 x i8]* %buff to i8*
+  call void @llvm.memset.p0i8.i32(i8* %0, i8 0, i32 1, i32 1, i1 false)
+  %arraydecay = getelementptr inbounds [1 x i8]* %buff, i32 0, i32 0
+  call void @llvm.memset.p0i8.i32(i8* %arraydecay, i8 -1, i32 -8, i32 1, i1 false)     ; Negative 8!
+  ret i32 0
+}
+
+declare void @llvm.memset.p0i8.i32(i8* nocapture, i8, i32, i32, i1) nounwind