llvm-6502/lib
Evan Cheng 7a0d51c8e3 Fix a long-standing spiller bug:
If a spillslot value is available in a register, and there is a noop copy that
targets that register, the spiller correctly decide not to invalidate the
spillslot register.

However, even though the noop copy does not clobbers the value. It does start a
new intersecting live range. That means the spillslot register is available for
use but should not be reused for a two-address instruction modref operand which
would clobber the new live range.

When we remove the noop copy, update the available information by clearing the
canClobber bit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32576 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-14 07:54:05 +00:00
..
Analysis Changed from PARALLEL_DIRS to DIRS since we're only building one directory. 2006-12-13 19:42:54 +00:00
Archive Use ostream instead of iostream 2006-11-28 22:49:32 +00:00
AsmParser Hopefully these are the regenerated files 2006-12-08 18:07:09 +00:00
Bytecode Create the cast constant expression that was read instead of attempting 2006-12-11 23:20:20 +00:00
CodeGen Fix a long-standing spiller bug: 2006-12-14 07:54:05 +00:00
Debugger Don't use <sstream> in Streams.h but <iosfwd> instead. 2006-12-07 23:41:45 +00:00
ExecutionEngine Change inferred cast creation calls to more specific cast creations. 2006-12-12 01:17:41 +00:00
Linker Change inferred getCast into specific getCast. Passes all tests. 2006-12-12 05:05:00 +00:00
Support Replace inferred getCast(V,Ty) calls with more strict variants. 2006-12-12 23:36:14 +00:00
System Eliminate "control reaches end of non-void function" warnings. 2006-12-05 17:53:26 +00:00
Target Add note. 2006-12-13 20:59:43 +00:00
Transforms Fix a bug in EvaluateInDifferentType. The type of operand should not be 2006-12-13 18:21:21 +00:00
VMCore Add -time-passes support. 2006-12-14 00:59:42 +00:00
Makefile