Repost on commits list: Predication bug in AggressiveAntiDepBreaker?

Verena Beckham verena at codeplay.com
Wed Jul 31 08:10:43 PDT 2013


As explained in the email: no I cannot, unfortunately.

  Verena


On 31/07/2013 15:43, Rafael EspĂ­ndola wrote:
> Can you include a testcase in the patch?
>
> On 31 July 2013 05:35, Verena Beckham <verena at codeplay.com> wrote:
>> Hi,
>>
>> I wondered whether the AggressiveAntiDepBreaker can properly handle
>> predicated instructions.
>>
>> At the end of PrescanInstruction the "DefIndices" array is updated with
>> the destination register without checking whether the instruction is
>> predicated. That shortens the live range: Later on, in HandleLastUse we
>> check whether the register IsLive, which considers only "KillIndices"
>> and "DefIndices", and therefore returns False for the interval between
>> the predicated instruction and any non-predicated read before it. So
>> that read is considered the last use.
>> In my example this leads to a register not being fully renamed everywhere.
>>
>> I don't think a predicated write should count as a define.
>>
>> The attached patch fixes this test case.
>>
>> I'm afraid I'm working on a custom target and am not sufficiently familiar
>> with other predicated architectures to write a test case that I can post.
>> Maybe someone who has worked on predication can think of a test?
>>
>> --
>> Verena Beckham
>>
>> Vice President Engineering
>>
>> Codeplay Software Ltd
>> 45 York Place, Edinburgh, EH1 3HP
>> Tel: 0131 466 0503
>> Fax: 0131 557 6600
>> Website: http://www.codeplay.com
>>
>> This email and any attachments may contain confidential and /or
>> privileged information and  is for use  by the addressee only. If you
>> are not the intended recipient, please notify Codeplay Software Ltd
>> immediately and delete the message from your computer. You may not copy
>> or forward it,or use or disclose its contents to any other person. Any
>> views or other information in this message which do not relate to our
>> business are not authorized by Codeplay software Ltd, nor does this
>> message form part of any contract unless so stated.
>> As internet communications are capable of data corruption Codeplay
>> Software Ltd does not accept any responsibility for any changes made to
>> this message after it was sent. Please note that Codeplay Software Ltd
>> does not accept any liability or responsibility for viruses and it is
>> your responsibility to scan any attachments.
>> Company registered in England and Wales, number: 04567874
>> Registered office: 81 Linkfield Street, Redhill RH1 6BY
>>
>>
>>
>>
>> _______________________________________________
>> 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