This is an archive of the discontinued LLVM Phabricator instance.

[SystemZ] [SSP] Add support for LOAD_STACK_GUARD.
ClosedPublic

Authored by koriakin on Apr 21 2016, 6:34 AM.

Details

Summary

This fixes PR22248 on s390x. The previous attempt at this was D19101,
which was before LOAD_STACK_GUARD existed. Compared to the previous
version, this always emits a rather ugly block of 4 instructions, involving
a thread pointer load that can't be shared with other potential users.
However, this is necessary for SSP - spilling the guard value (or thread
pointer used to load it) is counter to the goal, since it could be
overwritten along with the frame it protects.

Diff Detail

Repository
rL LLVM

Event Timeline

koriakin retitled this revision from to [SystemZ] [SSP] Add support for LOAD_STACK_GUARD..
koriakin updated this object.
koriakin added a reviewer: uweigand.
koriakin set the repository for this revision to rL LLVM.
koriakin added a subscriber: llvm-commits.
uweigand accepted this revision.Apr 23 2016, 4:38 PM
uweigand edited edge metadata.

LGTM.

This revision is now accepted and ready to land.Apr 23 2016, 4:38 PM
This revision was automatically updated to reflect the committed changes.