/art/compiler/optimizing/ |
D | instruction_simplifier_x86_64.cc | 30 codegen_(down_cast<CodeGeneratorX86_64*>(codegen)), in InstructionSimplifierX86_64Visitor() 38 return codegen_->GetInstructionSetFeatures().HasAVX2(); in HasAVX2() 54 CodeGeneratorX86_64* codegen_; member in art::x86_64::InstructionSimplifierX86_64Visitor 74 InstructionSimplifierX86_64Visitor visitor(graph_, codegen_, stats_); in Run()
|
D | instruction_simplifier_x86.cc | 30 codegen_(down_cast<CodeGeneratorX86*>(codegen)), in InstructionSimplifierX86Visitor() 38 return (codegen_->GetInstructionSetFeatures().HasAVX2()); in HasAVX2() 54 CodeGeneratorX86* codegen_; member in art::x86::InstructionSimplifierX86Visitor 78 InstructionSimplifierX86Visitor visitor(graph_, codegen_, stats_); in Run()
|
D | intrinsics_arm64.h | 43 : allocator_(allocator), codegen_(codegen) {} in IntrinsicLocationsBuilderARM64() 61 CodeGeneratorARM64* const codegen_; variable 68 explicit IntrinsicCodeGeneratorARM64(CodeGeneratorARM64* codegen) : codegen_(codegen) {} in IntrinsicCodeGeneratorARM64() 84 CodeGeneratorARM64* const codegen_; variable
|
D | intrinsics_x86_64.cc | 44 : allocator_(codegen->GetGraph()->GetAllocator()), codegen_(codegen) { in IntrinsicLocationsBuilderX86_64() 48 return down_cast<X86_64Assembler*>(codegen_->GetAssembler()); in GetAssembler() 52 return codegen_->GetGraph()->GetAllocator(); in GetAllocator() 307 CreateSSE41FPToFPLocations(allocator_, invoke, codegen_); in VisitMathCeil() 311 GenSSE41FPToFPIntrinsic(codegen_, invoke, GetAssembler(), 2); in VisitMathCeil() 315 CreateSSE41FPToFPLocations(allocator_, invoke, codegen_); in VisitMathFloor() 319 GenSSE41FPToFPIntrinsic(codegen_, invoke, GetAssembler(), 1); in VisitMathFloor() 323 CreateSSE41FPToFPLocations(allocator_, invoke, codegen_); in VisitMathRint() 327 GenSSE41FPToFPIntrinsic(codegen_, invoke, GetAssembler(), 0); in VisitMathRint() 355 CreateSSE41FPToIntLocations(allocator_, invoke, codegen_); in VisitMathRoundFloat() [all …]
|
D | intrinsics_arm_vixl.h | 50 CodeGenerator* const codegen_; variable 59 explicit IntrinsicCodeGeneratorARMVIXL(CodeGeneratorARMVIXL* codegen) : codegen_(codegen) {} in IntrinsicCodeGeneratorARMVIXL() 74 CodeGeneratorARMVIXL* const codegen_; variable
|
D | intrinsics_x86_64.h | 53 CodeGeneratorX86_64* const codegen_; variable 60 explicit IntrinsicCodeGeneratorX86_64(CodeGeneratorX86_64* codegen) : codegen_(codegen) {} in IntrinsicCodeGeneratorX86_64() 76 CodeGeneratorX86_64* const codegen_; variable
|
D | intrinsics_x86.h | 53 CodeGeneratorX86* const codegen_; variable 60 explicit IntrinsicCodeGeneratorX86(CodeGeneratorX86* codegen) : codegen_(codegen) {} in IntrinsicCodeGeneratorX86() 76 CodeGeneratorX86* const codegen_; variable
|
D | instruction_simplifier_x86_64.h | 32 codegen_(codegen) {} in InstructionSimplifierX86_64() 40 CodeGenerator* codegen_;
|
D | instruction_simplifier_x86.h | 31 codegen_(codegen) {} in InstructionSimplifierX86() 38 CodeGenerator* codegen_;
|
D | pc_relative_fixups_x86.h | 33 codegen_(codegen) {} in PcRelativeFixups() 40 CodeGenerator* codegen_;
|
D | instruction_simplifier.h | 45 codegen_(codegen) {} in HOptimization() 52 CodeGenerator* codegen_;
|
D | intrinsics_arm64.cc | 70 return codegen_->GetVIXLAssembler(); in GetVIXLAssembler() 74 return codegen_->GetGraph()->GetAllocator(); in GetAllocator() 735 codegen_->Load(DataType::Type::kReference, WRegisterFrom(invoke->GetLocations()->Out()), in VisitThreadCurrentThread() 825 GenUnsafeGet(invoke, DataType::Type::kInt32, /* is_volatile= */ false, codegen_); in VisitUnsafeGet() 828 GenUnsafeGet(invoke, DataType::Type::kInt32, /* is_volatile= */ true, codegen_); in VisitUnsafeGetVolatile() 831 GenUnsafeGet(invoke, DataType::Type::kInt64, /* is_volatile= */ false, codegen_); in VisitUnsafeGetLong() 834 GenUnsafeGet(invoke, DataType::Type::kInt64, /* is_volatile= */ true, codegen_); in VisitUnsafeGetLongVolatile() 837 GenUnsafeGet(invoke, DataType::Type::kReference, /* is_volatile= */ false, codegen_); in VisitUnsafeGetObject() 840 GenUnsafeGet(invoke, DataType::Type::kReference, /* is_volatile= */ true, codegen_); in VisitUnsafeGetObjectVolatile() 925 codegen_); in VisitUnsafePut() [all …]
|
D | code_generator_x86_64.cc | 1331 codegen_(codegen) {} in InstructionCodeGeneratorX86_64() 1599 codegen_->MaybeIncrementHotness(/* is_frame_entry= */ false); in HandleGoto() 1607 if (!codegen_->GoesToNextBlock(got->GetBlock(), successor)) { in HandleGoto() 1608 __ jmp(codegen_->GetLabelOf(successor)); in HandleGoto() 1664 codegen_->GenerateIntCompare(left, right); in GenerateCompareTest() 1668 codegen_->GenerateLongCompare(left, right); in GenerateCompareTest() 1676 codegen_->LiteralFloatAddress( in GenerateCompareTest() 1690 codegen_->LiteralDoubleAddress( in GenerateCompareTest() 1823 codegen_->GenerateIntCompare(lhs, rhs); in GenerateTestAndBranch() 1848 Label* true_target = codegen_->GoesToNextBlock(if_instr->GetBlock(), true_successor) ? in VisitIf() [all …]
|
D | intrinsics_x86.cc | 45 codegen_(codegen) { in IntrinsicLocationsBuilderX86() 50 return down_cast<X86Assembler*>(codegen_->GetAssembler()); in GetAssembler() 54 return codegen_->GetGraph()->GetAllocator(); in GetAllocator() 399 CreateSSE41FPToFPLocations(allocator_, invoke, codegen_); in VisitMathCeil() 403 GenSSE41FPToFPIntrinsic(codegen_, invoke, GetAssembler(), 2); in VisitMathCeil() 407 CreateSSE41FPToFPLocations(allocator_, invoke, codegen_); in VisitMathFloor() 411 GenSSE41FPToFPIntrinsic(codegen_, invoke, GetAssembler(), 1); in VisitMathFloor() 415 CreateSSE41FPToFPLocations(allocator_, invoke, codegen_); in VisitMathRint() 419 GenSSE41FPToFPIntrinsic(codegen_, invoke, GetAssembler(), 0); in VisitMathRint() 424 if (codegen_->GetInstructionSetFeatures().HasSSE4_1()) { in VisitMathRoundFloat() [all …]
|
D | intrinsics_arm_vixl.cc | 60 return codegen_->GetAssembler(); in GetAssembler() 64 return codegen_->GetGraph()->GetAllocator(); in GetAllocator() 246 codegen_(codegen), in IntrinsicLocationsBuilderARMVIXL() 374 GenNumberOfLeadingZeros(invoke, DataType::Type::kInt32, codegen_); in VisitIntegerNumberOfLeadingZeros() 382 GenNumberOfLeadingZeros(invoke, DataType::Type::kInt64, codegen_); in VisitLongNumberOfLeadingZeros() 420 GenNumberOfTrailingZeros(invoke, DataType::Type::kInt32, codegen_); in VisitIntegerNumberOfTrailingZeros() 428 GenNumberOfTrailingZeros(invoke, DataType::Type::kInt64, codegen_); in VisitLongNumberOfTrailingZeros() 447 DCHECK(codegen_->GetInstructionSetFeatures().HasARMv8AInstructions()); in VisitMathRint() 463 DCHECK(codegen_->GetInstructionSetFeatures().HasARMv8AInstructions()); in VisitMathRoundFloat() 471 vixl32::Label* final_label = codegen_->GetFinalLabel(invoke, &done); in VisitMathRoundFloat() [all …]
|
D | code_generator_arm64.cc | 1041 scratch = LocationFrom(codegen_->GetGraph()->HasSIMD() in AllocateScratchLocationFor() 1054 vixl_temps_.Release(codegen_->GetGraph()->HasSIMD() ? QRegisterFrom(loc) : DRegisterFrom(loc)); in FreeScratchLocation() 1061 codegen_->MoveLocation(move->GetDestination(), move->GetSource(), DataType::Type::kVoid); in EmitMove() 1878 new (codegen_->GetScopedAllocator()) SuspendCheckSlowPathARM64(instruction, successor); in GenerateSuspendCheck() 1880 codegen_->AddSlowPath(slow_path); in GenerateSuspendCheck() 1888 UseScratchRegisterScope temps(codegen_->GetVIXLAssembler()); in GenerateSuspendCheck() 1896 __ Cbz(temp, codegen_->GetLabelOf(successor)); in GenerateSuspendCheck() 1906 codegen_(codegen) {} in InstructionCodeGeneratorARM64() 1986 codegen_->GenerateFieldLoadWithBakerReadBarrier( in HandleFieldGet() 2000 codegen_->LoadAcquire( in HandleFieldGet() [all …]
|
D | register_allocation_resolver.cc | 29 codegen_(codegen), in RegisterAllocationResolver() 51 codegen_->InitializeCodeGeneration(spill_slots, in Resolve() 54 codegen_->GetGraph()->GetLinearOrder()); in Resolve() 66 location = Location::StackSlot(location.GetStackIndex() + codegen_->GetFrameSize()); in Resolve() 70 location = Location::DoubleStackSlot(location.GetStackIndex() + codegen_->GetFrameSize()); in Resolve() 74 current->SetSpillSlot(current->GetSpillSlot() + codegen_->GetFrameSize()); in Resolve() 152 for (HBasicBlock* block : codegen_->GetGraph()->GetLinearOrder()) { in Resolve() 182 for (HBasicBlock* block : codegen_->GetGraph()->GetLinearOrder()) { in Resolve() 216 if (codegen_->NeedsTwoRegisters(DataType::Type::kFloat64)) { in Resolve() 276 size_t core_register_spill_size = codegen_->GetWordSize(); in CalculateMaximumSafepointSpillSize() [all …]
|
D | code_generator_arm_vixl.cc | 2061 codegen_(codegen) {} in InstructionCodeGeneratorARMVIXL() 2556 codegen_->MaybeIncrementHotness(/* is_frame_entry= */ false); in HandleGoto() 2562 codegen_->MaybeGenerateMarkingRegisterCheck(/* code= */ 2); in HandleGoto() 2564 if (!codegen_->GoesToNextBlock(block, successor)) { in HandleGoto() 2565 __ B(codegen_->GetLabelOf(successor)); in HandleGoto() 2623 const auto cond = GenerateTest(condition, invert, codegen_); in GenerateCompareTestAndBranch() 2737 vixl32::Label* true_target = codegen_->GoesToNextBlock(if_instr->GetBlock(), true_successor) ? in VisitIf() 2738 nullptr : codegen_->GetLabelOf(true_successor); in VisitIf() 2739 vixl32::Label* false_target = codegen_->GoesToNextBlock(if_instr->GetBlock(), false_successor) ? in VisitIf() 2740 nullptr : codegen_->GetLabelOf(false_successor); in VisitIf() [all …]
|
D | code_generator_x86.cc | 1069 codegen_(codegen) {} in InstructionCodeGeneratorX86() 1452 codegen_->MaybeIncrementHotness(/* is_frame_entry= */ false); in HandleGoto() 1460 if (!codegen_->GoesToNextBlock(got->GetBlock(), successor)) { in HandleGoto() 1461 __ jmp(codegen_->GetLabelOf(successor)); in HandleGoto() 1556 codegen_->Compare32BitValue(left_high, val_high); in GenerateLongComparesAndJumps() 1566 codegen_->Compare32BitValue(left_low, val_low); in GenerateLongComparesAndJumps() 1611 codegen_->LiteralDoubleAddress( in GenerateFPCompare() 1625 codegen_->LiteralFloatAddress( in GenerateFPCompare() 1756 codegen_->GenerateIntCompare(lhs, rhs); in GenerateTestAndBranch() 1781 Label* true_target = codegen_->GoesToNextBlock(if_instr->GetBlock(), true_successor) ? in VisitIf() [all …]
|
D | pc_relative_fixups_x86.cc | 31 codegen_(down_cast<CodeGeneratorX86*>(codegen)), in PCRelativeHandlerVisitor() 212 !IsCallFreeIntrinsic<IntrinsicLocationsBuilderX86>(invoke, codegen_)) { in HandleInvoke() 232 if (!codegen_->GetCompilerOptions().GetCompilePic()) { in HandleInvoke() 250 CodeGeneratorX86* codegen_; member in art::x86::PCRelativeHandlerVisitor 259 PCRelativeHandlerVisitor visitor(graph_, codegen_); in Run()
|
D | ssa_liveness_analysis_test.cc | 35 codegen_ = CodeGenerator::Create(graph_, *compiler_options_); in SetUp() 36 CHECK(codegen_ != nullptr) << instruction_set_ << " is not a supported target architecture."; in SetUp() 53 std::unique_ptr<CodeGenerator> codegen_; member in art::SsaLivenessAnalysisTest 68 SsaLivenessAnalysis ssa_analysis(graph_, codegen_.get(), GetScopedAllocator()); in TEST_F() 119 SsaLivenessAnalysis ssa_analysis(graph_, codegen_.get(), GetScopedAllocator()); in TEST_F() 192 SsaLivenessAnalysis ssa_analysis(graph_, codegen_.get(), GetScopedAllocator()); in TEST_F()
|
D | graph_visualizer.cc | 192 codegen_(codegen), in HGraphVisualizerPrinter() 196 codegen_.GetInstructionSet(), in HGraphVisualizerPrinter() 197 codegen_.GetAssembler().CodeBufferBaseAddress(), in HGraphVisualizerPrinter() 198 codegen_.GetAssembler().CodeBufferBaseAddress() in HGraphVisualizerPrinter() 199 + codegen_.GetAssembler().CodeSize()) in HGraphVisualizerPrinter() 289 codegen_.DumpCoreRegister(stream, location.reg()); in DumpLocation() 291 codegen_.DumpFloatingPointRegister(stream, location.reg()); in DumpLocation() 311 codegen_.DumpFloatingPointRegister(stream, location.low()); in DumpLocation() 313 codegen_.DumpFloatingPointRegister(stream, location.high()); in DumpLocation() 315 codegen_.DumpCoreRegister(stream, location.low()); in DumpLocation() [all …]
|
D | register_allocator_graph_color.cc | 599 physical_core_nodes_.resize(codegen_->GetNumberOfCoreRegisters(), nullptr); in RegisterAllocatorGraphColor() 600 for (size_t i = 0; i < codegen_->GetNumberOfCoreRegisters(); ++i) { in RegisterAllocatorGraphColor() 605 if (codegen_->IsBlockedCoreRegister(i)) { in RegisterAllocatorGraphColor() 610 physical_fp_nodes_.resize(codegen_->GetNumberOfFloatingPointRegisters(), nullptr); in RegisterAllocatorGraphColor() 611 for (size_t i = 0; i < codegen_->GetNumberOfFloatingPointRegisters(); ++i) { in RegisterAllocatorGraphColor() 617 if (codegen_->IsBlockedFloatingPointRegister(i)) { in RegisterAllocatorGraphColor() 634 ? codegen_->GetNumberOfCoreRegisters() in AllocateRegisters() 635 : codegen_->GetNumberOfFloatingPointRegisters(); in AllocateRegisters() 697 codegen_->AddAllocatedRegister(low_reg); in AllocateRegisters() 704 codegen_->AddAllocatedRegister(high_reg); in AllocateRegisters() [all …]
|
D | register_allocator_linear_scan.cc | 95 RegisterAllocationResolver(codegen_, liveness_) in AllocateRegisters() 114 for (HBasicBlock* block : codegen_->GetGraph()->GetLinearOrder()) { in AllocateRegisters() 153 for (size_t i = 0; i < codegen_->GetNumberOfCoreRegisters(); ++i) { in BlockRegisters() 154 if (!caller_save_only || !codegen_->IsCoreCalleeSaveRegister(i)) { in BlockRegisters() 158 for (size_t i = 0; i < codegen_->GetNumberOfFloatingPointRegisters(); ++i) { in BlockRegisters() 159 if (!caller_save_only || !codegen_->IsFloatingPointCalleeSaveRegister(i)) { in BlockRegisters() 168 for (HBasicBlock* block : codegen_->GetGraph()->GetLinearPostOrder()) { in AllocateRegistersInternal() 187 number_of_registers_ = codegen_->GetNumberOfCoreRegisters(); in AllocateRegistersInternal() 207 number_of_registers_ = codegen_->GetNumberOfFloatingPointRegisters(); in AllocateRegistersInternal() 236 codegen_->AddAllocatedRegister(temp); in ProcessInstruction() [all …]
|
D | register_allocator.h | 88 CodeGenerator* const codegen_; variable
|