This is an archive of the discontinued LLVM Phabricator instance.

[StackSafety] Ignore allocas with partial lifetime markers
ClosedPublic

Authored by vitalybuka on Aug 26 2020, 8:00 PM.

Diff Detail

Event Timeline

vitalybuka created this revision.Aug 26 2020, 8:00 PM
Herald added a project: Restricted Project. · View Herald TranscriptAug 26 2020, 8:00 PM
vitalybuka requested review of this revision.Aug 26 2020, 8:00 PM
vitalybuka planned changes to this revision.Aug 26 2020, 10:34 PM

isPointerOffset is not what I need

isPointerOffset is not what I need

Could we use AI == II.getArgOperand(1)->stripPointerCasts() to judge this situation?

isPointerOffset is not what I need

Could we use AI == II.getArgOperand(1)->stripPointerCasts() to judge this situation?

this can't see through phi nodes.

eugenis accepted this revision.Aug 27 2020, 12:48 PM

I wonder if, to be completely correct, we need to rewrite all lifetime calls when extending allocas to 16 bytes in AArch64StackTagging? After all, tag store (llvm.aarch64.stg) is a 16-byte write and it will appear to span beyond the lifetime limits.

This change LGTM.

This revision is now accepted and ready to land.Aug 27 2020, 12:48 PM
This revision was landed with ongoing or failed builds.Aug 27 2020, 1:54 PM
This revision was automatically updated to reflect the committed changes.