mirror of
https://github.com/hedge-dev/XenonRecomp.git
synced 2025-12-13 15:24:57 +00:00
Initial Commit
This commit is contained in:
63
thirdparty/capstone/suite/synctools/tablegen/include/llvm/Target/CGPassBuilderOption.h
vendored
Normal file
63
thirdparty/capstone/suite/synctools/tablegen/include/llvm/Target/CGPassBuilderOption.h
vendored
Normal file
@@ -0,0 +1,63 @@
|
||||
//===- CGPassBuilderOption.h - Options for pass builder ---------*- C++ -*-===//
|
||||
//
|
||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||
// See https://llvm.org/LICENSE.txt for license information.
|
||||
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// This file declares the CCState and CCValAssign classes, used for lowering
|
||||
// and implementing calling conventions.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#ifndef LLVM_TARGET_CGPASSBUILDEROPTION_H
|
||||
#define LLVM_TARGET_CGPASSBUILDEROPTION_H
|
||||
|
||||
#include "llvm/ADT/Optional.h"
|
||||
#include "llvm/ADT/StringRef.h"
|
||||
#include "llvm/Target/TargetOptions.h"
|
||||
|
||||
namespace llvm {
|
||||
|
||||
enum class RunOutliner { TargetDefault, AlwaysOutline, NeverOutline };
|
||||
enum class RegAllocType { Default, Basic, Fast, Greedy, PBQP };
|
||||
enum class CFLAAType { None, Steensgaard, Andersen, Both };
|
||||
|
||||
// Not one-on-one but mostly corresponding to commandline options in
|
||||
// TargetPassConfig.cpp.
|
||||
struct CGPassBuilderOption {
|
||||
Optional<bool> OptimizeRegAlloc;
|
||||
Optional<bool> EnableIPRA;
|
||||
bool DebugPM = false;
|
||||
bool DisableVerify = false;
|
||||
bool EnableImplicitNullChecks = false;
|
||||
bool EnableBlockPlacementStats = false;
|
||||
bool MISchedPostRA = false;
|
||||
bool EarlyLiveIntervals = false;
|
||||
|
||||
bool DisableLSR = false;
|
||||
bool DisableCGP = false;
|
||||
bool PrintLSR = false;
|
||||
bool DisableMergeICmps = false;
|
||||
bool DisablePartialLibcallInlining = false;
|
||||
bool DisableConstantHoisting = false;
|
||||
bool PrintISelInput = false;
|
||||
bool PrintGCInfo = false;
|
||||
bool RequiresCodeGenSCCOrder = false;
|
||||
|
||||
RunOutliner EnableMachineOutliner = RunOutliner::TargetDefault;
|
||||
RegAllocType RegAlloc = RegAllocType::Default;
|
||||
CFLAAType UseCFLAA = CFLAAType::None;
|
||||
Optional<GlobalISelAbortMode> EnableGlobalISelAbort;
|
||||
|
||||
Optional<bool> VerifyMachineCode;
|
||||
Optional<bool> EnableFastISelOption;
|
||||
Optional<bool> EnableGlobalISelOption;
|
||||
};
|
||||
|
||||
CGPassBuilderOption getCGPassBuilderOption();
|
||||
|
||||
} // namespace llvm
|
||||
|
||||
#endif // LLVM_TARGET_CGPASSBUILDEROPTION_H
|
||||
Reference in New Issue
Block a user