llvm-6502/lib
Jakob Stoklund Olesen d40d4c34f7 Resolve conflicts involving dead vector lanes for -new-coalescer.
A common coalescing conflict in vector code is lane insertion:

  %dst = FOO
  %src = BAR
  %dst:ssub0 = COPY %src

The live range of %src interferes with the ssub0 lane of %dst, but that
lane is never read after %src would have clobbered it. That makes it
safe to merge the live ranges and eliminate the COPY:

  %dst = FOO
  %dst:ssub0 = BAR

This patch teaches the new coalescer to resolve conflicts where dead
vector lanes would be clobbered, at least as long as the clobbered
vector lanes don't escape the basic block.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164250 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-19 21:29:18 +00:00
..
Analysis
Archive
AsmParser
Bitcode
CodeGen Resolve conflicts involving dead vector lanes for -new-coalescer. 2012-09-19 21:29:18 +00:00
DebugInfo
ExecutionEngine
Linker
MC Add support for macro parameters/arguments delimited by spaces, 2012-09-19 20:36:12 +00:00
Object
Support This patch adds memory support functions which will later be used to implement section-specific protection handling in MCJIT. 2012-09-19 20:46:12 +00:00
TableGen
Target
Transforms
VMCore Add support for accessing an MDNode's operands via the C binding. Patch by 2012-09-19 20:29:39 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile