diff options
author | Reid Kleckner <rnk@google.com> | 2018-11-03 00:41:52 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2018-11-03 00:41:52 +0000 |
commit | 2bcb288ade6df8f12157c36157ecfdc879fd95e1 (patch) | |
tree | f9196dba9c60bad4a2090c2d91fa44f2ad01fb55 /llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h | |
parent | 5253cccbd5fbc6db3d3bf278c40302f9f222c6e7 (diff) | |
download | bcm5719-llvm-2bcb288ade6df8f12157c36157ecfdc879fd95e1.tar.gz bcm5719-llvm-2bcb288ade6df8f12157c36157ecfdc879fd95e1.zip |
[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
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h')
-rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h | 3 |
1 files changed, 3 insertions, 0 deletions
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 = |