From df3fb5ef97d628579ee86a7dfb767ad925fc73cc Mon Sep 17 00:00:00 2001 From: Duncan Sands Date: Mon, 4 Feb 2008 09:40:27 +0000 Subject: [PATCH] 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46706 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/CodeGen/Generic/2008-01-30-LoadCrash.ll | 21 ++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 test/CodeGen/Generic/2008-01-30-LoadCrash.ll diff --git a/test/CodeGen/Generic/2008-01-30-LoadCrash.ll b/test/CodeGen/Generic/2008-01-30-LoadCrash.ll new file mode 100644 index 00000000000..5eebfcb91f9 --- /dev/null +++ b/test/CodeGen/Generic/2008-01-30-LoadCrash.ll @@ -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" +@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 ; [#uses=1] + %tmp83 = getelementptr [63 x i8]* @letters.3100, i32 0, i32 %tmp8182 ; [#uses=1] + %tmp84 = load i8* %tmp83, align 1 ; [#uses=1] + store i8 %tmp84, i8* null, align 1 + %tmp90 = urem i64 %tmp42.rle, 62 ; [#uses=1] + %tmp9091 = trunc i64 %tmp90 to i32 ; [#uses=1] + %tmp92 = getelementptr [63 x i8]* @letters.3100, i32 0, i32 %tmp9091 ; [#uses=1] + store i8* %tmp92, i8** null, align 1 + ret i32 -1 +} -- 2.34.1