/art/compiler/optimizing/ |
D | inliner.h | 32 class HInvoke; variable 85 bool TryInline(HInvoke* invoke_instruction); 90 bool TryInlineAndReplace(HInvoke* invoke_instruction, 97 bool TryBuildAndInline(HInvoke* invoke_instruction, 104 bool TryBuildAndInlineHelper(HInvoke* invoke_instruction, 113 HInvoke* invoke_instruction, 127 bool TryPatternSubstitution(HInvoke* invoke_instruction, 143 bool IsInliningSupported(const HInvoke* invoke_instruction, 152 bool IsInliningEncouraged(const HInvoke* invoke_instruction, 163 HInvoke* invoke, [all …]
|
D | intrinsics_x86_64.cc | 57 bool IntrinsicLocationsBuilderX86_64::TryDispatch(HInvoke* invoke) { in TryDispatch() 144 static void CreateFPToIntLocations(ArenaAllocator* allocator, HInvoke* invoke) { in CreateFPToIntLocations() 151 static void CreateIntToFPLocations(ArenaAllocator* allocator, HInvoke* invoke) { in CreateIntToFPLocations() 170 void IntrinsicLocationsBuilderX86_64::VisitDoubleDoubleToRawLongBits(HInvoke* invoke) { in VisitDoubleDoubleToRawLongBits() 173 void IntrinsicLocationsBuilderX86_64::VisitDoubleLongBitsToDouble(HInvoke* invoke) { in VisitDoubleLongBitsToDouble() 177 void IntrinsicCodeGeneratorX86_64::VisitDoubleDoubleToRawLongBits(HInvoke* invoke) { in VisitDoubleDoubleToRawLongBits() 180 void IntrinsicCodeGeneratorX86_64::VisitDoubleLongBitsToDouble(HInvoke* invoke) { in VisitDoubleLongBitsToDouble() 184 void IntrinsicLocationsBuilderX86_64::VisitFloatFloatToRawIntBits(HInvoke* invoke) { in VisitFloatFloatToRawIntBits() 187 void IntrinsicLocationsBuilderX86_64::VisitFloatIntBitsToFloat(HInvoke* invoke) { in VisitFloatIntBitsToFloat() 191 void IntrinsicCodeGeneratorX86_64::VisitFloatFloatToRawIntBits(HInvoke* invoke) { in VisitFloatFloatToRawIntBits() [all …]
|
D | intrinsics_riscv64.cc | 92 bool IntrinsicLocationsBuilderRISCV64::TryDispatch(HInvoke* invoke) { in TryDispatch() 105 static void CreateFPToIntLocations(ArenaAllocator* allocator, HInvoke* invoke) { in CreateFPToIntLocations() 112 static void CreateIntToFPLocations(ArenaAllocator* allocator, HInvoke* invoke) { in CreateIntToFPLocations() 119 static void CreateFPToFPCallLocations(ArenaAllocator* allocator, HInvoke* invoke) { in CreateFPToFPCallLocations() 132 static void CreateFPFPToFPCallLocations(ArenaAllocator* allocator, HInvoke* invoke) { in CreateFPFPToFPCallLocations() 147 static void CreateFpFpFpToFpNoOverlapLocations(ArenaAllocator* allocator, HInvoke* invoke) { in CreateFpFpFpToFpNoOverlapLocations() 163 static void CreateFPToFPLocations(ArenaAllocator* allocator, HInvoke* invoke) { in CreateFPToFPLocations() 170 void IntrinsicLocationsBuilderRISCV64::VisitDoubleDoubleToRawLongBits(HInvoke* invoke) { in VisitDoubleDoubleToRawLongBits() 174 void IntrinsicCodeGeneratorRISCV64::VisitDoubleDoubleToRawLongBits(HInvoke* invoke) { in VisitDoubleDoubleToRawLongBits() 180 void IntrinsicLocationsBuilderRISCV64::VisitDoubleLongBitsToDouble(HInvoke* invoke) { in VisitDoubleLongBitsToDouble() [all …]
|
D | intrinsics_arm64.cc | 163 bool IntrinsicLocationsBuilderARM64::TryDispatch(HInvoke* invoke) { in TryDispatch() 174 static void CreateFPToIntLocations(ArenaAllocator* allocator, HInvoke* invoke) { in CreateFPToIntLocations() 181 static void CreateIntToFPLocations(ArenaAllocator* allocator, HInvoke* invoke) { in CreateIntToFPLocations() 202 void IntrinsicLocationsBuilderARM64::VisitDoubleDoubleToRawLongBits(HInvoke* invoke) { in VisitDoubleDoubleToRawLongBits() 205 void IntrinsicLocationsBuilderARM64::VisitDoubleLongBitsToDouble(HInvoke* invoke) { in VisitDoubleLongBitsToDouble() 209 void IntrinsicCodeGeneratorARM64::VisitDoubleDoubleToRawLongBits(HInvoke* invoke) { in VisitDoubleDoubleToRawLongBits() 212 void IntrinsicCodeGeneratorARM64::VisitDoubleLongBitsToDouble(HInvoke* invoke) { in VisitDoubleLongBitsToDouble() 216 void IntrinsicLocationsBuilderARM64::VisitFloatFloatToRawIntBits(HInvoke* invoke) { in VisitFloatFloatToRawIntBits() 219 void IntrinsicLocationsBuilderARM64::VisitFloatIntBitsToFloat(HInvoke* invoke) { in VisitFloatIntBitsToFloat() 223 void IntrinsicCodeGeneratorARM64::VisitFloatFloatToRawIntBits(HInvoke* invoke) { in VisitFloatFloatToRawIntBits() [all …]
|
D | intrinsics_x86.cc | 61 bool IntrinsicLocationsBuilderX86::TryDispatch(HInvoke* invoke) { in TryDispatch() 150 static void CreateFPToIntLocations(ArenaAllocator* allocator, HInvoke* invoke, bool is64bit) { in CreateFPToIntLocations() 160 static void CreateIntToFPLocations(ArenaAllocator* allocator, HInvoke* invoke, bool is64bit) { in CreateIntToFPLocations() 202 void IntrinsicLocationsBuilderX86::VisitDoubleDoubleToRawLongBits(HInvoke* invoke) { in VisitDoubleDoubleToRawLongBits() 205 void IntrinsicLocationsBuilderX86::VisitDoubleLongBitsToDouble(HInvoke* invoke) { in VisitDoubleLongBitsToDouble() 209 void IntrinsicCodeGeneratorX86::VisitDoubleDoubleToRawLongBits(HInvoke* invoke) { in VisitDoubleDoubleToRawLongBits() 212 void IntrinsicCodeGeneratorX86::VisitDoubleLongBitsToDouble(HInvoke* invoke) { in VisitDoubleLongBitsToDouble() 216 void IntrinsicLocationsBuilderX86::VisitFloatFloatToRawIntBits(HInvoke* invoke) { in VisitFloatFloatToRawIntBits() 219 void IntrinsicLocationsBuilderX86::VisitFloatIntBitsToFloat(HInvoke* invoke) { in VisitFloatIntBitsToFloat() 223 void IntrinsicCodeGeneratorX86::VisitFloatFloatToRawIntBits(HInvoke* invoke) { in VisitFloatFloatToRawIntBits() [all …]
|
D | intrinsics_arm_vixl.cc | 155 bool IntrinsicLocationsBuilderARMVIXL::TryDispatch(HInvoke* invoke) { in TryDispatch() 164 static void CreateFPToIntLocations(ArenaAllocator* allocator, HInvoke* invoke) { in CreateFPToIntLocations() 171 static void CreateIntToFPLocations(ArenaAllocator* allocator, HInvoke* invoke) { in CreateIntToFPLocations() 198 void IntrinsicLocationsBuilderARMVIXL::VisitDoubleDoubleToRawLongBits(HInvoke* invoke) { in VisitDoubleDoubleToRawLongBits() 201 void IntrinsicLocationsBuilderARMVIXL::VisitDoubleLongBitsToDouble(HInvoke* invoke) { in VisitDoubleLongBitsToDouble() 205 void IntrinsicCodeGeneratorARMVIXL::VisitDoubleDoubleToRawLongBits(HInvoke* invoke) { in VisitDoubleDoubleToRawLongBits() 208 void IntrinsicCodeGeneratorARMVIXL::VisitDoubleLongBitsToDouble(HInvoke* invoke) { in VisitDoubleLongBitsToDouble() 212 void IntrinsicLocationsBuilderARMVIXL::VisitFloatFloatToRawIntBits(HInvoke* invoke) { in VisitFloatFloatToRawIntBits() 215 void IntrinsicLocationsBuilderARMVIXL::VisitFloatIntBitsToFloat(HInvoke* invoke) { in VisitFloatIntBitsToFloat() 219 void IntrinsicCodeGeneratorARMVIXL::VisitFloatFloatToRawIntBits(HInvoke* invoke) { in VisitFloatFloatToRawIntBits() [all …]
|
D | intrinsics.h | 44 void Dispatch(HInvoke* invoke) { in Dispatch() 74 virtual void Visit##Name([[maybe_unused]] HInvoke* invoke) = 0; 78 static void MoveArguments(HInvoke* invoke, in ART_INTRINSICS_WITH_HINVOKE_LIST() 110 static void ComputeValueOfLocations(HInvoke* invoke, 147 HInvoke* invoke, 156 static void CreateReferenceGetReferentLocations(HInvoke* invoke, CodeGenerator* codegen); 157 static void CreateReferenceRefersToLocations(HInvoke* invoke, CodeGenerator* codegen); 200 explicit IntrinsicOptimizations(HInvoke* invoke) in IntrinsicOptimizations() 202 explicit IntrinsicOptimizations(const HInvoke& invoke) in IntrinsicOptimizations() 236 explicit StringEqualsOptimizations(HInvoke* invoke) : IntrinsicOptimizations(invoke) {} in StringEqualsOptimizations() [all …]
|
D | intrinsics_utils.h | 49 explicit IntrinsicSlowPath(HInvoke* invoke) : TSlowPathCode(invoke), invoke_(invoke) { } in IntrinsicSlowPath() 99 HInvoke* const invoke_; 104 static inline size_t GetExpectedVarHandleCoordinatesCount(HInvoke *invoke) { in GetExpectedVarHandleCoordinatesCount() 113 static inline DataType::Type GetDataTypeFromShorty(HInvoke* invoke, uint32_t index) { in GetDataTypeFromShorty() 122 static inline bool IsVarHandleGetAndBitwiseOp(HInvoke* invoke) { in IsVarHandleGetAndBitwiseOp() 139 static inline bool IsVarHandleGetAndAdd(HInvoke* invoke) { in IsVarHandleGetAndAdd() 150 static inline bool IsVarHandleGet(HInvoke* invoke) { in IsVarHandleGet() 156 static inline bool IsUnsafeGetReference(HInvoke* invoke) { in IsUnsafeGetReference() 169 static inline bool IsUnsafeCASReference(HInvoke* invoke) { in IsUnsafeCASReference() 180 static inline bool IsUnsafeGetAndSetReference(HInvoke* invoke) { in IsUnsafeGetAndSetReference() [all …]
|
D | profiling_info_builder.h | 48 HInvoke* invoke); 49 static bool IsInlineCacheUseful(HInvoke* invoke, CodeGenerator* codegen); 51 const HInliner* inliner, const CompilerOptions& compiler_options, HInvoke* invoke) 58 void HandleInvoke(HInvoke* invoke);
|
D | intrinsics_riscv64.h | 44 void Visit##Name(HInvoke* invoke) override; 51 bool TryDispatch(HInvoke* invoke); 67 void Visit##Name(HInvoke* invoke); 75 void HandleValueOf(HInvoke* invoke,
|
D | intrinsics_arm_vixl.h | 39 void Visit ## Name(HInvoke* invoke) override; 46 bool TryDispatch(HInvoke* invoke); 64 void Visit ## Name(HInvoke* invoke) override; 72 void HandleValueOf(HInvoke* invoke,
|
D | intrinsics_x86_64.h | 42 void Visit ## Name(HInvoke* invoke) override; 49 bool TryDispatch(HInvoke* invoke); 65 void Visit ## Name(HInvoke* invoke) override; 74 void HandleValueOf(HInvoke* invoke,
|
D | intrinsics_x86.h | 42 void Visit ## Name(HInvoke* invoke) override; 49 bool TryDispatch(HInvoke* invoke); 65 void Visit ## Name(HInvoke* invoke) override; 74 void HandleValueOf(HInvoke* invoke,
|
D | intrinsics_arm64.h | 50 void Visit ## Name(HInvoke* invoke) override; 57 bool TryDispatch(HInvoke* invoke); 73 void Visit ## Name(HInvoke* invoke) override; 82 void HandleValueOf(HInvoke* invoke,
|
D | profiling_info_builder.cc | 47 HInvoke* invoke) { in EncodeInlinedDexPc() 64 static uint32_t EncodeDexPc(HInvoke* invoke, const CompilerOptions& compiler_options) { in EncodeDexPc() 81 void ProfilingInfoBuilder::HandleInvoke(HInvoke* invoke) { in HandleInvoke() 102 bool ProfilingInfoBuilder::IsInlineCacheUseful(HInvoke* invoke, CodeGenerator* codegen) { in IsInlineCacheUseful() 134 HInvoke* instruction) { in GetInlineCache()
|
D | constant_folding.cc | 54 void VisitInvoke(HInvoke* inst) override; 60 void FoldReverseIntrinsic(HInvoke* invoke); 61 void FoldReverseBytesIntrinsic(HInvoke* invoke); 62 void FoldBitCountIntrinsic(HInvoke* invoke); 63 void FoldDivideUnsignedIntrinsic(HInvoke* invoke); 64 void FoldHighestOneBitIntrinsic(HInvoke* invoke); 65 void FoldLowestOneBitIntrinsic(HInvoke* invoke); 66 void FoldNumberOfLeadingZerosIntrinsic(HInvoke* invoke); 67 void FoldNumberOfTrailingZerosIntrinsic(HInvoke* invoke); 353 void HConstantFoldingVisitor::VisitInvoke(HInvoke* inst) { in VisitInvoke() [all …]
|
D | intrinsics.cc | 68 static bool CanReferenceBootImageObjects(HInvoke* invoke, const CompilerOptions& compiler_options) { in CanReferenceBootImageObjects() 83 void IntrinsicVisitor::ComputeValueOfLocations(HInvoke* invoke, in ComputeValueOfLocations() 123 HInvoke* invoke, in ComputeValueOfInfo() 190 void IntrinsicVisitor::CreateReferenceGetReferentLocations(HInvoke* invoke, in CreateReferenceGetReferentLocations() 203 void IntrinsicVisitor::CreateReferenceRefersToLocations(HInvoke* invoke, CodeGenerator* codegen) { in CreateReferenceRefersToLocations()
|
D | ssa_builder.h | 98 void AddUninitializedStringPhi(HInvoke* invoke) { in AddUninitializedStringPhi() 138 ScopedArenaVector<HInvoke*> uninitialized_string_phis_;
|
D | inliner.cc | 181 HInvoke* call = instruction->AsInvokeOrNull(); in Run() 241 static ArtMethod* FindVirtualOrInterfaceTarget(HInvoke* invoke, ReferenceTypeInfo info) in FindVirtualOrInterfaceTarget() 450 bool HInliner::TryInline(HInvoke* invoke_instruction) { in TryInline() 521 HInvoke* invoke_to_analyze = nullptr; in TryInline() 573 bool HInliner::TryInlineFromCHA(HInvoke* invoke_instruction) { in TryInlineFromCHA() 626 bool HInliner::TryInlineFromInlineCache(HInvoke* invoke_instruction) in TryInlineFromInlineCache() 690 HInvoke* invoke_instruction, in GetInlineCacheJIT() 734 HInvoke* invoke_instruction, in GetInlineCacheAOT() 817 HInvoke* invoke_instruction, in ResolveMethodFromInlineCache() 854 HInvoke* invoke_instruction, in TryInlineMonomorphicCall() [all …]
|
D | instruction_builder.h | 241 HInvoke* invoke); 255 bool HandleInvoke(HInvoke* invoke, 260 bool HandleStringInit(HInvoke* invoke,
|
D | instruction_simplifier.cc | 115 void VisitInvoke(HInvoke* invoke) override; 118 void SimplifyBoxUnbox(HInvoke* instruction, ArtField* field, DataType::Type type); 119 void SimplifySystemArrayCopy(HInvoke* invoke); 120 void SimplifyStringEquals(HInvoke* invoke); 121 void SimplifyFP2Int(HInvoke* invoke); 122 void SimplifyStringCharAt(HInvoke* invoke); 123 void SimplifyStringLength(HInvoke* invoke); 124 void SimplifyStringIndexOf(HInvoke* invoke); 125 void SimplifyNPEOnArgN(HInvoke* invoke, size_t); 126 void SimplifyReturnThis(HInvoke* invoke); [all …]
|
D | code_generator_x86_64.h | 238 void HandleInvoke(HInvoke* invoke); 526 void LoadMethod(MethodLoadKind load_kind, Location temp, HInvoke* invoke); 534 void RecordBootImageMethodPatch(HInvoke* invoke); 535 void RecordMethodBssEntryPatch(HInvoke* invoke); 551 void LoadIntrinsicDeclaringClass(CpuRegister reg, HInvoke* invoke);
|
D | code_generator_x86.h | 243 void HandleInvoke(HInvoke* invoke); 529 void LoadMethod(MethodLoadKind load_kind, Location temp, HInvoke* invoke); 541 void RecordBootImageMethodPatch(HInvoke* invoke); 542 void RecordMethodBssEntryPatch(HInvoke* invoke); 764 Register GetInvokeExtraParameter(HInvoke* invoke, Register temp);
|
D | code_generator.h | 288 bool IsImplementedIntrinsic(HInvoke* invoke) const { in IsImplementedIntrinsic() 598 HInvoke* invoke, InvokeDexCallingConventionVisitor* visitor); 663 static uint32_t GetBootImageOffset(HInvoke* invoke); 665 static uint32_t GetBootImageOffsetOfIntrinsicDeclaringClass(HInvoke* invoke); 668 HInvoke* invoke, int32_t length_threshold = -1, size_t num_temps = 3);
|
D | graph_checker.h | 72 void VisitInvoke(HInvoke* invoke) override;
|