Home
last modified time | relevance | path

Searched refs:codegen_ (Results 1 – 25 of 52) sorted by relevance

123

/art/compiler/optimizing/
Dinstruction_simplifier_x86_64.cc30 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()
Dinstruction_simplifier_x86.cc30 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()
Dintrinsics_arm64.h43 : 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
Dintrinsics_x86_64.cc44 : 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 …]
Dintrinsics_arm_vixl.h50 CodeGeneratorARMVIXL* const codegen_; variable
59 explicit IntrinsicCodeGeneratorARMVIXL(CodeGeneratorARMVIXL* codegen) : codegen_(codegen) {} in IntrinsicCodeGeneratorARMVIXL()
74 CodeGeneratorARMVIXL* const codegen_; variable
Dintrinsics_x86.h53 CodeGeneratorX86* const codegen_; variable
60 explicit IntrinsicCodeGeneratorX86(CodeGeneratorX86* codegen) : codegen_(codegen) {} in IntrinsicCodeGeneratorX86()
76 CodeGeneratorX86* const codegen_; variable
Dintrinsics_x86_64.h53 CodeGeneratorX86_64* const codegen_; variable
60 explicit IntrinsicCodeGeneratorX86_64(CodeGeneratorX86_64* codegen) : codegen_(codegen) {} in IntrinsicCodeGeneratorX86_64()
76 CodeGeneratorX86_64* const codegen_; variable
Dintrinsics_arm64.cc77 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 …]
Dinstruction_simplifier_x86.h31 codegen_(codegen) {} in InstructionSimplifierX86()
38 CodeGenerator* codegen_;
Dinstruction_simplifier_x86_64.h32 codegen_(codegen) {} in InstructionSimplifierX86_64()
40 CodeGenerator* codegen_;
Dpc_relative_fixups_x86.h33 codegen_(codegen) {} in PcRelativeFixups()
40 CodeGenerator* codegen_;
Dcode_generator_x86_64.cc1453 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 …]
Dintrinsics_x86.cc47 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 …]
Dinstruction_simplifier.h46 codegen_(codegen), in HOptimization()
54 CodeGenerator* codegen_;
Dregister_allocation_resolver.cc29 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 …]
Dintrinsics_arm_vixl.cc63 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 …]
Dcode_generator_arm64.cc1085 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 …]
Dcode_generator_arm_vixl.cc2089 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 …]
Dcode_generator_x86.cc1090 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 …]
Dssa_liveness_analysis_test.cc36 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()
Dpc_relative_fixups_x86.cc31 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()
Dgraph_visualizer.cc211 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 …]
Dregister_allocator_graph_color.cc599 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 …]
Dregister_allocator_linear_scan.cc95 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 …]
Dloop_analysis.h136 explicit ArchNoOptsLoopHelper(const CodeGenerator& codegen) : codegen_(codegen) {} in ArchNoOptsLoopHelper()
183 const CodeGenerator& codegen_;

123