llvm-project/llvm/lib
Jakob Stoklund Olesen 82d77e8145 Run proper recursive dead code elimination during coalescing.
Dead copies cause problems because they are trivial to coalesce, but
removing them gived the live range a dangling end point. This patch
enables full dead code elimination which trims live ranges to their uses
so end points don't dangle.

DCE may erase multiple instructions. Put the pointers in an ErasedInstrs
set so we never risk visiting erased instructions in the work list.

There isn't supposed to be any dead copies entering RegisterCoalescer,
but they do slip by as evidenced by test/CodeGen/X86/coalescer-dce.ll.

llvm-svn: 157101
2012-05-19 05:25:50 +00:00
..
Analysis Actually support DW_TAG_rvalue_reference_type that we were trying 2012-05-19 01:36:37 +00:00
Archive Include cstdio in a few place that depended on getting it transitively through StringExtras.h 2012-03-23 11:35:30 +00:00
AsmParser Convert assert(0) to llvm_unreachable 2012-02-07 05:05:23 +00:00
Bitcode SwitchInst cosmetics: renamed "Hash" method to "hash" 2012-05-14 08:26:31 +00:00
CodeGen Run proper recursive dead code elimination during coalescing. 2012-05-19 05:25:50 +00:00
DebugInfo Fix a C++11 UDL conflict. 2012-04-04 20:33:56 +00:00
ExecutionEngine Added LLIMCJITMemoryManager to the lli. This manager will be used for MCJIT instead of DefaultJIMMemoryManager. 2012-05-16 18:50:11 +00:00
Linker Supply a C interface to the "LinkModules" method. 2012-05-09 08:55:40 +00:00
MC Refactor data-in-code annotations. 2012-05-18 19:12:01 +00:00
Object Refactor data-in-code annotations. 2012-05-18 19:12:01 +00:00
Support fix corner case in ConstantRange::intersectWith(). 2012-05-18 00:14:36 +00:00
TableGen Move llvm-tblgen's StringMatcher into the TableGen library so it can 2012-05-02 17:32:48 +00:00
Target Add support for the 'd' mips inline asm output modifier. 2012-05-19 00:51:56 +00:00
Transforms Fix replacing all the users of objc weak runtime routines 2012-05-18 22:17:29 +00:00
VMCore enhance the intrinsic info stuff to emit encodings that don't fit in 32-bits into a 2012-05-17 15:55:41 +00:00
CMakeLists.txt Move TableGen's parser and entry point into a library 2011-10-01 16:41:13 +00:00
LLVMBuild.txt LLVMBuild: Introduce a common section which currently has a list of the 2011-12-12 22:45:54 +00:00
Makefile Remove more of llvmc and dependencies. 2011-09-20 00:34:27 +00:00