This is an archive of the discontinued LLVM Phabricator instance.

[SimplifyCFG] Don't sink loads/stores with swifterror pointers.
ClosedPublic

Authored by fhahn on Aug 16 2023, 7:16 AM.

Details

Summary

swifterror pointers can only be used as pointer operands of load & store
instructions (and as swifterror argument of a call). Sinking loads or
stores with swifterror pointer operands would require introducing a
select of of the pointer operands, which isn't allowed.

Check for this condition in canSinkInstructions.

Diff Detail

Event Timeline

fhahn created this revision.Aug 16 2023, 7:16 AM
Herald added a project: Restricted Project. · View Herald TranscriptAug 16 2023, 7:16 AM
fhahn requested review of this revision.Aug 16 2023, 7:16 AM
Herald added a project: Restricted Project. · View Herald TranscriptAug 16 2023, 7:16 AM
This revision is now accepted and ready to land.Aug 16 2023, 8:19 AM