Home
last modified time | relevance | path

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

123

/art/compiler/optimizing/
Dintrinsics_utils.h44 Location MoveArguments(CodeGenerator* codegen) { in MoveArguments() argument
46 IntrinsicVisitor::MoveArguments(invoke_, codegen, &calling_convention_visitor); in MoveArguments()
50 void EmitNativeCode(CodeGenerator* codegen) override { in EmitNativeCode() argument
51 Assembler* assembler = codegen->GetAssembler(); in EmitNativeCode()
54 SaveLiveRegisters(codegen, invoke_->GetLocations()); in EmitNativeCode()
56 Location method_loc = MoveArguments(codegen); in EmitNativeCode()
59 codegen->GenerateStaticOrDirectCall(invoke_->AsInvokeStaticOrDirect(), method_loc, this); in EmitNativeCode()
61 codegen->GenerateVirtualCall(invoke_->AsInvokeVirtual(), method_loc, this); in EmitNativeCode()
69 codegen->MoveFromReturnRegister(out, invoke_->GetType()); in EmitNativeCode()
72 RestoreLiveRegisters(codegen, invoke_->GetLocations()); in EmitNativeCode()
Doptimizing_compiler.cc108 CodeGenerator* codegen, in PassObserver() argument
121 visualizer_(&visualizer_oss_, graph, *codegen), in PassObserver()
130 codegen->SetDisassemblyInformation(&disasm_info_); in PassObserver()
308 CodeGenerator* codegen, in RunOptimizations() argument
321 codegen, in RunOptimizations()
351 CodeGenerator* codegen, in RunOptimizations() argument
357 graph, codegen, dex_compilation_unit, pass_observer, handles, definitions, length); in RunOptimizations()
361 CodeGenerator* codegen,
370 CodeGenerator* codegen,
398 CodeGenerator* codegen,
[all …]
Dsharpening.cc61 ArtMethod* callee, CodeGenerator* codegen) { in SharpenInvokeStaticOrDirect() argument
85 const CompilerOptions& compiler_options = codegen->GetCompilerOptions(); in SharpenInvokeStaticOrDirect()
86 if (callee == codegen->GetGraph()->GetArtMethod() && !codegen->GetGraph()->IsDebuggable()) { in SharpenInvokeStaticOrDirect()
108 codegen->GetGraph()->IsCompilingForSharedJitCode())) { in SharpenInvokeStaticOrDirect()
127 if (codegen->GetGraph()->IsDebuggable()) { in SharpenInvokeStaticOrDirect()
136 return codegen->GetSupportedInvokeStaticOrDirectDispatch(desired_dispatch_info, callee); in SharpenInvokeStaticOrDirect()
141 CodeGenerator* codegen, in ComputeLoadClassKind() argument
165 const CompilerOptions& compiler_options = codegen->GetCompilerOptions(); in ComputeLoadClassKind()
194 codegen->GetGraph()->IsCompilingForSharedJitCode())) { in ComputeLoadClassKind()
222 load_kind = codegen->GetSupportedLoadClassKind(desired_load_kind); in ComputeLoadClassKind()
[all …]
Dregister_allocator_test.cc69 const CodeGenerator& codegen) { in ValidateIntervals() argument
73 codegen, in ValidateIntervals()
90 x86::CodeGeneratorX86 codegen(graph, *compiler_options_); in Check() local
91 SsaLivenessAnalysis liveness(graph, &codegen, GetScopedAllocator()); in Check()
94 RegisterAllocator::Create(GetScopedAllocator(), &codegen, liveness, strategy); in Check()
105 x86::CodeGeneratorX86 codegen(graph, *compiler_options_); in TEST_F() local
113 ASSERT_TRUE(ValidateIntervals(intervals, codegen)); in TEST_F()
116 ASSERT_FALSE(ValidateIntervals(intervals, codegen)); in TEST_F()
126 ASSERT_TRUE(ValidateIntervals(intervals, codegen)); in TEST_F()
129 ASSERT_TRUE(ValidateIntervals(intervals, codegen)); in TEST_F()
[all …]
Dsharpening.h34 ArtMethod* callee, CodeGenerator* codegen);
38 CodeGenerator* codegen,
44 CodeGenerator* codegen,
50 CodeGenerator* codegen,
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()
273 static void RunCodeNoCheck(CodeGenerator* codegen, in RunCodeNoCheck() argument
280 SsaLivenessAnalysis liveness(graph, codegen, &local_allocator); in RunCodeNoCheck()
281 PrepareForRegisterAllocation(graph, codegen->GetCompilerOptions()).Run(); in RunCodeNoCheck()
284 RegisterAllocator::Create(&local_allocator, codegen, liveness); in RunCodeNoCheck()
289 codegen->Compile(&allocator); in RunCodeNoCheck()
290 Run(allocator, *codegen, has_result, expected); in RunCodeNoCheck()
294 static void RunCode(CodeGenerator* codegen, in RunCode() argument
300 RunCodeNoCheck(codegen, graph, hook_before_codegen, has_result, expected); in RunCode()
[all …]
Dlive_ranges_test.cc64 std::unique_ptr<CodeGenerator> codegen = CodeGenerator::Create(graph, *compiler_options_); in TEST_F() local
65 SsaLivenessAnalysis liveness(graph, codegen.get(), GetScopedAllocator()); in TEST_F()
108 std::unique_ptr<CodeGenerator> codegen = CodeGenerator::Create(graph, *compiler_options_); in TEST_F() local
109 SsaLivenessAnalysis liveness(graph, codegen.get(), GetScopedAllocator()); in TEST_F()
155 std::unique_ptr<CodeGenerator> codegen = CodeGenerator::Create(graph, *compiler_options_); in TEST_F() local
156 SsaLivenessAnalysis liveness(graph, codegen.get(), GetScopedAllocator()); in TEST_F()
230 std::unique_ptr<CodeGenerator> codegen = CodeGenerator::Create(graph, *compiler_options_); in TEST_F() local
231 SsaLivenessAnalysis liveness(graph, codegen.get(), GetScopedAllocator()); in TEST_F()
305 std::unique_ptr<CodeGenerator> codegen = CodeGenerator::Create(graph, *compiler_options_); in TEST_F() local
306 SsaLivenessAnalysis liveness(graph, codegen.get(), GetScopedAllocator()); in TEST_F()
[all …]
Doptimization.cc169 CodeGenerator* codegen, in ConstructOptimizations() argument
217 graph, &codegen->GetCompilerOptions(), most_recent_induction, stats, pass_name); in ConstructOptimizations()
243 codegen, in ConstructOptimizations()
259 opt = new (allocator) InstructionSimplifier(graph, codegen, stats, pass_name); in ConstructOptimizations()
272 graph, codegen->GetCompilerOptions().GetInstructionSet(), codegen, pass_name); in ConstructOptimizations()
292 opt = new (allocator) x86::PcRelativeFixups(graph, codegen, stats); in ConstructOptimizations()
296 opt = new (allocator) x86::X86MemoryOperandGeneration(graph, codegen, stats); in ConstructOptimizations()
299 opt = new (allocator) x86::InstructionSimplifierX86(graph, codegen, stats); in ConstructOptimizations()
304 opt = new (allocator) x86_64::InstructionSimplifierX86_64(graph, codegen, stats); in ConstructOptimizations()
Dintrinsics_arm_vixl.h32 explicit IntrinsicLocationsBuilderARMVIXL(CodeGeneratorARMVIXL* codegen);
59 explicit IntrinsicCodeGeneratorARMVIXL(CodeGeneratorARMVIXL* codegen) : codegen_(codegen) {} in IntrinsicCodeGeneratorARMVIXL() argument
Dintrinsics_x86_64.h35 explicit IntrinsicLocationsBuilderX86_64(CodeGeneratorX86_64* codegen);
60 explicit IntrinsicCodeGeneratorX86_64(CodeGeneratorX86_64* codegen) : codegen_(codegen) {} in IntrinsicCodeGeneratorX86_64() 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
Dpc_relative_fixups_x86.h31 PcRelativeFixups(HGraph* graph, CodeGenerator* codegen, OptimizingCompilerStats* stats) in PcRelativeFixups() argument
33 codegen_(codegen) {} in PcRelativeFixups()
Dinstruction_simplifier_x86.h29 InstructionSimplifierX86(HGraph* graph, CodeGenerator* codegen, OptimizingCompilerStats* stats) in InstructionSimplifierX86() argument
31 codegen_(codegen) {} in InstructionSimplifierX86()
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.h41 CodeGenerator* codegen,
45 codegen_(codegen) {} in HOptimization()
Dcodegen_test.cc716 arm::CodeGeneratorARMVIXL codegen(graph, *compiler_options_); in TEST_F() local
718 codegen.Initialize(); in TEST_F()
727 codegen.GetMoveResolver()->EmitNativeCode(move); in TEST_F()
730 codegen.Finalize(&code_allocator); in TEST_F()
739 arm64::CodeGeneratorARM64 codegen(graph, *compiler_options_); in TEST_F() local
741 codegen.Initialize(); in TEST_F()
778 codegen.GetMoveResolver()->EmitNativeCode(move); in TEST_F()
781 codegen.Finalize(&code_allocator); in TEST_F()
788 arm64::CodeGeneratorARM64 codegen(graph, *compiler_options_); in TEST_F() local
790 codegen.Initialize(); in TEST_F()
[all …]
Dx86_memory_gen.cc73 CodeGenerator* codegen, in X86MemoryOperandGeneration() argument
76 do_implicit_null_checks_(codegen->GetCompilerOptions().GetImplicitNullChecks()) { in X86MemoryOperandGeneration()
Dinstruction_simplifier_x86_64.cc27 CodeGenerator* codegen, in InstructionSimplifierX86_64Visitor() argument
30 codegen_(down_cast<CodeGeneratorX86_64*>(codegen)), in InstructionSimplifierX86_64Visitor()
Dinstruction_simplifier_x86.cc27 CodeGenerator* codegen, in InstructionSimplifierX86Visitor() argument
30 codegen_(down_cast<CodeGeneratorX86*>(codegen)), in InstructionSimplifierX86Visitor()
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,
329 bool IsCallFreeIntrinsic(HInvoke* invoke, Codegenerator* codegen) { in IsCallFreeIntrinsic() argument
338 IntrinsicLocationsBuilder builder(codegen); in IsCallFreeIntrinsic()
Dx86_memory_gen.h31 CodeGenerator* codegen,
Dintrinsics_x86_64.cc43 IntrinsicLocationsBuilderX86_64::IntrinsicLocationsBuilderX86_64(CodeGeneratorX86_64* codegen) in IntrinsicLocationsBuilderX86_64() argument
44 : allocator_(codegen->GetGraph()->GetAllocator()), codegen_(codegen) { in IntrinsicLocationsBuilderX86_64()
64 static void MoveArguments(HInvoke* invoke, CodeGeneratorX86_64* codegen) { in MoveArguments() argument
66 IntrinsicVisitor::MoveArguments(invoke, codegen, &calling_convention_visitor); in MoveArguments()
72 #define __ down_cast<X86_64Assembler*>(codegen->GetAssembler())-> // NOLINT
83 void EmitNativeCode(CodeGenerator* codegen) override { in EmitNativeCode() argument
84 CodeGeneratorX86_64* x86_64_codegen = down_cast<CodeGeneratorX86_64*>(codegen); in EmitNativeCode()
258 static void InvokeOutOfLineIntrinsic(CodeGeneratorX86_64* codegen, HInvoke* invoke) { in InvokeOutOfLineIntrinsic() argument
259 MoveArguments(invoke, codegen); in InvokeOutOfLineIntrinsic()
262 codegen->GenerateStaticOrDirectCall( in InvokeOutOfLineIntrinsic()
[all …]

123