diff options
author | 2023-04-05 09:43:21 +0200 | |
---|---|---|
committer | 2023-04-05 09:48:42 +0200 | |
commit | 30759fafda169202ffa03a9373894f6b7c19079c (patch) | |
tree | 8ad1878092726e094226c25b4cf3affffa9c56de | |
parent | a7ad4d81babac2c423b50d8c9f9f5fd51a09db78 (diff) |
Mark graph visitor classes as final.
This should improve optimization opportunities for clang++.
Test: buildbot-build.sh
Change-Id: Ib0c1ebfb157176a9063cca2ed465cff6fb280442
-rw-r--r-- | compiler/optimizing/bounds_check_elimination.cc | 2 | ||||
-rw-r--r-- | compiler/optimizing/constant_folding.cc | 2 | ||||
-rw-r--r-- | compiler/optimizing/constructor_fence_redundancy_elimination.cc | 2 | ||||
-rw-r--r-- | compiler/optimizing/instruction_simplifier.cc | 2 | ||||
-rw-r--r-- | compiler/optimizing/instruction_simplifier_arm.cc | 2 | ||||
-rw-r--r-- | compiler/optimizing/instruction_simplifier_arm64.cc | 2 | ||||
-rw-r--r-- | compiler/optimizing/instruction_simplifier_x86.cc | 2 | ||||
-rw-r--r-- | compiler/optimizing/instruction_simplifier_x86_64.cc | 2 | ||||
-rw-r--r-- | compiler/optimizing/nodes.h | 2 | ||||
-rw-r--r-- | compiler/optimizing/optimizing_unit_test.h | 2 | ||||
-rw-r--r-- | compiler/optimizing/pc_relative_fixups_x86.cc | 2 | ||||
-rw-r--r-- | compiler/optimizing/reference_type_propagation.cc | 2 | ||||
-rw-r--r-- | compiler/optimizing/scheduler_arm.h | 2 | ||||
-rw-r--r-- | compiler/optimizing/scheduler_arm64.h | 2 | ||||
-rw-r--r-- | compiler/optimizing/write_barrier_elimination.cc | 2 | ||||
-rw-r--r-- | compiler/optimizing/x86_memory_gen.cc | 2 |
16 files changed, 16 insertions, 16 deletions
diff --git a/compiler/optimizing/bounds_check_elimination.cc b/compiler/optimizing/bounds_check_elimination.cc index 210f978cc2..919abfdc49 100644 --- a/compiler/optimizing/bounds_check_elimination.cc +++ b/compiler/optimizing/bounds_check_elimination.cc @@ -490,7 +490,7 @@ class MonotonicValueRange : public ValueRange { DISALLOW_COPY_AND_ASSIGN(MonotonicValueRange); }; -class BCEVisitor : public HGraphVisitor { +class BCEVisitor final : public HGraphVisitor { public: // The least number of bounds checks that should be eliminated by triggering // the deoptimization technique. diff --git a/compiler/optimizing/constant_folding.cc b/compiler/optimizing/constant_folding.cc index b737fb396f..b8ffe9efdd 100644 --- a/compiler/optimizing/constant_folding.cc +++ b/compiler/optimizing/constant_folding.cc @@ -26,7 +26,7 @@ namespace art HIDDEN { // This visitor tries to simplify instructions that can be evaluated // as constants. -class HConstantFoldingVisitor : public HGraphDelegateVisitor { +class HConstantFoldingVisitor final : public HGraphDelegateVisitor { public: explicit HConstantFoldingVisitor(HGraph* graph, OptimizingCompilerStats* stats) : HGraphDelegateVisitor(graph, stats) {} diff --git a/compiler/optimizing/constructor_fence_redundancy_elimination.cc b/compiler/optimizing/constructor_fence_redundancy_elimination.cc index 66ec377f0a..d9b7652f32 100644 --- a/compiler/optimizing/constructor_fence_redundancy_elimination.cc +++ b/compiler/optimizing/constructor_fence_redundancy_elimination.cc @@ -25,7 +25,7 @@ namespace art HIDDEN { static constexpr bool kCfreLogFenceInputCount = false; // TODO: refactor this code by reusing escape analysis. -class CFREVisitor : public HGraphVisitor { +class CFREVisitor final : public HGraphVisitor { public: CFREVisitor(HGraph* graph, OptimizingCompilerStats* stats) : HGraphVisitor(graph), diff --git a/compiler/optimizing/instruction_simplifier.cc b/compiler/optimizing/instruction_simplifier.cc index b772fbbbb6..bf51b5dcf4 100644 --- a/compiler/optimizing/instruction_simplifier.cc +++ b/compiler/optimizing/instruction_simplifier.cc @@ -37,7 +37,7 @@ namespace art HIDDEN { // is replaced with its copy if it is clonable. static constexpr bool kTestInstructionClonerExhaustively = false; -class InstructionSimplifierVisitor : public HGraphDelegateVisitor { +class InstructionSimplifierVisitor final : public HGraphDelegateVisitor { public: InstructionSimplifierVisitor(HGraph* graph, CodeGenerator* codegen, diff --git a/compiler/optimizing/instruction_simplifier_arm.cc b/compiler/optimizing/instruction_simplifier_arm.cc index 88895b68a3..05a518d544 100644 --- a/compiler/optimizing/instruction_simplifier_arm.cc +++ b/compiler/optimizing/instruction_simplifier_arm.cc @@ -31,7 +31,7 @@ using helpers::IsSubRightSubLeftShl; namespace arm { -class InstructionSimplifierArmVisitor : public HGraphVisitor { +class InstructionSimplifierArmVisitor final : public HGraphVisitor { public: InstructionSimplifierArmVisitor(HGraph* graph, OptimizingCompilerStats* stats) : HGraphVisitor(graph), stats_(stats) {} diff --git a/compiler/optimizing/instruction_simplifier_arm64.cc b/compiler/optimizing/instruction_simplifier_arm64.cc index bed7ff7d55..671900bd9d 100644 --- a/compiler/optimizing/instruction_simplifier_arm64.cc +++ b/compiler/optimizing/instruction_simplifier_arm64.cc @@ -31,7 +31,7 @@ namespace arm64 { using helpers::ShifterOperandSupportsExtension; -class InstructionSimplifierArm64Visitor : public HGraphVisitor { +class InstructionSimplifierArm64Visitor final : public HGraphVisitor { public: InstructionSimplifierArm64Visitor(HGraph* graph, OptimizingCompilerStats* stats) : HGraphVisitor(graph), stats_(stats) {} diff --git a/compiler/optimizing/instruction_simplifier_x86.cc b/compiler/optimizing/instruction_simplifier_x86.cc index 805dd49644..5a4345d589 100644 --- a/compiler/optimizing/instruction_simplifier_x86.cc +++ b/compiler/optimizing/instruction_simplifier_x86.cc @@ -21,7 +21,7 @@ namespace art HIDDEN { namespace x86 { -class InstructionSimplifierX86Visitor : public HGraphVisitor { +class InstructionSimplifierX86Visitor final : public HGraphVisitor { public: InstructionSimplifierX86Visitor(HGraph* graph, CodeGenerator* codegen, diff --git a/compiler/optimizing/instruction_simplifier_x86_64.cc b/compiler/optimizing/instruction_simplifier_x86_64.cc index b783918879..9ba1a8a960 100644 --- a/compiler/optimizing/instruction_simplifier_x86_64.cc +++ b/compiler/optimizing/instruction_simplifier_x86_64.cc @@ -21,7 +21,7 @@ namespace art HIDDEN { namespace x86_64 { -class InstructionSimplifierX86_64Visitor : public HGraphVisitor { +class InstructionSimplifierX86_64Visitor final : public HGraphVisitor { public: InstructionSimplifierX86_64Visitor(HGraph* graph, CodeGenerator* codegen, diff --git a/compiler/optimizing/nodes.h b/compiler/optimizing/nodes.h index 965ee90036..fc5d2196da 100644 --- a/compiler/optimizing/nodes.h +++ b/compiler/optimizing/nodes.h @@ -8591,7 +8591,7 @@ HInstruction* ReplaceInstrOrPhiByClone(HInstruction* instr); // Create a clone for each clonable instructions/phis and replace the original with the clone. // // Used for testing individual instruction cloner. -class CloneAndReplaceInstructionVisitor : public HGraphDelegateVisitor { +class CloneAndReplaceInstructionVisitor final : public HGraphDelegateVisitor { public: explicit CloneAndReplaceInstructionVisitor(HGraph* graph) : HGraphDelegateVisitor(graph), instr_replaced_by_clones_count_(0) {} diff --git a/compiler/optimizing/optimizing_unit_test.h b/compiler/optimizing/optimizing_unit_test.h index d0df4b89e5..f18ffc7f83 100644 --- a/compiler/optimizing/optimizing_unit_test.h +++ b/compiler/optimizing/optimizing_unit_test.h @@ -573,7 +573,7 @@ inline std::ostream& operator<<(std::ostream& oss, const AdjacencyListGraph& alg return alg.Dump(oss); } -class PatternMatchGraphVisitor : public HGraphVisitor { +class PatternMatchGraphVisitor final : public HGraphVisitor { private: struct HandlerWrapper { public: diff --git a/compiler/optimizing/pc_relative_fixups_x86.cc b/compiler/optimizing/pc_relative_fixups_x86.cc index b7e773f541..d3da3d3ce1 100644 --- a/compiler/optimizing/pc_relative_fixups_x86.cc +++ b/compiler/optimizing/pc_relative_fixups_x86.cc @@ -24,7 +24,7 @@ namespace x86 { /** * Finds instructions that need the constant area base as an input. */ -class PCRelativeHandlerVisitor : public HGraphVisitor { +class PCRelativeHandlerVisitor final : public HGraphVisitor { public: PCRelativeHandlerVisitor(HGraph* graph, CodeGenerator* codegen) : HGraphVisitor(graph), diff --git a/compiler/optimizing/reference_type_propagation.cc b/compiler/optimizing/reference_type_propagation.cc index 74e295e70f..91bae5f49b 100644 --- a/compiler/optimizing/reference_type_propagation.cc +++ b/compiler/optimizing/reference_type_propagation.cc @@ -41,7 +41,7 @@ static inline ObjPtr<mirror::DexCache> FindDexCacheWithHint( } } -class ReferenceTypePropagation::RTPVisitor : public HGraphDelegateVisitor { +class ReferenceTypePropagation::RTPVisitor final : public HGraphDelegateVisitor { public: RTPVisitor(HGraph* graph, Handle<mirror::DexCache> hint_dex_cache, bool is_first_run) : HGraphDelegateVisitor(graph), diff --git a/compiler/optimizing/scheduler_arm.h b/compiler/optimizing/scheduler_arm.h index 73103df971..0da21c187f 100644 --- a/compiler/optimizing/scheduler_arm.h +++ b/compiler/optimizing/scheduler_arm.h @@ -47,7 +47,7 @@ static constexpr uint32_t kArmNopLatency = 2; static constexpr uint32_t kArmLoadWithBakerReadBarrierLatency = 18; static constexpr uint32_t kArmRuntimeTypeCheckLatency = 46; -class SchedulingLatencyVisitorARM : public SchedulingLatencyVisitor { +class SchedulingLatencyVisitorARM final : public SchedulingLatencyVisitor { public: explicit SchedulingLatencyVisitorARM(CodeGenerator* codegen) : codegen_(down_cast<CodeGeneratorARMVIXL*>(codegen)) {} diff --git a/compiler/optimizing/scheduler_arm64.h b/compiler/optimizing/scheduler_arm64.h index 420f5583ec..ec41577e9d 100644 --- a/compiler/optimizing/scheduler_arm64.h +++ b/compiler/optimizing/scheduler_arm64.h @@ -56,7 +56,7 @@ static constexpr uint32_t kArm64SIMDDivDoubleLatency = 60; static constexpr uint32_t kArm64SIMDDivFloatLatency = 30; static constexpr uint32_t kArm64SIMDTypeConversionInt2FPLatency = 10; -class SchedulingLatencyVisitorARM64 : public SchedulingLatencyVisitor { +class SchedulingLatencyVisitorARM64 final : public SchedulingLatencyVisitor { public: // Default visitor for instructions not handled specifically below. void VisitInstruction(HInstruction* ATTRIBUTE_UNUSED) override { diff --git a/compiler/optimizing/write_barrier_elimination.cc b/compiler/optimizing/write_barrier_elimination.cc index 9023cc24b7..eb70b670fe 100644 --- a/compiler/optimizing/write_barrier_elimination.cc +++ b/compiler/optimizing/write_barrier_elimination.cc @@ -23,7 +23,7 @@ namespace art HIDDEN { -class WBEVisitor : public HGraphVisitor { +class WBEVisitor final : public HGraphVisitor { public: WBEVisitor(HGraph* graph, OptimizingCompilerStats* stats) : HGraphVisitor(graph), diff --git a/compiler/optimizing/x86_memory_gen.cc b/compiler/optimizing/x86_memory_gen.cc index 82652142a7..e266618980 100644 --- a/compiler/optimizing/x86_memory_gen.cc +++ b/compiler/optimizing/x86_memory_gen.cc @@ -24,7 +24,7 @@ namespace x86 { /** * Replace instructions with memory operand forms. */ -class MemoryOperandVisitor : public HGraphVisitor { +class MemoryOperandVisitor final : public HGraphVisitor { public: MemoryOperandVisitor(HGraph* graph, bool do_implicit_null_checks) : HGraphVisitor(graph), |