[llvm] [CodeGen][NewPM] Add necessary codegen options (PR #70904)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Dec 14 22:54:33 PST 2023
https://github.com/paperchalice updated https://github.com/llvm/llvm-project/pull/70904
>From a2415181e566291df136e9dcc184a2338b19ae23 Mon Sep 17 00:00:00 2001
From: liujunchang <lgamma at 163.com>
Date: Wed, 1 Nov 2023 09:34:56 +0800
Subject: [PATCH] [CodeGen][NewPM] Add necessary codegen options
Theses options are used by TargetPassConfig
to build codegen pass pipeline,
add them to CGPassBuilderOption
so CodeGenPassBuilder can use them.
---
llvm/include/llvm/Target/CGPassBuilderOption.h | 11 +++++++++++
llvm/lib/CodeGen/TargetPassConfig.cpp | 10 ++++++++++
2 files changed, 21 insertions(+)
diff --git a/llvm/include/llvm/Target/CGPassBuilderOption.h b/llvm/include/llvm/Target/CGPassBuilderOption.h
index 72cb1b383da485..6b5c023a9b6adf 100644
--- a/llvm/include/llvm/Target/CGPassBuilderOption.h
+++ b/llvm/include/llvm/Target/CGPassBuilderOption.h
@@ -31,8 +31,10 @@ struct CGPassBuilderOption {
bool DisableVerify = false;
bool EnableImplicitNullChecks = false;
bool EnableBlockPlacementStats = false;
+ bool EnableMachineFunctionSplitter = false;
bool MISchedPostRA = false;
bool EarlyLiveIntervals = false;
+ bool GCEmptyBlocks = false;
bool DisableLSR = false;
bool DisableCGP = false;
@@ -41,16 +43,25 @@ struct CGPassBuilderOption {
bool DisablePartialLibcallInlining = false;
bool DisableConstantHoisting = false;
bool DisableSelectOptimize = true;
+ bool DisableAtExitBasedGlobalDtorLowering = false;
+ bool DisableExpandReductions = false;
+ bool DisableRAFSProfileLoader = false;
+ bool DisableCFIFixup = false;
+ bool PrintAfterISel = false;
bool PrintISelInput = false;
bool RequiresCodeGenSCCOrder = false;
RunOutliner EnableMachineOutliner = RunOutliner::TargetDefault;
RegAllocType RegAlloc = RegAllocType::Default;
std::optional<GlobalISelAbortMode> EnableGlobalISelAbort;
+ std::string FSProfileFile;
+ std::string FSRemappingFile;
std::optional<bool> VerifyMachineCode;
std::optional<bool> EnableFastISelOption;
std::optional<bool> EnableGlobalISelOption;
+ std::optional<bool> DebugifyAndStripAll;
+ std::optional<bool> DebugifyCheckAndStripAll;
};
CGPassBuilderOption getCGPassBuilderOption();
diff --git a/llvm/lib/CodeGen/TargetPassConfig.cpp b/llvm/lib/CodeGen/TargetPassConfig.cpp
index f15d59d4e35b49..faa5466b69e8b3 100644
--- a/llvm/lib/CodeGen/TargetPassConfig.cpp
+++ b/llvm/lib/CodeGen/TargetPassConfig.cpp
@@ -474,6 +474,11 @@ CGPassBuilderOption llvm::getCGPassBuilderOption() {
SET_OPTION(EnableIPRA)
SET_OPTION(OptimizeRegAlloc)
SET_OPTION(VerifyMachineCode)
+ SET_OPTION(DisableAtExitBasedGlobalDtorLowering)
+ SET_OPTION(DisableExpandReductions)
+ SET_OPTION(PrintAfterISel)
+ SET_OPTION(FSProfileFile)
+ SET_OPTION(GCEmptyBlocks)
#define SET_BOOLEAN_OPTION(Option) Opt.Option = Option;
@@ -490,6 +495,11 @@ CGPassBuilderOption llvm::getCGPassBuilderOption() {
SET_BOOLEAN_OPTION(DisableSelectOptimize)
SET_BOOLEAN_OPTION(PrintLSR)
SET_BOOLEAN_OPTION(PrintISelInput)
+ SET_BOOLEAN_OPTION(DebugifyAndStripAll)
+ SET_BOOLEAN_OPTION(DebugifyCheckAndStripAll)
+ SET_BOOLEAN_OPTION(DisableRAFSProfileLoader)
+ SET_BOOLEAN_OPTION(DisableCFIFixup)
+ SET_BOOLEAN_OPTION(EnableMachineFunctionSplitter)
return Opt;
}
More information about the llvm-commits
mailing list