[PATCH] D67723: [CodeView] Add option to disable inline line tables.
Adrian Prantl via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Oct 2 09:13:32 PDT 2019
aprantl requested changes to this revision.
aprantl added a comment.
This revision now requires changes to proceed.
I don't think the implementation is correct, see inline comments.
================
Comment at: clang/include/clang/Driver/Options.td:1943
+def gno_inline_line_tables : Flag<["-"], "gno-inline-line-tables">,
+ Flags<[CC1Option, CoreOption]>, HelpText<"Don't emit inline line tables">;
----------------
As a DWARF person, this option name is a little confusing since in DWARF inline info is part of debug info, not the line table, but few end-users would actually know. I would probably have called it -gno-inline-info or -gno-inlined-functions. I don't have strong feelings about it though.
================
Comment at: llvm/docs/LangRef.rst:1437
+``"no-inline-line-tables"``
+ When this attribute is set to true, inline line tables are not generated
+ for this function if it is inlined and the location of the inlined code
----------------
Same comment for the attribute.
================
Comment at: llvm/lib/Transforms/Utils/InlineFunction.cpp:1426
+ // If we are not generating inline line tables, set the debug location
+ // of the inlined code to be the call site.
+ DebugLoc IDL =
----------------
This will probably cause some IR Verifier failures and very confusing debug info when inlining dbg.value intrinsics. The correct thing to do here is probably to assign line 0 to the inlined instructions and remove all debug info intrinsics. Otherwise the inlined variables will show up in the parent frame, which will screw up debugging.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D67723/new/
https://reviews.llvm.org/D67723
More information about the cfe-commits
mailing list