From 2bcb288ade6df8f12157c36157ecfdc879fd95e1 Mon Sep 17 00:00:00 2001 From: Reid Kleckner Date: Sat, 3 Nov 2018 00:41:52 +0000 Subject: [codeview] Let the X86 backend tell us the VFRAME offset adjustment Use MachineFrameInfo's OffsetAdjustment field to pass this information from the target to CodeViewDebug.cpp. The X86 backend doesn't use it for any other purpose. This fixes PR38857 in the case where there is a non-aligned quantity of CSRs and a non-aligned quantity of locals. llvm-svn: 346062 --- llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h') diff --git a/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h b/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h index b6fbdc1373f..ef0f0c3635e 100644 --- a/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h +++ b/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h @@ -153,6 +153,9 @@ class LLVM_LIBRARY_VISIBILITY CodeViewDebug : public DebugHandlerBase { /// Number of bytes pushed to save CSRs. unsigned CSRSize = 0; + /// Adjustment to apply on x86 when using the VFRAME frame pointer. + int OffsetAdjustment = 0; + /// Two-bit value indicating which register is the designated frame pointer /// register for local variables. Included in S_FRAMEPROC. codeview::EncodedFramePtrReg EncodedLocalFramePtrReg = -- cgit v1.2.3