Re: [clang] d941d59 - Revert "[MC] Omit DWARF unwind info if compact unwind is present where eligible"

2022-06-13 Thread David Blaikie via cfe-commits
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"

2022-06-12 Thread Jez Ng via cfe-commits

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