[PATCH] D148761: Emit the correct flags for the PROC CodeView Debug Symbol
Daniel Paoliello via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 19 17:02:07 PDT 2023
dpaoliello created this revision.
dpaoliello added reviewers: echristo, asl.
Herald added a subscriber: hiraditya.
Herald added a project: All.
dpaoliello requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
The `S_LPROC32_ID` and `S_GPROC32_ID` CodeView Debug Symbols have a flags field which LLVM has had the values for (in the `ProcSymFlags` enum) but has never actually set.
Modified LLVM to set the correct flags:
- `ProcSymFlags::HasOptimizedDebugInfo` - always set, as this indicates that debug info is present for optimized builds (if debug info is not emitted for optimized builds, then LLVM won't emit a debug symbol at all).
- `ProcSymFlags::IsNoReturn` and `ProcSymFlags::IsNoInline` - set if the function has the `NoReturn` or `NoInline` attributes respectively.
- `ProcSymFlags::HasFP` - set if the function requires a frame pointer (per `TargetFrameLowering::hasFP`).
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D148761
Files:
llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h
llvm/test/DebugInfo/COFF/fpo-realign-alloca.ll
llvm/test/DebugInfo/COFF/fpo-realign-vframe.ll
llvm/test/DebugInfo/COFF/frameproc-flags.ll
llvm/test/DebugInfo/COFF/function-options.ll
llvm/test/DebugInfo/COFF/inlining-header.ll
llvm/test/DebugInfo/COFF/inlining.ll
llvm/test/DebugInfo/COFF/long-name.ll
llvm/test/DebugInfo/COFF/multifunction.ll
llvm/test/DebugInfo/COFF/noreturn.ll
llvm/test/DebugInfo/COFF/simple.ll
llvm/test/DebugInfo/COFF/types-array.ll
llvm/test/DebugInfo/COFF/types-basic.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D148761.515135.patch
Type: text/x-patch
Size: 23175 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230420/ee5330c0/attachment.bin>
More information about the llvm-commits
mailing list