[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