llvm-project/llvm/lib
Dan Gohman b158fd751c 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.

llvm-svn: 56947
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 Initial support for the CMake build system. 2008-09-22 01:08:49 +00:00
AsmParser Support inreg, zext and sext as return value attributes. 2008-09-29 20:49:50 +00:00
Bitcode Now Attributes are divided in three groups 2008-09-26 22:53:05 +00:00
CodeGen Remove OptimizeForSize global. Use function attribute optsize. 2008-10-01 23:18:38 +00:00
Debugger Initial support for the CMake build system. 2008-09-22 01:08:49 +00:00
ExecutionEngine Add runStaticConstructorsDestructors which runs ctors / dtors of a single module. Patch by David Chisnall. 2008-09-30 15:51:21 +00:00
Linker Rename isWeakForLinker to mayBeOverridden. Use it 2008-09-29 11:25:42 +00:00
Support Initial support for the CMake build system. 2008-09-22 01:08:49 +00:00
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 remove attribution from lib Makefiles. 2007-12-29 20:09:26 +00:00