summaryrefslogtreecommitdiff
path: root/compiler/optimizing/optimizing_compiler.cc
diff options
context:
space:
mode:
author Anton Romanov <anton.romanov@syntacore.com> 2024-02-19 14:07:25 +0300
committer Anton Romanov <anton.romanov@syntacore.com> 2024-04-04 05:16:22 +0300
commitd923c47f745a96f5916af766dcb1c7152021b960 (patch)
tree2020142ce641350ee44e70847ccf7b8033a0d3b6 /compiler/optimizing/optimizing_compiler.cc
parentaa2fe78514b1ddd8b3c0ed125ebda80c32599a70 (diff)
riscv64: Create InstructionSimplifierRiscv64, ShiftAdd
Create InstructionSimplifierRiscv64 optimization. Replace Shl (1|2|3) and Add with Riscv64ShiftAdd IR instruction. By compiling with dex2oat all the methods of applications below I got: Facebook: 45 cases TikTok: 26 cases YouTube: 19 cases of the pattern. Test: art/test/testrunner/testrunner.py --target --64 --ndebug --optimizing Change-Id: I88903450d998983bb2a628942112d7518099c3f5
Diffstat (limited to 'compiler/optimizing/optimizing_compiler.cc')
-rw-r--r--compiler/optimizing/optimizing_compiler.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/compiler/optimizing/optimizing_compiler.cc b/compiler/optimizing/optimizing_compiler.cc
index f532681527..763dc88e8a 100644
--- a/compiler/optimizing/optimizing_compiler.cc
+++ b/compiler/optimizing/optimizing_compiler.cc
@@ -535,6 +535,7 @@ bool OptimizingCompiler::RunArchOptimizations(HGraph* graph,
#if defined(ART_ENABLE_CODEGEN_riscv64)
case InstructionSet::kRiscv64: {
OptimizationDef riscv64_optimizations[] = {
+ OptDef(OptimizationPass::kInstructionSimplifierRiscv64),
OptDef(OptimizationPass::kSideEffectsAnalysis),
OptDef(OptimizationPass::kGlobalValueNumbering, "GVN$after_arch"),
OptDef(OptimizationPass::kCriticalNativeAbiFixupRiscv64)