llvm-6502/lib
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
..
Analysis Cleanup. Fix a stupid variable name. 2011-06-28 05:41:52 +00:00
Archive Revert PathV2 changes, as sys::fs::unique_file is not finished yet. 2011-03-01 19:50:55 +00:00
AsmParser Replace the existing forms of ConstantArray::get() with a single form 2011-06-22 09:24:39 +00:00
Bitcode Replace the existing forms of ConstantArray::get() with a single form 2011-06-22 09:24:39 +00:00
CodeGen Print registers by name instead of by number. 2011-06-28 17:24:32 +00:00
CompilerDriver Build CompilerDriver library. 2011-03-12 22:01:42 +00:00
ExecutionEngine eliminate the Type::getDescription() method, using "<<" instead. This 2011-06-18 21:18:23 +00:00
Linker Set the unnamed_addr only when we're creating a new GV in the dest module. 2011-03-29 23:31:06 +00:00
MC Refactor MachO relocation generaration into the Target directories. 2011-06-24 23:44:37 +00:00
Object Object: Add proper error handling. 2011-06-25 17:55:23 +00:00
Support Fix the implementation of ConstantRange::sub(ConstantRange). Patch by Xi Wang! 2011-06-22 21:13:46 +00:00
Target Clean up the handling of the x87 fp stack to make it more robust. 2011-06-28 18:32:28 +00:00
Transforms cleanup: misleading comment. 2011-06-28 16:45:04 +00:00
VMCore PR10210: New method ConstantArray::getAsCString(). Use it in LTO to 2011-06-28 08:24:19 +00:00
CMakeLists.txt Build CompilerDriver library. 2011-03-12 22:01:42 +00:00
Makefile Add LLVMObject Library. 2010-11-15 03:21:41 +00:00