LLVM  16.0.0git
CGPassBuilderOption.h
Go to the documentation of this file.
1 //===- CGPassBuilderOption.h - Options for pass builder ---------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 //
9 // This file declares the CCState and CCValAssign classes, used for lowering
10 // and implementing calling conventions.
11 //
12 //===----------------------------------------------------------------------===//
13 
14 #ifndef LLVM_TARGET_CGPASSBUILDEROPTION_H
15 #define LLVM_TARGET_CGPASSBUILDEROPTION_H
16 
17 #include "llvm/ADT/StringRef.h"
19 #include <optional>
20 
21 namespace llvm {
22 
26 
27 // Not one-on-one but mostly corresponding to commandline options in
28 // TargetPassConfig.cpp.
30  std::optional<bool> OptimizeRegAlloc;
31  std::optional<bool> EnableIPRA;
32  bool DebugPM = false;
33  bool DisableVerify = false;
36  bool MISchedPostRA = false;
37  bool EarlyLiveIntervals = false;
38 
39  bool DisableLSR = false;
40  bool DisableCGP = false;
41  bool PrintLSR = false;
42  bool DisableMergeICmps = false;
45  bool DisableSelectOptimize = true;
46  bool PrintISelInput = false;
47  bool PrintGCInfo = false;
49 
53  std::optional<GlobalISelAbortMode> EnableGlobalISelAbort;
54 
55  std::optional<bool> VerifyMachineCode;
56  std::optional<bool> EnableFastISelOption;
57  std::optional<bool> EnableGlobalISelOption;
58 };
59 
61 
62 } // namespace llvm
63 
64 #endif // LLVM_TARGET_CGPASSBUILDEROPTION_H
llvm::CGPassBuilderOption::DisableCGP
bool DisableCGP
Definition: CGPassBuilderOption.h:40
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18
llvm::RegAllocType::PBQP
@ PBQP
llvm::CGPassBuilderOption::VerifyMachineCode
std::optional< bool > VerifyMachineCode
Definition: CGPassBuilderOption.h:55
StringRef.h
llvm::RegAllocType::Basic
@ Basic
llvm::RunOutliner::TargetDefault
@ TargetDefault
llvm::CGPassBuilderOption::RequiresCodeGenSCCOrder
bool RequiresCodeGenSCCOrder
Definition: CGPassBuilderOption.h:48
llvm::RegAllocType::Fast
@ Fast
llvm::CGPassBuilderOption::PrintLSR
bool PrintLSR
Definition: CGPassBuilderOption.h:41
llvm::CFLAAType::Andersen
@ Andersen
llvm::CGPassBuilderOption::EarlyLiveIntervals
bool EarlyLiveIntervals
Definition: CGPassBuilderOption.h:37
llvm::RunOutliner::NeverOutline
@ NeverOutline
llvm::CFLAAType::Both
@ Both
llvm::RegAllocType
RegAllocType
Definition: CGPassBuilderOption.h:24
llvm::CGPassBuilderOption::DebugPM
bool DebugPM
Definition: CGPassBuilderOption.h:32
llvm::CGPassBuilderOption::DisableSelectOptimize
bool DisableSelectOptimize
Definition: CGPassBuilderOption.h:45
llvm::CGPassBuilderOption::DisableConstantHoisting
bool DisableConstantHoisting
Definition: CGPassBuilderOption.h:44
llvm::CGPassBuilderOption
Definition: CGPassBuilderOption.h:29
llvm::CGPassBuilderOption::EnableGlobalISelAbort
std::optional< GlobalISelAbortMode > EnableGlobalISelAbort
Definition: CGPassBuilderOption.h:53
llvm::CGPassBuilderOption::EnableFastISelOption
std::optional< bool > EnableFastISelOption
Definition: CGPassBuilderOption.h:56
llvm::CFLAAType::None
@ None
llvm::CGPassBuilderOption::EnableBlockPlacementStats
bool EnableBlockPlacementStats
Definition: CGPassBuilderOption.h:35
llvm::RegAllocType::Greedy
@ Greedy
llvm::CGPassBuilderOption::DisableVerify
bool DisableVerify
Definition: CGPassBuilderOption.h:33
llvm::CFLAAType::Steensgaard
@ Steensgaard
TargetOptions.h
llvm::RunOutliner
RunOutliner
Definition: CGPassBuilderOption.h:23
llvm::RunOutliner::AlwaysOutline
@ AlwaysOutline
llvm::getCGPassBuilderOption
CGPassBuilderOption getCGPassBuilderOption()
Definition: TargetPassConfig.cpp:475
llvm::CGPassBuilderOption::PrintISelInput
bool PrintISelInput
Definition: CGPassBuilderOption.h:46
llvm::CGPassBuilderOption::EnableIPRA
std::optional< bool > EnableIPRA
Definition: CGPassBuilderOption.h:31
llvm::CGPassBuilderOption::UseCFLAA
CFLAAType UseCFLAA
Definition: CGPassBuilderOption.h:52
llvm::CGPassBuilderOption::DisablePartialLibcallInlining
bool DisablePartialLibcallInlining
Definition: CGPassBuilderOption.h:43
llvm::CGPassBuilderOption::RegAlloc
RegAllocType RegAlloc
Definition: CGPassBuilderOption.h:51
llvm::CFLAAType
CFLAAType
Definition: CGPassBuilderOption.h:25
llvm::CGPassBuilderOption::OptimizeRegAlloc
std::optional< bool > OptimizeRegAlloc
Definition: CGPassBuilderOption.h:30
llvm::CGPassBuilderOption::PrintGCInfo
bool PrintGCInfo
Definition: CGPassBuilderOption.h:47
llvm::CGPassBuilderOption::EnableGlobalISelOption
std::optional< bool > EnableGlobalISelOption
Definition: CGPassBuilderOption.h:57
llvm::CGPassBuilderOption::MISchedPostRA
bool MISchedPostRA
Definition: CGPassBuilderOption.h:36
llvm::CGPassBuilderOption::DisableLSR
bool DisableLSR
Definition: CGPassBuilderOption.h:39
llvm::RegAllocType::Default
@ Default
llvm::CGPassBuilderOption::EnableImplicitNullChecks
bool EnableImplicitNullChecks
Definition: CGPassBuilderOption.h:34
llvm::CGPassBuilderOption::DisableMergeICmps
bool DisableMergeICmps
Definition: CGPassBuilderOption.h:42
llvm::CGPassBuilderOption::EnableMachineOutliner
RunOutliner EnableMachineOutliner
Definition: CGPassBuilderOption.h:50