llvm-6502/lib
Jakob Stoklund Olesen 200a8cef25 Also add <imp-use,kill> flags for redefined super-registers.
For example:

  %vreg10:dsub_0<def,undef> = COPY %vreg1
  %vreg10:dsub_1<def> = COPY %vreg2

is rewritten as:

  %D2<def> = COPY %D0, %Q1<imp-def>
  %D3<def> = COPY %D1, %Q1<imp-use,kill>, %Q1<imp-def>

The first COPY doesn't care about the previous value of %Q1, so it
doesn't read that register.

The second COPY is a partial redefinition of %Q1, so it implicitly kills
and redefines that register.

This makes it possible to recognize instructions that can harmlessly
clobber the full super-register.  The write and don't read the
super-register.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141139 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-05 00:01:48 +00:00
..
Analysis The product of two chrec's can always be represented as a chrec. 2011-10-04 06:51:26 +00:00
Archive Rewrite the CMake build to use explicit dependencies between libraries, 2011-07-29 00:14:25 +00:00
AsmParser
Bitcode
CodeGen Also add <imp-use,kill> flags for redefined super-registers. 2011-10-05 00:01:48 +00:00
DebugInfo
ExecutionEngine
Linker
MC
Object
Support
TableGen
Target
Transforms
VMCore
CMakeLists.txt
Makefile