[PATCH] D10909: PrologEpilogInserter: Improve API to determine callee save regsiters.

Matthias Braun matze at braunis.de
Thu Jul 2 14:50:42 PDT 2015


MatzeB created this revision.
MatzeB added reviewers: qcolombet, atrick, asl.
MatzeB added a subscriber: llvm-commits-list.
MatzeB set the repository for this revision to rL LLVM.
Herald added a subscriber: ted.

This changes TargetFrameLowering::processFunctionBeforeCalleeSavedScan():

- Rename the function to determineCalleeSaves()
- Pass a bitset of callee saved registers by reference, thus avoiding
  the function-global PhysRegUsed bitset in MachineRegisterInfo.
- Without PhysRegUsed the implementation is fine tuned to not save
  physcial registers which are only read but never modified.



rL LLVM

http://reviews.llvm.org/D10909

Files:
  include/llvm/CodeGen/MachineRegisterInfo.h
  include/llvm/Target/TargetFrameLowering.h
  lib/CodeGen/MachineRegisterInfo.cpp
  lib/CodeGen/PrologEpilogInserter.cpp
  lib/CodeGen/TargetFrameLoweringImpl.cpp
  lib/Target/AArch64/AArch64FrameLowering.cpp
  lib/Target/AArch64/AArch64FrameLowering.h
  lib/Target/ARM/ARMFrameLowering.cpp
  lib/Target/ARM/ARMFrameLowering.h
  lib/Target/ARM/Thumb1FrameLowering.cpp
  lib/Target/BPF/BPFFrameLowering.cpp
  lib/Target/BPF/BPFFrameLowering.h
  lib/Target/Hexagon/HexagonFrameLowering.cpp
  lib/Target/Hexagon/HexagonFrameLowering.h
  lib/Target/Mips/Mips16FrameLowering.cpp
  lib/Target/Mips/Mips16FrameLowering.h
  lib/Target/Mips/MipsSEFrameLowering.cpp
  lib/Target/Mips/MipsSEFrameLowering.h
  lib/Target/PowerPC/PPCFrameLowering.cpp
  lib/Target/PowerPC/PPCFrameLowering.h
  lib/Target/Sparc/SparcFrameLowering.cpp
  lib/Target/Sparc/SparcFrameLowering.h
  lib/Target/SystemZ/SystemZFrameLowering.cpp
  lib/Target/SystemZ/SystemZFrameLowering.h
  lib/Target/X86/X86FrameLowering.cpp
  lib/Target/X86/X86FrameLowering.h
  lib/Target/XCore/XCoreFrameLowering.cpp
  lib/Target/XCore/XCoreFrameLowering.h
  test/CodeGen/ARM/arm-returnaddr.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D10909.28977.patch
Type: text/x-patch
Size: 41313 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20150702/1fd6eb02/attachment.bin>


More information about the llvm-commits mailing list