Page MenuHomePhabricator

circYuan (Chuan-Yue, Yuan)


User does not belong to any projects.

User Details

User Since
Oct 20 2022, 6:34 PM (15 w, 1 d)

Recent Activity

Oct 25 2022

circYuan added a comment to D37034: Insert IMPLICIT_DEFS for undef uses in tail merging.

Hi @MatzeB, thank you for replying for this very the long yeras ago commit!!
AFAIK, this patch computes the live-ins of the common tail block, and compute the live-out of the common tail predecessor block.
If any of the predecessor live-outs mismatches the common tail live-ins, we insert IMPLICIT_DEF before the first terminator instruction, so the predecessor can have that register as a live-out, is it correct?
One thing I'm confuse is that in function mergeCommonTails, LiveRegs doesn't call stepBackward, it would only be called in computeLiveIns which is used to compute the live-ins of the common tail block. The predecessor block only calls addLiveOuts which add the pristine registers and all successors old live-ins to LiveRegs, but function replaceTailWithBranchTo reverse-iterates the MI and call stepBackward. Does mergeCommonTails also need to call stepBackward to update register to LiveRegs?
Since the IMPLICIT_DEF is inserted from the function mergeCommonTails in my case.
Many Thanks!!!

Oct 25 2022, 2:26 AM · Restricted Project, Restricted Project

Oct 20 2022

Herald added projects to D37034: Insert IMPLICIT_DEFS for undef uses in tail merging: Restricted Project, Restricted Project.

I have the same question with @alberto-magni.

Oct 20 2022, 6:41 PM · Restricted Project, Restricted Project