This is an archive of the discontinued LLVM Phabricator instance.

Fix fast stack-unwinding for Power
ClosedPublic

Authored by wschmidt on Jul 27 2015, 8:49 PM.

Details

Summary

PowerPC differs from other architectures in that the callee-saved return address is stored in the caller's stack frame, not the callee's. This patch adjusts the logic to find the LR in the correct place for PowerPC.

Patch joint with Bill Seurer. This replaces review.llvm.org/D9259.

Diff Detail

Repository
rL LLVM

Event Timeline

wschmidt updated this revision to Diff 30780.Jul 27 2015, 8:49 PM
wschmidt retitled this revision from to Fix fast stack-unwinding for Power.
wschmidt updated this object.
wschmidt set the repository for this revision to rL LLVM.
wschmidt added a subscriber: llvm-commits.
eugenis accepted this revision.Jul 28 2015, 12:00 PM
eugenis edited edge metadata.

Awesome.
Thank you for taking your time and digging to the bottom of this.
Might want to factor out loading of the caller pc into a helper function, but I don't have a strong opinion either way.
LGTM.

This revision is now accepted and ready to land.Jul 28 2015, 12:00 PM
samsonov accepted this revision.Jul 28 2015, 12:08 PM
samsonov edited edge metadata.

Nice. Thanks for the investigation!

wschmidt closed this revision.Jul 28 2015, 12:42 PM

Committed as r243467.