• Home
  • Raw
  • Download

Lines Matching refs:Func

264   explicit IceBuilder(class Cfg *Func)  in IceBuilder()  argument
265 : ControlPtr(nullptr), Func(Func), Ctx(Func->getContext()) {} in IceBuilder()
270 return Func->allocateArrayOf<Node>(Count); in Buffer()
276 auto *Entry = Func->getEntryNode(); in Start()
286 Entry->appendInst(InstLoad::create(Func, WasmMemoryV, WasmMemoryPtr)); in Start()
295 Func->addArg(Arg); in Param()
301 auto *Loop = Func->makeNode(); in Loop()
303 Entry->appendInst(InstBr::create(Func, Loop)); in Loop()
318 auto *MergedNode = Func->makeNode(); in Merge()
322 Control->appendInst(InstBr::create(Func, MergedNode)); in Merge()
345 auto *Phi = InstPhi::create(Func, Count * 200, Dest); in Phi()
408 InstArithmetic::create(Func, InstArithmetic::Add, Dest, Left, Right)); in Binop()
412 Control()->appendInst(InstArithmetic::create(Func, InstArithmetic::Fadd, in Binop()
418 InstArithmetic::create(Func, InstArithmetic::Sub, Dest, Left, Right)); in Binop()
422 Control()->appendInst(InstArithmetic::create(Func, InstArithmetic::Fsub, in Binop()
428 InstArithmetic::create(Func, InstArithmetic::Mul, Dest, Left, Right)); in Binop()
432 Control()->appendInst(InstArithmetic::create(Func, InstArithmetic::Fmul, in Binop()
437 Control()->appendInst(InstArithmetic::create(Func, InstArithmetic::Sdiv, in Binop()
442 Control()->appendInst(InstArithmetic::create(Func, InstArithmetic::Udiv, in Binop()
447 Control()->appendInst(InstArithmetic::create(Func, InstArithmetic::Fdiv, in Binop()
452 Control()->appendInst(InstArithmetic::create(Func, InstArithmetic::Urem, in Binop()
457 Control()->appendInst(InstArithmetic::create(Func, InstArithmetic::Srem, in Binop()
463 InstArithmetic::create(Func, InstArithmetic::Or, Dest, Left, Right)); in Binop()
468 InstArithmetic::create(Func, InstArithmetic::Xor, Dest, Left, Right)); in Binop()
473 InstArithmetic::create(Func, InstArithmetic::Shl, Dest, Left, Right)); in Binop()
487 InstArithmetic::create(Func, InstArithmetic::And, Masked, Right, in Binop()
490 InstArithmetic::create(Func, InstArithmetic::Shl, Top, Left, Masked)); in Binop()
493 Func, InstArithmetic::Sub, RotShift, in Binop()
495 Control()->appendInst(InstArithmetic::create(Func, InstArithmetic::Lshr, in Binop()
498 InstArithmetic::create(Func, InstArithmetic::Or, Dest, Top, Bottom)); in Binop()
513 InstArithmetic::create(Func, InstArithmetic::And, Masked, Right, in Binop()
515 Control()->appendInst(InstArithmetic::create(Func, InstArithmetic::Lshr, in Binop()
519 Func, InstArithmetic::Sub, RotShift, in Binop()
521 Control()->appendInst(InstArithmetic::create(Func, InstArithmetic::Shl, in Binop()
524 InstArithmetic::create(Func, InstArithmetic::Or, Dest, Top, Bottom)); in Binop()
529 Control()->appendInst(InstArithmetic::create(Func, InstArithmetic::Lshr, in Binop()
534 Control()->appendInst(InstArithmetic::create(Func, InstArithmetic::Ashr, in Binop()
540 InstArithmetic::create(Func, InstArithmetic::And, Dest, Left, Right)); in Binop()
546 InstIcmp::create(Func, InstIcmp::Ne, TmpDest, Left, Right)); in Binop()
549 InstCast::create(Func, InstCast::Zext, Dest, TmpDest)); in Binop()
556 InstIcmp::create(Func, InstIcmp::Eq, TmpDest, Left, Right)); in Binop()
559 InstCast::create(Func, InstCast::Zext, Dest, TmpDest)); in Binop()
566 InstIcmp::create(Func, InstIcmp::Slt, TmpDest, Left, Right)); in Binop()
569 InstCast::create(Func, InstCast::Zext, Dest, TmpDest)); in Binop()
576 InstIcmp::create(Func, InstIcmp::Sle, TmpDest, Left, Right)); in Binop()
579 InstCast::create(Func, InstCast::Zext, Dest, TmpDest)); in Binop()
586 InstIcmp::create(Func, InstIcmp::Uge, TmpDest, Left, Right)); in Binop()
589 InstCast::create(Func, InstCast::Zext, Dest, TmpDest)); in Binop()
596 InstIcmp::create(Func, InstIcmp::Ule, TmpDest, Left, Right)); in Binop()
599 InstCast::create(Func, InstCast::Zext, Dest, TmpDest)); in Binop()
606 InstIcmp::create(Func, InstIcmp::Ult, TmpDest, Left, Right)); in Binop()
609 InstCast::create(Func, InstCast::Zext, Dest, TmpDest)); in Binop()
616 InstIcmp::create(Func, InstIcmp::Sge, TmpDest, Left, Right)); in Binop()
619 InstCast::create(Func, InstCast::Zext, Dest, TmpDest)); in Binop()
626 InstIcmp::create(Func, InstIcmp::Sgt, TmpDest, Left, Right)); in Binop()
629 InstCast::create(Func, InstCast::Zext, Dest, TmpDest)); in Binop()
636 InstIcmp::create(Func, InstIcmp::Ugt, TmpDest, Left, Right)); in Binop()
639 InstCast::create(Func, InstCast::Zext, Dest, TmpDest)); in Binop()
646 InstFcmp::create(Func, InstFcmp::Ueq, TmpDest, Left, Right)); in Binop()
649 InstCast::create(Func, InstCast::Zext, Dest, TmpDest)); in Binop()
656 InstFcmp::create(Func, InstFcmp::Une, TmpDest, Left, Right)); in Binop()
659 InstCast::create(Func, InstCast::Zext, Dest, TmpDest)); in Binop()
666 InstFcmp::create(Func, InstFcmp::Ule, TmpDest, Left, Right)); in Binop()
669 InstCast::create(Func, InstCast::Zext, Dest, TmpDest)); in Binop()
676 InstFcmp::create(Func, InstFcmp::Ult, TmpDest, Left, Right)); in Binop()
679 InstCast::create(Func, InstCast::Zext, Dest, TmpDest)); in Binop()
686 InstFcmp::create(Func, InstFcmp::Uge, TmpDest, Left, Right)); in Binop()
689 InstCast::create(Func, InstCast::Zext, Dest, TmpDest)); in Binop()
696 InstFcmp::create(Func, InstFcmp::Ugt, TmpDest, Left, Right)); in Binop()
699 InstCast::create(Func, InstCast::Zext, Dest, TmpDest)); in Binop()
720 Control()->appendInst(InstIcmp::create(Func, InstIcmp::Eq, Tmp, Input, in Unop()
723 Control()->appendInst(InstCast::create(Func, InstCast::Zext, Dest, Tmp)); in Unop()
730 Control()->appendInst(InstIcmp::create(Func, InstIcmp::Eq, Tmp, Input, in Unop()
733 Control()->appendInst(InstCast::create(Func, InstCast::Zext, Dest, Tmp)); in Unop()
745 Func, 1, Dest, Ctx->getConstantExternSym(FnName), Info->Info); in Unop()
753 Func, InstArithmetic::Fsub, Dest, Ctx->getConstantFloat(0), Input)); in Unop()
759 Func, InstArithmetic::Fsub, Dest, Ctx->getConstantDouble(0), Input)); in Unop()
771 Func, 1, Dest, Ctx->getConstantExternSym(FnName), Info->Info); in Unop()
785 Func, 1, Dest, Ctx->getConstantExternSym(FnName), Info->Info); in Unop()
796 Func, 1, Dest, Ctx->getConstantExternSym(FnName), HasTailCall); in Unop()
807 Func, 1, Dest, Ctx->getConstantExternSym(FnName), HasTailCall); in Unop()
821 Func, 1, Dest, Ctx->getConstantExternSym(FnName), Info->Info); in Unop()
835 Func, 1, Dest, Ctx->getConstantExternSym(FnName), Info->Info); in Unop()
843 InstCast::create(Func, InstCast::Zext, Dest, Input)); in Unop()
848 InstCast::create(Func, InstCast::Sext, Dest, Input)); in Unop()
853 InstCast::create(Func, InstCast::Fptosi, Dest, Input)); in Unop()
858 InstCast::create(Func, InstCast::Fptoui, Dest, Input)); in Unop()
863 InstCast::create(Func, InstCast::Fptosi, Dest, Input)); in Unop()
868 InstCast::create(Func, InstCast::Fptoui, Dest, Input)); in Unop()
873 InstCast::create(Func, InstCast::Bitcast, Dest, Input)); in Unop()
878 InstCast::create(Func, InstCast::Bitcast, Dest, Input)); in Unop()
883 InstCast::create(Func, InstCast::Bitcast, Dest, Input)); in Unop()
888 InstCast::create(Func, InstCast::Trunc, Dest, Input)); in Unop()
893 InstCast::create(Func, InstCast::Sitofp, Dest, Input)); in Unop()
898 InstCast::create(Func, InstCast::Uitofp, Dest, Input)); in Unop()
903 InstCast::create(Func, InstCast::Fpext, Dest, Input)); in Unop()
908 InstCast::create(Func, InstCast::Sitofp, Dest, Input)); in Unop()
913 InstCast::create(Func, InstCast::Uitofp, Dest, Input)); in Unop()
918 InstCast::create(Func, InstCast::Bitcast, Dest, Input)); in Unop()
923 InstCast::create(Func, InstCast::Fptrunc, Dest, Input)); in Unop()
951 From->appendInst(InstBr::create(Func, Merge)); in AppendToMerge()
971 *TrueNode = OperandNode(Func->makeNode()); in Branch()
972 *FalseNode = OperandNode(Func->makeNode()); in Branch()
980 Ctrl->appendInst(InstIcmp::create(Func, InstIcmp::Ne, CondBool, Cond, in Branch()
984 Ctrl->appendInst(InstBr::create(Func, CondBool, *TrueNode, *FalseNode)); in Branch()
995 auto *Default = Func->makeNode(); in Switch()
998 CurrentSwitch = InstSwitch::create(Func, Count - 1, Key, Default); in Switch()
1008 auto *Target = Func->makeNode(); in IfValue()
1032 1 == Count ? InstRet::create(Func, Vals[0]) : InstRet::create(Func); in Return()
1040 auto *Instr = InstRet::create(Func); in ReturnVoid()
1048 auto *Instr = InstUnreachable::create(Func); in Unreachable()
1077 auto *Call = InstCall::create(Func, NumArgs, Dest, TargetOperand, in CallDirect()
1117 InstCall::create(Func, NumArgs, Dest, TargetOperand, NoTailCall); in CallImport()
1140 auto *Switch = InstSwitch::create(Func, IndirectTable.size(), in CallIndirect()
1151 auto *ExitNode = Func->makeNode(); in CallIndirect()
1153 HasReturn ? InstPhi::create(Func, IndirectTable.size(), Dest) : nullptr; in CallIndirect()
1159 auto *CallNode = Func->makeNode(); in CallIndirect()
1167 CallNode->appendInst(InstBr::create(Func, ExitNode)); in CallIndirect()
1212 Control()->appendInst(InstLoad::create(Func, LoadResult, RealAddr)); in LoadMem()
1223 InstCast::create(Func, InstCast::Sext, Result, LoadResult)); in LoadMem()
1226 InstCast::create(Func, InstCast::Zext, Result, LoadResult)); in LoadMem()
1230 InstCast::create(Func, InstCast::Sitofp, Result, LoadResult)); in LoadMem()
1253 InstCast::create(Func, InstCast::Trunc, LocalStoreVal, Val)); in StoreMem()
1260 Control()->appendInst(InstStore::create(Func, StoreVal, RealAddr)); in StoreMem()
1269 return ControlPtr ? ControlPtr->toCfgNode() : Func->getEntryNode(); in Control()
1284 class Cfg *Func; member in IceBuilder
1316 auto *Var = Func->makeVariable<T>(Type); in makeVariable()
1333 BoundsFailTarget = Func->makeNode(); in getBoundsFailTarget()
1335 Func, 0, nullptr, in getBoundsFailTarget()
1338 BoundsFailTarget->appendInst(InstUnreachable::create(Func)); in getBoundsFailTarget()
1347 IndirectFailTarget = Func->makeNode(); in getIndirectFailTarget()
1349 Func, 0, nullptr, in getIndirectFailTarget()
1352 IndirectFailTarget->appendInst(InstUnreachable::create(Func)); in getIndirectFailTarget()
1374 Control()->appendInst(InstUnreachable::create(Func)); in sanitizeAddress()
1387 Control()->appendInst(InstArithmetic::create(Func, InstArithmetic::Add, in sanitizeAddress()
1399 auto *CheckPassed = Func->makeNode(); in sanitizeAddress()
1403 Control()->appendInst(InstIcmp::create(Func, InstIcmp::Ult, Check, Base, in sanitizeAddress()
1406 InstBr::create(Func, Check, CheckPassed, CheckFailed)); in sanitizeAddress()
1414 auto RealAddrV = Func->makeVariable(Ice::getPointerType()); in sanitizeAddress()
1415 Control()->appendInst(InstArithmetic::create(Func, InstArithmetic::Add, in sanitizeAddress()
1436 auto Func = Cfg::create(Ctx, getNextSequenceNumber()); in translateFunction() local
1437 TimerMarker T(TimerStack::TT_wasmGenIce, Func.get()); in translateFunction()
1438 Ice::CfgLocalAllocatorScope L2(Func.get()); in translateFunction()
1442 Func->setEntryNode(Func->makeNode()); in translateFunction()
1444 IceBuilder Builder(Func.get()); in translateFunction()
1452 Func->fixPhiNodes(); in translateFunction()
1454 Func->computeInOutEdges(); in translateFunction()
1456 return Func; in translateFunction()
1637 std::unique_ptr<Cfg> Func = nullptr; in translate() local
1640 Func = translateFunction(&Zone, Body); in translate()
1641 Func->setFunctionName(Ctx->getGlobalString(FnName)); in translate()
1643 Ctx->optQueueBlockingPush(makeUnique<CfgOptWorkItem>(std::move(Func))); in translate()