diff options
Diffstat (limited to 'llvm/include')
30 files changed, 108 insertions, 68 deletions
diff --git a/llvm/include/llvm/ADT/DirectedGraph.h b/llvm/include/llvm/ADT/DirectedGraph.h index fb6b180..fe7c9e5 100644 --- a/llvm/include/llvm/ADT/DirectedGraph.h +++ b/llvm/include/llvm/ADT/DirectedGraph.h @@ -80,18 +80,6 @@ public: explicit DGNode(EdgeType &E) : Edges() { Edges.insert(&E); } DGNode() = default; - explicit DGNode(const DGNode<NodeType, EdgeType> &N) : Edges(N.Edges) {} - DGNode(DGNode<NodeType, EdgeType> &&N) : Edges(std::move(N.Edges)) {} - - DGNode<NodeType, EdgeType> &operator=(const DGNode<NodeType, EdgeType> &N) { - Edges = N.Edges; - return *this; - } - DGNode<NodeType, EdgeType> &operator=(const DGNode<NodeType, EdgeType> &&N) { - Edges = std::move(N.Edges); - return *this; - } - /// Static polymorphism: delegate implementation (via isEqualTo) to the /// derived class. friend bool operator==(const NodeType &M, const NodeType &N) { diff --git a/llvm/include/llvm/Analysis/DDG.h b/llvm/include/llvm/Analysis/DDG.h index eb977fb..1c53291 100644 --- a/llvm/include/llvm/Analysis/DDG.h +++ b/llvm/include/llvm/Analysis/DDG.h @@ -96,7 +96,7 @@ public: RootDDGNode() : DDGNode(NodeKind::Root) {} RootDDGNode(const RootDDGNode &N) = delete; RootDDGNode(RootDDGNode &&N) : DDGNode(std::move(N)) {} - ~RootDDGNode() = default; + ~RootDDGNode() override = default; /// Define classof to be able to use isa<>, cast<>, dyn_cast<>, etc. static bool classof(const DDGNode *N) { @@ -114,7 +114,7 @@ public: SimpleDDGNode(Instruction &I); SimpleDDGNode(const SimpleDDGNode &N); SimpleDDGNode(SimpleDDGNode &&N); - ~SimpleDDGNode(); + ~SimpleDDGNode() override; SimpleDDGNode &operator=(const SimpleDDGNode &N) = default; @@ -176,7 +176,7 @@ public: PiBlockDDGNode(const PiNodeList &List); PiBlockDDGNode(const PiBlockDDGNode &N); PiBlockDDGNode(PiBlockDDGNode &&N); - ~PiBlockDDGNode(); + ~PiBlockDDGNode() override; PiBlockDDGNode &operator=(const PiBlockDDGNode &N) = default; @@ -318,7 +318,7 @@ public: : DDGBase(std::move(G)), DDGInfo(std::move(G)) {} DataDependenceGraph(Function &F, DependenceInfo &DI); DataDependenceGraph(Loop &L, LoopInfo &LI, DependenceInfo &DI); - ~DataDependenceGraph(); + ~DataDependenceGraph() override; /// If node \p N belongs to a pi-block return a pointer to the pi-block, /// otherwise return null. diff --git a/llvm/include/llvm/Analysis/InteractiveModelRunner.h b/llvm/include/llvm/Analysis/InteractiveModelRunner.h index 66473ae..cfa0506 100644 --- a/llvm/include/llvm/Analysis/InteractiveModelRunner.h +++ b/llvm/include/llvm/Analysis/InteractiveModelRunner.h @@ -51,7 +51,7 @@ public: Log->flush(); } - virtual ~InteractiveModelRunner(); + ~InteractiveModelRunner() override; private: void *evaluateUntyped() override; diff --git a/llvm/include/llvm/Analysis/MLInlineAdvisor.h b/llvm/include/llvm/Analysis/MLInlineAdvisor.h index cc4c482..d71fa55 100644 --- a/llvm/include/llvm/Analysis/MLInlineAdvisor.h +++ b/llvm/include/llvm/Analysis/MLInlineAdvisor.h @@ -33,7 +33,7 @@ public: GetModelRunner, std::function<bool(CallBase &)> GetDefaultAdvice); - virtual ~MLInlineAdvisor() = default; + ~MLInlineAdvisor() override = default; void onPassEntry(LazyCallGraph::SCC *SCC) override; void onPassExit(LazyCallGraph::SCC *SCC) override; @@ -105,7 +105,7 @@ class MLInlineAdvice : public InlineAdvice { public: MLInlineAdvice(MLInlineAdvisor *Advisor, CallBase &CB, OptimizationRemarkEmitter &ORE, bool Recommendation); - virtual ~MLInlineAdvice() = default; + ~MLInlineAdvice() override = default; void recordInliningImpl() override; void recordInliningWithCalleeDeletedImpl() override; diff --git a/llvm/include/llvm/Analysis/ReleaseModeModelRunner.h b/llvm/include/llvm/Analysis/ReleaseModeModelRunner.h index 641036d..ff423a9 100644 --- a/llvm/include/llvm/Analysis/ReleaseModeModelRunner.h +++ b/llvm/include/llvm/Analysis/ReleaseModeModelRunner.h @@ -106,7 +106,7 @@ public: assert(ResultIndex >= 0 && "Cannot find DecisionName in inlining model"); } - virtual ~ReleaseModeModelRunner() = default; + ~ReleaseModeModelRunner() override = default; static bool classof(const MLModelRunner *R) { return R->getKind() == MLModelRunner::Kind::Release; diff --git a/llvm/include/llvm/Analysis/StackSafetyAnalysis.h b/llvm/include/llvm/Analysis/StackSafetyAnalysis.h index 2966f0c..b7b816f 100644 --- a/llvm/include/llvm/Analysis/StackSafetyAnalysis.h +++ b/llvm/include/llvm/Analysis/StackSafetyAnalysis.h @@ -156,7 +156,7 @@ public: static char ID; StackSafetyGlobalInfoWrapperPass(); - ~StackSafetyGlobalInfoWrapperPass(); + ~StackSafetyGlobalInfoWrapperPass() override; const StackSafetyGlobalInfo &getResult() const { return SSGI; } diff --git a/llvm/include/llvm/DWARFCFIChecker/DWARFCFIFunctionFrameAnalyzer.h b/llvm/include/llvm/DWARFCFIChecker/DWARFCFIFunctionFrameAnalyzer.h index 03e93de..3895da2 100644 --- a/llvm/include/llvm/DWARFCFIChecker/DWARFCFIFunctionFrameAnalyzer.h +++ b/llvm/include/llvm/DWARFCFIChecker/DWARFCFIFunctionFrameAnalyzer.h @@ -32,7 +32,7 @@ class LLVM_ABI CFIFunctionFrameAnalyzer : public CFIFunctionFrameReceiver { public: CFIFunctionFrameAnalyzer(MCContext &Context, const MCInstrInfo &MCII) : CFIFunctionFrameReceiver(Context), MCII(MCII) {} - ~CFIFunctionFrameAnalyzer(); + ~CFIFunctionFrameAnalyzer() override; void startFunctionFrame(bool IsEH, ArrayRef<MCCFIInstruction> Prologue) override; diff --git a/llvm/include/llvm/DWARFLinker/Classic/DWARFStreamer.h b/llvm/include/llvm/DWARFLinker/Classic/DWARFStreamer.h index 03fc729..4ffef90 100644 --- a/llvm/include/llvm/DWARFLinker/Classic/DWARFStreamer.h +++ b/llvm/include/llvm/DWARFLinker/Classic/DWARFStreamer.h @@ -48,7 +48,7 @@ public: raw_pwrite_stream &OutFile, DWARFLinkerBase::MessageHandlerTy Warning) : OutFile(OutFile), OutFileType(OutFileType), WarningHandler(Warning) {} - virtual ~DwarfStreamer() = default; + ~DwarfStreamer() override = default; static Expected<std::unique_ptr<DwarfStreamer>> createStreamer( const Triple &TheTriple, DWARFLinkerBase::OutputFileType FileType, diff --git a/llvm/include/llvm/DWARFLinker/Parallel/DWARFLinker.h b/llvm/include/llvm/DWARFLinker/Parallel/DWARFLinker.h index 8046513..db60695 100644 --- a/llvm/include/llvm/DWARFLinker/Parallel/DWARFLinker.h +++ b/llvm/include/llvm/DWARFLinker/Parallel/DWARFLinker.h @@ -120,7 +120,7 @@ using SectionHandlerTy = class DWARFLinker : public DWARFLinkerBase { public: - virtual ~DWARFLinker() = default; + ~DWARFLinker() override = default; /// Creates dwarf linker instance. LLVM_ABI static std::unique_ptr<DWARFLinker> diff --git a/llvm/include/llvm/DebugInfo/PDB/PDBTypes.h b/llvm/include/llvm/DebugInfo/PDB/PDBTypes.h index a64a2e8..c919b5f 100644 --- a/llvm/include/llvm/DebugInfo/PDB/PDBTypes.h +++ b/llvm/include/llvm/DebugInfo/PDB/PDBTypes.h @@ -597,17 +597,10 @@ struct Variant { } // end namespace pdb } // end namespace llvm -namespace std { - -template <> struct hash<llvm::pdb::PDB_SymType> { - using argument_type = llvm::pdb::PDB_SymType; - using result_type = std::size_t; - - result_type operator()(const argument_type &Arg) const { +template <> struct std::hash<llvm::pdb::PDB_SymType> { + std::size_t operator()(const llvm::pdb::PDB_SymType &Arg) const { return std::hash<int>()(static_cast<int>(Arg)); } }; -} // end namespace std - #endif // LLVM_DEBUGINFO_PDB_PDBTYPES_H diff --git a/llvm/include/llvm/Debuginfod/BuildIDFetcher.h b/llvm/include/llvm/Debuginfod/BuildIDFetcher.h index f0ecea1..8f9c2aa 100644 --- a/llvm/include/llvm/Debuginfod/BuildIDFetcher.h +++ b/llvm/include/llvm/Debuginfod/BuildIDFetcher.h @@ -24,7 +24,7 @@ class DebuginfodFetcher : public object::BuildIDFetcher { public: DebuginfodFetcher(std::vector<std::string> DebugFileDirectories) : BuildIDFetcher(std::move(DebugFileDirectories)) {} - virtual ~DebuginfodFetcher() = default; + ~DebuginfodFetcher() override = default; /// Fetches the given Build ID using debuginfod and returns a local path to /// the resulting file. diff --git a/llvm/include/llvm/IR/DroppedVariableStatsIR.h b/llvm/include/llvm/IR/DroppedVariableStatsIR.h index 3e18256..9fc2319 100644 --- a/llvm/include/llvm/IR/DroppedVariableStatsIR.h +++ b/llvm/include/llvm/IR/DroppedVariableStatsIR.h @@ -71,13 +71,12 @@ private: StringRef PassLevel); /// Override base class method to run on an llvm::Function specifically. - virtual void - visitEveryInstruction(unsigned &DroppedCount, - DenseMap<VarID, DILocation *> &InlinedAtsMap, - VarID Var) override; + void visitEveryInstruction(unsigned &DroppedCount, + DenseMap<VarID, DILocation *> &InlinedAtsMap, + VarID Var) override; /// Override base class method to run on #dbg_values specifically. - virtual void visitEveryDebugRecord( + void visitEveryDebugRecord( DenseSet<VarID> &VarIDSet, DenseMap<StringRef, DenseMap<VarID, DILocation *>> &InlinedAtsMap, StringRef FuncName, bool Before) override; diff --git a/llvm/include/llvm/IR/OptBisect.h b/llvm/include/llvm/IR/OptBisect.h index d813ae9..a8cd56f 100644 --- a/llvm/include/llvm/IR/OptBisect.h +++ b/llvm/include/llvm/IR/OptBisect.h @@ -51,7 +51,7 @@ public: /// through LLVMContext. OptBisect() = default; - virtual ~OptBisect() = default; + ~OptBisect() override = default; /// Checks the bisect limit to determine if the specified pass should run. /// diff --git a/llvm/include/llvm/IR/RuntimeLibcalls.td b/llvm/include/llvm/IR/RuntimeLibcalls.td index ec16995..7be1b65 100644 --- a/llvm/include/llvm/IR/RuntimeLibcalls.td +++ b/llvm/include/llvm/IR/RuntimeLibcalls.td @@ -59,6 +59,11 @@ def ExceptionModelIsNotNone : RuntimeLibcallPredicate< [{ExceptionModel != ExceptionHandling::None}] >; +def ExceptionModelHasUnwindResume : RuntimeLibcallPredicate< + [{ExceptionModel != ExceptionHandling::None && + ExceptionModel != ExceptionHandling::SjLj}] +>; + def ExceptionModelIsSjLj : RuntimeLibcallPredicate< [{ExceptionModel == ExceptionHandling::SjLj}] >; @@ -1153,8 +1158,10 @@ def __ssp_canary_word : RuntimeLibcallImpl<STACK_CHECK_GUARD>; //===----------------------------------------------------------------------===// defvar ExceptionModelCalls = (add - LibcallImpls<(add DefaultExceptionHandlingLibcalls), + LibcallImpls<(add __cxa_end_cleanup), ExceptionModelIsNotNone>, + LibcallImpls<(add _Unwind_Resume), + ExceptionModelHasUnwindResume>, LibcallImpls<(add SjLjExceptionHandlingLibcalls), ExceptionModelIsSjLj> ); @@ -1396,8 +1403,10 @@ defset list<RuntimeLibcallImpl> WinArm64ECSjLjExceptionHandlingLibcalls = { } defvar ExceptionModelCallsArm64EC = (add - LibcallImpls<(add WinArm64ECDefaultExceptionHandlingLibcalls), + LibcallImpls<(add arm64ec___cxa_end_cleanup), ExceptionModelIsNotNone>, + LibcallImpls<(add arm64ec__Unwind_Resume), + ExceptionModelHasUnwindResume>, LibcallImpls<(add WinArm64ECSjLjExceptionHandlingLibcalls), ExceptionModelIsSjLj> ); @@ -1499,6 +1508,41 @@ def __aeabi_ddiv : RuntimeLibcallImpl<DIV_F64>; // CallingConv::ARM_AAPCS def __aeabi_dmul : RuntimeLibcallImpl<MUL_F64>; // CallingConv::ARM_AAPCS def __aeabi_dsub : RuntimeLibcallImpl<SUB_F64>; // CallingConv::ARM_AAPCS +defvar AEABIOverrides = [ + __eqsf2, __eqdf2, + __nesf2, __nedf2, + __ltsf2, __ltdf2, + __lesf2, __ledf2, + __gesf2, __gedf2, + __gtsf2, __gtdf2, + __unordsf2, __unorddf2, + + __addsf3, __adddf3, + __divsf3, __divdf3, + __mulsf3, __muldf3, + __subsf3, __subdf3, + + __fixdfsi, __fixunsdfsi, + __fixdfdi, __fixunsdfdi, + __fixsfsi, __fixunssfsi, + __fixsfdi, __fixunssfdi, + + __floatsidf, __floatunsidf, + __floatdidf, __floatundidf, + __floatsisf, __floatunsisf, + __floatdisf, __floatundisf, + + __muldi3, __ashldi3, + __lshrdi3, __ashrdi3, + + __divsi3, __udivsi3 + + // Half conversion cases are a mess and handled separately. + // __truncdfsf2, __truncdfhf2, + // __extendsfdf2, + // __truncsfhf2, __extendhfsf2 +]; + // Double-precision floating-point comparison helper functions // RTABI chapter 4.1.2, Table 3 def __aeabi_dcmpeq__oeq : RuntimeLibcallImpl<OEQ_F64, "__aeabi_dcmpeq">; // CallingConv::ARM_AAPCS, CmpInst::ICMP_NE @@ -1784,7 +1828,8 @@ def ARMSystemLibrary : SystemRuntimeLibrary<isARMOrThumb, (add (sub WinDefaultLibcallImpls, ARMLibgccHalfConvertCalls, GNUEABIHalfConvertCalls, - ARMDoubleToHalfCalls), + ARMDoubleToHalfCalls, + AEABIOverrides), LibcallImpls<(add __powisf2, __powidf2), isNotOSMSVCRT>, LibmHasFrexpF32, LibmHasLdexpF32, LibmHasFrexpF128, LibmHasLdexpF128, @@ -1803,6 +1848,11 @@ def ARMSystemLibrary GNUEABIHalfConvertCalls, ARMDoubleToHalfCalls, + LibcallImpls<(add AEABIOverrides), + RuntimeLibcallPredicate<[{ + (!hasAEABILibcalls(TT) || !isAAPCS_ABI(TT, ABIName)) && + !TT.isOSWindows() + }]>>, // Use divmod compiler-rt calls for iOS 5.0 and later. LibcallImpls<(add __divmodsi4, __udivmodsi4), RuntimeLibcallPredicate<[{TT.isOSBinFormatMachO() && @@ -2443,6 +2493,11 @@ def _aullrem : RuntimeLibcallImpl<UREM_I64>; def _allmul : RuntimeLibcallImpl<MUL_I64>; } +// FIXME: Should have utility function to filter by known provider. +defvar WindowsDivRemMulLibcallOverrides = [ + __divdi3, __udivdi3, __moddi3, __umoddi3, __muldi3 +]; + //===----------------------------------------------------------------------===// // X86 Runtime Libcalls //===----------------------------------------------------------------------===// @@ -2464,7 +2519,7 @@ defvar X86_F128_Libcalls = LibcallImpls<(add LibmF128Libcalls, LibmF128FiniteLib defvar SinCosF32F64Libcalls = LibcallImpls<(add sincosf, sincos), hasSinCos_f32_f64>; defvar X86CommonLibcalls = - (add WinDefaultLibcallImpls, + (add (sub WinDefaultLibcallImpls, WindowsDivRemMulLibcallOverrides), DarwinSinCosStret, DarwinExp10, X86_F128_Libcalls, LibmHasSinCosF80, // FIXME: Depends on long double @@ -2487,10 +2542,15 @@ defvar Windows32DivRemMulCalls = LibcallsWithCC<(add WindowsDivRemMulLibcalls), X86_STDCALL, RuntimeLibcallPredicate<"TT.isWindowsMSVCEnvironment() || TT.isWindowsItaniumEnvironment()">>; +defvar NotWindows32DivRemMulCalls = + LibcallImpls<(add WindowsDivRemMulLibcallOverrides), + RuntimeLibcallPredicate<"!TT.isWindowsMSVCEnvironment() && !TT.isWindowsItaniumEnvironment()">>; + def X86_32SystemLibrary : SystemRuntimeLibrary<isX86_32, (add X86CommonLibcalls, - Windows32DivRemMulCalls)>; + NotWindows32DivRemMulCalls, + Windows32DivRemMulCalls)>; def X86_64SystemLibrary : SystemRuntimeLibrary<isX86_64, diff --git a/llvm/include/llvm/MCA/HardwareUnits/LSUnit.h b/llvm/include/llvm/MCA/HardwareUnits/LSUnit.h index 3700901..296a19c 100644 --- a/llvm/include/llvm/MCA/HardwareUnits/LSUnit.h +++ b/llvm/include/llvm/MCA/HardwareUnits/LSUnit.h @@ -57,7 +57,7 @@ public: LSUnitBase(const MCSchedModel &SM, unsigned LoadQueueSize, unsigned StoreQueueSize, bool AssumeNoAlias); - virtual ~LSUnitBase(); + ~LSUnitBase() override; /// Returns the total number of entries in the load queue. unsigned getLoadQueueSize() const { return LQSize; } @@ -465,19 +465,19 @@ public: /// 6. A store has to wait until an older store barrier is fully executed. unsigned dispatch(const InstRef &IR) override; - virtual void onInstructionIssued(const InstRef &IR) override { + void onInstructionIssued(const InstRef &IR) override { unsigned GroupID = IR.getInstruction()->getLSUTokenID(); Groups[GroupID]->onInstructionIssued(IR); } - virtual void onInstructionRetired(const InstRef &IR) override; + void onInstructionRetired(const InstRef &IR) override; - virtual void onInstructionExecuted(const InstRef &IR) override; + void onInstructionExecuted(const InstRef &IR) override; - virtual void cycleEvent() override; + void cycleEvent() override; #ifndef NDEBUG - virtual void dump() const override; + void dump() const override; #endif private: diff --git a/llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h b/llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h index d88ee7c..958911d 100644 --- a/llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h +++ b/llvm/include/llvm/MCA/HardwareUnits/ResourceManager.h @@ -121,7 +121,7 @@ public: DefaultResourceStrategy(uint64_t UnitMask) : ResourceUnitMask(UnitMask), NextInSequenceMask(UnitMask), RemovedFromNextInSequence(0) {} - virtual ~DefaultResourceStrategy() = default; + ~DefaultResourceStrategy() override = default; uint64_t select(uint64_t ReadyMask) override; void used(uint64_t Mask) override; diff --git a/llvm/include/llvm/MCA/HardwareUnits/Scheduler.h b/llvm/include/llvm/MCA/HardwareUnits/Scheduler.h index 0372600..34ff155 100644 --- a/llvm/include/llvm/MCA/HardwareUnits/Scheduler.h +++ b/llvm/include/llvm/MCA/HardwareUnits/Scheduler.h @@ -47,7 +47,7 @@ class LLVM_ABI DefaultSchedulerStrategy : public SchedulerStrategy { public: DefaultSchedulerStrategy() = default; - virtual ~DefaultSchedulerStrategy(); + ~DefaultSchedulerStrategy() override; bool compare(const InstRef &Lhs, const InstRef &Rhs) const override { int LhsRank = computeRank(Lhs); diff --git a/llvm/include/llvm/MCA/View.h b/llvm/include/llvm/MCA/View.h index 4d6f930..5b2e546 100644 --- a/llvm/include/llvm/MCA/View.h +++ b/llvm/include/llvm/MCA/View.h @@ -26,7 +26,7 @@ namespace mca { class LLVM_ABI View : public HWEventListener { public: - virtual ~View() = default; + ~View() override = default; virtual void printView(llvm::raw_ostream &OS) const = 0; virtual StringRef getNameAsString() const = 0; diff --git a/llvm/include/llvm/ObjCopy/ConfigManager.h b/llvm/include/llvm/ObjCopy/ConfigManager.h index 27fbd96..1568799 100644 --- a/llvm/include/llvm/ObjCopy/ConfigManager.h +++ b/llvm/include/llvm/ObjCopy/ConfigManager.h @@ -23,7 +23,7 @@ namespace llvm { namespace objcopy { struct LLVM_ABI ConfigManager : public MultiFormatConfig { - virtual ~ConfigManager() {} + ~ConfigManager() override {} const CommonConfig &getCommonConfig() const override { return Common; } diff --git a/llvm/include/llvm/Object/GOFFObjectFile.h b/llvm/include/llvm/Object/GOFFObjectFile.h index b6b22ee..80da64e 100644 --- a/llvm/include/llvm/Object/GOFFObjectFile.h +++ b/llvm/include/llvm/Object/GOFFObjectFile.h @@ -91,10 +91,10 @@ private: // SectionRef. void moveSectionNext(DataRefImpl &Sec) const override; - virtual Expected<StringRef> getSectionName(DataRefImpl Sec) const override; + Expected<StringRef> getSectionName(DataRefImpl Sec) const override; uint64_t getSectionAddress(DataRefImpl Sec) const override; uint64_t getSectionSize(DataRefImpl Sec) const override; - virtual Expected<ArrayRef<uint8_t>> + Expected<ArrayRef<uint8_t>> getSectionContents(DataRefImpl Sec) const override; uint64_t getSectionIndex(DataRefImpl Sec) const override { return Sec.d.a; } uint64_t getSectionAlignment(DataRefImpl Sec) const override; diff --git a/llvm/include/llvm/ProfileData/MemProfReader.h b/llvm/include/llvm/ProfileData/MemProfReader.h index 25578ec..8fdae7a 100644 --- a/llvm/include/llvm/ProfileData/MemProfReader.h +++ b/llvm/include/llvm/ProfileData/MemProfReader.h @@ -110,7 +110,7 @@ class LLVM_ABI RawMemProfReader final : public MemProfReader { public: RawMemProfReader(const RawMemProfReader &) = delete; RawMemProfReader &operator=(const RawMemProfReader &) = delete; - virtual ~RawMemProfReader() override; + ~RawMemProfReader() override; // Prints the contents of the profile in YAML format. void printYAML(raw_ostream &OS); diff --git a/llvm/include/llvm/ProfileData/PGOCtxProfWriter.h b/llvm/include/llvm/ProfileData/PGOCtxProfWriter.h index 7031728..6733e1c 100644 --- a/llvm/include/llvm/ProfileData/PGOCtxProfWriter.h +++ b/llvm/include/llvm/ProfileData/PGOCtxProfWriter.h @@ -92,7 +92,7 @@ public: PGOCtxProfileWriter(raw_ostream &Out, std::optional<unsigned> VersionOverride = std::nullopt, bool IncludeEmpty = false); - ~PGOCtxProfileWriter() { Writer.ExitBlock(); } + ~PGOCtxProfileWriter() override { Writer.ExitBlock(); } void startContextSection() override; void writeContextual(const ctx_profile::ContextNode &RootNode, diff --git a/llvm/include/llvm/SandboxIR/BasicBlock.h b/llvm/include/llvm/SandboxIR/BasicBlock.h index 25bbb6c..a8dd508 100644 --- a/llvm/include/llvm/SandboxIR/BasicBlock.h +++ b/llvm/include/llvm/SandboxIR/BasicBlock.h @@ -78,7 +78,7 @@ class BasicBlock : public Value { } public: - ~BasicBlock() = default; + ~BasicBlock() override = default; /// For isa/dyn_cast. static bool classof(const Value *From) { return From->getSubclassID() == Value::ClassID::Block; diff --git a/llvm/include/llvm/SandboxIR/PassManager.h b/llvm/include/llvm/SandboxIR/PassManager.h index 6fccaf0..93ca710 100644 --- a/llvm/include/llvm/SandboxIR/PassManager.h +++ b/llvm/include/llvm/SandboxIR/PassManager.h @@ -49,7 +49,7 @@ protected: } PassManager(const PassManager &) = delete; PassManager(PassManager &&) = default; - virtual ~PassManager() = default; + ~PassManager() override = default; PassManager &operator=(const PassManager &) = delete; public: diff --git a/llvm/include/llvm/Support/Program.h b/llvm/include/llvm/Support/Program.h index da5685d..53c2e75 100644 --- a/llvm/include/llvm/Support/Program.h +++ b/llvm/include/llvm/Support/Program.h @@ -45,7 +45,7 @@ typedef procid_t process_t; /// This struct encapsulates information about a process. struct ProcessInfo { - enum : procid_t { InvalidPid = 0 }; + static constexpr procid_t InvalidPid = 0; procid_t Pid; /// The process identifier. process_t Process; /// Platform-dependent process object. diff --git a/llvm/include/llvm/Target/TargetLoweringObjectFile.h b/llvm/include/llvm/Target/TargetLoweringObjectFile.h index 4d6cbc5..06508bf 100644 --- a/llvm/include/llvm/Target/TargetLoweringObjectFile.h +++ b/llvm/include/llvm/Target/TargetLoweringObjectFile.h @@ -74,7 +74,7 @@ public: TargetLoweringObjectFile(const TargetLoweringObjectFile &) = delete; TargetLoweringObjectFile & operator=(const TargetLoweringObjectFile &) = delete; - virtual ~TargetLoweringObjectFile(); + ~TargetLoweringObjectFile() override; Mangler &getMangler() const { return *Mang; } diff --git a/llvm/include/llvm/Transforms/IPO/Attributor.h b/llvm/include/llvm/Transforms/IPO/Attributor.h index e57032a..a013f27 100644 --- a/llvm/include/llvm/Transforms/IPO/Attributor.h +++ b/llvm/include/llvm/Transforms/IPO/Attributor.h @@ -3325,7 +3325,7 @@ struct LLVM_ABI AbstractAttribute : public IRPosition, public AADepGraphNode { AbstractAttribute(const IRPosition &IRP) : IRPosition(IRP) {} /// Virtual destructor. - virtual ~AbstractAttribute() = default; + ~AbstractAttribute() override = default; /// Compile time access to the IR attribute kind. static constexpr Attribute::AttrKind IRAttributeKind = Attribute::None; @@ -5588,7 +5588,7 @@ struct AACallEdges : public StateWrapper<BooleanState, AbstractAttribute>, // Synthetic root node for the Attributor's internal call graph. struct AttributorCallGraph : public AACallGraphNode { AttributorCallGraph(Attributor &A) : AACallGraphNode(A) {} - virtual ~AttributorCallGraph() = default; + ~AttributorCallGraph() override = default; AACallEdgeIterator optimisticEdgesBegin() const override { return AACallEdgeIterator(A, A.Functions.begin()); diff --git a/llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h b/llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h index 7d02d9a..588a6eb 100644 --- a/llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h +++ b/llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h @@ -305,7 +305,7 @@ public: return make_range(MemSuccs.begin(), MemSuccs.end()); } #ifndef NDEBUG - virtual void print(raw_ostream &OS, bool PrintDeps = true) const override; + void print(raw_ostream &OS, bool PrintDeps = true) const override; #endif // NDEBUG }; diff --git a/llvm/include/llvm/XRay/FDRRecords.h b/llvm/include/llvm/XRay/FDRRecords.h index 91689cae..8a12e33 100644 --- a/llvm/include/llvm/XRay/FDRRecords.h +++ b/llvm/include/llvm/XRay/FDRRecords.h @@ -101,7 +101,7 @@ public: MetadataType metadataType() const { return MT; } - virtual ~MetadataRecord() = default; + ~MetadataRecord() override = default; }; // What follows are specific Metadata record types which encapsulate the diff --git a/llvm/include/llvm/XRay/FDRTraceWriter.h b/llvm/include/llvm/XRay/FDRTraceWriter.h index 957039d..dc68c7f 100644 --- a/llvm/include/llvm/XRay/FDRTraceWriter.h +++ b/llvm/include/llvm/XRay/FDRTraceWriter.h @@ -30,7 +30,7 @@ class LLVM_ABI FDRTraceWriter : public RecordVisitor { public: // Construct an FDRTraceWriter associated with an output stream. explicit FDRTraceWriter(raw_ostream &O, const XRayFileHeader &H); - ~FDRTraceWriter(); + ~FDRTraceWriter() override; Error visit(BufferExtents &) override; Error visit(WallclockRecord &) override; |
