llvm-6502/test/CodeGen
Jakob Stoklund Olesen 9bbe4d6c00 Clean up the handling of the x87 fp stack to make it more robust.
Drop the FpMov instructions, use plain COPY instead.

Drop the FpSET/GET instruction for accessing fixed stack positions.
Instead use normal COPY to/from ST registers around inline assembly, and
provide a single new FpPOP_RETVAL instruction that can access the return
value(s) from a call. This is still necessary since you cannot tell from
the CALL instruction alone if it returns anything on the FP stack. Teach
fast isel to use this.

This provides a much more robust way of handling fixed stack registers -
we can tolerate arbitrary FP stack instructions inserted around calls
and inline assembly. Live range splitting could sometimes break x87 code
by inserting spill code in unfortunate places.

As a bonus we handle floating point inline assembly correctly now.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134018 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-28 18:32:28 +00:00
..
Alpha make the asmparser reject function and type redefinitions. 'Merging' hasn't been 2011-06-17 07:06:44 +00:00
ARM Allow lr in the register options here. 2011-06-27 20:31:01 +00:00
Blackfin Remove support for parsing the "type i32" syntax for defining a numbered 2011-06-19 00:03:46 +00:00
CBackend Add support for sadd.with.overflow and uadd.with.overflow intrinsics to the CBackend by emitting definitions for each intrinsic that occurs in the module. 2011-06-21 17:18:15 +00:00
CellSPU make the asmparser reject function and type redefinitions. 'Merging' hasn't been 2011-06-17 07:06:44 +00:00
CPP manually upgrade a bunch of tests to modern syntax, and remove some that 2011-06-17 03:14:27 +00:00
Generic Handle debug info for i128 constants. 2011-06-24 20:46:11 +00:00
MBlaze
Mips Change the chain input of nodes that load the address of a function. This change 2011-06-24 19:01:25 +00:00
MSP430
PowerPC Implement ISD::VAARG lowering on PPC32. 2011-06-28 15:30:42 +00:00
PTX PTX: corrected tests that were failing 2011-06-25 19:41:17 +00:00
SPARC make the asmparser reject function and type redefinitions. 'Merging' hasn't been 2011-06-17 07:06:44 +00:00
SystemZ manually upgrade a bunch of tests to modern syntax, and remove some that 2011-06-17 03:14:27 +00:00
Thumb rip out a ton of intrinsic modernization logic from AutoUpgrade.cpp, which is 2011-06-18 06:05:24 +00:00
Thumb2 Remove support for parsing the "type i32" syntax for defining a numbered 2011-06-19 00:03:46 +00:00
X86 Clean up the handling of the x87 fp stack to make it more robust. 2011-06-28 18:32:28 +00:00
XCore make the asmparser reject function and type redefinitions. 'Merging' hasn't been 2011-06-17 07:06:44 +00:00