summaryrefslogtreecommitdiff
path: root/compiler/optimizing/optimization.cc
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/optimizing/optimization.cc')
-rw-r--r--compiler/optimizing/optimization.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/compiler/optimizing/optimization.cc b/compiler/optimizing/optimization.cc
index dd57100d88..ef1f36ab08 100644
--- a/compiler/optimizing/optimization.cc
+++ b/compiler/optimizing/optimization.cc
@@ -25,6 +25,7 @@
#endif
#ifdef ART_ENABLE_CODEGEN_riscv64
#include "critical_native_abi_fixup_riscv64.h"
+#include "instruction_simplifier_riscv64.h"
#endif
#ifdef ART_ENABLE_CODEGEN_x86
#include "pc_relative_fixups_x86.h"
@@ -114,6 +115,8 @@ const char* OptimizationPassName(OptimizationPass pass) {
#ifdef ART_ENABLE_CODEGEN_riscv64
case OptimizationPass::kCriticalNativeAbiFixupRiscv64:
return riscv64::CriticalNativeAbiFixupRiscv64::kCriticalNativeAbiFixupRiscv64PassName;
+ case OptimizationPass::kInstructionSimplifierRiscv64:
+ return riscv64::InstructionSimplifierRiscv64::kInstructionSimplifierRiscv64PassName;
#endif
#ifdef ART_ENABLE_CODEGEN_x86
case OptimizationPass::kPcRelativeFixupsX86:
@@ -163,6 +166,7 @@ OptimizationPass OptimizationPassByName(const std::string& pass_name) {
#endif
#ifdef ART_ENABLE_CODEGEN_riscv64
X(OptimizationPass::kCriticalNativeAbiFixupRiscv64);
+ X(OptimizationPass::kInstructionSimplifierRiscv64);
#endif
#ifdef ART_ENABLE_CODEGEN_x86
X(OptimizationPass::kPcRelativeFixupsX86);
@@ -314,6 +318,10 @@ ArenaVector<HOptimization*> ConstructOptimizations(
DCHECK(alt_name == nullptr) << "arch-specific pass does not support alternative name";
opt = new (allocator) riscv64::CriticalNativeAbiFixupRiscv64(graph, stats);
break;
+ case OptimizationPass::kInstructionSimplifierRiscv64:
+ DCHECK(alt_name == nullptr) << "arch-specific pass does not support alternative name";
+ opt = new (allocator) riscv64::InstructionSimplifierRiscv64(graph, stats);
+ break;
#endif
#ifdef ART_ENABLE_CODEGEN_x86
case OptimizationPass::kPcRelativeFixupsX86: