llvm-6502/lib
Dan Gohman 5bbee4b40a Work around an interaction between fast-isel and regalloc=local. The
local register allocator's physreg liveness doesn't recognize subregs,
so it doesn't know that defs of %ecx that are immediately followed by
uses of %cl aren't dead. This comes up due to the way fast-isel emits
shift instructions.

This is a temporary workaround. Arguably, local regalloc should
handle subreg references correctly. On the other hand, perhaps
fast-isel should use INSERT_SUBREG instead of just assigning to the
most convenient super-register of %cl when lowering shifts.

This fixes MultiSource/Benchmarks/MallocBench/espresso,
MultiSource/Applications/hexxagon, and others, under -fast.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56947 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-02 14:56:12 +00:00
..
Analysis Factorize code: remove variants of "strip off 2008-10-01 15:25:41 +00:00
Archive
AsmParser
Bitcode
CodeGen Remove OptimizeForSize global. Use function attribute optsize. 2008-10-01 23:18:38 +00:00
Debugger
ExecutionEngine Add runStaticConstructorsDestructors which runs ctors / dtors of a single module. Patch by David Chisnall. 2008-09-30 15:51:21 +00:00
Linker
Support
System Add llvm::sys::{osName,osVersion} for retrieving operating system name 2008-10-02 01:17:28 +00:00
Target Work around an interaction between fast-isel and regalloc=local. The 2008-10-02 14:56:12 +00:00
Transforms Factorize code: remove variants of "strip off 2008-10-01 15:25:41 +00:00
VMCore Attributes noinline alwaysinline are incompatible 2008-10-01 23:41:25 +00:00
Makefile