[llvm-commits] [llvm] r46706 - /llvm/trunk/test/CodeGen/Generic/2008-01-30-LoadCrash.ll

Duncan Sands baldrick at free.fr
Mon Feb 4 01:40:27 PST 2008


Author: baldrick
Date: Mon Feb  4 03:40:27 2008
New Revision: 46706

URL: http://llvm.org/viewvc/llvm-project?rev=46706&view=rev
Log:
Crashed the new type legalizer.  Not likely to catch
any bugs in the future since to get the crash you also
need hacked in fake libcall support (which creates odd
but legal trees), but since adding it doesn't hurt...
Thanks to Chris for this ultimately reduced version.

Added:
    llvm/trunk/test/CodeGen/Generic/2008-01-30-LoadCrash.ll

Added: llvm/trunk/test/CodeGen/Generic/2008-01-30-LoadCrash.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/Generic/2008-01-30-LoadCrash.ll?rev=46706&view=auto

==============================================================================
--- llvm/trunk/test/CodeGen/Generic/2008-01-30-LoadCrash.ll (added)
+++ llvm/trunk/test/CodeGen/Generic/2008-01-30-LoadCrash.ll Mon Feb  4 03:40:27 2008
@@ -0,0 +1,21 @@
+; RUN: llvm-as < %s | llc
+
+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:32:32"
+target triple = "i686-pc-linux-gnu"
+ at letters.3100 = external constant [63 x i8]		; <[63 x i8]*> [#uses=2]
+
+define i32 @mkstemps(i8* %pattern, i32 %suffix_len, i64 %tmp42.rle) nounwind  {
+bb20:
+	br label %bb41
+
+bb41:		; preds = %bb20
+	%tmp8182 = trunc i64 %tmp42.rle to i32		; <i32> [#uses=1]
+	%tmp83 = getelementptr [63 x i8]* @letters.3100, i32 0, i32 %tmp8182		; <i8*> [#uses=1]
+	%tmp84 = load i8* %tmp83, align 1		; <i8> [#uses=1]
+	store i8 %tmp84, i8* null, align 1
+	%tmp90 = urem i64 %tmp42.rle, 62		; <i64> [#uses=1]
+	%tmp9091 = trunc i64 %tmp90 to i32		; <i32> [#uses=1]
+	%tmp92 = getelementptr [63 x i8]* @letters.3100, i32 0, i32 %tmp9091		; <i8*> [#uses=1]
+	store i8* %tmp92, i8** null, align 1
+	ret i32 -1
+}





More information about the llvm-commits mailing list