Home | History | Annotate | Download | only in src

Lines Matching refs:Func

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