llvm-6502/lib
Patrik Hagglund 3008bee7d9 [MachineSinking] Conservatively clear kill flags after coalescing.
This solves the problem of having a kill flag inside a loop
with a definition of the register prior to the loop:

%vreg368<def> ...

Inside loop:

        %vreg520<def> = COPY %vreg368
        %vreg568<def,tied1> = add %vreg341<tied0>, %vreg520<kill>

=> was coalesced into =>

        %vreg568<def,tied1> = add %vreg341<tied0>, %vreg368<kill>

MachineVerifier then complained:
*** Bad machine code: Virtual register killed in block, but needed live out. ***

The kill flag for %vreg368 is incorrect, and is cleared by this patch.

This is similar to the clearing done at the end of
MachineSinking::SinkInstruction().

Patch provided by Jonas Paulsson.

Reviewed by Quentin Colombet and Juergen Ributzka.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@217427 91177308-0d34-0410-b5e6-96231b3b80d8
2014-09-09 07:47:00 +00:00
..
Analysis Make use @llvm.assume for loop guards in ScalarEvolution 2014-09-07 21:37:59 +00:00
AsmParser Fix typos in comments, NFC 2014-08-29 21:53:01 +00:00
Bitcode Pass a && to getLazyBitcodeModule. 2014-09-03 17:31:46 +00:00
CodeGen [MachineSinking] Conservatively clear kill flags after coalescing. 2014-09-09 07:47:00 +00:00
DebugInfo [DWARF parser] Fix nasty memory corruption in .dwo files handling. 2014-09-05 19:29:45 +00:00
ExecutionEngine [MCJIT] Revert partial RuntimeDyldELF cleanup that was prematurely committed in 2014-09-07 04:13:13 +00:00
IR Be more careful in parsing Module::ModFlagBehavior value 2014-09-08 19:16:28 +00:00
IRReader Pass a && to getLazyBitcodeModule. 2014-09-03 17:31:46 +00:00
LineEditor
Linker Fix pr20078. 2014-09-05 21:27:52 +00:00
LTO unique_ptrify LTOCodeGenerator::NativeObjectFile 2014-09-02 18:21:06 +00:00
MC MC: correct DWARF line info for PE/COFF 2014-09-06 19:57:48 +00:00
Object Restore the ability to check if LLVMCreateObjectFile was successful 2014-09-05 21:22:09 +00:00
Option Fix PR17239 by changing the semantics of the RemainingArgsClass Option kind 2014-08-22 19:29:17 +00:00
ProfileData llvm-cov: Try to appease MSVC after r217404 2014-09-08 21:31:43 +00:00
Support Check whether the iterator p == the end iterator before trying to dereference it. This is a speculative fix for a failure found on the valgrind buildbot triggered by a clang test. 2014-09-06 01:16:42 +00:00
TableGen Comment only: Annotate loop as per mailing list discussion 2014-08-29 22:43:30 +00:00
Target Set trunc store action to Expand for all X86 targets. 2014-09-09 01:13:36 +00:00
Transforms Add a comment to getNewAlignmentDiff. 2014-09-07 23:16:24 +00:00
CMakeLists.txt ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00
LLVMBuild.txt ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00
Makefile ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00