llvm-6502/lib
Ahmed Bougacha 88d2b5812a [MachineCSE] Clear kill-flag on registers imp-def'd by the CSE'd instruction.
Go through implicit defs of CSMI and MI, and clear the kill flags on
their uses in all the instructions between CSMI and MI.
We might have made some of the kill flags redundant, consider:
  subs  ... %NZCV<imp-def>        <- CSMI
  csinc ... %NZCV<imp-use,kill>   <- this kill flag isn't valid anymore
  subs  ... %NZCV<imp-def>        <- MI, to be eliminated
  csinc ... %NZCV<imp-use,kill>
Since we eliminated MI, and reused a register imp-def'd by CSMI
(here %NZCV), that register, if it was killed before MI, should have
that kill flag removed, because it's lifetime was extended.

Also, add an exhaustive testcase for the motivating example.

Reviewed by: Juergen Ributzka <juergen@apple.com>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223133 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-02 18:09:51 +00:00
..
Analysis Simplify pointer comparisons involving memory allocation functions 2014-12-01 23:38:06 +00:00
AsmParser Parse 'ghccc' in .ll files as the GHC convention (cc 10) 2014-12-01 21:04:44 +00:00
Bitcode
CodeGen [MachineCSE] Clear kill-flag on registers imp-def'd by the CSE'd instruction. 2014-12-02 18:09:51 +00:00
DebugInfo
ExecutionEngine
IR [Statepoints 1/4] Statepoint infrastructure for garbage collection: IR Intrinsics 2014-12-01 21:18:12 +00:00
IRReader
LineEditor
Linker Use a continue to reduce indentation and clang-format. NFC. 2014-12-01 19:17:46 +00:00
LTO
MC [NVPTX] Do not emit .weak symbols for NVPTX 2014-12-01 21:16:17 +00:00
Object Add ARM relocations to ELFYAML 2014-12-02 09:49:09 +00:00
Option
ProfileData
Support Triple: Add AMDHSA operating system type 2014-12-02 16:45:47 +00:00
TableGen
Target Remove unneccessary code introduced with 223101. 2014-12-02 18:06:10 +00:00
Transforms [LICM] Avoind store sinking if no preheader is available 2014-12-02 14:22:34 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile