[llvm] r229425 - ARM: Transfer kill flag when lowering VSTMQIA to VSTMDIA.

Quentin Colombet qcolombet at apple.com
Mon Feb 16 14:10:17 PST 2015


Do you have a test case with submerge liveness enabled that you could attach to the PR you filed about the missing regression test for the subreg stuff? 

Q.
> On Feb 16, 2015, at 1:23 PM, Matthias Braun <matze at braunis.de> wrote:
> 
> Unfortunately no, as it doesn't fix anything in trunk. There is already a kill flag added for the superregister that coverse the two D registers, so there is no way to observe the difference.
> This changes with some subregister liveness related changes which I have not pushed to trunk yet.
> 
> - Matthias
> 
>> On Feb 16, 2015, at 1:11 PM, Adrian Prantl <aprantl at apple.com> wrote:
>> 
>> Could this be tested?
>> 
>> -- adrian
>>> On Feb 16, 2015, at 11:34 AM, Matthias Braun <matze at braunis.de> wrote:
>>> 
>>> Author: matze
>>> Date: Mon Feb 16 13:34:30 2015
>>> New Revision: 229425
>>> 
>>> URL: http://llvm.org/viewvc/llvm-project?rev=229425&view=rev
>>> Log:
>>> ARM: Transfer kill flag when lowering VSTMQIA to VSTMDIA.
>>> 
>>> Modified:
>>> llvm/trunk/lib/Target/ARM/ARMExpandPseudoInsts.cpp
>>> 
>>> Modified: llvm/trunk/lib/Target/ARM/ARMExpandPseudoInsts.cpp
>>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMExpandPseudoInsts.cpp?rev=229425&r1=229424&r2=229425&view=diff
>>> ==============================================================================
>>> --- llvm/trunk/lib/Target/ARM/ARMExpandPseudoInsts.cpp (original)
>>> +++ llvm/trunk/lib/Target/ARM/ARMExpandPseudoInsts.cpp Mon Feb 16 13:34:30 2015
>>> @@ -1132,7 +1132,8 @@ bool ARMExpandPseudo::ExpandMI(MachineBa
>>>    // Add the source operands (D subregs).
>>>    unsigned D0 = TRI->getSubReg(SrcReg, ARM::dsub_0);
>>>    unsigned D1 = TRI->getSubReg(SrcReg, ARM::dsub_1);
>>> -      MIB.addReg(D0).addReg(D1);
>>> +      MIB.addReg(D0, SrcIsKill ? RegState::Kill : 0)
>>> +         .addReg(D1, SrcIsKill ? RegState::Kill : 0);
>>> 
>>>    if (SrcIsKill)      // Add an implicit kill for the Q register.
>>>      MIB->addRegisterKilled(SrcReg, TRI, true);
>>> 
>>> 
>>> _______________________________________________
>>> llvm-commits mailing list
>>> llvm-commits at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>> 
>> 
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits





More information about the llvm-commits mailing list