[PATCH] D38776: [codeview] Implement FPO data assembler directives
David Majnemer via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Oct 10 20:05:42 PDT 2017
majnemer added a comment.
Cool! I've always wondered if we'd end up with an implementation of this :)
Should we have a shrink-wrapping test?
================
Comment at: llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFTargetStreamer.cpp:246
+ unsigned SavedRegSize = 0;
+ unsigned Flags = 0; // FIXME: Set HasSEH / HasEH.
+
----------------
It'd be cool to get this to work, if only to make sure that we understand the format properly.
================
Comment at: llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFTargetStreamer.cpp:263-266
+ // Otherwise, get the codeview register number and print $N.
+ default:
+ OS << '$' << MRI->getCodeViewRegNum(LLVMReg);
+ break;
----------------
Shouldn't X86::EAX be $eax, etc?
================
Comment at: llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFTargetStreamer.cpp:315
+ OS.EmitIntValue(LocalSize, 4);
+ OS.EmitIntValue(0, 4); // FIXME: ParamsSize
+ OS.EmitIntValue(0, 4); // MaxStackSize
----------------
How would you extend the assembler directive to support this?
================
Comment at: llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFTargetStreamer.cpp:316
+ OS.EmitIntValue(0, 4); // FIXME: ParamsSize
+ OS.EmitIntValue(0, 4); // MaxStackSize
+ OS.EmitIntValue(FrameFuncStrTabOff, 4); // FrameFunc
----------------
Does MSVC stick anything interesting in here? What's it for?
================
Comment at: llvm/test/MC/COFF/cv-fpo-setframe.s:48
+ # Epilogue
+ # FIXME: Get FPO data for this once we get it for DWARF.
+ addl $20, %esp
----------------
How would this work with this FPO format?
https://reviews.llvm.org/D38776
More information about the llvm-commits
mailing list