This is an archive of the discontinued LLVM Phabricator instance.

[MachinePipeliner] Fix Phi refers to Phi in same stage in 1st epilogue
ClosedPublic

Authored by jsji on Jul 1 2019, 2:16 PM.

Details

Summary

This is exposed by functional testing on PowerPC.
In some pipelined loops, Phi refer to phi did not get value defined by
the Phi, hence getting wrong value later.

As the comment mentioned, we should "use the value defined by the Phi,
unless we're generating the firstepilog and the Phi refers to a Phi
in a different stage.", so Phi refering to same stage Phi should use
the value defined by the Phi here.

Diff Detail

Repository
rL LLVM

Event Timeline

jsji created this revision.Jul 1 2019, 2:16 PM
Herald added a project: Restricted Project. · View Herald TranscriptJul 1 2019, 2:16 PM
hfinkel accepted this revision.Jul 8 2019, 2:05 PM

Ping...

LGTM

This revision is now accepted and ready to land.Jul 8 2019, 2:05 PM
This revision was automatically updated to reflect the committed changes.