diff options
author | 2023-10-27 11:05:27 +0200 | |
---|---|---|
committer | 2023-10-30 15:37:52 +0000 | |
commit | fe7f7aa33d085ed3097ab499277c63aafdfd0e5c (patch) | |
tree | e7c3b5dd11b3a9d459a70dd933d77cb76d48dae5 /compiler/optimizing/instruction_simplifier_arm64.cc | |
parent | 178e647cfc23649acd4340fb60ce4d0f5207a526 (diff) |
Replace `gUseReadBarrier` with compiler option in compiler.
Leave a few `gUseReadBarrier` uses in JNI macro assemblers.
We shall deaal with these later.
Test: m test-art-host-gtest
Test: testrunner.py --host --optimizing
Test: run-gtests.sh
Test: testrunner.py --target --optimizing
Bug: 289805127
Change-Id: I9d2aa245cee4c650129f169a82beda7dc0dd6a35
Diffstat (limited to 'compiler/optimizing/instruction_simplifier_arm64.cc')
-rw-r--r-- | compiler/optimizing/instruction_simplifier_arm64.cc | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/compiler/optimizing/instruction_simplifier_arm64.cc b/compiler/optimizing/instruction_simplifier_arm64.cc index 671900bd9d..2c191dc3f4 100644 --- a/compiler/optimizing/instruction_simplifier_arm64.cc +++ b/compiler/optimizing/instruction_simplifier_arm64.cc @@ -33,8 +33,9 @@ using helpers::ShifterOperandSupportsExtension; class InstructionSimplifierArm64Visitor final : public HGraphVisitor { public: - InstructionSimplifierArm64Visitor(HGraph* graph, OptimizingCompilerStats* stats) - : HGraphVisitor(graph), stats_(stats) {} + InstructionSimplifierArm64Visitor( + HGraph* graph, CodeGenerator* codegen, OptimizingCompilerStats* stats) + : HGraphVisitor(graph), codegen_(codegen), stats_(stats) {} private: void RecordSimplification() { @@ -84,6 +85,7 @@ class InstructionSimplifierArm64Visitor final : public HGraphVisitor { void VisitVecLoad(HVecLoad* instruction) override; void VisitVecStore(HVecStore* instruction) override; + CodeGenerator* codegen_; OptimizingCompilerStats* stats_; }; @@ -198,7 +200,8 @@ void InstructionSimplifierArm64Visitor::VisitAnd(HAnd* instruction) { void InstructionSimplifierArm64Visitor::VisitArrayGet(HArrayGet* instruction) { size_t data_offset = CodeGenerator::GetArrayDataOffset(instruction); - if (TryExtractArrayAccessAddress(instruction, + if (TryExtractArrayAccessAddress(codegen_, + instruction, instruction->GetArray(), instruction->GetIndex(), data_offset)) { @@ -209,7 +212,8 @@ void InstructionSimplifierArm64Visitor::VisitArrayGet(HArrayGet* instruction) { void InstructionSimplifierArm64Visitor::VisitArraySet(HArraySet* instruction) { size_t access_size = DataType::Size(instruction->GetComponentType()); size_t data_offset = mirror::Array::DataOffset(access_size).Uint32Value(); - if (TryExtractArrayAccessAddress(instruction, + if (TryExtractArrayAccessAddress(codegen_, + instruction, instruction->GetArray(), instruction->GetIndex(), data_offset)) { @@ -284,7 +288,7 @@ void InstructionSimplifierArm64Visitor::VisitVecLoad(HVecLoad* instruction) { size_t size = DataType::Size(instruction->GetPackedType()); size_t offset = mirror::Array::DataOffset(size).Uint32Value(); if (TryExtractArrayAccessAddress( - instruction, instruction->GetArray(), instruction->GetIndex(), offset)) { + codegen_, instruction, instruction->GetArray(), instruction->GetIndex(), offset)) { RecordSimplification(); } } @@ -298,14 +302,14 @@ void InstructionSimplifierArm64Visitor::VisitVecStore(HVecStore* instruction) { size_t size = DataType::Size(instruction->GetPackedType()); size_t offset = mirror::Array::DataOffset(size).Uint32Value(); if (TryExtractArrayAccessAddress( - instruction, instruction->GetArray(), instruction->GetIndex(), offset)) { + codegen_, instruction, instruction->GetArray(), instruction->GetIndex(), offset)) { RecordSimplification(); } } } bool InstructionSimplifierArm64::Run() { - InstructionSimplifierArm64Visitor visitor(graph_, stats_); + InstructionSimplifierArm64Visitor visitor(graph_, codegen_, stats_); visitor.VisitReversePostOrder(); return true; } |