[PATCH] D27293: [WIP] Cleanup SplitCSR implementation

Philip Reames via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 30 20:45:20 PST 2016


reames created this revision.
reames added a reviewer: MatzeB.
reames added a subscriber: llvm-commits.
Herald added subscribers: amehsan, nemanjai, mcrosier, aemerson.

Very much WIP, posting for discussion, will cleanup based on input.

Key question: Is minimal phys reg the right helper routine to be using here?  The ARM backend change makes me wonder.  It does match what the x86 backend uses for non-GPR spills along the "normal" spill insertion path.

SplitCSR is an off by default mode which let's the register allocator handle spilling CSRs as normal vregs.  This really should be the default, but for historical reasons isn't.

This change tries to remove the target specific differences from the copied implementations.  Once this is in, a simple NFC change will sink a shared implementation into the base class and delete all of the overrides.


https://reviews.llvm.org/D27293

Files:
  lib/Target/AArch64/AArch64ISelLowering.cpp
  lib/Target/ARM/ARMBaseRegisterInfo.cpp
  lib/Target/ARM/ARMISelLowering.cpp
  lib/Target/ARM/Thumb2InstrInfo.cpp
  lib/Target/PowerPC/PPCISelLowering.cpp
  lib/Target/X86/X86ISelLowering.cpp
  lib/Target/X86/X86ISelLowering.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D27293.79861.patch
Type: text/x-patch
Size: 7957 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161201/ba5a8a03/attachment.bin>


More information about the llvm-commits mailing list