Home | History | Annotate | Download | only in llvm

Lines Matching refs:call_inst

228   llvm::Value* EmitInvoke(llvm::CallInst& call_inst);
233 bool EmitIntrinsic(llvm::CallInst& call_inst, llvm::Value** result);
235 bool EmitIntrinsicStringLengthOrIsEmpty(llvm::CallInst& call_inst,
242 void Expand_TestSuspend(llvm::CallInst& call_inst);
244 void Expand_MarkGCCard(llvm::CallInst& call_inst);
263 void Expand_FilledNewArray(llvm::CallInst& call_inst);
296 llvm::Value* Expand_Invoke(llvm::CallInst& call_inst);
298 llvm::Value* Expand_DivRem(llvm::CallInst& call_inst, bool is_div, JType op_jty);
324 llvm::Value* Expand_HLIGet(llvm::CallInst& call_inst, JType field_jty);
325 void Expand_HLIPut(llvm::CallInst& call_inst, JType field_jty);
327 llvm::Value* Expand_HLSget(llvm::CallInst& call_inst, JType field_jty);
328 void Expand_HLSput(llvm::CallInst& call_inst, JType field_jty);
330 llvm::Value* Expand_HLArrayGet(llvm::CallInst& call_inst, JType field_jty);
331 void Expand_HLArrayPut(llvm::CallInst& call_inst, JType field_jty);
333 llvm::Value* Expand_ConstString(llvm::CallInst& call_inst);
334 llvm::Value* Expand_ConstClass(llvm::CallInst& call_inst);
336 void Expand_MonitorEnter(llvm::CallInst& call_inst);
337 void Expand_MonitorExit(llvm::CallInst& call_inst);
339 void Expand_HLCheckCast(llvm::CallInst& call_inst);
340 llvm::Value* Expand_InstanceOf(llvm::CallInst& call_inst);
342 llvm::Value* Expand_NewInstance(llvm::CallInst& call_inst);
344 llvm::Value* Expand_HLInvoke(llvm::CallInst& call_inst);
346 llvm::Value* Expand_OptArrayLength(llvm::CallInst& call_inst);
347 llvm::Value* Expand_NewArray(llvm::CallInst& call_inst);
348 llvm::Value* Expand_HLFilledNewArray(llvm::CallInst& call_inst);
349 void Expand_HLFillArrayData(llvm::CallInst& call_inst);
422 llvm::CallInst& call_inst);
473 llvm::CallInst* call_inst = llvm::dyn_cast<llvm::CallInst>(inst_iter);
476 if (call_inst) {
477 llvm::Function* callee_func = call_inst->getCalledFunction();
492 if (llvm::Value* new_value = ExpandIntrinsic(intr_id, *call_inst)) {
820 llvm::Value* GBCExpanderPass::EmitInvoke(llvm::CallInst& call_inst) {
821 uint32_t dex_pc = LV2UInt(call_inst.getMetadata("DexOff")->getOperand(0));
823 static_cast<art::InvokeType>(LV2UInt(call_inst.getArgOperand(0)));
826 LV2UInt(call_inst.getArgOperand(1)));
829 llvm::Value* this_addr = (!is_static) ? call_inst.getArgOperand(3) : NULL;
887 for (uint32_t i = 3; i < call_inst.getNumArgOperands(); ++i) {
888 args.push_back(call_inst.getArgOperand(i));
892 llvm::Type* func_type = GetFunctionType(call_inst.getType(),
913 bool GBCExpanderPass::EmitIntrinsic(llvm::CallInst& call_inst,
917 uint32_t callee_method_idx = LV2UInt(call_inst.getArgOperand(1));
922 return EmitIntrinsicStringLengthOrIsEmpty(call_inst, result,
926 return EmitIntrinsicStringLengthOrIsEmpty(call_inst, result,
934 bool GBCExpanderPass::EmitIntrinsicStringLengthOrIsEmpty(llvm::CallInst& call_inst,
938 static_cast<art::InvokeType>(LV2UInt(call_inst.getArgOperand(0)));
940 DCHECK_EQ(call_inst.getNumArgOperands(), 4U);
942 llvm::Value* this_object = call_inst.getArgOperand(3);
962 void GBCExpanderPass::Expand_TestSuspend(llvm::CallInst& call_inst) {
963 uint32_t dex_pc = LV2UInt(call_inst.getMetadata("DexOff")->getOperand(0));
987 llvm::Type* ret_type = call_inst.getParent()->getParent()->getReturnType();
999 void GBCExpanderPass::Expand_MarkGCCard(llvm::CallInst& call_inst) {
1000 irb_.Runtime().EmitMarkGCCard(call_inst.getArgOperand(0), call_inst.getArgOperand(1));
1056 void GBCExpanderPass::Expand_FilledNewArray(llvm::CallInst& call_inst) {
1058 llvm::Value* array = call_inst.getArgOperand(0);
1061 llvm::cast<llvm::ConstantInt>(call_inst.getArgOperand(1))->getZExtValue();
1063 DCHECK_GT(call_inst.getNumArgOperands(), 2U);
1064 unsigned num_elements = (call_inst.getNumArgOperands() - 2);
1093 llvm::Value* reg_value = call_inst.getArgOperand(2 + i);
1219 llvm::Value* GBCExpanderPass::Expand_Invoke(llvm::CallInst& call_inst) {
1221 llvm::Value* callee_method_object_addr = call_inst.getArgOperand(0);
1222 unsigned num_args = call_inst.getNumArgOperands();
1223 llvm::Type* ret_type = call_inst.getType();
1229 args.push_back(call_inst.getArgOperand(i));
1248 llvm::Value* GBCExpanderPass::Expand_DivRem(llvm::CallInst& call_inst,
1250 llvm::Value* dividend = call_inst.getArgOperand(0);
1251 llvm::Value* divisor = call_inst.getArgOperand(1);
1252 uint32_t dex_pc = LV2UInt(call_inst.getMetadata("DexOff")->getOperand(0));
1545 llvm::Value* GBCExpanderPass::Expand_HLArrayGet(llvm::CallInst& call_inst,
1547 uint32_t dex_pc = LV2UInt(call_inst.getMetadata("DexOff")->getOperand(0));
1548 llvm::Value* array_addr = call_inst.getArgOperand(1);
1549 llvm::Value* index_value = call_inst.getArgOperand(2);
1550 int opt_flags = LV2UInt(call_inst.getArgOperand(0));
1564 void GBCExpanderPass::Expand_HLArrayPut(llvm::CallInst& call_inst,
1566 uint32_t dex_pc = LV2UInt(call_inst.getMetadata("DexOff")->getOperand(0));
1567 llvm::Value* new_value = call_inst.getArgOperand(1);
1568 llvm::Value* array_addr = call_inst.getArgOperand(2);
1569 llvm::Value* index_value = call_inst.getArgOperand(3);
1570 int opt_flags = LV2UInt(call_inst.getArgOperand(0));
1595 llvm::Value* GBCExpanderPass::Expand_HLIGet(llvm::CallInst& call_inst,
1597 uint32_t dex_pc = LV2UInt(call_inst.getMetadata("DexOff")->getOperand(0));
1598 llvm::Value* object_addr = call_inst.getArgOperand(1);
1599 uint32_t field_idx = LV2UInt(call_inst.getArgOperand(2));
1600 int opt_flags = LV2UInt(call_inst.getArgOperand(0));
1658 void GBCExpanderPass::Expand_HLIPut(llvm::CallInst& call_inst,
1660 uint32_t dex_pc = LV2UInt(call_inst.getMetadata("DexOff")->getOperand(0));
1661 llvm::Value* new_value = call_inst.getArgOperand(1);
1662 llvm::Value* object_addr = call_inst.getArgOperand(2);
1663 uint32_t field_idx = LV2UInt(call_inst.getArgOperand(3));
1664 int opt_flags = LV2UInt(call_inst.getArgOperand(0));
1878 llvm::Value* GBCExpanderPass::Expand_HLSget(llvm::CallInst& call_inst,
1880 uint32_t dex_pc = LV2UInt(call_inst.getMetadata("DexOff")->getOperand(0));
1881 uint32_t field_idx = LV2UInt(call_inst.getArgOperand(0));
1958 void GBCExpanderPass::Expand_HLSput(llvm::CallInst& call_inst,
1960 uint32_t dex_pc = LV2UInt(call_inst.getMetadata("DexOff")->getOperand(0));
1961 uint32_t field_idx = LV2UInt(call_inst.getArgOperand(0));
1962 llvm::Value* new_value = call_inst.getArgOperand(1);
2052 llvm::Value* GBCExpanderPass::Expand_ConstString(llvm::CallInst& call_inst) {
2053 uint32_t dex_pc = LV2UInt(call_inst.getMetadata("DexOff")->getOperand(0));
2054 uint32_t string_idx = LV2UInt(call_inst.getArgOperand(0));
2114 llvm::Value* GBCExpanderPass::Expand_ConstClass(llvm::CallInst& call_inst) {
2115 uint32_t dex_pc = LV2UInt(call_inst.getMetadata("DexOff")->getOperand(0));
2116 uint32_t type_idx = LV2UInt(call_inst.getArgOperand(0));
2123 void GBCExpanderPass::Expand_MonitorEnter(llvm::CallInst& call_inst) {
2124 uint32_t dex_pc = LV2UInt(call_inst.getMetadata("DexOff")->getOperand(0));
2125 llvm::Value* object_addr = call_inst.getArgOperand(1);
2126 int opt_flags = LV2UInt(call_inst.getArgOperand(0));
2137 void GBCExpanderPass::Expand_MonitorExit(llvm::CallInst& call_inst) {
2138 uint32_t dex_pc = LV2UInt(call_inst.getMetadata("DexOff")->getOperand(0));
2139 llvm::Value* object_addr = call_inst.getArgOperand(1);
2140 int opt_flags = LV2UInt(call_inst.getArgOperand(0));
2153 void GBCExpanderPass::Expand_HLCheckCast(llvm::CallInst& call_inst) {
2154 uint32_t dex_pc = LV2UInt(call_inst.getMetadata("DexOff")->getOperand(0));
2155 uint32_t type_idx = LV2UInt(call_inst.getArgOperand(0));
2156 llvm::Value* object_addr = call_inst.getArgOperand(1);
2207 llvm::Value* GBCExpanderPass::Expand_InstanceOf(llvm::CallInst& call_inst) {
2208 uint32_t dex_pc = LV2UInt(call_inst.getMetadata("DexOff")->getOperand(0));
2209 uint32_t type_idx = LV2UInt(call_inst.getArgOperand(0));
2210 llvm::Value* object_addr = call_inst.getArgOperand(1);
2278 llvm::Value* GBCExpanderPass::Expand_NewInstance(llvm::CallInst& call_inst) {
2279 uint32_t dex_pc = LV2UInt(call_inst.getMetadata("DexOff")->getOperand(0));
2280 uint32_t type_idx = LV2UInt(call_inst.getArgOperand(0));
2307 llvm::Value* GBCExpanderPass::Expand_HLInvoke(llvm::CallInst& call_inst) {
2308 art::InvokeType invoke_type = static_cast<art::InvokeType>(LV2UInt(call_inst.getArgOperand(0)));
2313 uint32_t dex_pc = LV2UInt(call_inst.getMetadata("DexOff")->getOperand(0));
2314 llvm::Value* this_addr = call_inst.getArgOperand(3);
2315 int opt_flags = LV2UInt(call_inst.getArgOperand(2));
2321 if (EmitIntrinsic(call_inst, &result)) {
2325 return EmitInvoke(call_inst);
2328 llvm::Value* GBCExpanderPass::Expand_OptArrayLength(llvm::CallInst& call_inst) {
2329 uint32_t dex_pc = LV2UInt(call_inst.getMetadata("DexOff")->getOperand(0));
2331 llvm::Value* array_addr = call_inst.getArgOperand(1);
2332 int opt_flags = LV2UInt(call_inst.getArgOperand(0));
2340 llvm::Value* GBCExpanderPass::Expand_NewArray(llvm::CallInst& call_inst) {
2341 uint32_t dex_pc = LV2UInt(call_inst.getMetadata("DexOff")->getOperand(0));
2342 uint32_t type_idx = LV2UInt(call_inst.getArgOperand(0));
2343 llvm::Value* length = call_inst.getArgOperand(1);
2348 llvm::Value* GBCExpanderPass::Expand_HLFilledNewArray(llvm::CallInst& call_inst) {
2349 uint32_t dex_pc = LV2UInt(call_inst.getMetadata("DexOff")->getOperand(0));
2350 uint32_t type_idx = LV2UInt(call_inst.getArgOperand(1));
2351 uint32_t length = call_inst.getNumArgOperands() - 3;
2394 llvm::Value* reg_value = call_inst.getArgOperand(i+3);
2406 void GBCExpanderPass::Expand_HLFillArrayData(llvm::CallInst& call_inst) {
2407 uint32_t dex_pc = LV2UInt(call_inst.getMetadata("DexOff")->getOperand(0));
2409 LV2SInt(call_inst.getArgOperand(0));
2410 llvm::Value* array_addr = call_inst.getArgOperand(1);
2858 llvm::CallInst& call_inst) {
2865 Expand_TestSuspend(call_inst);
2869 Expand_TestSuspend(call_inst);
2873 Expand_MarkGCCard(call_inst);
2879 return ExpandToRuntime(ThrowException, call_inst);
2882 uint32_t dex_pc = LV2UInt(call_inst.getMetadata("DexOff")->getOperand(0));
2887 call_inst.getArgOperand(0));
2899 return ExpandToRuntime(FindCatchBlock, call_inst);
2902 return ExpandToRuntime(ThrowDivZeroException, call_inst);
2905 return ExpandToRuntime(ThrowNullPointerException, call_inst);
2908 return ExpandToRuntime(ThrowIndexOutOfBounds, call_inst);
2913 return Expand_ConstString(call_inst);
2916 return Expand_LoadStringFromDexCache(call_inst.getArgOperand(0));
2919 return ExpandToRuntime(ResolveString, call_inst);
2924 return Expand_ConstClass(call_inst);
2927 return ExpandToRuntime(InitializeTypeAndVerifyAccess, call_inst);
2930 return Expand_LoadTypeFromDexCache(call_inst.getArgOperand(0));
2933 return ExpandToRuntime(InitializeType, call_inst);
2938 Expand_LockObject(call_inst.getArgOperand(0));
2942 Expand_UnlockObject(call_inst.getArgOperand(0));
2948 return ExpandToRuntime(CheckCast, call_inst);
2951 Expand_HLCheckCast(call_inst);
2955 return ExpandToRuntime(IsAssignable, call_inst);
2960 return ExpandToRuntime(AllocObject, call_inst);
2963 return ExpandToRuntime(AllocObjectWithAccessCheck, call_inst);
2968 return Expand_NewInstance(call_inst);
2971 return Expand_InstanceOf(call_inst);
2976 return Expand_NewArray(call_inst);
2979 return Expand_OptArrayLength(call_inst);
2982 return EmitLoadArrayLength(call_inst.getArgOperand(0));
2985 return ExpandToRuntime(AllocArray, call_inst);
2989 call_inst);
2992 return ExpandToRuntime(CheckAndAllocArray, call_inst);
2996 call_inst);
2999 return Expand_ArrayGet(call_inst.getArgOperand(0),
3000 call_inst.getArgOperand(1),
3004 return Expand_ArrayGet(call_inst.getArgOperand(0),
3005 call_inst.getArgOperand(1),
3009 return Expand_ArrayGet(call_inst.getArgOperand(0),
3010 call_inst.getArgOperand(1),
3014 return Expand_ArrayGet(call_inst.getArgOperand(0),
3015 call_inst.getArgOperand(1),
3019 return Expand_ArrayGet(call_inst.getArgOperand(0),
3020 call_inst.getArgOperand(1),
3024 return Expand_ArrayGet(call_inst.getArgOperand(0),
3025 call_inst.getArgOperand(1),
3029 return Expand_ArrayGet(call_inst.getArgOperand(0),
3030 call_inst.getArgOperand(1),
3034 Expand_ArrayPut(call_inst.getArgOperand(0),
3035 call_inst.getArgOperand(1),
3036 call_inst.getArgOperand(2),
3041 Expand_ArrayPut(call_inst.getArgOperand(0),
3042 call_inst.getArgOperand(1),
3043 call_inst.getArgOperand(2),
3048 Expand_ArrayPut(call_inst.getArgOperand(0),
3049 call_inst.getArgOperand(1),
3050 call_inst.getArgOperand(2),
3055 Expand_ArrayPut(call_inst.getArgOperand(0),
3056 call_inst.getArgOperand(1),
3057 call_inst.getArgOperand(2),
3062 Expand_ArrayPut(call_inst.getArgOperand(0),
3063 call_inst.getArgOperand(1),
3064 call_inst.getArgOperand(2),
3069 Expand_ArrayPut(call_inst.getArgOperand(0),
3070 call_inst.getArgOperand(1),
3071 call_inst.getArgOperand(2),
3076 Expand_ArrayPut(call_inst.getArgOperand(0),
3077 call_inst.getArgOperand(1),
3078 call_inst.getArgOperand(2),
3083 return ExpandToRuntime(CheckPutArrayElement, call_inst);
3086 Expand_FilledNewArray(call_inst);
3090 return ExpandToRuntime(FillArrayData, call_inst);
3093 Expand_HLFillArrayData(call_inst);
3097 return Expand_HLFilledNewArray(call_inst);
3106 return ExpandToRuntime(Get32Instance, call_inst);
3109 return ExpandToRuntime(Get64Instance, call_inst);
3112 return ExpandToRuntime(GetObjectInstance, call_inst);
3115 return Expand_IGetFast(call_inst.getArgOperand(0),
3116 call_inst.getArgOperand(1),
3117 call_inst.getArgOperand(2),
3121 return Expand_IGetFast(call_inst.getArgOperand(0),
3122 call_inst.getArgOperand(1),
3123 call_inst.getArgOperand(2),
3127 return Expand_IGetFast(call_inst.getArgOperand(0),
3128 call_inst.getArgOperand(1),
3129 call_inst.getArgOperand(2),
3133 return Expand_IGetFast(call_inst.getArgOperand(0),
3134 call_inst.getArgOperand(1),
3135 call_inst.getArgOperand(2),
3139 return Expand_IGetFast(call_inst.getArgOperand(0),
3140 call_inst.getArgOperand(1),
3141 call_inst.getArgOperand(2),
3145 return Expand_IGetFast(call_inst.getArgOperand(0),
3146 call_inst.getArgOperand(1),
3147 call_inst.getArgOperand(2),
3151 return Expand_IGetFast(call_inst.getArgOperand(0),
3152 call_inst.getArgOperand(1),
3153 call_inst.getArgOperand(2),
3161 return ExpandToRuntime(Set32Instance, call_inst);
3164 return ExpandToRuntime(Set64Instance, call_inst);
3167 return ExpandToRuntime(SetObjectInstance, call_inst);
3170 Expand_IPutFast(call_inst.getArgOperand(0),
3171 call_inst.getArgOperand(1),
3172 call_inst.getArgOperand(2),
3173 call_inst.getArgOperand(3),
3178 Expand_IPutFast(call_inst.getArgOperand(0),
3179 call_inst.getArgOperand(1),
3180 call_inst.getArgOperand(2),
3181 call_inst.getArgOperand(3),
3186 Expand_IPutFast(call_inst.getArgOperand(0),
3187 call_inst.getArgOperand(1),
3188 call_inst.getArgOperand(2),
3189 call_inst.getArgOperand(3),
3194 Expand_IPutFast(call_inst.getArgOperand(0),
3195 call_inst.getArgOperand(1),
3196 call_inst.getArgOperand(2),
3197 call_inst.getArgOperand(3),
3202 Expand_IPutFast(call_inst.getArgOperand(0),
3203 call_inst.getArgOperand(1),
3204 call_inst.getArgOperand(2),
3205 call_inst.getArgOperand(3),
3210 Expand_IPutFast(call_inst.getArgOperand(0),
3211 call_inst.getArgOperand(1),
3212 call_inst.getArgOperand(2),
3213 call_inst.getArgOperand(3),
3218 Expand_IPutFast(call_inst.getArgOperand(0),
3219 call_inst.getArgOperand(1),
3220 call_inst.getArgOperand(2),
3221 call_inst.getArgOperand(3),
3232 return ExpandToRuntime(Get32Static, call_inst);
3235 return ExpandToRuntime(Get64Static, call_inst);
3238 return ExpandToRuntime(GetObjectStatic, call_inst);
3241 return Expand_SGetFast(call_inst.getArgOperand(0),
3242 call_inst.getArgOperand(1),
3243 call_inst.getArgOperand(2),
3247 return Expand_SGetFast(call_inst.getArgOperand(0),
3248 call_inst.getArgOperand(1),
3249 call_inst.getArgOperand(2),
3253 return Expand_SGetFast(call_inst.getArgOperand(0),
3254 call_inst.getArgOperand(1),
3255 call_inst.getArgOperand(2),
3259 return Expand_SGetFast(call_inst.getArgOperand(0),
3260 call_inst.getArgOperand(1),
3261 call_inst.getArgOperand(2),
3265 return Expand_SGetFast(call_inst.getArgOperand(0),
3266 call_inst.getArgOperand(1),
3267 call_inst.getArgOperand(2),
3271 return Expand_SGetFast(call_inst.getArgOperand(0),
3272 call_inst.getArgOperand(1),
3273 call_inst.getArgOperand(2),
3277 return Expand_SGetFast(call_inst.getArgOperand(0),
3278 call_inst.getArgOperand(1),
3279 call_inst.getArgOperand(2),
3287 return ExpandToRuntime(Set32Static, call_inst);
3290 return ExpandToRuntime(Set64Static, call_inst);
3293 return ExpandToRuntime(SetObjectStatic, call_inst);
3296 Expand_SPutFast(call_inst.getArgOperand(0),
3297 call_inst.getArgOperand(1),
3298 call_inst.getArgOperand(2),
3299 call_inst.getArgOperand(3),
3304 Expand_SPutFast(call_inst.getArgOperand(0),
3305 call_inst.getArgOperand(1),
3306 call_inst.getArgOperand(2),
3307 call_inst.getArgOperand(3),
3312 Expand_SPutFast(call_inst.getArgOperand(0),
3313 call_inst.getArgOperand(1),
3314 call_inst.getArgOperand(2),
3315 call_inst.getArgOperand(3),
3320 Expand_SPutFast(call_inst.getArgOperand(0),
3321 call_inst.getArgOperand(1),
3322 call_inst.getArgOperand(2),
3323 call_inst.getArgOperand(3),
3328 Expand_SPutFast(call_inst.getArgOperand(0),
3329 call_inst.getArgOperand(1),
3330 call_inst.getArgOperand(2),
3331 call_inst.getArgOperand(3),
3336 Expand_SPutFast(call_inst.getArgOperand(0),
3337 call_inst.getArgOperand(1),
3338 call_inst.getArgOperand(2),
3339 call_inst.getArgOperand(3),
3344 Expand_SPutFast(call_inst.getArgOperand(0),
3345 call_inst.getArgOperand(1),
3346 call_inst.getArgOperand(2),
3347 call_inst.getArgOperand(3),
3352 return Expand_LoadDeclaringClassSSB(call_inst.getArgOperand(0));
3355 return ExpandToRuntime(InitializeStaticStorage, call_inst);
3360 return Expand_HLArrayGet(call_inst, kInt);
3363 return Expand_HLArrayGet(call_inst, kBoolean);
3366 return Expand_HLArrayGet(call_inst, kByte);
3369 return Expand_HLArrayGet(call_inst, kChar);
3372 return Expand_HLArrayGet(call_inst, kShort);
3375 return Expand_HLArrayGet(call_inst, kFloat);
3378 return Expand_HLArrayGet(call_inst, kLong);
3381 return Expand_HLArrayGet(call_inst, kDouble);
3384 return Expand_HLArrayGet(call_inst, kObject);
3387 Expand_HLArrayPut(call_inst, kInt);
3391 Expand_HLArrayPut(call_inst, kBoolean);
3395 Expand_HLArrayPut(call_inst, kByte);
3399 Expand_HLArrayPut(call_inst, kChar);
3403 Expand_HLArrayPut(call_inst, kShort);
3407 Expand_HLArrayPut(call_inst, kFloat);
3411 Expand_HLArrayPut(call_inst, kLong);
3415 Expand_HLArrayPut(call_inst, kDouble);
3419 Expand_HLArrayPut(call_inst, kObject);
3425 return Expand_HLIGet(call_inst, kInt);
3428 return Expand_HLIGet(call_inst, kBoolean);
3431 return Expand_HLIGet(call_inst, kByte);
3434 return Expand_HLIGet(call_inst, kChar);
3437 return Expand_HLIGet(call_inst, kShort);
3440 return Expand_HLIGet(call_inst, kFloat);
3443 return Expand_HLIGet(call_inst, kLong);
3446 return Expand_HLIGet(call_inst, kDouble);
3449 return Expand_HLIGet(call_inst, kObject);
3452 Expand_HLIPut(call_inst, kInt);
3456 Expand_HLIPut(call_inst, kBoolean);
3460 Expand_HLIPut(call_inst, kByte);
3464 Expand_HLIPut(call_inst, kChar);
3468 Expand_HLIPut(call_inst, kShort);
3472 Expand_HLIPut(call_inst, kFloat);
3476 Expand_HLIPut(call_inst, kLong);
3480 Expand_HLIPut(call_inst, kDouble);
3484 Expand_HLIPut(call_inst, kObject);
3495 return Expand_HLInvoke(call_inst);
3500 return ExpandToRuntime(FindStaticMethodWithAccessCheck, call_inst);
3503 return ExpandToRuntime(FindDirectMethodWithAccessCheck, call_inst);
3506 return ExpandToRuntime(FindVirtualMethodWithAccessCheck, call_inst);
3509 return ExpandToRuntime(FindSuperMethodWithAccessCheck, call_inst);
3512 return ExpandToRuntime(FindInterfaceMethodWithAccessCheck, call_inst);
3515 return Expand_GetSDCalleeMethodObjAddrFast(call_inst.getArgOperand(0));
3519 call_inst.getArgOperand(0), call_inst.getArgOperand(1));
3522 return ExpandToRuntime(FindInterfaceMethod, call_inst);
3534 return Expand_Invoke(call_inst);
3539 return Expand_DivRem(call_inst, /* is_div */true, kInt);
3542 return Expand_DivRem(call_inst, /* is_div */false, kInt);
3545 return Expand_DivRem(call_inst, /* is_div */true, kLong);
3548 return Expand_DivRem(call_inst, /* is_div */false, kLong);
3551 return ExpandToRuntime(art_d2l, call_inst);
3554 return ExpandToRuntime(art_d2i, call_inst);
3557 return ExpandToRuntime(art_f2l, call_inst);
3560 return ExpandToRuntime(art_f2i, call_inst);
3565 return Expand_HLSget(call_inst, kInt);
3568 return Expand_HLSget(call_inst, kBoolean);
3571 return Expand_HLSget(call_inst, kByte);
3574 return Expand_HLSget(call_inst, kChar);
3577 return Expand_HLSget(call_inst, kShort);
3580 return Expand_HLSget(call_inst, kFloat);
3583 return Expand_HLSget(call_inst, kLong);
3586 return Expand_HLSget(call_inst, kDouble);
3589 return Expand_HLSget(call_inst, kObject);
3592 Expand_HLSput(call_inst, kInt);
3596 Expand_HLSput(call_inst, kBoolean);
3600 Expand_HLSput(call_inst, kByte);
3604 Expand_HLSput(call_inst, kChar);
3608 Expand_HLSput(call_inst, kShort);
3612 Expand_HLSput(call_inst, kFloat);
3616 Expand_HLSput(call_inst, kLong);
3620 Expand_HLSput(call_inst, kDouble);
3624 Expand_HLSput(call_inst, kObject);
3630 Expand_MonitorEnter(call_inst);
3634 Expand_MonitorExit(call_inst);
3640 Expand_AllocaShadowFrame(call_inst.getArgOperand(0));
3644 Expand_SetVReg(call_inst.getArgOperand(0),
3645 call_inst.getArgOperand(1));
3653 Expand_UpdateDexPC(call_inst.getArgOperand(0));
3660 return Expand_FPCompare(call_inst.getArgOperand(0),
3661 call_inst.getArgOperand(1),
3666 return Expand_FPCompare(call_inst.getArgOperand(0),
3667 call_inst.getArgOperand(1),
3671 return Expand_LongCompare(call_inst.getArgOperand(0),
3672 call_inst.getArgOperand(1));
3678 return call_inst.getArgOperand(0);
3681 return irb_.CreateBitCast(call_inst.getArgOperand(0),
3685 return irb_.CreateBitCast(call_inst.getArgOperand(0),
3689 CHECK_EQ(LV2UInt(call_inst.getArgOperand(0)), 0U);
3706 return call_inst.getArgOperand(0);
3711 return Expand_IntegerShift(call_inst.getArgOperand(0),
3712 call_inst.getArgOperand(1),
3716 return Expand_IntegerShift(call_inst.getArgOperand(0),
3717 call_inst.getArgOperand(1),
3721 return Expand_IntegerShift(call_inst.getArgOperand(0),
3722 call_inst.getArgOperand(1),
3726 return Expand_IntegerShift(call_inst.getArgOperand(0),
3727 call_inst.getArgOperand(1),
3731 return Expand_IntegerShift(call_inst.getArgOperand(0),
3732 call_inst.getArgOperand(1),
3736 return Expand_IntegerShift(call_inst.getArgOperand(0),
3737 call_inst.getArgOperand(1),
3743 return irb_.CreateZExt(irb_.CreateTrunc(call_inst.getArgOperand(0), irb_.getJCharTy()),
3747 return irb_.CreateSExt(irb_.CreateTrunc(call_inst.getArgOperand(0), irb_.getJShortTy()),
3751 return irb_.CreateSExt(irb_.CreateTrunc(call_inst.getArgOperand(0), irb_.getJByteTy()),
3758 llvm::SwitchInst* si = llvm::dyn_cast<llvm::SwitchInst>(call_inst.getNextNode());
3762 return call_inst.getArgOperand(0);