Functions that return twice can cause the IR Outliner to miscompile the given program. These function rely on information about the stack to be the same, and this may not necessarily be the case if called from an outlined function. So, we simply call these instructions illegal for the outliner to remove.
Details
Details
Summary
Diff Detail
Diff Detail
Event Timeline
AndrewLitteken added a parent revision: D106995: [IROutliner] Allowing PHINodes in Exit Blocks.Sep 17 2021, 2:47 PM
This revision is now accepted and ready to land.Sep 17 2021, 2:53 PM
This revision was landed with ongoing or failed builds.Jan 25 2022, 11:09 AM
Closed by commit rG4be86d18c0fc: [IROutliner] Disallow outlining calls that return twice. (authored by AndrewLitteken). · Explain Why
This revision was automatically updated to reflect the committed changes.