/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() 273 CreateSSE41FPToFPLocations(allocator_, invoke, codegen_); in VisitMathCeil() 281 CreateSSE41FPToFPLocations(allocator_, invoke, codegen_); in VisitMathFloor() 289 CreateSSE41FPToFPLocations(allocator_, invoke, codegen_); in VisitMathRint() 313 CreateSSE41FPToIntLocations(allocator_, invoke, codegen_); in VisitMathRoundFloat() 335 __ comiss(t2, codegen_->LiteralFloatAddress(0.5f)); in VisitMathRoundFloat() 337 __ addss(t1, codegen_->LiteralFloatAddress(1.0f)); in VisitMathRoundFloat() 343 codegen_->Load32BitValue(out, kPrimIntMax); in VisitMathRoundFloat() [all …]
|
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_arm_vixl.h | 50 CodeGeneratorARMVIXL* const codegen_; variable 59 explicit IntrinsicCodeGeneratorARMVIXL(CodeGeneratorARMVIXL* codegen) : codegen_(codegen) {} in IntrinsicCodeGeneratorARMVIXL() 74 CodeGeneratorARMVIXL* 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 | intrinsics_arm64.cc | 77 return codegen_->GetVIXLAssembler(); in GetVIXLAssembler() 81 return codegen_->GetGraph()->GetAllocator(); in GetAllocator() 695 codegen_->Load(DataType::Type::kReference, WRegisterFrom(invoke->GetLocations()->Out()), in VisitThreadCurrentThread() 785 GenUnsafeGet(invoke, DataType::Type::kInt32, /* is_volatile= */ false, codegen_); in VisitUnsafeGet() 788 GenUnsafeGet(invoke, DataType::Type::kInt32, /* is_volatile= */ true, codegen_); in VisitUnsafeGetVolatile() 791 GenUnsafeGet(invoke, DataType::Type::kInt64, /* is_volatile= */ false, codegen_); in VisitUnsafeGetLong() 794 GenUnsafeGet(invoke, DataType::Type::kInt64, /* is_volatile= */ true, codegen_); in VisitUnsafeGetLongVolatile() 797 GenUnsafeGet(invoke, DataType::Type::kReference, /* is_volatile= */ false, codegen_); in VisitUnsafeGetObject() 800 GenUnsafeGet(invoke, DataType::Type::kReference, /* is_volatile= */ true, codegen_); in VisitUnsafeGetObjectVolatile() 885 codegen_); in VisitUnsafePut() [all …]
|
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 | code_generator_x86_64.cc | 1453 codegen_(codegen) {} in InstructionCodeGeneratorX86_64() 1722 codegen_->MaybeIncrementHotness(/* is_frame_entry= */ false); in HandleGoto() 1730 if (!codegen_->GoesToNextBlock(got->GetBlock(), successor)) { in HandleGoto() 1731 __ jmp(codegen_->GetLabelOf(successor)); in HandleGoto() 1787 codegen_->GenerateIntCompare(left, right); in GenerateCompareTest() 1791 codegen_->GenerateLongCompare(left, right); in GenerateCompareTest() 1799 codegen_->LiteralFloatAddress( in GenerateCompareTest() 1813 codegen_->LiteralDoubleAddress( in GenerateCompareTest() 1946 codegen_->GenerateIntCompare(lhs, rhs); in GenerateTestAndBranch() 1971 Label* true_target = codegen_->GoesToNextBlock(if_instr->GetBlock(), true_successor) ? in VisitIf() [all …]
|
D | intrinsics_x86.cc | 47 codegen_(codegen) { in IntrinsicLocationsBuilderX86() 52 return down_cast<X86Assembler*>(codegen_->GetAssembler()); in GetAssembler() 56 return codegen_->GetGraph()->GetAllocator(); in GetAllocator() 367 CreateSSE41FPToFPLocations(allocator_, invoke, codegen_); in VisitMathCeil() 375 CreateSSE41FPToFPLocations(allocator_, invoke, codegen_); in VisitMathFloor() 383 CreateSSE41FPToFPLocations(allocator_, invoke, codegen_); in VisitMathRint() 392 if (!codegen_->GetInstructionSetFeatures().HasSSE4_1()) { in VisitMathRoundFloat() 435 __ comiss(t2, codegen_->LiteralInt32Address(bit_cast<int32_t, float>(0.5f), in VisitMathRoundFloat() 439 __ addss(t1, codegen_->LiteralInt32Address(bit_cast<int32_t, float>(1.0f), in VisitMathRoundFloat() 600 GenFPToFPCall(invoke, codegen_, kQuickCos); in VisitMathCos() [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 | instruction_simplifier.h | 46 codegen_(codegen), in HOptimization() 54 CodeGenerator* codegen_;
|
D | intrinsics_arm_vixl.cc | 63 return codegen_->GetAssembler(); in GetAssembler() 67 return codegen_->GetGraph()->GetAllocator(); in GetAllocator() 197 codegen_(codegen), in IntrinsicLocationsBuilderARMVIXL() 334 GenNumberOfLeadingZeros(invoke, DataType::Type::kInt32, codegen_); in VisitIntegerNumberOfLeadingZeros() 342 GenNumberOfLeadingZeros(invoke, DataType::Type::kInt64, codegen_); in VisitLongNumberOfLeadingZeros() 380 GenNumberOfTrailingZeros(invoke, DataType::Type::kInt32, codegen_); in VisitIntegerNumberOfTrailingZeros() 388 GenNumberOfTrailingZeros(invoke, DataType::Type::kInt64, codegen_); in VisitLongNumberOfTrailingZeros() 407 DCHECK(codegen_->GetInstructionSetFeatures().HasARMv8AInstructions()); in VisitMathRint() 423 DCHECK(codegen_->GetInstructionSetFeatures().HasARMv8AInstructions()); in VisitMathRoundFloat() 431 vixl32::Label* final_label = codegen_->GetFinalLabel(invoke, &done); in VisitMathRoundFloat() [all …]
|
D | code_generator_arm64.cc | 1085 scratch = codegen_->GetGraph()->HasSIMD() in AllocateScratchLocationFor() 1086 ? codegen_->GetInstructionCodeGeneratorArm64()->AllocateSIMDScratchLocation(&vixl_temps_) in AllocateScratchLocationFor() 1098 if (codegen_->GetGraph()->HasSIMD()) { in FreeScratchLocation() 1099 codegen_->GetInstructionCodeGeneratorArm64()->FreeSIMDScratchLocation(loc, &vixl_temps_); in FreeScratchLocation() 1109 codegen_->MoveLocation(move->GetDestination(), move->GetSource(), DataType::Type::kVoid); in EmitMove() 1911 new (codegen_->GetScopedAllocator()) SuspendCheckSlowPathARM64(instruction, successor); in GenerateSuspendCheck() 1913 codegen_->AddSlowPath(slow_path); in GenerateSuspendCheck() 1921 UseScratchRegisterScope temps(codegen_->GetVIXLAssembler()); in GenerateSuspendCheck() 1929 __ Cbz(temp, codegen_->GetLabelOf(successor)); in GenerateSuspendCheck() 1939 codegen_(codegen) {} in InstructionCodeGeneratorARM64() [all …]
|
D | code_generator_arm_vixl.cc | 2089 codegen_(codegen) {} in InstructionCodeGeneratorARMVIXL() 2639 codegen_->MaybeIncrementHotness(/* is_frame_entry= */ false); in HandleGoto() 2645 codegen_->MaybeGenerateMarkingRegisterCheck(/* code= */ 2); in HandleGoto() 2647 if (!codegen_->GoesToNextBlock(block, successor)) { in HandleGoto() 2648 __ B(codegen_->GetLabelOf(successor)); in HandleGoto() 2706 const auto cond = GenerateTest(condition, invert, codegen_); in GenerateCompareTestAndBranch() 2820 vixl32::Label* true_target = codegen_->GoesToNextBlock(if_instr->GetBlock(), true_successor) ? in VisitIf() 2821 nullptr : codegen_->GetLabelOf(true_successor); in VisitIf() 2822 vixl32::Label* false_target = codegen_->GoesToNextBlock(if_instr->GetBlock(), false_successor) ? in VisitIf() 2823 nullptr : codegen_->GetLabelOf(false_successor); in VisitIf() [all …]
|
D | code_generator_x86.cc | 1090 codegen_(codegen) {} in InstructionCodeGeneratorX86() 1646 codegen_->MaybeIncrementHotness(/* is_frame_entry= */ false); in HandleGoto() 1654 if (!codegen_->GoesToNextBlock(got->GetBlock(), successor)) { in HandleGoto() 1655 __ jmp(codegen_->GetLabelOf(successor)); in HandleGoto() 1750 codegen_->Compare32BitValue(left_high, val_high); in GenerateLongComparesAndJumps() 1760 codegen_->Compare32BitValue(left_low, val_low); in GenerateLongComparesAndJumps() 1805 codegen_->LiteralDoubleAddress( in GenerateFPCompare() 1819 codegen_->LiteralFloatAddress( in GenerateFPCompare() 1950 codegen_->GenerateIntCompare(lhs, rhs); in GenerateTestAndBranch() 1975 Label* true_target = codegen_->GoesToNextBlock(if_instr->GetBlock(), true_successor) ? in VisitIf() [all …]
|
D | ssa_liveness_analysis_test.cc | 36 codegen_ = CodeGenerator::Create(graph_, *compiler_options_); in SetUp() 37 CHECK(codegen_ != nullptr); in SetUp() 55 std::unique_ptr<CodeGenerator> codegen_; member in art::SsaLivenessAnalysisTest 70 SsaLivenessAnalysis ssa_analysis(graph_, codegen_.get(), GetScopedAllocator()); in TEST_F() 121 SsaLivenessAnalysis ssa_analysis(graph_, codegen_.get(), GetScopedAllocator()); in TEST_F() 194 SsaLivenessAnalysis ssa_analysis(graph_, codegen_.get(), GetScopedAllocator()); in TEST_F()
|
D | pc_relative_fixups_x86.cc | 31 codegen_(down_cast<CodeGeneratorX86*>(codegen)), in PCRelativeHandlerVisitor() 203 !IsCallFreeIntrinsic<IntrinsicLocationsBuilderX86>(invoke, codegen_)) { in HandleInvoke() 241 if (!codegen_->GetCompilerOptions().GetCompilePic()) { in HandleInvoke() 258 CodeGeneratorX86* codegen_; member in art::x86::PCRelativeHandlerVisitor 267 PCRelativeHandlerVisitor visitor(graph_, codegen_); in Run()
|
D | graph_visualizer.cc | 211 codegen_(codegen), in HGraphVisualizerPrinter() 216 codegen_->GetInstructionSet(), in HGraphVisualizerPrinter() 217 codegen_->GetAssembler().CodeBufferBaseAddress(), in HGraphVisualizerPrinter() 218 codegen_->GetAssembler().CodeBufferBaseAddress() in HGraphVisualizerPrinter() 219 + codegen_->GetAssembler().CodeSize()) in HGraphVisualizerPrinter() 317 DCHECK(codegen_ != nullptr); in DumpLocation() 319 codegen_->DumpCoreRegister(stream, location.reg()); in DumpLocation() 321 codegen_->DumpFloatingPointRegister(stream, location.reg()); in DumpLocation() 341 codegen_->DumpFloatingPointRegister(stream, location.low()); in DumpLocation() 343 codegen_->DumpFloatingPointRegister(stream, location.high()); 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 | loop_analysis.h | 136 explicit ArchNoOptsLoopHelper(const CodeGenerator& codegen) : codegen_(codegen) {} in ArchNoOptsLoopHelper() 183 const CodeGenerator& codegen_;
|