From b4be8ee024c9f0862dc9dabb0a0156f1bca12faa Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sun, 7 Nov 2004 00:24:14 +0000 Subject: [PATCH] These files are all moved to test/Regression/CodeGen/Generic git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17538 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/LLC/2002-04-14-UnexpectedUnsignedType.ll | 15 - .../LLC/2002-04-16-StackFrameSizeAlignment.ll | 18 - test/LLC/2003-05-27-phifcmpd.ll | 73 -- test/LLC/2003-05-27-useboolinotherbb.ll | 65 -- test/LLC/2003-05-27-usefsubasbool.ll | 65 -- test/LLC/2003-05-28-ManyArgs.ll | 158 ---- test/LLC/2003-05-30-BadFoldGEP.ll | 50 -- test/LLC/2003-05-30-BadPreselectPhi.ll | 60 -- test/LLC/2003-07-06-BadIntCmp.ll | 79 -- test/LLC/2003-07-07-BadLongConst.ll | 24 - test/LLC/2003-07-08-BadCastToBool.ll | 51 -- test/LLC/2003-07-29-BadConstSbyte.ll | 42 - test/LLC/BurgBadRegAlloc.ll | 832 ------------------ test/LLC/badCallArgLRLLVM.ll | 32 - test/LLC/badFoldGEP.ll | 29 - test/LLC/badarg6.ll | 43 - test/LLC/badlive.ll | 30 - test/LLC/constindices.ll | 56 -- test/LLC/fwdtwice.ll | 35 - test/LLC/negintconst.ll | 51 -- test/LLC/sched.ll | 33 - test/LLC/select.ll | 209 ----- test/LLC/spillccr.ll | 50 -- 23 files changed, 2100 deletions(-) delete mode 100644 test/LLC/2002-04-14-UnexpectedUnsignedType.ll delete mode 100644 test/LLC/2002-04-16-StackFrameSizeAlignment.ll delete mode 100644 test/LLC/2003-05-27-phifcmpd.ll delete mode 100644 test/LLC/2003-05-27-useboolinotherbb.ll delete mode 100644 test/LLC/2003-05-27-usefsubasbool.ll delete mode 100644 test/LLC/2003-05-28-ManyArgs.ll delete mode 100644 test/LLC/2003-05-30-BadFoldGEP.ll delete mode 100644 test/LLC/2003-05-30-BadPreselectPhi.ll delete mode 100644 test/LLC/2003-07-06-BadIntCmp.ll delete mode 100644 test/LLC/2003-07-07-BadLongConst.ll delete mode 100644 test/LLC/2003-07-08-BadCastToBool.ll delete mode 100644 test/LLC/2003-07-29-BadConstSbyte.ll delete mode 100644 test/LLC/BurgBadRegAlloc.ll delete mode 100644 test/LLC/badCallArgLRLLVM.ll delete mode 100644 test/LLC/badFoldGEP.ll delete mode 100644 test/LLC/badarg6.ll delete mode 100644 test/LLC/badlive.ll delete mode 100644 test/LLC/constindices.ll delete mode 100644 test/LLC/fwdtwice.ll delete mode 100644 test/LLC/negintconst.ll delete mode 100644 test/LLC/sched.ll delete mode 100644 test/LLC/select.ll delete mode 100644 test/LLC/spillccr.ll diff --git a/test/LLC/2002-04-14-UnexpectedUnsignedType.ll b/test/LLC/2002-04-14-UnexpectedUnsignedType.ll deleted file mode 100644 index 559a4815c27..00000000000 --- a/test/LLC/2002-04-14-UnexpectedUnsignedType.ll +++ /dev/null @@ -1,15 +0,0 @@ -; RUN: llvm-as -f %s -o - | llc - -; This causes the backend to assert out with: -; SparcInstrInfo.cpp:103: failed assertion `0 && "Unexpected unsigned type"' -; -implementation - -declare void "bar"(sbyte* %G) - -void "foo"() -begin - %cast225 = cast ulong 123456 to sbyte* ; [#uses=1] - call void %bar( sbyte* %cast225) - ret void -end diff --git a/test/LLC/2002-04-16-StackFrameSizeAlignment.ll b/test/LLC/2002-04-16-StackFrameSizeAlignment.ll deleted file mode 100644 index f00aad7900c..00000000000 --- a/test/LLC/2002-04-16-StackFrameSizeAlignment.ll +++ /dev/null @@ -1,18 +0,0 @@ -; RUN: llvm-as -f %s -o - | llc - -; Compiling this file produces: -; Sparc.cpp:91: failed assertion `(offset - OFFSET) % getStackFrameSizeAlignment() == 0' -; -implementation - -declare int "SIM"(sbyte* %A, sbyte* %B, int %M, int %N, int %K, [256 x int]* %V, int %Q, int %R, int %nseq) - -void "foo"() -begin -bb0: ;[#uses=0] - %V = alloca [256 x int], uint 256 ; <[256 x int]*> [#uses=1] - call int %SIM( sbyte* null, sbyte* null, int 0, int 0, int 0, [256 x int]* %V, int 0, int 0, int 2 ) ; :0 [#uses=0] - ret void -end - - diff --git a/test/LLC/2003-05-27-phifcmpd.ll b/test/LLC/2003-05-27-phifcmpd.ll deleted file mode 100644 index 632b984ee98..00000000000 --- a/test/LLC/2003-05-27-phifcmpd.ll +++ /dev/null @@ -1,73 +0,0 @@ -; RUN: llvm-as -f %s -o - | llc - -;; Date: May 28, 2003. -;; From: test/Programs/MultiSource/McCat-05-eks/QRfact.c -;; Function: Matrix QRiterate(Matrix A, Matrix U) -;; -;; Error: llc produces an invalid register for the -;; phi argument %tmp.213 produced by fcmpd: -;; -;; LLC Output: -;; -;; !****** Outputing Function: QRiterate_1 ****** -;; -;; .section ".text" -;; .align 4 -;; .global QRiterate_1 -;; .type QRiterate_1, 2 -;; QRiterate_1: -;; .L_QRiterate_1_LL_0: -;; save %o6, -192, %o6 -;; brgz %i0, .L_QRiterate_1_LL_1 -;; add %g0, %g0, %o0 -;; ba .L_QRiterate_1_LL_2 -;; nop -;; -;; .L_QRiterate_1_LL_1: -;; sethi %lm(LLVMGlobal__2), %o1 -;; sethi %hh(LLVMGlobal__2), %o0 -;; or %o0, %hm(LLVMGlobal__2), %o0 -;; sllx %o0, 32, %o0 -;; or %o1, %o0, %o1 -;; or %o1, %lo(LLVMGlobal__2), %o1 -;; ldd [%o1+0], %f32 -;; fcmpd %fcc0, %f2, %f32 -;; ba .L_QRiterate_1_LL_2 -;; add , %g0, %o0 -;; -;; .L_QRiterate_1_LL_2: -;; brnz %o0, .L_QRiterate_1_LL_1 -;; nop -;; ba .L_QRiterate_1_LL_3 -;; nop -;; -;; .L_QRiterate_1_LL_3: -;; jmpl %i7+8, %g0 -;; restore %g0, 0, %g0 -;; -;; .EndOf_QRiterate_1: -;; .size QRiterate_1, .EndOf_QRiterate_1-QRiterate_1 -;; - - -target endian = big -target pointersize = 64 - -implementation ; Functions: - -internal void %QRiterate(int %p.1, double %tmp.212) { -entry: ; No predecessors! - %tmp.184 = setgt int %p.1, 0 ; [#uses=1] - br bool %tmp.184, label %shortcirc_next.1, label %shortcirc_done.1 - -shortcirc_next.1: ; preds = %entry - %tmp.213 = setne double %tmp.212, 0.000000e+00 - br label %shortcirc_done.1 - -shortcirc_done.1: ; preds = %entry, %shortcirc_next.1 - %val.1 = phi bool [ false, %entry ], [ %tmp.213, %shortcirc_next.1 ] - br bool %val.1, label %shortcirc_next.1, label %exit.1 - -exit.1: - ret void -} diff --git a/test/LLC/2003-05-27-useboolinotherbb.ll b/test/LLC/2003-05-27-useboolinotherbb.ll deleted file mode 100644 index 3864d530622..00000000000 --- a/test/LLC/2003-05-27-useboolinotherbb.ll +++ /dev/null @@ -1,65 +0,0 @@ -; RUN: llvm-as -f %s -o - | llc - -;; Date: May 27, 2003. -;; From: Variant of 2003-05-27-usefsubasbool.ll -;; -;; Error: llc fails to save a boolean value in a register (and later uses an -;; invalid register in a BRNZ) for a boolean value -;; used only by branches but in a different basic block. -;; -;; Cause: In SparcInstrSelection.cpp, for SetCC, when a result of setCC -;; is used only for branches, it is not saved into an int. register. -;; But if the boolean is used in a branch in a different basic block, -;; that branch uses a BRNZ inst. instead of a branch-on-CC. -;; -;; LLC Output before fix: -;; !****** Outputing Function: QRiterate_1 ****** -;; -;; .section ".text" -;; .align 4 -;; .global QRiterate_1 -;; .type QRiterate_1, 2 -;; QRiterate_1: -;; .L_QRiterate_1_LL_0: -;; save %o6, -192, %o6 -;; sethi %lm(LLVMGlobal__2), %o2 -;; sethi %hh(LLVMGlobal__2), %o1 -;; or %o1, %hm(LLVMGlobal__2), %o1 -;; sllx %o1, 32, %o1 -;; or %o2, %o1, %o2 -;; or %o2, %lo(LLVMGlobal__2), %o2 -;; ldd [%o2+0], %f32 -;; fcmpd %fcc0, %f0, %f32 -;; ba .L_QRiterate_1_LL_1 -;; nop -;; -;; .L_QRiterate_1_LL_1: -;; brnz , .L_QRiterate_1_LL_1 -;; nop -;; ba .L_QRiterate_1_LL_2 -;; nop -;; -;; .L_QRiterate_1_LL_2: -;; jmpl %i7+8, %g0 -;; restore %g0, 0, %g0 -;; -;; .EndOf_QRiterate_1: -;; .size QRiterate_1, .EndOf_QRiterate_1-QRiterate_1 -;; - -target endian = big -target pointersize = 64 - -implementation ; Functions: - -internal void %QRiterate(double %tmp.212) { -entry: ; No predecessors! - %tmp.213 = setne double %tmp.212, 0.000000e+00 - br label %shortcirc_next.1 - -shortcirc_next.1: ; preds = %entry - br bool %tmp.213, label %shortcirc_next.1, label %exit.1 - -exit.1: - ret void -} diff --git a/test/LLC/2003-05-27-usefsubasbool.ll b/test/LLC/2003-05-27-usefsubasbool.ll deleted file mode 100644 index 5b756b56ee8..00000000000 --- a/test/LLC/2003-05-27-usefsubasbool.ll +++ /dev/null @@ -1,65 +0,0 @@ -; RUN: llvm-as -f %s -o - | llc - -;; Date: May 27, 2003. -;; From: test/Programs/MultiSource/McCat-05-eks/QRfact.c -;; Function: Matrix QRiterate(Matrix A, Matrix U) -;; -;; Error: llc produces an invalid register for the -;; a boolean value computed using setne with a double. -;; -;; Cause: In SparcInstrSelection.cpp, for SetCC, when a result of setne -;; is used for a branch, it can generate a "branch-on-integer-register" -;; for integer registers. In that case, it never saves the value of -;; the boolean result. It was attempting to do the same thing for an -;; FP compare! -;; -;; LLC Output: -;; !****** Outputing Function: QRiterate_1 ****** -;; -;; .section ".text" -;; .align 4 -;; .global QRiterate_1 -;; .type QRiterate_1, 2 -;; QRiterate_1: -;; .L_QRiterate_1_LL_0: -;; save %o6, -192, %o6 -;; sethi %hh(LLVMGlobal__2), %o1 -;; sethi %lm(LLVMGlobal__2), %o0 -;; or %o1, %hm(LLVMGlobal__2), %o1 -;; sllx %o1, 32, %o1 -;; or %o0, %o1, %o0 -;; or %o0, %lo(LLVMGlobal__2), %o0 -;; ldd [%o0+0], %f32 -;; ba .L_QRiterate_1_LL_1 -;; fcmpd %fcc0, %f0, %f32 -;; -;; .L_QRiterate_1_LL_1: -;; brnz , .L_QRiterate_1_LL_1 -;; nop -;; ba .L_QRiterate_1_LL_2 -;; nop -;; -;; .L_QRiterate_1_LL_2: -;; jmpl %i7+8, %g0 -;; restore %g0, 0, %g0 -;; -;; .EndOf_QRiterate_1: -;; .size QRiterate_1, .EndOf_QRiterate_1-QRiterate_1 -;; - -target endian = big -target pointersize = 64 - -implementation ; Functions: - -internal void %QRiterate(double %tmp.212) { -entry: ; No predecessors! - br label %shortcirc_next.1 - -shortcirc_next.1: ; preds = %entry - %tmp.213 = setne double %tmp.212, 0.000000e+00 - br bool %tmp.213, label %shortcirc_next.1, label %exit.1 - -exit.1: - ret void -} diff --git a/test/LLC/2003-05-28-ManyArgs.ll b/test/LLC/2003-05-28-ManyArgs.ll deleted file mode 100644 index 4fcc10525f1..00000000000 --- a/test/LLC/2003-05-28-ManyArgs.ll +++ /dev/null @@ -1,158 +0,0 @@ -; RUN: llvm-as -f %s -o - | llc - -;; Date: May 28, 2003. -;; From: test/Programs/External/SPEC/CINT2000/175.vpr.llvm.bc -;; Function: int %main(int %argc.1, sbyte** %argv.1) -;; -;; Error: A function call with about 56 arguments causes an assertion failure -;; in llc because the register allocator cannot find a register -;; not used explicitly by the call instruction. -;; -;; Cause: Regalloc was not keeping track of free registers correctly. -;; It was counting the registers allocated to all outgoing arguments, -;; even though most of those are copied to the stack (so those -;; registers are not actually used by the call instruction). -;; -;; Fixed: By rewriting selection and allocation so that selection explicitly -;; inserts all copy operations required for passing arguments and -;; for the return value of a call, copying to/from registers -;; and/or to stack locations as needed. -;; - -target endian = little -target pointersize = 32 - %struct..s_annealing_sched = type { uint, float, float, float, float } - %struct..s_chan = type { uint, float, float, float, float } - %struct..s_det_routing_arch = type { uint, float, float, float, uint, int, short, short, short, float, float } - %struct..s_placer_opts = type { int, float, int, uint, sbyte*, uint, int } - %struct..s_router_opts = type { float, float, float, float, float, int, int, uint, int } - %struct..s_segment_inf = type { float, int, short, short, float, float, uint, float, float } - %struct..s_switch_inf = type { uint, float, float, float, float } - -implementation - -int %main(int %argc.1, sbyte** %argv.1) { -entry: - %net_file = alloca [300 x sbyte] - %place_file = alloca [300 x sbyte] - %arch_file = alloca [300 x sbyte] - %route_file = alloca [300 x sbyte] - %full_stats = alloca uint - %operation = alloca int - %verify_binary_search = alloca uint - %show_graphics = alloca uint - %annealing_sched = alloca %struct..s_annealing_sched - %placer_opts = alloca %struct..s_placer_opts - %router_opts = alloca %struct..s_router_opts - %det_routing_arch = alloca %struct..s_det_routing_arch - %segment_inf = alloca %struct..s_segment_inf* - %timing_inf = alloca { uint, float, float, float, float, float, float, float, float, float, float } - %tmp.101 = getelementptr %struct..s_placer_opts* %placer_opts, long 0, ubyte 4 - %tmp.105 = getelementptr [300 x sbyte]* %net_file, long 0, long 0 - %tmp.106 = getelementptr [300 x sbyte]* %arch_file, long 0, long 0 - %tmp.107 = getelementptr [300 x sbyte]* %place_file, long 0, long 0 - %tmp.108 = getelementptr [300 x sbyte]* %route_file, long 0, long 0 - %tmp.109 = getelementptr { uint, float, float, float, float, float, float, float, float, float, float }* %timing_inf, long 0, ubyte 0 - %tmp.112 = getelementptr %struct..s_placer_opts* %placer_opts, long 0, ubyte 0 - %tmp.114 = getelementptr %struct..s_placer_opts* %placer_opts, long 0, ubyte 6 - %tmp.118 = getelementptr %struct..s_router_opts* %router_opts, long 0, ubyte 7 - %tmp.135 = load int* %operation - %tmp.137 = load int* %tmp.112 - %tmp.138 = getelementptr %struct..s_placer_opts* %placer_opts, long 0, ubyte 1 - %tmp.139 = load float* %tmp.138 - %tmp.140 = getelementptr %struct..s_placer_opts* %placer_opts, long 0, ubyte 2 - %tmp.141 = load int* %tmp.140 - %tmp.142 = getelementptr %struct..s_placer_opts* %placer_opts, long 0, ubyte 3 - %tmp.143 = load uint* %tmp.142 - %tmp.145 = load sbyte** %tmp.101 - %tmp.146 = getelementptr %struct..s_placer_opts* %placer_opts, long 0, ubyte 5 - %tmp.147 = load uint* %tmp.146 - %tmp.149 = load int* %tmp.114 - %tmp.154 = load uint* %full_stats - %tmp.155 = load uint* %verify_binary_search - %tmp.156 = getelementptr %struct..s_annealing_sched* %annealing_sched, long 0, ubyte 0 - %tmp.157 = load uint* %tmp.156 - %tmp.158 = getelementptr %struct..s_annealing_sched* %annealing_sched, long 0, ubyte 1 - %tmp.159 = load float* %tmp.158 - %tmp.160 = getelementptr %struct..s_annealing_sched* %annealing_sched, long 0, ubyte 2 - %tmp.161 = load float* %tmp.160 - %tmp.162 = getelementptr %struct..s_annealing_sched* %annealing_sched, long 0, ubyte 3 - %tmp.163 = load float* %tmp.162 - %tmp.164 = getelementptr %struct..s_annealing_sched* %annealing_sched, long 0, ubyte 4 - %tmp.165 = load float* %tmp.164 - %tmp.166 = getelementptr %struct..s_router_opts* %router_opts, long 0, ubyte 0 - %tmp.167 = load float* %tmp.166 - %tmp.168 = getelementptr %struct..s_router_opts* %router_opts, long 0, ubyte 1 - %tmp.169 = load float* %tmp.168 - %tmp.170 = getelementptr %struct..s_router_opts* %router_opts, long 0, ubyte 2 - %tmp.171 = load float* %tmp.170 - %tmp.172 = getelementptr %struct..s_router_opts* %router_opts, long 0, ubyte 3 - %tmp.173 = load float* %tmp.172 - %tmp.174 = getelementptr %struct..s_router_opts* %router_opts, long 0, ubyte 4 - %tmp.175 = load float* %tmp.174 - %tmp.176 = getelementptr %struct..s_router_opts* %router_opts, long 0, ubyte 5 - %tmp.177 = load int* %tmp.176 - %tmp.178 = getelementptr %struct..s_router_opts* %router_opts, long 0, ubyte 6 - %tmp.179 = load int* %tmp.178 - %tmp.181 = load uint* %tmp.118 - %tmp.182 = getelementptr %struct..s_router_opts* %router_opts, long 0, ubyte 8 - %tmp.183 = load int* %tmp.182 - %tmp.184 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, long 0, ubyte 0 - %tmp.185 = load uint* %tmp.184 - %tmp.186 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, long 0, ubyte 1 - %tmp.187 = load float* %tmp.186 - %tmp.188 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, long 0, ubyte 2 - %tmp.189 = load float* %tmp.188 - %tmp.190 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, long 0, ubyte 3 - %tmp.191 = load float* %tmp.190 - %tmp.192 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, long 0, ubyte 4 - %tmp.193 = load uint* %tmp.192 - %tmp.194 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, long 0, ubyte 5 - %tmp.195 = load int* %tmp.194 - %tmp.196 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, long 0, ubyte 6 - %tmp.197 = load short* %tmp.196 - %tmp.198 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, long 0, ubyte 7 - %tmp.199 = load short* %tmp.198 - %tmp.200 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, long 0, ubyte 8 - %tmp.201 = load short* %tmp.200 - %tmp.202 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, long 0, ubyte 9 - %tmp.203 = load float* %tmp.202 - %tmp.204 = getelementptr %struct..s_det_routing_arch* %det_routing_arch, long 0, ubyte 10 - %tmp.205 = load float* %tmp.204 - %tmp.206 = load %struct..s_segment_inf** %segment_inf - %tmp.208 = load uint* %tmp.109 - %tmp.209 = getelementptr { uint, float, float, float, float, float, float, float, float, float, float }* %timing_inf, long 0, ubyte 1 - %tmp.210 = load float* %tmp.209 - %tmp.211 = getelementptr { uint, float, float, float, float, float, float, float, float, float, float }* %timing_inf, long 0, ubyte 2 - %tmp.212 = load float* %tmp.211 - %tmp.213 = getelementptr { uint, float, float, float, float, float, float, float, float, float, float }* %timing_inf, long 0, ubyte 3 - %tmp.214 = load float* %tmp.213 - %tmp.215 = getelementptr { uint, float, float, float, float, float, float, float, float, float, float }* %timing_inf, long 0, ubyte 4 - %tmp.216 = load float* %tmp.215 - %tmp.217 = getelementptr { uint, float, float, float, float, float, float, float, float, float, float }* %timing_inf, long 0, ubyte 5 - %tmp.218 = load float* %tmp.217 - %tmp.219 = getelementptr { uint, float, float, float, float, float, float, float, float, float, float }* %timing_inf, long 0, ubyte 6 - %tmp.220 = load float* %tmp.219 - %tmp.221 = getelementptr { uint, float, float, float, float, float, float, float, float, float, float }* %timing_inf, long 0, ubyte 7 - %tmp.222 = load float* %tmp.221 - %tmp.223 = getelementptr { uint, float, float, float, float, float, float, float, float, float, float }* %timing_inf, long 0, ubyte 8 - %tmp.224 = load float* %tmp.223 - %tmp.225 = getelementptr { uint, float, float, float, float, float, float, float, float, float, float }* %timing_inf, long 0, ubyte 9 - %tmp.226 = load float* %tmp.225 - %tmp.227 = getelementptr { uint, float, float, float, float, float, float, float, float, float, float }* %timing_inf, long 0, ubyte 10 - %tmp.228 = load float* %tmp.227 - call void %place_and_route( int %tmp.135, int %tmp.137, float %tmp.139, int %tmp.141, uint %tmp.143, sbyte* %tmp.145, uint %tmp.147, int %tmp.149, sbyte* %tmp.107, sbyte* %tmp.105, sbyte* %tmp.106, sbyte* %tmp.108, uint %tmp.154, uint %tmp.155, uint %tmp.157, float %tmp.159, float %tmp.161, float %tmp.163, float %tmp.165, float %tmp.167, float %tmp.169, float %tmp.171, float %tmp.173, float %tmp.175, int %tmp.177, int %tmp.179, uint %tmp.181, int %tmp.183, uint %tmp.185, float %tmp.187, float %tmp.189, float %tmp.191, uint %tmp.193, int %tmp.195, short %tmp.197, short %tmp.199, short %tmp.201, float %tmp.203, float %tmp.205, %struct..s_segment_inf* %tmp.206, uint %tmp.208, float %tmp.210, float %tmp.212, float %tmp.214, float %tmp.216, float %tmp.218, float %tmp.220, float %tmp.222, float %tmp.224, float %tmp.226, float %tmp.228 ) - %tmp.231 = load uint* %show_graphics - %tmp.232 = setne uint %tmp.231, 0 - br bool %tmp.232, label %then.2, label %endif.2 - -then.2: - br label %endif.2 - -endif.2: - ret int 0 -} - -declare int %printf(sbyte*, ...) - -declare void %place_and_route(int, int, float, int, uint, sbyte*, uint, int, sbyte*, sbyte*, sbyte*, sbyte*, uint, uint, uint, float, float, float, float, float, float, float, float, float, int, int, uint, int, uint, float, float, float, uint, int, short, short, short, float, float, %struct..s_segment_inf*, uint, float, float, float, float, float, float, float, float, float, float) diff --git a/test/LLC/2003-05-30-BadFoldGEP.ll b/test/LLC/2003-05-30-BadFoldGEP.ll deleted file mode 100644 index 5b372c51df5..00000000000 --- a/test/LLC/2003-05-30-BadFoldGEP.ll +++ /dev/null @@ -1,50 +0,0 @@ -; RUN: llvm-as -f %s -o - | llc - -;; Date: May 28, 2003. -;; From: test/Programs/External/SPEC/CINT2000/254.gap.llvm.bc -;; Function: int %OpenOutput(sbyte* %filename.1) -;; -;; Error: A sequence of GEPs is folded incorrectly by llc during selection -;; causing an assertion about a dynamic casting error. -;; This code sequence was produced (correctly) by preselection -;; from a nested pair of ConstantExpr getelementptrs. -;; The code below is the output of preselection. -;; The original ConstantExprs are included in a comment. -;; -;; Cause: FoldGetElemChain() was inserting an extra leading 0 even though -;; the first instruction in the sequence contributes no indices. -;; The next instruction contributes a leading non-zero so another -;; zero should not be added before it! -;; - - -%FileType = type { int, [256 x sbyte], int, int, int, int } -%OutputFiles = uninitialized global [16 x %FileType] -%Output = internal global %FileType* null - - -implementation; Functions: - -internal int %OpenOutput(sbyte* %filename.1) { -entry: - %tmp.0 = load %FileType** %Output - %tmp.4 = getelementptr %FileType* %tmp.0, long 1 - - ;;------ Original instruction in 254.gap.llvm.bc: - ;; %tmp.10 = seteq { int, [256 x sbyte], int, int, int, int }* %tmp.4, getelementptr ([16 x { int, [256 x sbyte], int, int, int, int }]* getelementptr ([16 x { int, [256 x sbyte], int, int, int, int }]* %OutputFiles, long 1), long 0, long 0) - - ;;------ Code sequence produced by preselection phase for above instr: - ;; This code sequence is folded incorrectly by llc during selection - ;; causing an assertion about a dynamic casting error. - %addrOfGlobal = getelementptr [16 x %FileType]* %OutputFiles, long 0 - %constantGEP = getelementptr [16 x %FileType]* %addrOfGlobal, long 1 - %constantGEP = getelementptr [16 x %FileType]* %constantGEP, long 0, long 0 - %tmp.10 = seteq %FileType* %tmp.4, %constantGEP - br bool %tmp.10, label %return, label %endif.0 - -endif.0: - ret int 0 - -return: - ret int 1 -} diff --git a/test/LLC/2003-05-30-BadPreselectPhi.ll b/test/LLC/2003-05-30-BadPreselectPhi.ll deleted file mode 100644 index 7e6be13fdf2..00000000000 --- a/test/LLC/2003-05-30-BadPreselectPhi.ll +++ /dev/null @@ -1,60 +0,0 @@ -; RUN: llvm-as -f %s -o - | llc - -;; Date: May 28, 2003. -;; From: test/Programs/SingleSource/richards_benchmark.c -;; Function: struct task *handlerfn(struct packet *pkt) -;; -;; Error: PreSelection puts the arguments of the Phi just before -;; the Phi instead of in predecessor blocks. This later -;; causes llc to produces an invalid register -;; for the phi arguments. -;; -;; PreSelection Output: -;; *** LLVM code after pre-selection for function handlerfn: -;; -;; -;; %struct..task* %handlerfn(%struct..packet*) { -;; ;