Home
last modified time | relevance | path

Searched refs:codegen (Results 1 – 25 of 75) sorted by relevance

123

/art/compiler/optimizing/
Dintrinsics_utils.h50 Location MoveArguments(CodeGenerator* codegen) { in MoveArguments() argument
52 IntrinsicVisitor::MoveArguments(invoke_, codegen, &calling_convention_visitor); in MoveArguments()
56 void EmitNativeCode(CodeGenerator* codegen) override { in EmitNativeCode() argument
57 TAssembler* assembler = down_cast<TAssembler*>(codegen->GetAssembler()); in EmitNativeCode()
60 this->SaveLiveRegisters(codegen, invoke_->GetLocations()); in EmitNativeCode()
62 Location method_loc = MoveArguments(codegen); in EmitNativeCode()
69 codegen->GenerateStaticOrDirectCall(invoke_static_or_direct, method_loc, this); in EmitNativeCode()
71 codegen->GenerateVirtualCall(invoke_->AsInvokeVirtual(), method_loc, this); in EmitNativeCode()
74 codegen->GenerateInvokePolymorphicCall(invoke_->AsInvokePolymorphic(), this); in EmitNativeCode()
87 codegen->MoveFromReturnRegister(out, invoke_->GetType()); in EmitNativeCode()
[all …]
Doptimizing_compiler.cc107 CodeGenerator* codegen, in PassObserver() argument
120 visualizer_(&visualizer_oss_, graph, codegen), in PassObserver()
121 codegen_(codegen), in PassObserver()
130 codegen->SetDisassemblyInformation(&disasm_info_); in PassObserver()
310 CodeGenerator* codegen, in RunOptimizations() argument
322 codegen, in RunOptimizations()
351 CodeGenerator* codegen, in RunOptimizations() argument
356 graph, codegen, dex_compilation_unit, pass_observer, definitions, length); in RunOptimizations()
360 CodeGenerator* codegen,
368 CodeGenerator* codegen,
[all …]
Dregister_allocator_test.cc69 const CodeGenerator& codegen) { in ValidateIntervals() argument
73 codegen, in ValidateIntervals()
92 x86::CodeGeneratorX86 codegen(graph, *compiler_options_); in Check() local
93 SsaLivenessAnalysis liveness(graph, &codegen, GetScopedAllocator()); in Check()
96 RegisterAllocator::Create(GetScopedAllocator(), &codegen, liveness, strategy); in Check()
107 x86::CodeGeneratorX86 codegen(graph, *compiler_options_); in TEST_F() local
115 ASSERT_TRUE(ValidateIntervals(intervals, codegen)); in TEST_F()
118 ASSERT_FALSE(ValidateIntervals(intervals, codegen)); in TEST_F()
128 ASSERT_TRUE(ValidateIntervals(intervals, codegen)); in TEST_F()
131 ASSERT_TRUE(ValidateIntervals(intervals, codegen)); in TEST_F()
[all …]
Dsharpening.h37 CodeGenerator* codegen);
41 CodeGenerator* codegen,
47 CodeGenerator* codegen,
53 CodeGenerator* codegen,
Dsharpening.cc64 CodeGenerator* codegen) { in SharpenLoadMethod() argument
88 const CompilerOptions& compiler_options = codegen->GetCompilerOptions(); in SharpenLoadMethod()
89 if (callee == codegen->GetGraph()->GetArtMethod() && in SharpenLoadMethod()
90 !codegen->GetGraph()->IsDebuggable() && in SharpenLoadMethod()
149 if (codegen->GetGraph()->IsDebuggable()) { in SharpenLoadMethod()
158 return codegen->GetSupportedInvokeStaticOrDirectDispatch(desired_dispatch_info, callee); in SharpenLoadMethod()
163 CodeGenerator* codegen, in ComputeLoadClassKind() argument
172 const CompilerOptions& compiler_options = codegen->GetCompilerOptions(); in ComputeLoadClassKind()
276 HLoadClass::LoadKind load_kind = codegen->GetSupportedLoadClassKind(desired_load_kind); in ComputeLoadClassKind()
292 static inline bool CanUseTypeCheckBitstring(ObjPtr<mirror::Class> klass, CodeGenerator* codegen) in CanUseTypeCheckBitstring() argument
[all …]
Dregister_allocator.cc33 CodeGenerator* codegen, in RegisterAllocator() argument
36 codegen_(codegen), in RegisterAllocator()
40 CodeGenerator* codegen, in Create() argument
46 new (allocator) RegisterAllocatorLinearScan(allocator, codegen, analysis)); in Create()
49 new (allocator) RegisterAllocatorGraphColor(allocator, codegen, analysis)); in Create()
101 const CodeGenerator& codegen, in ValidateIntervals() argument
105 ? codegen.GetNumberOfCoreRegisters() in ValidateIntervals()
106 : codegen.GetNumberOfFloatingPointRegisters(); in ValidateIntervals()
107 ScopedArenaAllocator allocator(codegen.GetGraph()->GetArenaStack()); in ValidateIntervals()
157 CHECK(codegen.HasAllocatedRegister(processing_core_registers, current->GetRegister())); in ValidateIntervals()
[all …]
Dintrinsics_arm64.h42 explicit IntrinsicLocationsBuilderARM64(ArenaAllocator* allocator, CodeGeneratorARM64* codegen) in IntrinsicLocationsBuilderARM64() argument
43 : allocator_(allocator), codegen_(codegen) {} in IntrinsicLocationsBuilderARM64()
68 explicit IntrinsicCodeGeneratorARM64(CodeGeneratorARM64* codegen) : codegen_(codegen) {} in IntrinsicCodeGeneratorARM64() argument
Dcodegen_test_utils.h246 const CodeGenerator& codegen, in Run() argument
249 InstructionSet target_isa = codegen.GetInstructionSet(); in Run()
281 static void RunCodeNoCheck(CodeGenerator* codegen, in RunCodeNoCheck() argument
288 SsaLivenessAnalysis liveness(graph, codegen, &local_allocator); in RunCodeNoCheck()
289 PrepareForRegisterAllocation(graph, codegen->GetCompilerOptions()).Run(); in RunCodeNoCheck()
292 RegisterAllocator::Create(&local_allocator, codegen, liveness); in RunCodeNoCheck()
297 codegen->Compile(&allocator); in RunCodeNoCheck()
298 Run(allocator, *codegen, has_result, expected); in RunCodeNoCheck()
302 static void RunCode(CodeGenerator* codegen, in RunCode() argument
308 RunCodeNoCheck(codegen, graph, hook_before_codegen, has_result, expected); in RunCode()
[all …]
Doptimization.cc170 CodeGenerator* codegen, in ConstructOptimizations() argument
213 graph, *codegen, most_recent_induction, stats, pass_name); in ConstructOptimizations()
234 codegen, in ConstructOptimizations()
249 opt = new (allocator) InstructionSimplifier(graph, codegen, stats, pass_name); in ConstructOptimizations()
253 codegen, in ConstructOptimizations()
272 graph, codegen->GetCompilerOptions().GetInstructionSet(), codegen, pass_name); in ConstructOptimizations()
296 opt = new (allocator) x86::PcRelativeFixups(graph, codegen, stats); in ConstructOptimizations()
300 opt = new (allocator) x86::X86MemoryOperandGeneration(graph, codegen, stats); in ConstructOptimizations()
303 opt = new (allocator) x86::InstructionSimplifierX86(graph, codegen, stats); in ConstructOptimizations()
308 opt = new (allocator) x86_64::InstructionSimplifierX86_64(graph, codegen, stats); in ConstructOptimizations()
Dlive_ranges_test.cc67 std::unique_ptr<CodeGenerator> codegen = CodeGenerator::Create(graph, *compiler_options_); in TEST_F() local
68 SsaLivenessAnalysis liveness(graph, codegen.get(), GetScopedAllocator()); in TEST_F()
111 std::unique_ptr<CodeGenerator> codegen = CodeGenerator::Create(graph, *compiler_options_); in TEST_F() local
112 SsaLivenessAnalysis liveness(graph, codegen.get(), GetScopedAllocator()); in TEST_F()
158 std::unique_ptr<CodeGenerator> codegen = CodeGenerator::Create(graph, *compiler_options_); in TEST_F() local
159 SsaLivenessAnalysis liveness(graph, codegen.get(), GetScopedAllocator()); in TEST_F()
233 std::unique_ptr<CodeGenerator> codegen = CodeGenerator::Create(graph, *compiler_options_); in TEST_F() local
234 SsaLivenessAnalysis liveness(graph, codegen.get(), GetScopedAllocator()); in TEST_F()
308 std::unique_ptr<CodeGenerator> codegen = CodeGenerator::Create(graph, *compiler_options_); in TEST_F() local
309 SsaLivenessAnalysis liveness(graph, codegen.get(), GetScopedAllocator()); in TEST_F()
[all …]
Dloop_analysis.cc80 explicit ArchDefaultLoopHelper(const CodeGenerator& codegen) : ArchNoOptsLoopHelper(codegen) {} in ArchDefaultLoopHelper() argument
137 explicit Arm64LoopHelper(const CodeGenerator& codegen) : ArchDefaultLoopHelper(codegen) {} in Arm64LoopHelper() argument
319 explicit X86_64LoopHelper(const CodeGenerator& codegen) : ArchDefaultLoopHelper(codegen) {} in X86_64LoopHelper() argument
410 ArchNoOptsLoopHelper* ArchNoOptsLoopHelper::Create(const CodeGenerator& codegen, in Create() argument
412 InstructionSet isa = codegen.GetInstructionSet(); in Create()
415 return new (allocator) Arm64LoopHelper(codegen); in Create()
418 return new (allocator) X86_64LoopHelper(codegen); in Create()
421 return new (allocator) ArchDefaultLoopHelper(codegen); in Create()
Dintrinsics_x86_64.h35 explicit IntrinsicLocationsBuilderX86_64(CodeGeneratorX86_64* codegen);
60 explicit IntrinsicCodeGeneratorX86_64(CodeGeneratorX86_64* codegen) : codegen_(codegen) {} in IntrinsicCodeGeneratorX86_64() argument
Dintrinsics_arm_vixl.h32 explicit IntrinsicLocationsBuilderARMVIXL(CodeGeneratorARMVIXL* codegen);
59 explicit IntrinsicCodeGeneratorARMVIXL(CodeGeneratorARMVIXL* codegen) : codegen_(codegen) {} in IntrinsicCodeGeneratorARMVIXL() argument
Dregister_allocator.h49 CodeGenerator* codegen,
67 const CodeGenerator& codegen,
75 CodeGenerator* codegen,
Dintrinsics_x86.h35 explicit IntrinsicLocationsBuilderX86(CodeGeneratorX86* codegen);
60 explicit IntrinsicCodeGeneratorX86(CodeGeneratorX86* codegen) : codegen_(codegen) {} in IntrinsicCodeGeneratorX86() argument
Dinstruction_simplifier_x86_64.h30 InstructionSimplifierX86_64(HGraph* graph, CodeGenerator* codegen, OptimizingCompilerStats* stats) in InstructionSimplifierX86_64() argument
32 codegen_(codegen) {} in InstructionSimplifierX86_64()
Dinstruction_simplifier_x86.h29 InstructionSimplifierX86(HGraph* graph, CodeGenerator* codegen, OptimizingCompilerStats* stats) in InstructionSimplifierX86() argument
31 codegen_(codegen) {} in InstructionSimplifierX86()
Dpc_relative_fixups_x86.h31 PcRelativeFixups(HGraph* graph, CodeGenerator* codegen, OptimizingCompilerStats* stats) in PcRelativeFixups() argument
33 codegen_(codegen) {} in PcRelativeFixups()
Dcodegen_test.cc723 arm::CodeGeneratorARMVIXL codegen(graph, *compiler_options); in TEST_F() local
725 codegen.Initialize(); in TEST_F()
734 codegen.GetMoveResolver()->EmitNativeCode(move); in TEST_F()
737 codegen.Finalize(&code_allocator); in TEST_F()
747 arm64::CodeGeneratorARM64 codegen(graph, *compiler_options); in TEST_F() local
749 codegen.Initialize(); in TEST_F()
786 codegen.GetMoveResolver()->EmitNativeCode(move); in TEST_F()
789 codegen.Finalize(&code_allocator); in TEST_F()
797 arm64::CodeGeneratorARM64 codegen(graph, *compiler_options); in TEST_F() local
799 codegen.Initialize(); in TEST_F()
[all …]
Dinstruction_simplifier.h41 CodeGenerator* codegen,
46 codegen_(codegen), in HOptimization()
Dintrinsics_arm_vixl.cc127 void EmitNativeCode(CodeGenerator* codegen) override { in EmitNativeCode() argument
128 CodeGeneratorARMVIXL* arm_codegen = down_cast<CodeGeneratorARMVIXL*>(codegen); in EmitNativeCode()
195 IntrinsicLocationsBuilderARMVIXL::IntrinsicLocationsBuilderARMVIXL(CodeGeneratorARMVIXL* codegen) in IntrinsicLocationsBuilderARMVIXL() argument
196 : allocator_(codegen->GetGraph()->GetAllocator()), in IntrinsicLocationsBuilderARMVIXL()
197 codegen_(codegen), in IntrinsicLocationsBuilderARMVIXL()
198 assembler_(codegen->GetAssembler()), in IntrinsicLocationsBuilderARMVIXL()
199 features_(codegen->GetInstructionSetFeatures()) {} in IntrinsicLocationsBuilderARMVIXL()
304 CodeGeneratorARMVIXL* codegen) { in GenNumberOfLeadingZeros() argument
305 ArmVIXLAssembler* assembler = codegen->GetAssembler(); in GenNumberOfLeadingZeros()
316 vixl32::Label* final_label = codegen->GetFinalLabel(invoke, &end); in GenNumberOfLeadingZeros()
[all …]
Dintrinsics.h70 CodeGenerator* codegen, in INTRINSICS_LIST()
88 HParallelMove parallel_move(codegen->GetGraph()->GetAllocator()); in INTRINSICS_LIST()
98 codegen->GetMoveResolver()->EmitNativeCode(&parallel_move); in INTRINSICS_LIST()
102 CodeGenerator* codegen,
141 static void CreateReferenceGetReferentLocations(HInvoke* invoke, CodeGenerator* codegen);
297 bool IsCallFreeIntrinsic(HInvoke* invoke, Codegenerator* codegen) { in IsCallFreeIntrinsic() argument
306 IntrinsicLocationsBuilder builder(codegen); in IsCallFreeIntrinsic()
Dintrinsics_arm64.cc88 #define __ codegen->GetVIXLAssembler()->
100 CodeGeneratorARM64* codegen = down_cast<CodeGeneratorARM64*>(codegen_in); in EmitNativeCode() local
120 codegen->GetAssembler()->MaybeUnpoisonHeapReference(tmp_reg); in EmitNativeCode()
144 codegen->InvokeRuntimeWithoutRecordingPcInfo(entry_point_offset, instruction_, this); in EmitNativeCode()
145 codegen->GetAssembler()->MaybePoisonHeapReference(tmp_reg); in EmitNativeCode()
702 CodeGeneratorARM64* codegen) { in GenUnsafeGet() argument
717 MacroAssembler* masm = codegen->GetVIXLAssembler(); in GenUnsafeGet()
720 codegen->GenerateFieldLoadWithBakerReadBarrier(invoke, in GenUnsafeGet()
730 codegen->LoadAcquire(invoke, type, trg, mem_op, /* needs_null_check= */ true); in GenUnsafeGet()
732 codegen->Load(type, trg, mem_op); in GenUnsafeGet()
[all …]
/art/test/1960-checker-bounds-codegen/
DAndroid.bp3 // Build rules for ART run-test `1960-checker-bounds-codegen`.
16 name: "art-run-test-1960-checker-bounds-codegen",
21 ":art-run-test-1960-checker-bounds-codegen-expected-stdout",
22 ":art-run-test-1960-checker-bounds-codegen-expected-stderr",
31 name: "art-run-test-1960-checker-bounds-codegen-expected-stdout",
32 out: ["art-run-test-1960-checker-bounds-codegen-expected-stdout.txt"],
39 name: "art-run-test-1960-checker-bounds-codegen-expected-stderr",
40 out: ["art-run-test-1960-checker-bounds-codegen-expected-stderr.txt"],
/art/test/566-checker-codegen-select/
DAndroid.bp3 // Build rules for ART run-test `566-checker-codegen-select`.
16 name: "art-run-test-566-checker-codegen-select",
21 ":art-run-test-566-checker-codegen-select-expected-stdout",
22 ":art-run-test-566-checker-codegen-select-expected-stderr",
31 name: "art-run-test-566-checker-codegen-select-expected-stdout",
32 out: ["art-run-test-566-checker-codegen-select-expected-stdout.txt"],
39 name: "art-run-test-566-checker-codegen-select-expected-stderr",
40 out: ["art-run-test-566-checker-codegen-select-expected-stderr.txt"],

123