Skip to content

Commit 609abf3

Browse files
authored
Encourage devirtualization (rust-lang#790)
1 parent 1033668 commit 609abf3

File tree

10 files changed

+13
-13
lines changed

10 files changed

+13
-13
lines changed

enzyme/BCLoad/BCLoader.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ uint8_t EnzymeBitcodeReplacement(LLVMModuleRef M) {
101101
}
102102

103103
namespace {
104-
class BCLoader : public ModulePass {
104+
class BCLoader final : public ModulePass {
105105
public:
106106
static char ID;
107107
BCLoader() : ModulePass(ID) {}

enzyme/Enzyme/ActivityAnalysisPrinter.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ static llvm::cl::opt<bool>
7474
cl::Hidden, cl::desc("Whether the return is duplicated"));
7575
namespace {
7676

77-
class ActivityAnalysisPrinter : public FunctionPass {
77+
class ActivityAnalysisPrinter final : public FunctionPass {
7878
public:
7979
static char ID;
8080
ActivityAnalysisPrinter() : FunctionPass(ID) {}

enzyme/Enzyme/Clang/EnzymeClang.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
#include "clang/Frontend/FrontendPluginRegistry.h"
3030

3131
template <typename ConsumerType>
32-
class EnzymeAction : public clang::PluginASTAction {
32+
class EnzymeAction final : public clang::PluginASTAction {
3333
protected:
3434
std::unique_ptr<clang::ASTConsumer>
3535
CreateASTConsumer(clang::CompilerInstance &CI, llvm::StringRef InFile) {
@@ -46,7 +46,7 @@ class EnzymeAction : public clang::PluginASTAction {
4646
}
4747
};
4848

49-
class EnzymePlugin : public clang::ASTConsumer {
49+
class EnzymePlugin final : public clang::ASTConsumer {
5050
clang::CompilerInstance &CI;
5151

5252
public:

enzyme/Enzyme/Enzyme.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -752,7 +752,7 @@ static bool replaceOriginalCall(CallInst *CI, Function *fn, Value *diffret,
752752
return true;
753753
}
754754

755-
class Enzyme : public ModulePass {
755+
class Enzyme final : public ModulePass {
756756
public:
757757
EnzymeLogic Logic;
758758
static char ID;

enzyme/Enzyme/GradientUtils.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ struct InvertedPointerConfig : ValueMapConfig<const llvm::Value *> {
109109
static void onDelete(ExtraData gutils, const llvm::Value *old);
110110
};
111111

112-
class InvertedPointerVH : public llvm::CallbackVH {
112+
class InvertedPointerVH final : public llvm::CallbackVH {
113113
public:
114114
GradientUtils *gutils;
115115
InvertedPointerVH(GradientUtils *gutils) : gutils(gutils) {}
@@ -1972,7 +1972,7 @@ class GradientUtils : public CacheUtility {
19721972
}
19731973
};
19741974

1975-
class DiffeGradientUtils : public GradientUtils {
1975+
class DiffeGradientUtils final : public GradientUtils {
19761976
DiffeGradientUtils(EnzymeLogic &Logic, Function *newFunc_, Function *oldFunc_,
19771977
TargetLibraryInfo &TLI, TypeAnalysis &TA, TypeResults TR,
19781978
ValueToValueMapTy &invertedPointers_,

enzyme/Enzyme/InstructionBatcher.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343

4444
using namespace llvm;
4545

46-
class InstructionBatcher : public llvm::InstVisitor<InstructionBatcher> {
46+
class InstructionBatcher final : public llvm::InstVisitor<InstructionBatcher> {
4747
public:
4848
InstructionBatcher(
4949
Function *oldFunc, Function *newFunc, unsigned width,

enzyme/Enzyme/MustExitScalarEvolution.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232

3333
#include "llvm/IR/Dominators.h"
3434

35-
class MustExitScalarEvolution : public llvm::ScalarEvolution {
35+
class MustExitScalarEvolution final : public llvm::ScalarEvolution {
3636
public:
3737
llvm::SmallPtrSet<llvm::BasicBlock *, 4> GuaranteedUnreachable;
3838
using ScalarEvolution::ScalarEvolution;

enzyme/Enzyme/PreserveNVVM.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ using namespace llvm;
4848

4949
namespace {
5050

51-
class PreserveNVVM : public FunctionPass {
51+
class PreserveNVVM final : public FunctionPass {
5252
public:
5353
static char ID;
5454
bool Begin;

enzyme/Enzyme/TypeAnalysis/TypeAnalysisPrinter.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ llvm::cl::opt<std::string>
6666

6767
namespace {
6868

69-
class TypeAnalysisPrinter : public FunctionPass {
69+
class TypeAnalysisPrinter final : public FunctionPass {
7070
public:
7171
static char ID;
7272
TypeAnalysisPrinter() : FunctionPass(ID) {}

enzyme/Enzyme/Utils.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ void EmitWarning(llvm::StringRef RemarkName, const llvm::Function *F,
136136
(llvm::errs() << ... << args) << "\n";
137137
}
138138

139-
class EnzymeFailure : public llvm::DiagnosticInfoIROptimization {
139+
class EnzymeFailure final : public llvm::DiagnosticInfoIROptimization {
140140
public:
141141
EnzymeFailure(llvm::StringRef RemarkName, const llvm::DiagnosticLocation &Loc,
142142
const llvm::Instruction *CodeRegion);
@@ -941,7 +941,7 @@ llvm::Value *getOrInsertOpFloatSum(llvm::Module &M, llvm::Type *OpPtr,
941941
llvm::IRBuilder<> &B2);
942942
llvm::Function *getOrInsertExponentialAllocator(llvm::Module &M, bool ZeroInit);
943943

944-
class AssertingReplacingVH : public llvm::CallbackVH {
944+
class AssertingReplacingVH final : public llvm::CallbackVH {
945945
public:
946946
AssertingReplacingVH() = default;
947947

0 commit comments

Comments
 (0)