From ecef4b51b27867fe8a2f7b9da61ac2d4f913949c 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 48745f7f4d2a6..90733b50385a9 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 a7c46921255b8..f420798aa46fa 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 "llvm/Support/Compiler.h" #include @@ -25,14 +26,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. @@ -71,14 +64,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