[PATCH] D33443: Fix PR33031: Cannot scavenge register without an emergency spill slot.
Kristof Beyls via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue May 23 07:50:48 PDT 2017
kristof.beyls created this revision.
Herald added a subscriber: javed.absar.
Also see the discussion on https://bugs.llvm.org/show_bug.cgi?id=33031.
This patch contains 2 conceptual changes:
- Introducing option -reg-scavenging-always-use-spill-slot to enable writing maintainable tests for register scavenging.
- Fix the underlying reason for PR33031: correct the estimate of maximum offset for instructions spilling/filling the stack.
I think both conceptual changes are implemented in a somewhat non-ideal way here, but those are the best engineering tradeoffs I've found so far.
Do the trade-offs taken here seem acceptable?
https://reviews.llvm.org/D33443
Files:
lib/CodeGen/RegisterScavenging.cpp
lib/Target/AArch64/AArch64FrameLowering.cpp
test/CodeGen/AArch64/reg-scavenge-frame.mir
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D33443.99913.patch
Type: text/x-patch
Size: 7413 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170523/e8e9040d/attachment.bin>
More information about the llvm-commits
mailing list