summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMFrameLowering.h
diff options
context:
space:
mode:
authorSander de Smalen <sander.desmalen@arm.com>2019-10-29 12:49:34 +0000
committerSander de Smalen <sander.desmalen@arm.com>2019-10-29 16:13:07 +0000
commitd6a7da80aae62474c15cad83d361830ffc4e2566 (patch)
tree3c51ec8e41ad10e4a91fb1cbe1d4d1235e983e72 /llvm/lib/Target/ARM/ARMFrameLowering.h
parentf228b5371647f471853c5fb3e6719823a42fe451 (diff)
downloadbcm5719-llvm-d6a7da80aae62474c15cad83d361830ffc4e2566.tar.gz
bcm5719-llvm-d6a7da80aae62474c15cad83d361830ffc4e2566.zip
Reland [AArch64][DebugInfo] Do not recompute CalleeSavedStackSize (Take 2)
llvm/test/DebugInfo/MIR/X86/live-debug-values-reg-copy.mir failed with EXPENSIVE_CHECKS enabled, causing the patch to be reverted in rG2c496bb5309c972d59b11f05aee4782ddc087e71. This patch relands the patch with a proper fix to the live-debug-values-reg-copy.mir tests, by ensuring the MIR encodes the callee-saves correctly so that the CalleeSaved info is taken from MIR directly, rather than letting it be recalculated by the PEI pass. I've done this by running `llc -stop-before=prologepilog` on the LLVM IR as captured in the test files, adding the extra MOV instructions that were manually added in the original test file, then running `llc -run-pass=prologepilog` and finally re-added the comments for the MOV instructions.
Diffstat (limited to 'llvm/lib/Target/ARM/ARMFrameLowering.h')
-rw-r--r--llvm/lib/Target/ARM/ARMFrameLowering.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMFrameLowering.h b/llvm/lib/Target/ARM/ARMFrameLowering.h
index 6d8aee59794..0462b01af70 100644
--- a/llvm/lib/Target/ARM/ARMFrameLowering.h
+++ b/llvm/lib/Target/ARM/ARMFrameLowering.h
@@ -53,6 +53,8 @@ public:
int ResolveFrameIndexReference(const MachineFunction &MF, int FI,
unsigned &FrameReg, int SPAdj) const;
+ void getCalleeSaves(const MachineFunction &MF,
+ BitVector &SavedRegs) const override;
void determineCalleeSaves(MachineFunction &MF, BitVector &SavedRegs,
RegScavenger *RS) const override;
OpenPOWER on IntegriCloud