diff options
author | Chris Lattner <sabre@nondot.org> | 2004-11-07 00:24:14 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2004-11-07 00:24:14 +0000 |
commit | b4be8ee024c9f0862dc9dabb0a0156f1bca12faa (patch) | |
tree | f0aa850da61ea353d1ce73af48557a5f9fff195c | |
parent | fc77e0d0aecafd40d01f55adfcb82aca1451c312 (diff) |
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
-rw-r--r-- | test/LLC/2002-04-14-UnexpectedUnsignedType.ll | 15 | ||||
-rw-r--r-- | test/LLC/2002-04-16-StackFrameSizeAlignment.ll | 18 | ||||
-rw-r--r-- | test/LLC/2003-05-27-phifcmpd.ll | 73 | ||||
-rw-r--r-- | test/LLC/2003-05-27-useboolinotherbb.ll | 65 | ||||
-rw-r--r-- | test/LLC/2003-05-27-usefsubasbool.ll | 65 | ||||
-rw-r--r-- | test/LLC/2003-05-28-ManyArgs.ll | 158 | ||||
-rw-r--r-- | test/LLC/2003-05-30-BadFoldGEP.ll | 50 | ||||
-rw-r--r-- | test/LLC/2003-05-30-BadPreselectPhi.ll | 60 | ||||
-rw-r--r-- | test/LLC/2003-07-06-BadIntCmp.ll | 79 | ||||
-rw-r--r-- | test/LLC/2003-07-07-BadLongConst.ll | 24 | ||||
-rw-r--r-- | test/LLC/2003-07-08-BadCastToBool.ll | 51 | ||||
-rw-r--r-- | test/LLC/2003-07-29-BadConstSbyte.ll | 42 | ||||
-rw-r--r-- | test/LLC/BurgBadRegAlloc.ll | 832 | ||||
-rw-r--r-- | test/LLC/badCallArgLRLLVM.ll | 32 | ||||
-rw-r--r-- | test/LLC/badFoldGEP.ll | 29 | ||||
-rw-r--r-- | test/LLC/badarg6.ll | 43 | ||||
-rw-r--r-- | test/LLC/badlive.ll | 30 | ||||
-rw-r--r-- | test/LLC/constindices.ll | 56 | ||||
-rw-r--r-- | test/LLC/fwdtwice.ll | 35 | ||||
-rw-r--r-- | test/LLC/negintconst.ll | 51 | ||||
-rw-r--r-- | test/LLC/sched.ll | 33 | ||||
-rw-r--r-- | test/LLC/select.ll | 209 | ||||
-rw-r--r-- | test/LLC/spillccr.ll | 50 |
23 files changed, 0 insertions, 2100 deletions
diff --git a/test/LLC/2002-04-14-UnexpectedUnsignedType.ll b/test/LLC/2002-04-14-UnexpectedUnsignedType.ll deleted file mode 100644 index 559a4815c2..0000000000 --- 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* ; <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 f00aad7900..0000000000 --- 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 ) ; <int>: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 632b984ee9..0000000000 --- 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 <NULL VALUE> 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 <NULL VALUE>, %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 ; <bool> [#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 3864d53062..0000000000 --- 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 <NULL VALUE> 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 <NULL_VALUE>, .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 5b756b56ee..0000000000 --- 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 <NULL VALUE> 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 <NULL VALUE>, .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 4fcc10525f..0000000000 --- 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 5b372c51df..0000000000 --- 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 7e6be13fdf..0000000000 --- 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 <NULL VALUE> -;; for the phi arguments. -;; -;; PreSelection Output: -;; *** LLVM code after pre-selection for function handlerfn: -;; -;; -;; %struct..task* %handlerfn(%struct..packet*) { -;; ; <label>:0 ; No predecessors! -;; setne %struct..packet* %0, null ; <bool>:0 [#uses=1] -;; br bool %0, label %1, label %2 -;; -;; ; <label>:1 ; preds = %0 -;; br label %2 -;; -;; ; <label>:2 ; preds = %0, %1 -;; %addrOfGlobal = getelementptr int* %v2, long 0 ; <int*> [#uses=1] -;; %addrOfGlobal1 = getelementptr int* %v1, long 0 ; <int*> [#uses=1] -;; phi int* [ %addrOfGlobal, %1 ], [ %addrOfGlobal1, %0 ] ; <int*>:0 [#uses=1] -;; cast int* %0 to %struct..packet* ; <%struct..packet*>:1 [#uses=1] -;; call void %append( %struct..packet* %0, %struct..packet* %1 ) -;; ret %struct..task* null -;; } -;; llc: ../../../include/llvm/CodeGen/MachineInstr.h:294: int MachineOperand::getAllocatedRegNum() const: Assertion `hasAllocatedReg()' failed. -;; - - -target endian = little -target pointersize = 32 - %struct..packet = type { %struct..packet*, int, int, int, [4 x sbyte] } - %struct..task = type { %struct..task*, int, int, %struct..packet*, int, %struct..task* (%struct..packet*)*, int, int } -%v1 = external global int -%v2 = external global int - -implementation ; Functions: - -%struct..task* %handlerfn(%struct..packet* %pkt.2) { -entry: ; No predecessors! - %tmp.1 = setne %struct..packet* %pkt.2, null - br bool %tmp.1, label %cond_false, label %cond_continue - -cond_false: ; preds = %entry - br label %cond_continue - -cond_continue: ; preds = %entry, %cond_false - %mem_tmp.0 = phi int* [ %v2, %cond_false ], [ %v1, %entry ] - %tmp.12 = cast int* %mem_tmp.0 to %struct..packet* - call void %append( %struct..packet* %pkt.2, %struct..packet* %tmp.12 ) - ret %struct..task* null -} - -declare void %append(%struct..packet*, %struct..packet*) diff --git a/test/LLC/2003-07-06-BadIntCmp.ll b/test/LLC/2003-07-06-BadIntCmp.ll deleted file mode 100644 index 197ff2fdef..0000000000 --- a/test/LLC/2003-07-06-BadIntCmp.ll +++ /dev/null @@ -1,79 +0,0 @@ -; RUN: llvm-as -f %s -o - | llc - -;; Date: May 28, 2003. -;; From: test/Programs/MultiSource/Olden-perimeter/maketree.c -;; Function: int CheckOutside(int x, int y) -;; -;; Note: The .ll code below for this regression test has identical -;; behavior to the above function up to the error, but then prints -;; true/false on the two branches. -;; -;; Error: llc generates a branch-on-xcc instead of branch-on-icc, which -;; is wrong because the value being compared (int euclid = x*x + y*y) -;; overflows, so that the 64-bit and 32-bit compares are not equal. -;; -;; LLC Output: -;; -;; !****** Outputing Function: CheckOutside_34 ****** -;; .align 4 -;; .global CheckOutside_34 -;; .type CheckOutside_34, 2 -;; CheckOutside_34: -;; .L_CheckOutside_34_LL_0: -;; save %o6, -192, %o6 -;; mulx %i1, %i1, %i1 -;; mulx %i0, %i0, %i0 -;; sethi %lm(4194304), %o1 -;; or %g0, 1, %o0 -;; add %i0, %i1, %i0 -;; sra %o1, 0, %o1 -;; subcc %i0, %o1, %g0 -;; bg %xcc, .L_CheckOutside_34_LL_3 -;; nop -;; ba .L_CheckOutside_34_LL_1 -;; nop -;; ... -;; -;; - - -target endian = little -target pointersize = 32 -%.str_1 = internal constant [6 x sbyte] c"true\0A\00" ; <[6 x sbyte]*> [#uses=1] -%.str_2 = internal constant [7 x sbyte] c"false\0A\00" ; <[7 x sbyte]*> [#uses=1] - -implementation ; Functions: - -declare int %printf(sbyte*, ...) - -internal void %__main() { -entry: ; No predecessors! - ret void -} - -internal void %CheckOutside(int %x.1, int %y.1) { -entry: ; No predecessors! - %tmp.2 = mul int %x.1, %x.1 ; <int> [#uses=1] - %tmp.5 = mul int %y.1, %y.1 ; <int> [#uses=1] - %tmp.6 = add int %tmp.2, %tmp.5 ; <int> [#uses=1] - %tmp.8 = setle int %tmp.6, 4194304 ; <bool> [#uses=1] - br bool %tmp.8, label %then, label %else - -then: ; preds = %entry - %tmp.11 = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([6 x sbyte]* %.str_1, long 0, long 0) ) ; <int> [#uses=0] - br label %UnifiedExitNode - -else: ; preds = %entry - %tmp.13 = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([7 x sbyte]* %.str_2, long 0, long 0) ) ; <int> [#uses=0] - br label %UnifiedExitNode - -UnifiedExitNode: ; preds = %then, %else - ret void -} - -int %main() { -entry: ; No predecessors! - call void %__main( ) - call void %CheckOutside( int 2097152, int 2097152 ) - ret int 0 -} diff --git a/test/LLC/2003-07-07-BadLongConst.ll b/test/LLC/2003-07-07-BadLongConst.ll deleted file mode 100644 index 1b49b776bc..0000000000 --- a/test/LLC/2003-07-07-BadLongConst.ll +++ /dev/null @@ -1,24 +0,0 @@ -; RUN: llvm-as -f %s -o - | llc - -target endian = big -target pointersize = 64 - -%.str_1 = internal constant [42 x sbyte] c" ui = %u (0x%x)\09\09UL-ui = %lld (0x%llx)\0A\00" - -implementation ; Functions: - -declare int %printf(sbyte*, ...) - -internal ulong %getL() { -entry: ; No predecessors! - ret ulong 12659530247033960611 -} - -int %main(int %argc.1, sbyte** %argv.1) { -entry: ; No predecessors! - %tmp.11 = call ulong %getL( ) - %tmp.5 = cast ulong %tmp.11 to uint - %tmp.23 = and ulong %tmp.11, 18446744069414584320 - %tmp.16 = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([42 x sbyte]* %.str_1, long 0, long 0), uint %tmp.5, uint %tmp.5, ulong %tmp.23, ulong %tmp.23 ) - ret int 0 -} diff --git a/test/LLC/2003-07-08-BadCastToBool.ll b/test/LLC/2003-07-08-BadCastToBool.ll deleted file mode 100644 index b51105a0b1..0000000000 --- a/test/LLC/2003-07-08-BadCastToBool.ll +++ /dev/null @@ -1,51 +0,0 @@ -; RUN: llvm-as -f %s -o - | llc - -;; Date: Jul 8, 2003. -;; From: test/Programs/MultiSource/Olden-perimeter -;; Function: int %adj(uint %d.1, uint %ct.1) -;; -;; Errors: (1) cast-int-to-bool was being treated as a NOP (i.e., the int -;; register was treated as effectively true if non-zero). -;; This cannot be used for later boolean operations. -;; (2) (A or NOT(B)) was being folded into A orn B, which is ok -;; for bitwise operations but not booleans! For booleans, -;; the result has to be compared with 0. -;; -;; LLC Output for the basic block (LLVM assembly is shown below): -;; -;; .L_adj_7_LL_4: -;; sethi 0, %i0 -;; subcc %i1, 2, %g0 -;; move %icc, 1, %i0 -;; orn %i0, %i1, %i0 -;; ba .L_adj_7_LL_5 -;; nop -;; - - -target endian = big -target pointersize = 64 - -%.str_1 = internal constant [30 x sbyte] c"d = %d, ct = %d, d ^ ct = %d\0A\00" - - -implementation ; Functions: - -declare int %printf(sbyte*, ...) - -int %adj(uint %d.1, uint %ct.1) { -entry: - %tmp.19 = seteq uint %ct.1, 2 - %tmp.22.not = cast uint %ct.1 to bool - %tmp.221 = xor bool %tmp.22.not, true - %tmp.26 = or bool %tmp.19, %tmp.221 - %tmp.27 = cast bool %tmp.26 to int - ret int %tmp.27 -} - -int %main() { -entry: - %result = call int %adj(uint 3, uint 2) - %tmp.0 = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([30 x sbyte]* %.str_1, long 0, long 0), uint 3, uint 2, int %result) - ret int 0 -} diff --git a/test/LLC/2003-07-29-BadConstSbyte.ll b/test/LLC/2003-07-29-BadConstSbyte.ll deleted file mode 100644 index 7a32dc08db..0000000000 --- a/test/LLC/2003-07-29-BadConstSbyte.ll +++ /dev/null @@ -1,42 +0,0 @@ -; RUN: llvm-as -f %s -o - | llc - -;; Date: Jul 29, 2003. -;; From: test/Programs/MultiSource/Ptrdist-bc -;; Function: --- -;; Global: %yy_ec = internal constant [256 x sbyte] ... -;; A subset of this array is used in the test below. -;; -;; Error: Character '\07' was being emitted as '\a', at yy_ec[38]. -;; When loaded, this returned the value 97 ('a'), instead of 7. -;; -;; Incorrect LLC Output for the array yy_ec was: -;; yy_ec_1094: -;; XFAIL: darwin -;; .ascii "\000\001\001\001\001\001\001\001\001\002\003\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\002\004\005\001\001\006\a\001\b\t\n\v\f\r\016\017\020\020\020\020\020\020\020\020\020\020\001\021\022\023\024\001\001\025\025\025\025\025\025\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\026\027\030\031\032\001\033\034\035\036\037 !\"#$%&'()*+,-./$0$1$234\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001" -;; - - -%yy_ec = internal constant [6 x sbyte] c"\06\07\01\08\01\09" - -%.str_3 = internal constant [8 x sbyte] c"[%d] = \00" -%.str_4 = internal constant [4 x sbyte] c"%d\0A\00" - -implementation - -declare int %printf(sbyte*, ...) - -int %main() { -entry: - br label %loopentry -loopentry: - %i = phi long [0, %entry], [%inc.i, %loopentry] - %cptr = getelementptr [6 x sbyte]* %yy_ec, long 0, long %i - %c = load sbyte* %cptr - %ignore = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([8 x sbyte]* %.str_3, long 0, long 0), long %i) - %ignore2 = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([4 x sbyte]* %.str_4, long 0, long 0), sbyte %c) - %inc.i = add long %i, 1 - %done = setle long %inc.i, 5 - br bool %done, label %loopentry, label %exit.1 -exit.1: - ret int 0 -}; |