Revert "[DebugInfo] Add flag to only emit referenced member functions" (#93767)
Reverts llvm/llvm-project#87018 MacOS and Windows bots are broken.
This commit is contained in:
parent
32f1f5ee39
commit
02c6845c76
@ -68,8 +68,6 @@ BENIGN_DEBUGOPT(NoInlineLineTables, 1, 0) ///< Whether debug info should contain
|
||||
///< inline line tables.
|
||||
|
||||
DEBUGOPT(DebugStrictDwarf, 1, 1) ///< Whether or not to use strict DWARF info.
|
||||
DEBUGOPT(DebugOmitUnreferencedMethods, 1, 0) ///< Omit unreferenced member
|
||||
///< functions in type debug info.
|
||||
|
||||
/// Control the Assignment Tracking debug info feature.
|
||||
BENIGN_ENUM_DEBUGOPT(AssignmentTrackingMode, AssignmentTrackingOpts, 2,
|
||||
|
@ -4345,10 +4345,6 @@ defm strict_dwarf : BoolOption<"g", "strict-dwarf",
|
||||
"the specified version, avoiding features from later versions.">,
|
||||
NegFlag<SetFalse>, BothFlags<[], [ClangOption, CLOption, DXCOption]>>,
|
||||
Group<g_flags_Group>;
|
||||
defm omit_unreferenced_methods : BoolGOption<"omit-unreferenced-methods",
|
||||
CodeGenOpts<"DebugOmitUnreferencedMethods">, DefaultFalse,
|
||||
NegFlag<SetFalse>,
|
||||
PosFlag<SetTrue, [], [CC1Option]>, BothFlags<[], [ClangOption, CLOption, DXCOption]>>;
|
||||
defm column_info : BoolOption<"g", "column-info",
|
||||
CodeGenOpts<"DebugColumnInfo">, DefaultTrue,
|
||||
NegFlag<SetFalse, [], [ClangOption, CC1Option]>,
|
||||
|
@ -2836,7 +2836,7 @@ CGDebugInfo::CreateTypeDefinition(const RecordType *Ty) {
|
||||
|
||||
// Collect data fields (including static variables and any initializers).
|
||||
CollectRecordFields(RD, DefUnit, EltTys, FwdDecl);
|
||||
if (CXXDecl && !CGM.getCodeGenOpts().DebugOmitUnreferencedMethods)
|
||||
if (CXXDecl)
|
||||
CollectCXXMemberFunctions(CXXDecl, DefUnit, EltTys, FwdDecl);
|
||||
|
||||
LexicalBlockStack.pop_back();
|
||||
|
@ -45,7 +45,6 @@
|
||||
#include "llvm/ADT/StringExtras.h"
|
||||
#include "llvm/BinaryFormat/Magic.h"
|
||||
#include "llvm/Config/llvm-config.h"
|
||||
#include "llvm/Frontend/Debug/Options.h"
|
||||
#include "llvm/Object/ObjectFile.h"
|
||||
#include "llvm/Option/ArgList.h"
|
||||
#include "llvm/Support/CodeGen.h"
|
||||
@ -4643,7 +4642,6 @@ renderDebugOptions(const ToolChain &TC, const Driver &D, const llvm::Triple &T,
|
||||
Args.addOptInFlag(CmdArgs, options::OPT_fforce_dwarf_frame,
|
||||
options::OPT_fno_force_dwarf_frame);
|
||||
|
||||
bool EnableTypeUnits = false;
|
||||
if (Args.hasFlag(options::OPT_fdebug_types_section,
|
||||
options::OPT_fno_debug_types_section, false)) {
|
||||
if (!(T.isOSBinFormatELF() || T.isOSBinFormatWasm())) {
|
||||
@ -4654,24 +4652,11 @@ renderDebugOptions(const ToolChain &TC, const Driver &D, const llvm::Triple &T,
|
||||
} else if (checkDebugInfoOption(
|
||||
Args.getLastArg(options::OPT_fdebug_types_section), Args, D,
|
||||
TC)) {
|
||||
EnableTypeUnits = true;
|
||||
CmdArgs.push_back("-mllvm");
|
||||
CmdArgs.push_back("-generate-type-units");
|
||||
}
|
||||
}
|
||||
|
||||
if (const Arg *A =
|
||||
Args.getLastArg(options::OPT_gomit_unreferenced_methods,
|
||||
options::OPT_gno_omit_unreferenced_methods))
|
||||
(void)checkDebugInfoOption(A, Args, D, TC);
|
||||
if (Args.hasFlag(options::OPT_gomit_unreferenced_methods,
|
||||
options::OPT_gno_omit_unreferenced_methods, false) &&
|
||||
(DebugInfoKind == llvm::codegenoptions::DebugInfoConstructor ||
|
||||
DebugInfoKind == llvm::codegenoptions::LimitedDebugInfo) &&
|
||||
!EnableTypeUnits) {
|
||||
CmdArgs.push_back("-gomit-unreferenced-methods");
|
||||
}
|
||||
|
||||
// To avoid join/split of directory+filename, the integrated assembler prefers
|
||||
// the directory form of .file on all DWARF versions. GNU as doesn't allow the
|
||||
// form before DWARF v5.
|
||||
|
@ -1,12 +0,0 @@
|
||||
// RUN: %clang_cc1 -debug-info-kind=limited -gomit-unreferenced-methods %s -emit-llvm -o - | FileCheck %s
|
||||
|
||||
struct t1 {
|
||||
void f1();
|
||||
void f2();
|
||||
};
|
||||
|
||||
void t1::f1() { }
|
||||
|
||||
// CHECK: distinct !DICompositeType(tag: DW_TAG_structure_type, name: "t1"
|
||||
// CHECK-SAME: elements: [[ELEMENTS:![0-9]+]]
|
||||
// CHECK: [[ELEMENTS]] = !{}
|
@ -242,11 +242,6 @@
|
||||
// RUN: %clang -### -c %s 2>&1 | FileCheck -check-prefix=NORNGBSE %s
|
||||
// RUN: %clang -### -c -fdebug-ranges-base-address -fno-debug-ranges-base-address %s 2>&1 | FileCheck -check-prefix=NORNGBSE %s
|
||||
//
|
||||
// RUN: %clang -### -c -gomit-unreferenced-methods %s 2>&1 | FileCheck -check-prefix=INCTYPES %s
|
||||
// RUN: %clang -### -c %s 2>&1 | FileCheck -check-prefix=NOINCTYPES %s
|
||||
// RUN: %clang -### -c -gomit-unreferenced-methods -fdebug-types-section %s 2>&1 | FileCheck -check-prefix=NOINCTYPES %s
|
||||
// RUN: %clang -### -c -gomit-unreferenced-methods -fstandalone-debug %s 2>&1 | FileCheck -check-prefix=NOINCTYPES %s
|
||||
//
|
||||
// RUN: %clang -### -c -glldb %s 2>&1 | FileCheck -check-prefix=NOPUB %s
|
||||
// RUN: %clang -### -c -glldb -gno-pubnames %s 2>&1 | FileCheck -check-prefix=NOPUB %s
|
||||
//
|
||||
@ -386,9 +381,6 @@
|
||||
// RNGBSE: -fdebug-ranges-base-address
|
||||
// NORNGBSE-NOT: -fdebug-ranges-base-address
|
||||
//
|
||||
// INCTYPES: -gomit-unreferenced-methods
|
||||
// NOINCTYPES-NOT: -gomit-unreferenced-methods
|
||||
//
|
||||
// GARANGE-DAG: -generate-arange-section
|
||||
//
|
||||
// FDTS: "-mllvm" "-generate-type-units"
|
||||
|
Loading…
x
Reference in New Issue
Block a user