From 0fc608100606d5c6c73da82bfc543adacbe8b86f Mon Sep 17 00:00:00 2001 From: Andrew Rogers Date: Mon, 23 Jun 2025 09:12:57 -0700 Subject: [PATCH 1/3] [llvm] auto-annotate remaining CodegenType library interfaces for DLL export using IDS --- llvm/include/llvm/CodeGenTypes/LowLevelType.h | 5 +++-- llvm/include/llvm/CodeGenTypes/MachineValueType.h | 9 +++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/llvm/include/llvm/CodeGenTypes/LowLevelType.h b/llvm/include/llvm/CodeGenTypes/LowLevelType.h index 06879e1f8d15b..1eecb5ad74eea 100644 --- a/llvm/include/llvm/CodeGenTypes/LowLevelType.h +++ b/llvm/include/llvm/CodeGenTypes/LowLevelType.h @@ -26,6 +26,7 @@ #ifndef LLVM_CODEGEN_LOWLEVELTYPE_H #define LLVM_CODEGEN_LOWLEVELTYPE_H +#include "llvm/Support/Compiler.h" #include "llvm/ADT/DenseMapInfo.h" #include "llvm/CodeGenTypes/MachineValueType.h" #include "llvm/Support/Debug.h" @@ -140,7 +141,7 @@ class LLT { explicit constexpr LLT() : IsScalar(false), IsPointer(false), IsVector(false), RawData(0) {} - explicit LLT(MVT VT); + LLVM_ABI explicit LLT(MVT VT); constexpr bool isValid() const { return IsScalar || RawData != 0; } constexpr bool isScalar() const { return IsScalar; } @@ -282,7 +283,7 @@ class LLT { return scalar(getScalarSizeInBits()); } - void print(raw_ostream &OS) const; + LLVM_ABI void print(raw_ostream &OS) const; #if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP) LLVM_DUMP_METHOD void dump() const; diff --git a/llvm/include/llvm/CodeGenTypes/MachineValueType.h b/llvm/include/llvm/CodeGenTypes/MachineValueType.h index c14abca027350..a42e31f019b9f 100644 --- a/llvm/include/llvm/CodeGenTypes/MachineValueType.h +++ b/llvm/include/llvm/CodeGenTypes/MachineValueType.h @@ -16,6 +16,7 @@ #ifndef LLVM_CODEGEN_MACHINEVALUETYPE_H #define LLVM_CODEGEN_MACHINEVALUETYPE_H +#include "llvm/Support/Compiler.h" #include "llvm/ADT/Sequence.h" #include "llvm/Support/ErrorHandling.h" #include "llvm/Support/MathExtras.h" @@ -65,10 +66,10 @@ namespace llvm { bool operator<=(const MVT& S) const { return SimpleTy <= S.SimpleTy; } /// Support for debugging, callable in GDB: VT.dump() - void dump() const; + LLVM_ABI void dump() const; /// Implement operator<<. - void print(raw_ostream &OS) const; + LLVM_ABI void print(raw_ostream &OS) const; /// Return true if this is a valid simple valuetype. bool isValid() const { @@ -509,11 +510,11 @@ namespace llvm { /// otherwise they are invalid. /// NB: This includes pointer types, which require a DataLayout to convert /// to a concrete value type. - static MVT getVT(Type *Ty, bool HandleUnknown = false); + LLVM_ABI static MVT getVT(Type *Ty, bool HandleUnknown = false); /// Returns an APFloat semantics tag appropriate for the value type. If this /// is a vector type, the element semantics are returned. - const fltSemantics &getFltSemantics() const; + LLVM_ABI const fltSemantics &getFltSemantics() const; public: /// SimpleValueType Iteration From 20078654b6a7195e204fdb99b6b9ecc0bed2cc22 Mon Sep 17 00:00:00 2001 From: Andrew Rogers Date: Mon, 23 Jun 2025 09:16:47 -0700 Subject: [PATCH 2/3] [llvm] manual fix-ups to IDS codemod of CodeGen lib interfaces --- .../llvm/CodeGen/GlobalISel/CallLowering.h | 9 +++++++++ llvm/lib/CodeGen/GlobalMergeFunctions.cpp | 1 + llvm/lib/CodeGen/MachineDomTreeUpdater.cpp | 9 +++++---- llvm/lib/CodeGen/MachineDominators.cpp | 17 +++++++++-------- llvm/lib/CodeGen/MachineLoopInfo.cpp | 5 +++-- llvm/lib/CodeGen/MachinePassManager.cpp | 9 +++++---- llvm/lib/CodeGen/MachinePostDominators.cpp | 12 ++++++------ llvm/lib/CodeGen/RegAllocScore.cpp | 10 +++++----- 8 files changed, 43 insertions(+), 29 deletions(-) diff --git a/llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h b/llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h index 109dc8812c24d..75c051712ae43 100644 --- a/llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h +++ b/llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h @@ -609,6 +609,15 @@ class LLVM_ABI CallLowering { virtual bool isTypeIsValidForThisReturn(EVT Ty) const { return false; } }; +extern template LLVM_ABI void +CallLowering::setArgFlags(CallLowering::ArgInfo &Arg, unsigned OpIdx, + const DataLayout &DL, + const Function &FuncInfo) const; + +extern template LLVM_ABI void +CallLowering::setArgFlags(CallLowering::ArgInfo &Arg, unsigned OpIdx, + const DataLayout &DL, + const CallBase &FuncInfo) const; } // end namespace llvm #endif // LLVM_CODEGEN_GLOBALISEL_CALLLOWERING_H diff --git a/llvm/lib/CodeGen/GlobalMergeFunctions.cpp b/llvm/lib/CodeGen/GlobalMergeFunctions.cpp index 84dc4ab0a5522..92ecfadf97c99 100644 --- a/llvm/lib/CodeGen/GlobalMergeFunctions.cpp +++ b/llvm/lib/CodeGen/GlobalMergeFunctions.cpp @@ -15,6 +15,7 @@ #include "llvm/Analysis/ModuleSummaryAnalysis.h" #include "llvm/CGData/CodeGenData.h" #include "llvm/CGData/CodeGenDataWriter.h" +#include "llvm/CodeGen/Passes.h" #include "llvm/IR/IRBuilder.h" #include "llvm/IR/StructuralHash.h" #include "llvm/InitializePasses.h" diff --git a/llvm/lib/CodeGen/MachineDomTreeUpdater.cpp b/llvm/lib/CodeGen/MachineDomTreeUpdater.cpp index 72e4be0165bf8..15a175d6391dd 100644 --- a/llvm/lib/CodeGen/MachineDomTreeUpdater.cpp +++ b/llvm/lib/CodeGen/MachineDomTreeUpdater.cpp @@ -14,21 +14,22 @@ #include "llvm/CodeGen/MachineDomTreeUpdater.h" #include "llvm/Analysis/GenericDomTreeUpdaterImpl.h" #include "llvm/CodeGen/MachinePostDominators.h" +#include "llvm/Support/Compiler.h" namespace llvm { -template class GenericDomTreeUpdater< +template class LLVM_EXPORT_TEMPLATE GenericDomTreeUpdater< MachineDomTreeUpdater, MachineDominatorTree, MachinePostDominatorTree>; -template void +template LLVM_EXPORT_TEMPLATE void GenericDomTreeUpdater::recalculate(MachineFunction &MF); -template void GenericDomTreeUpdater< +template LLVM_EXPORT_TEMPLATE void GenericDomTreeUpdater< MachineDomTreeUpdater, MachineDominatorTree, MachinePostDominatorTree>::applyUpdatesImpl(); -template void GenericDomTreeUpdater< +template LLVM_EXPORT_TEMPLATE void GenericDomTreeUpdater< MachineDomTreeUpdater, MachineDominatorTree, MachinePostDominatorTree>::applyUpdatesImpl(); diff --git a/llvm/lib/CodeGen/MachineDominators.cpp b/llvm/lib/CodeGen/MachineDominators.cpp index 917519f12a039..47840c7c8d038 100644 --- a/llvm/lib/CodeGen/MachineDominators.cpp +++ b/llvm/lib/CodeGen/MachineDominators.cpp @@ -17,6 +17,7 @@ #include "llvm/Pass.h" #include "llvm/PassRegistry.h" #include "llvm/Support/CommandLine.h" +#include "llvm/Support/Compiler.h" #include "llvm/Support/GenericDomTreeConstruction.h" using namespace llvm; @@ -35,23 +36,23 @@ static cl::opt VerifyMachineDomInfoX( cl::desc("Verify machine dominator info (time consuming)")); namespace llvm { -template class DomTreeNodeBase; -template class DominatorTreeBase; // DomTreeBase +template class LLVM_EXPORT_TEMPLATE DomTreeNodeBase; +template class LLVM_EXPORT_TEMPLATE DominatorTreeBase; // DomTreeBase namespace DomTreeBuilder { -template void Calculate(MBBDomTree &DT); -template void CalculateWithUpdates(MBBDomTree &DT, MBBUpdates U); +template LLVM_EXPORT_TEMPLATE void Calculate(MBBDomTree &DT); +template LLVM_EXPORT_TEMPLATE void CalculateWithUpdates(MBBDomTree &DT, MBBUpdates U); -template void InsertEdge(MBBDomTree &DT, MachineBasicBlock *From, +template LLVM_EXPORT_TEMPLATE void InsertEdge(MBBDomTree &DT, MachineBasicBlock *From, MachineBasicBlock *To); -template void DeleteEdge(MBBDomTree &DT, MachineBasicBlock *From, +template LLVM_EXPORT_TEMPLATE void DeleteEdge(MBBDomTree &DT, MachineBasicBlock *From, MachineBasicBlock *To); -template void ApplyUpdates(MBBDomTree &DT, MBBDomTreeGraphDiff &, +template LLVM_EXPORT_TEMPLATE void ApplyUpdates(MBBDomTree &DT, MBBDomTreeGraphDiff &, MBBDomTreeGraphDiff *); -template bool Verify(const MBBDomTree &DT, +template LLVM_EXPORT_TEMPLATE bool Verify(const MBBDomTree &DT, MBBDomTree::VerificationLevel VL); } // namespace DomTreeBuilder } diff --git a/llvm/lib/CodeGen/MachineLoopInfo.cpp b/llvm/lib/CodeGen/MachineLoopInfo.cpp index 1c97e5c9063e4..62a57f0c2f4df 100644 --- a/llvm/lib/CodeGen/MachineLoopInfo.cpp +++ b/llvm/lib/CodeGen/MachineLoopInfo.cpp @@ -22,13 +22,14 @@ #include "llvm/InitializePasses.h" #include "llvm/Pass.h" #include "llvm/PassRegistry.h" +#include "llvm/Support/Compiler.h" #include "llvm/Support/GenericLoopInfoImpl.h" using namespace llvm; // Explicitly instantiate methods in LoopInfoImpl.h for MI-level Loops. -template class llvm::LoopBase; -template class llvm::LoopInfoBase; +template class LLVM_EXPORT_TEMPLATE llvm::LoopBase; +template class LLVM_EXPORT_TEMPLATE llvm::LoopInfoBase; AnalysisKey MachineLoopAnalysis::Key; diff --git a/llvm/lib/CodeGen/MachinePassManager.cpp b/llvm/lib/CodeGen/MachinePassManager.cpp index bbe386507fcd2..41efa0b1c424b 100644 --- a/llvm/lib/CodeGen/MachinePassManager.cpp +++ b/llvm/lib/CodeGen/MachinePassManager.cpp @@ -17,19 +17,20 @@ #include "llvm/IR/Function.h" #include "llvm/IR/Module.h" #include "llvm/IR/PassManagerImpl.h" +#include "llvm/Support/Compiler.h" using namespace llvm; AnalysisKey FunctionAnalysisManagerMachineFunctionProxy::Key; namespace llvm { -template class AnalysisManager; +template class LLVM_EXPORT_TEMPLATE AnalysisManager; template class PassManager; -template class InnerAnalysisManagerProxy; -template class InnerAnalysisManagerProxy; -template class OuterAnalysisManagerProxy; } // namespace llvm diff --git a/llvm/lib/CodeGen/MachinePostDominators.cpp b/llvm/lib/CodeGen/MachinePostDominators.cpp index 51637130addc4..ec9b34b4ec041 100644 --- a/llvm/lib/CodeGen/MachinePostDominators.cpp +++ b/llvm/lib/CodeGen/MachinePostDominators.cpp @@ -18,21 +18,21 @@ using namespace llvm; namespace llvm { -template class DominatorTreeBase; // PostDomTreeBase +template class LLVM_EXPORT_TEMPLATE DominatorTreeBase; // PostDomTreeBase namespace DomTreeBuilder { -template void Calculate(MBBPostDomTree &DT); -template void InsertEdge(MBBPostDomTree &DT, +template LLVM_EXPORT_TEMPLATE void Calculate(MBBPostDomTree &DT); +template LLVM_EXPORT_TEMPLATE void InsertEdge(MBBPostDomTree &DT, MachineBasicBlock *From, MachineBasicBlock *To); -template void DeleteEdge(MBBPostDomTree &DT, +template LLVM_EXPORT_TEMPLATE void DeleteEdge(MBBPostDomTree &DT, MachineBasicBlock *From, MachineBasicBlock *To); -template void ApplyUpdates(MBBPostDomTree &DT, +template LLVM_EXPORT_TEMPLATE void ApplyUpdates(MBBPostDomTree &DT, MBBPostDomTreeGraphDiff &, MBBPostDomTreeGraphDiff *); -template bool Verify(const MBBPostDomTree &DT, +template LLVM_EXPORT_TEMPLATE bool Verify(const MBBPostDomTree &DT, MBBPostDomTree::VerificationLevel VL); } // namespace DomTreeBuilder diff --git a/llvm/lib/CodeGen/RegAllocScore.cpp b/llvm/lib/CodeGen/RegAllocScore.cpp index 8c140261c11ca..9a34ae94d9360 100644 --- a/llvm/lib/CodeGen/RegAllocScore.cpp +++ b/llvm/lib/CodeGen/RegAllocScore.cpp @@ -23,12 +23,12 @@ #include "llvm/Support/CommandLine.h" using namespace llvm; -cl::opt CopyWeight("regalloc-copy-weight", cl::init(0.2), cl::Hidden); -cl::opt LoadWeight("regalloc-load-weight", cl::init(4.0), cl::Hidden); -cl::opt StoreWeight("regalloc-store-weight", cl::init(1.0), cl::Hidden); -cl::opt CheapRematWeight("regalloc-cheap-remat-weight", cl::init(0.2), +LLVM_ABI cl::opt CopyWeight("regalloc-copy-weight", cl::init(0.2), cl::Hidden); +LLVM_ABI cl::opt LoadWeight("regalloc-load-weight", cl::init(4.0), cl::Hidden); +LLVM_ABI cl::opt StoreWeight("regalloc-store-weight", cl::init(1.0), cl::Hidden); +LLVM_ABI cl::opt CheapRematWeight("regalloc-cheap-remat-weight", cl::init(0.2), cl::Hidden); -cl::opt ExpensiveRematWeight("regalloc-expensive-remat-weight", +LLVM_ABI cl::opt ExpensiveRematWeight("regalloc-expensive-remat-weight", cl::init(1.0), cl::Hidden); #define DEBUG_TYPE "regalloc-score" From 02c63d6b24fa2f557b527cf8a5a9efdf4fee0a9d Mon Sep 17 00:00:00 2001 From: Andrew Rogers Date: Tue, 24 Jun 2025 08:01:14 -0700 Subject: [PATCH 3/3] [llvm] clang-format changes --- llvm/include/llvm/CodeGenTypes/LowLevelType.h | 2 +- .../llvm/CodeGenTypes/MachineValueType.h | 2 +- llvm/lib/CodeGen/MachineDominators.cpp | 25 +++++++++------- llvm/lib/CodeGen/MachineLoopInfo.cpp | 6 ++-- llvm/lib/CodeGen/MachinePassManager.cpp | 12 ++++---- llvm/lib/CodeGen/MachinePostDominators.cpp | 29 ++++++++++--------- llvm/lib/CodeGen/RegAllocScore.cpp | 15 ++++++---- 7 files changed, 52 insertions(+), 39 deletions(-) diff --git a/llvm/include/llvm/CodeGenTypes/LowLevelType.h b/llvm/include/llvm/CodeGenTypes/LowLevelType.h index 1eecb5ad74eea..d8e0848aff84d 100644 --- a/llvm/include/llvm/CodeGenTypes/LowLevelType.h +++ b/llvm/include/llvm/CodeGenTypes/LowLevelType.h @@ -26,9 +26,9 @@ #ifndef LLVM_CODEGEN_LOWLEVELTYPE_H #define LLVM_CODEGEN_LOWLEVELTYPE_H -#include "llvm/Support/Compiler.h" #include "llvm/ADT/DenseMapInfo.h" #include "llvm/CodeGenTypes/MachineValueType.h" +#include "llvm/Support/Compiler.h" #include "llvm/Support/Debug.h" #include diff --git a/llvm/include/llvm/CodeGenTypes/MachineValueType.h b/llvm/include/llvm/CodeGenTypes/MachineValueType.h index a42e31f019b9f..b8e91a022ec5e 100644 --- a/llvm/include/llvm/CodeGenTypes/MachineValueType.h +++ b/llvm/include/llvm/CodeGenTypes/MachineValueType.h @@ -16,8 +16,8 @@ #ifndef LLVM_CODEGEN_MACHINEVALUETYPE_H #define LLVM_CODEGEN_MACHINEVALUETYPE_H -#include "llvm/Support/Compiler.h" #include "llvm/ADT/Sequence.h" +#include "llvm/Support/Compiler.h" #include "llvm/Support/ErrorHandling.h" #include "llvm/Support/MathExtras.h" #include "llvm/Support/TypeSize.h" diff --git a/llvm/lib/CodeGen/MachineDominators.cpp b/llvm/lib/CodeGen/MachineDominators.cpp index 47840c7c8d038..b221fa8b6de84 100644 --- a/llvm/lib/CodeGen/MachineDominators.cpp +++ b/llvm/lib/CodeGen/MachineDominators.cpp @@ -37,23 +37,28 @@ static cl::opt VerifyMachineDomInfoX( namespace llvm { template class LLVM_EXPORT_TEMPLATE DomTreeNodeBase; -template class LLVM_EXPORT_TEMPLATE DominatorTreeBase; // DomTreeBase +template class LLVM_EXPORT_TEMPLATE + DominatorTreeBase; // DomTreeBase namespace DomTreeBuilder { template LLVM_EXPORT_TEMPLATE void Calculate(MBBDomTree &DT); -template LLVM_EXPORT_TEMPLATE void CalculateWithUpdates(MBBDomTree &DT, MBBUpdates U); +template LLVM_EXPORT_TEMPLATE void +CalculateWithUpdates(MBBDomTree &DT, MBBUpdates U); -template LLVM_EXPORT_TEMPLATE void InsertEdge(MBBDomTree &DT, MachineBasicBlock *From, - MachineBasicBlock *To); +template LLVM_EXPORT_TEMPLATE void +InsertEdge(MBBDomTree &DT, MachineBasicBlock *From, + MachineBasicBlock *To); -template LLVM_EXPORT_TEMPLATE void DeleteEdge(MBBDomTree &DT, MachineBasicBlock *From, - MachineBasicBlock *To); +template LLVM_EXPORT_TEMPLATE void +DeleteEdge(MBBDomTree &DT, MachineBasicBlock *From, + MachineBasicBlock *To); -template LLVM_EXPORT_TEMPLATE void ApplyUpdates(MBBDomTree &DT, MBBDomTreeGraphDiff &, - MBBDomTreeGraphDiff *); +template LLVM_EXPORT_TEMPLATE void +ApplyUpdates(MBBDomTree &DT, MBBDomTreeGraphDiff &, + MBBDomTreeGraphDiff *); -template LLVM_EXPORT_TEMPLATE bool Verify(const MBBDomTree &DT, - MBBDomTree::VerificationLevel VL); +template LLVM_EXPORT_TEMPLATE bool +Verify(const MBBDomTree &DT, MBBDomTree::VerificationLevel VL); } // namespace DomTreeBuilder } diff --git a/llvm/lib/CodeGen/MachineLoopInfo.cpp b/llvm/lib/CodeGen/MachineLoopInfo.cpp index 62a57f0c2f4df..fdb1a470493ce 100644 --- a/llvm/lib/CodeGen/MachineLoopInfo.cpp +++ b/llvm/lib/CodeGen/MachineLoopInfo.cpp @@ -28,8 +28,10 @@ using namespace llvm; // Explicitly instantiate methods in LoopInfoImpl.h for MI-level Loops. -template class LLVM_EXPORT_TEMPLATE llvm::LoopBase; -template class LLVM_EXPORT_TEMPLATE llvm::LoopInfoBase; +template class LLVM_EXPORT_TEMPLATE + llvm::LoopBase; +template class LLVM_EXPORT_TEMPLATE + llvm::LoopInfoBase; AnalysisKey MachineLoopAnalysis::Key; diff --git a/llvm/lib/CodeGen/MachinePassManager.cpp b/llvm/lib/CodeGen/MachinePassManager.cpp index 41efa0b1c424b..6e445f6787903 100644 --- a/llvm/lib/CodeGen/MachinePassManager.cpp +++ b/llvm/lib/CodeGen/MachinePassManager.cpp @@ -26,12 +26,12 @@ AnalysisKey FunctionAnalysisManagerMachineFunctionProxy::Key; namespace llvm { template class LLVM_EXPORT_TEMPLATE AnalysisManager; template class PassManager; -template class LLVM_EXPORT_TEMPLATE InnerAnalysisManagerProxy; -template class LLVM_EXPORT_TEMPLATE InnerAnalysisManagerProxy; -template class LLVM_EXPORT_TEMPLATE OuterAnalysisManagerProxy; +template class LLVM_EXPORT_TEMPLATE + InnerAnalysisManagerProxy; +template class LLVM_EXPORT_TEMPLATE + InnerAnalysisManagerProxy; +template class LLVM_EXPORT_TEMPLATE + OuterAnalysisManagerProxy; } // namespace llvm bool FunctionAnalysisManagerMachineFunctionProxy::Result::invalidate( diff --git a/llvm/lib/CodeGen/MachinePostDominators.cpp b/llvm/lib/CodeGen/MachinePostDominators.cpp index ec9b34b4ec041..1cb7e465881a2 100644 --- a/llvm/lib/CodeGen/MachinePostDominators.cpp +++ b/llvm/lib/CodeGen/MachinePostDominators.cpp @@ -18,22 +18,25 @@ using namespace llvm; namespace llvm { -template class LLVM_EXPORT_TEMPLATE DominatorTreeBase; // PostDomTreeBase +template class LLVM_EXPORT_TEMPLATE + DominatorTreeBase; // PostDomTreeBase namespace DomTreeBuilder { -template LLVM_EXPORT_TEMPLATE void Calculate(MBBPostDomTree &DT); -template LLVM_EXPORT_TEMPLATE void InsertEdge(MBBPostDomTree &DT, - MachineBasicBlock *From, - MachineBasicBlock *To); -template LLVM_EXPORT_TEMPLATE void DeleteEdge(MBBPostDomTree &DT, - MachineBasicBlock *From, - MachineBasicBlock *To); -template LLVM_EXPORT_TEMPLATE void ApplyUpdates(MBBPostDomTree &DT, - MBBPostDomTreeGraphDiff &, - MBBPostDomTreeGraphDiff *); -template LLVM_EXPORT_TEMPLATE bool Verify(const MBBPostDomTree &DT, - MBBPostDomTree::VerificationLevel VL); +template LLVM_EXPORT_TEMPLATE void +Calculate(MBBPostDomTree &DT); +template LLVM_EXPORT_TEMPLATE void +InsertEdge(MBBPostDomTree &DT, MachineBasicBlock *From, + MachineBasicBlock *To); +template LLVM_EXPORT_TEMPLATE void +DeleteEdge(MBBPostDomTree &DT, MachineBasicBlock *From, + MachineBasicBlock *To); +template LLVM_EXPORT_TEMPLATE void +ApplyUpdates(MBBPostDomTree &DT, MBBPostDomTreeGraphDiff &, + MBBPostDomTreeGraphDiff *); +template LLVM_EXPORT_TEMPLATE bool +Verify(const MBBPostDomTree &DT, + MBBPostDomTree::VerificationLevel VL); } // namespace DomTreeBuilder extern bool VerifyMachineDomInfo; diff --git a/llvm/lib/CodeGen/RegAllocScore.cpp b/llvm/lib/CodeGen/RegAllocScore.cpp index 9a34ae94d9360..b86647dbe0a48 100644 --- a/llvm/lib/CodeGen/RegAllocScore.cpp +++ b/llvm/lib/CodeGen/RegAllocScore.cpp @@ -23,13 +23,16 @@ #include "llvm/Support/CommandLine.h" using namespace llvm; -LLVM_ABI cl::opt CopyWeight("regalloc-copy-weight", cl::init(0.2), cl::Hidden); -LLVM_ABI cl::opt LoadWeight("regalloc-load-weight", cl::init(4.0), cl::Hidden); -LLVM_ABI cl::opt StoreWeight("regalloc-store-weight", cl::init(1.0), cl::Hidden); -LLVM_ABI cl::opt CheapRematWeight("regalloc-cheap-remat-weight", cl::init(0.2), - cl::Hidden); +LLVM_ABI cl::opt CopyWeight("regalloc-copy-weight", cl::init(0.2), + cl::Hidden); +LLVM_ABI cl::opt LoadWeight("regalloc-load-weight", cl::init(4.0), + cl::Hidden); +LLVM_ABI cl::opt StoreWeight("regalloc-store-weight", cl::init(1.0), + cl::Hidden); +LLVM_ABI cl::opt CheapRematWeight("regalloc-cheap-remat-weight", + cl::init(0.2), cl::Hidden); LLVM_ABI cl::opt ExpensiveRematWeight("regalloc-expensive-remat-weight", - cl::init(1.0), cl::Hidden); + cl::init(1.0), cl::Hidden); #define DEBUG_TYPE "regalloc-score" RegAllocScore &RegAllocScore::operator+=(const RegAllocScore &Other) {