From dd08605e22dd939f027f0b4a969ad96f54dccd3c Mon Sep 17 00:00:00 2001 From: Matt Arsenault Date: Thu, 5 Jun 2025 16:08:26 +0900 Subject: [PATCH] CodeGen: Move ABI option enums to support Move these out of TargetOptions and into Support to avoid the dependency on Target. There are similar ABI options already in Support/CodeGen.h. --- llvm/include/llvm/Support/CodeGen.h | 16 ++++++++++++++++ llvm/include/llvm/Target/TargetOptions.h | 17 +---------------- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/llvm/include/llvm/Support/CodeGen.h b/llvm/include/llvm/Support/CodeGen.h index 0e42789ba932e..b7896ae5d0f83 100644 --- a/llvm/include/llvm/Support/CodeGen.h +++ b/llvm/include/llvm/Support/CodeGen.h @@ -50,6 +50,22 @@ namespace llvm { }; } + namespace FloatABI { + enum ABIType { + Default, // Target-specific (either soft or hard depending on triple, etc). + Soft, // Soft float. + Hard // Hard float. + }; + } + + enum class EABI { + Unknown, + Default, // Default means not specified + EABI4, // Target-specific (either 4, 5 or gnu depending on triple). + EABI5, + GNU + }; + /// Code generation optimization level. enum class CodeGenOptLevel { None = 0, ///< -O0 diff --git a/llvm/include/llvm/Target/TargetOptions.h b/llvm/include/llvm/Target/TargetOptions.h index 10638a0ec902f..35b508dc4642f 100644 --- a/llvm/include/llvm/Target/TargetOptions.h +++ b/llvm/include/llvm/Target/TargetOptions.h @@ -16,6 +16,7 @@ #include "llvm/ADT/FloatingPointMode.h" #include "llvm/MC/MCTargetOptions.h" +#include "llvm/Support/CodeGen.h" #include @@ -24,14 +25,6 @@ struct fltSemantics; class MachineFunction; class MemoryBuffer; -namespace FloatABI { -enum ABIType { - Default, // Target-specific (either soft or hard depending on triple, etc). - Soft, // Soft float. - Hard // Hard float. -}; -} - namespace FPOpFusion { enum FPOpFusionMode { Fast, // Enable fusion of FP ops wherever it's profitable. @@ -70,14 +63,6 @@ enum class BasicBlockSection { None // Do not use Basic Block Sections. }; -enum class EABI { - Unknown, - Default, // Default means not specified - EABI4, // Target-specific (either 4, 5 or gnu depending on triple). - EABI5, - GNU -}; - /// Identify a debugger for "tuning" the debug info. /// /// The "debugger tuning" concept allows us to present a more intuitive