Page MenuHomePhabricator

[BranchFolder] Drop kill flags if they aren't present in all merged instructions
Needs ReviewPublic

Authored by uabelho on Aug 21 2018, 1:37 AM.

Details

Summary

Just like we do with undef flags, we need to drop kill flags if they aren't
present in all merged instructions. Otherwise we would merge

<instr1> $r0
<instr2> killed $r0

and

<instr1> killed $r0
<instr2> undef $r0

into

<instr1> killed $r0
<instr2> $r0

and then the verifier would complain about $r0 not being live at <instr2>.

Diff Detail

Event Timeline

uabelho created this revision.Aug 21 2018, 1:37 AM

Found the problem when testing my out of tree target, but it's exposed also with the attached testcase.

Does the fix make sense or should we do something else?

uabelho updated this revision to Diff 197926.May 3 2019, 1:07 AM

Rebased, fixed a spelling mistake.

Anyone has an opinion about this?