Re: [clang] d941d59 - Revert "[MC] Omit DWARF unwind info if compact unwind is present where eligible"
Please include details about the reason for a revert in the revert commit message - helpful for folks following along/looking to see if a given revert addresses an issue they're seeing, etc. On Sun, Jun 12, 2022 at 7:47 AM Jez Ng via cfe-commits < cfe-commits@lists.llvm.org> wrote: > > Author: Jez Ng > Date: 2022-06-12T10:47:08-04:00 > New Revision: d941d597837d9e1405086f008c9bd6a71e7263c9 > > URL: > https://github.com/llvm/llvm-project/commit/d941d597837d9e1405086f008c9bd6a71e7263c9 > DIFF: > https://github.com/llvm/llvm-project/commit/d941d597837d9e1405086f008c9bd6a71e7263c9.diff > > LOG: Revert "[MC] Omit DWARF unwind info if compact unwind is present > where eligible" > > This reverts commit ef501bf85d8c869248e51371f0e74bcec0e7b229. > > Added: > > > Modified: > clang/include/clang/Basic/CodeGenOptions.def > clang/include/clang/Driver/Options.td > clang/lib/CodeGen/BackendUtil.cpp > clang/lib/Driver/ToolChains/Clang.cpp > clang/tools/driver/cc1as_main.cpp > llvm/include/llvm/MC/MCContext.h > llvm/include/llvm/MC/MCTargetOptions.h > llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h > llvm/lib/CodeGen/LLVMTargetMachine.cpp > llvm/lib/CodeGen/MachineModuleInfo.cpp > llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp > llvm/lib/ExecutionEngine/Orc/CompileUtils.cpp > llvm/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp > llvm/lib/MC/MCContext.cpp > llvm/lib/MC/MCDwarf.cpp > llvm/lib/MC/MCObjectFileInfo.cpp > llvm/lib/MC/MCTargetOptions.cpp > llvm/lib/MC/MCTargetOptionsCommandFlags.cpp > llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp > > Removed: > clang/test/Driver/femit-dwarf-unwind.c > clang/test/Driver/femit-dwarf-unwind.s > llvm/test/MC/MachO/emit-dwarf-unwind.s > llvm/test/MC/X86/compact-unwind-mode-dwarf.s > > > > > diff --git a/clang/include/clang/Basic/CodeGenOptions.def > b/clang/include/clang/Basic/CodeGenOptions.def > index 8e89106993c26..d8f667dc387bb 100644 > --- a/clang/include/clang/Basic/CodeGenOptions.def > +++ b/clang/include/clang/Basic/CodeGenOptions.def > @@ -114,10 +114,6 @@ CODEGENOPT(StackSizeSection , 1, 0) ///< Set when > -fstack-size-section is enabl > CODEGENOPT(ForceDwarfFrameSection , 1, 0) ///< Set when > -fforce-dwarf-frame is >///< enabled. > > -///< Set when -femit-dwarf-unwind is passed. > -ENUM_CODEGENOPT(EmitDwarfUnwind, llvm::EmitDwarfUnwindType, 2, > -llvm::EmitDwarfUnwindType::Default) > - > ///< Set when -fxray-always-emit-customevents is enabled. > CODEGENOPT(XRayAlwaysEmitCustomEvents , 1, 0) > > > diff --git a/clang/include/clang/Driver/Options.td > b/clang/include/clang/Driver/Options.td > index 002cd6cc8cb17..95840760f7746 100644 > --- a/clang/include/clang/Driver/Options.td > +++ b/clang/include/clang/Driver/Options.td > @@ -3044,13 +3044,6 @@ def fmacro_prefix_map_EQ > defm force_dwarf_frame : BoolFOption<"force-dwarf-frame", >CodeGenOpts<"ForceDwarfFrameSection">, DefaultFalse, >PosFlag, > NegFlag>; > -def femit_dwarf_unwind_EQ : Joined<["-"], "femit-dwarf-unwind=">, > - Group, Flags<[CC1Option, CC1AsOption]>, > - HelpText<"When to emit DWARF unwind (EH frame) info">, > - Values<"always,no-compact-unwind,default">, > - NormalizedValues<["Always", "NoCompactUnwind", "Default"]>, > - NormalizedValuesScope<"llvm::EmitDwarfUnwindType">, > - MarshallingInfoEnum, "Default">; > def g_Flag : Flag<["-"], "g">, Group, >HelpText<"Generate source-level debug information">; > def gline_tables_only : Flag<["-"], "gline-tables-only">, Group, > > diff --git a/clang/lib/CodeGen/BackendUtil.cpp > b/clang/lib/CodeGen/BackendUtil.cpp > index 4b294c254e476..0de15b1e48078 100644 > --- a/clang/lib/CodeGen/BackendUtil.cpp > +++ b/clang/lib/CodeGen/BackendUtil.cpp > @@ -453,7 +453,6 @@ static bool initTargetOptions(DiagnosticsEngine &Diags, >} > >Options.MCOptions.SplitDwarfFile = CodeGenOpts.SplitDwarfFile; > - Options.MCOptions.EmitDwarfUnwind = CodeGenOpts.getEmitDwarfUnwind(); >Options.MCOptions.MCRelaxAll = CodeGenOpts.RelaxAll; >Options.MCOptions.MCSaveTempLabels = CodeGenOpts.SaveTempLabels; >Options.MCOptions.MCUseDwarfDirectory = > > diff --git a/clang/lib/Driver/ToolChains/Clang.cpp > b/clang/lib/Driver/ToolChains/Clang.cpp > index 62e891ce38c49..ceac142653ebe 100644 > --- a/clang/lib/Driver/ToolChains/Clang.cpp > +++ b/clang/lib/Driver/ToolChains/Clang.cpp > @@ -2518,8 +2518,6 @@ static void > CollectArgsForIntegratedAssembler(Compilation &C, > DefaultIncrementalLinkerCompatible)) > CmdArgs.push_back("-mincremental-linker-compatible"); > > - Args.AddLastArg(CmdArgs, options::OPT_femit_dwarf_unwind_EQ); > - >// If you add more args here, also add them to the block below that >// starts with "// If CollectArgsForIntegratedAssembler() isn't called > below". > >
[clang] d941d59 - Revert "[MC] Omit DWARF unwind info if compact unwind is present where eligible"
Author: Jez Ng Date: 2022-06-12T10:47:08-04:00 New Revision: d941d597837d9e1405086f008c9bd6a71e7263c9 URL: https://github.com/llvm/llvm-project/commit/d941d597837d9e1405086f008c9bd6a71e7263c9 DIFF: https://github.com/llvm/llvm-project/commit/d941d597837d9e1405086f008c9bd6a71e7263c9.diff LOG: Revert "[MC] Omit DWARF unwind info if compact unwind is present where eligible" This reverts commit ef501bf85d8c869248e51371f0e74bcec0e7b229. Added: Modified: clang/include/clang/Basic/CodeGenOptions.def clang/include/clang/Driver/Options.td clang/lib/CodeGen/BackendUtil.cpp clang/lib/Driver/ToolChains/Clang.cpp clang/tools/driver/cc1as_main.cpp llvm/include/llvm/MC/MCContext.h llvm/include/llvm/MC/MCTargetOptions.h llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h llvm/lib/CodeGen/LLVMTargetMachine.cpp llvm/lib/CodeGen/MachineModuleInfo.cpp llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp llvm/lib/ExecutionEngine/Orc/CompileUtils.cpp llvm/lib/ExecutionEngine/RuntimeDyld/RTDyldMemoryManager.cpp llvm/lib/MC/MCContext.cpp llvm/lib/MC/MCDwarf.cpp llvm/lib/MC/MCObjectFileInfo.cpp llvm/lib/MC/MCTargetOptions.cpp llvm/lib/MC/MCTargetOptionsCommandFlags.cpp llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp Removed: clang/test/Driver/femit-dwarf-unwind.c clang/test/Driver/femit-dwarf-unwind.s llvm/test/MC/MachO/emit-dwarf-unwind.s llvm/test/MC/X86/compact-unwind-mode-dwarf.s diff --git a/clang/include/clang/Basic/CodeGenOptions.def b/clang/include/clang/Basic/CodeGenOptions.def index 8e89106993c26..d8f667dc387bb 100644 --- a/clang/include/clang/Basic/CodeGenOptions.def +++ b/clang/include/clang/Basic/CodeGenOptions.def @@ -114,10 +114,6 @@ CODEGENOPT(StackSizeSection , 1, 0) ///< Set when -fstack-size-section is enabl CODEGENOPT(ForceDwarfFrameSection , 1, 0) ///< Set when -fforce-dwarf-frame is ///< enabled. -///< Set when -femit-dwarf-unwind is passed. -ENUM_CODEGENOPT(EmitDwarfUnwind, llvm::EmitDwarfUnwindType, 2, -llvm::EmitDwarfUnwindType::Default) - ///< Set when -fxray-always-emit-customevents is enabled. CODEGENOPT(XRayAlwaysEmitCustomEvents , 1, 0) diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td index 002cd6cc8cb17..95840760f7746 100644 --- a/clang/include/clang/Driver/Options.td +++ b/clang/include/clang/Driver/Options.td @@ -3044,13 +3044,6 @@ def fmacro_prefix_map_EQ defm force_dwarf_frame : BoolFOption<"force-dwarf-frame", CodeGenOpts<"ForceDwarfFrameSection">, DefaultFalse, PosFlag, NegFlag>; -def femit_dwarf_unwind_EQ : Joined<["-"], "femit-dwarf-unwind=">, - Group, Flags<[CC1Option, CC1AsOption]>, - HelpText<"When to emit DWARF unwind (EH frame) info">, - Values<"always,no-compact-unwind,default">, - NormalizedValues<["Always", "NoCompactUnwind", "Default"]>, - NormalizedValuesScope<"llvm::EmitDwarfUnwindType">, - MarshallingInfoEnum, "Default">; def g_Flag : Flag<["-"], "g">, Group, HelpText<"Generate source-level debug information">; def gline_tables_only : Flag<["-"], "gline-tables-only">, Group, diff --git a/clang/lib/CodeGen/BackendUtil.cpp b/clang/lib/CodeGen/BackendUtil.cpp index 4b294c254e476..0de15b1e48078 100644 --- a/clang/lib/CodeGen/BackendUtil.cpp +++ b/clang/lib/CodeGen/BackendUtil.cpp @@ -453,7 +453,6 @@ static bool initTargetOptions(DiagnosticsEngine &Diags, } Options.MCOptions.SplitDwarfFile = CodeGenOpts.SplitDwarfFile; - Options.MCOptions.EmitDwarfUnwind = CodeGenOpts.getEmitDwarfUnwind(); Options.MCOptions.MCRelaxAll = CodeGenOpts.RelaxAll; Options.MCOptions.MCSaveTempLabels = CodeGenOpts.SaveTempLabels; Options.MCOptions.MCUseDwarfDirectory = diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp index 62e891ce38c49..ceac142653ebe 100644 --- a/clang/lib/Driver/ToolChains/Clang.cpp +++ b/clang/lib/Driver/ToolChains/Clang.cpp @@ -2518,8 +2518,6 @@ static void CollectArgsForIntegratedAssembler(Compilation &C, DefaultIncrementalLinkerCompatible)) CmdArgs.push_back("-mincremental-linker-compatible"); - Args.AddLastArg(CmdArgs, options::OPT_femit_dwarf_unwind_EQ); - // If you add more args here, also add them to the block below that // starts with "// If CollectArgsForIntegratedAssembler() isn't called below". @@ -4624,7 +4622,6 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, } Args.ClaimAllArgs(options::OPT_Wa_COMMA); Args.ClaimAllArgs(options::OPT_Xassembler); -Args.ClaimAllArgs(options::OPT_femit_dwarf_unwind_EQ); } if (isa(JA)) { diff --git a/clang/test/Driver/femit-dwarf-unwind.c b/clang/test/Driver/femit-dwarf-unwind.c deleted file mode 100644 index 3101e1db7b9d4..0 --- a/clang/test/Driver/femit-dwarf-unwind.c +++ /de