This is an archive of the discontinued LLVM Phabricator instance.

[riscv] Extend dataflow workaround from D119518 to fallthrough blocks
ClosedPublic

Authored by reames on May 11 2022, 12:07 PM.

Details

Summary

We've got a lurking problem with our data flow implementation where different phases disagree, resulting in possible workarounds. D119518 extended a workaround, but failed to consider blocks without terminators (e.g. fallthroughs).

I have a deeper rework of the algorithm in flight over in D125232, but this patch is specifically a minimal fix for an active miscompile. That change can be reworked over this once landed.

Diff Detail

Event Timeline

reames created this revision.May 11 2022, 12:07 PM
Herald added a project: Restricted Project. · View Herald TranscriptMay 11 2022, 12:07 PM
reames requested review of this revision.May 11 2022, 12:07 PM
Herald added a project: Restricted Project. · View Herald TranscriptMay 11 2022, 12:07 PM

RISC-V changes appear to use the upper case [RISCV] much more than [riscv].

frasercrmck accepted this revision.May 12 2022, 9:57 AM

LGTM but yeah I think [RISCV] seems more canonical to me.

This revision is now accepted and ready to land.May 12 2022, 9:57 AM
This revision was landed with ongoing or failed builds.May 12 2022, 10:46 AM
This revision was automatically updated to reflect the committed changes.