Home
last modified time | relevance | path

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

12

/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()
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 …]
Dintrinsics_arm_vixl.h50 CodeGenerator* const codegen_; variable
59 explicit IntrinsicCodeGeneratorARMVIXL(CodeGeneratorARMVIXL* codegen) : codegen_(codegen) {} in IntrinsicCodeGeneratorARMVIXL()
74 CodeGeneratorARMVIXL* 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_x86.h53 CodeGeneratorX86* const codegen_; variable
60 explicit IntrinsicCodeGeneratorX86(CodeGeneratorX86* codegen) : codegen_(codegen) {} in IntrinsicCodeGeneratorX86()
76 CodeGeneratorX86* const codegen_; variable
Dinstruction_simplifier_x86_64.h32 codegen_(codegen) {} in InstructionSimplifierX86_64()
40 CodeGenerator* codegen_;
Dinstruction_simplifier_x86.h31 codegen_(codegen) {} in InstructionSimplifierX86()
38 CodeGenerator* codegen_;
Dpc_relative_fixups_x86.h33 codegen_(codegen) {} in PcRelativeFixups()
40 CodeGenerator* codegen_;
Dinstruction_simplifier.h45 codegen_(codegen) {} in HOptimization()
52 CodeGenerator* codegen_;
Dintrinsics_arm64.cc70 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 …]
Dcode_generator_x86_64.cc1331 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 …]
Dintrinsics_x86.cc45 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 …]
Dintrinsics_arm_vixl.cc60 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 …]
Dcode_generator_arm64.cc1041 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 …]
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 …]
Dcode_generator_arm_vixl.cc2061 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 …]
Dcode_generator_x86.cc1069 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 …]
Dpc_relative_fixups_x86.cc31 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()
Dssa_liveness_analysis_test.cc35 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()
Dgraph_visualizer.cc192 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 …]
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 …]
Dregister_allocator.h88 CodeGenerator* const codegen_; variable

12