Lines Matching refs:FuncInfo

284   explicit AArch64FastISel(FunctionLoweringInfo &FuncInfo,  in AArch64FastISel()  argument
286 : FastISel(FuncInfo, LibInfo, /*SkipTargetIndependentISel=*/true) { in AArch64FastISel()
287 Subtarget = &FuncInfo.MF->getSubtarget<AArch64Subtarget>(); in AArch64FastISel()
288 Context = &FuncInfo.Fn->getContext(); in AArch64FastISel()
354 if (!FuncInfo.StaticAllocaMap.count(AI)) in fastMaterializeAlloca()
358 FuncInfo.StaticAllocaMap.find(AI); in fastMaterializeAlloca()
360 if (SI != FuncInfo.StaticAllocaMap.end()) { in fastMaterializeAlloca()
362 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(AArch64::ADDXri), in fastMaterializeAlloca()
385 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(TargetOpcode::COPY), in materializeInt()
417 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(Opc1), TmpReg) in materializeFP()
421 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, in materializeFP()
434 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(AArch64::ADRP), in materializeFP()
439 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(Opc), ResultReg) in materializeFP()
466 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(AArch64::ADRP), in materializeGV()
478 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(LdrOpc), in materializeGV()
489 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, in materializeGV()
498 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(AArch64::ADRP), in materializeGV()
517 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(AArch64::MOVKXi), in materializeGV()
527 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(AArch64::ADDXri), in materializeGV()
598 if (FuncInfo.StaticAllocaMap.count(static_cast<const AllocaInst *>(Obj)) || in computeAddress()
599 FuncInfo.MBBMap[I->getParent()] == FuncInfo.MBB) { in computeAddress()
684 FuncInfo.StaticAllocaMap.find(AI); in computeAddress()
685 if (SI != FuncInfo.StaticAllocaMap.end()) { in computeAddress()
751 if (FuncInfo.MBBMap[I->getParent()] == FuncInfo.MBB) { in computeAddress()
833 if (FuncInfo.MBBMap[I->getParent()] == FuncInfo.MBB) { in computeAddress()
944 InMBB = I->getParent() == FuncInfo.MBB->getBasicBlock(); in computeCallAddress()
1029 return FuncInfo.MBBMap[I->getParent()] == FuncInfo.MBB; in isValueAvailable()
1065 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(AArch64::ADDXri), in simplifyAddress()
1135 MMO = FuncInfo.MF->getMachineMemOperand( in addLoadStoreOperands()
1136 MachinePointerInfo::getFixedStack(*FuncInfo.MF, FI, Offset), Flags, in addLoadStoreOperands()
1329 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, II, ResultReg) in emitAddSub_rr()
1373 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, II, ResultReg) in emitAddSub_ri()
1415 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, II, ResultReg) in emitAddSub_rs()
1459 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, II, ResultReg) in emitAddSub_rx()
1516 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(Opc)) in emitFCmp()
1526 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(Opc)) in emitFCmp()
1863 MachineInstrBuilder MIB = BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, in emitLoad()
1878 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, in emitLoad()
2018 MachineBasicBlock::iterator I(std::prev(FuncInfo.InsertPt)); in selectLoad()
2069 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, II) in emitStoreRelease()
2138 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, II).addReg(SrcReg); in emitStore()
2262 if (FuncInfo.MF->getFunction().hasFnAttribute( in emitCompareAndBranch()
2281 MachineBasicBlock *TBB = FuncInfo.MBBMap[BI->getSuccessor(0)]; in emitCompareAndBranch()
2282 MachineBasicBlock *FBB = FuncInfo.MBBMap[BI->getSuccessor(1)]; in emitCompareAndBranch()
2285 if (FuncInfo.MBB->isLayoutSuccessor(TBB)) { in emitCompareAndBranch()
2373 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(Opc)) in emitCompareAndBranch()
2386 MachineBasicBlock *MSucc = FuncInfo.MBBMap[BI->getSuccessor(0)]; in selectBranch()
2391 MachineBasicBlock *TBB = FuncInfo.MBBMap[BI->getSuccessor(0)]; in selectBranch()
2392 MachineBasicBlock *FBB = FuncInfo.MBBMap[BI->getSuccessor(1)]; in selectBranch()
2414 if (FuncInfo.MBB->isLayoutSuccessor(TBB)) { in selectBranch()
2443 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(AArch64::Bcc)) in selectBranch()
2449 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(AArch64::Bcc)) in selectBranch()
2459 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(AArch64::B)) in selectBranch()
2463 if (FuncInfo.BPI) { in selectBranch()
2464 auto BranchProbability = FuncInfo.BPI->getEdgeProbability( in selectBranch()
2466 FuncInfo.MBB->addSuccessor(Target, BranchProbability); in selectBranch()
2468 FuncInfo.MBB->addSuccessorWithoutProb(Target); in selectBranch()
2480 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(AArch64::Bcc)) in selectBranch()
2495 if (FuncInfo.MBB->isLayoutSuccessor(TBB)) { in selectBranch()
2503 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, II) in selectBranch()
2521 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, II).addReg(AddrReg); in selectIndirectBr()
2525 FuncInfo.MBB->addSuccessor(FuncInfo.MBBMap[Succ]); in selectIndirectBr()
2545 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, in selectCmp()
2585 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(AArch64::CSINCWr), in selectCmp()
2590 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(AArch64::CSINCWr), in selectCmp()
2604 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(AArch64::CSINCWr), in selectCmp()
2768 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, II, in selectSelect()
2798 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(AArch64::FCVTDSr), in selectFPExt()
2814 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(AArch64::FCVTSDr), in selectFPTrunc()
2848 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(Opc), ResultReg) in selectFPToInt()
2898 if (!FuncInfo.CanLowerReturn) in fastLowerArguments()
2901 const Function *F = FuncInfo.Fn; in fastLowerArguments()
2996 Register DstReg = FuncInfo.MF->addLiveIn(SrcReg, RC); in fastLowerArguments()
3001 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, in fastLowerArguments()
3014 CCState CCInfo(CC, false, *FuncInfo.MF, ArgLocs, *Context); in processCallArgs()
3022 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(AdjStackDown)) in processCallArgs()
3062 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, in processCallArgs()
3088 MachineMemOperand *MMO = FuncInfo.MF->getMachineMemOperand( in processCallArgs()
3089 MachinePointerInfo::getStack(*FuncInfo.MF, Addr.getOffset()), in processCallArgs()
3104 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(AdjStackUp)) in finishCall()
3109 CCState CCInfo(CC, false, *FuncInfo.MF, RVLocs, *Context); in finishCall()
3112 Register ResultReg = FuncInfo.CreateRegs(CLI.RetTy); in finishCall()
3123 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(TargetOpcode::COPY), in finishCall()
3229 MIB = BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, II); in fastLowerCall()
3243 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(AArch64::ADRP), in fastLowerCall()
3248 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, in fastLowerCall()
3263 MIB = BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, II).addReg(CallReg); in fastLowerCall()
3272 MIB.addRegMask(TRI.getCallPreservedMask(*FuncInfo.MF, CC)); in fastLowerCall()
3435 MachineFrameInfo &MFI = FuncInfo.MF->getFrameInfo(); in fastLowerIntrinsicCall()
3439 Register FramePtr = RegInfo->getFrameRegister(*(FuncInfo.MF)); in fastLowerIntrinsicCall()
3441 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, in fastLowerIntrinsicCall()
3461 MachineFrameInfo &MFI = FuncInfo.MF->getFrameInfo(); in fastLowerIntrinsicCall()
3466 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, in fastLowerIntrinsicCall()
3601 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(Opc), ResultReg) in fastLowerIntrinsicCall()
3607 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(AArch64::BRK)) in fastLowerIntrinsicCall()
3611 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(AArch64::BRK)) in fastLowerIntrinsicCall()
3741 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, in fastLowerIntrinsicCall()
3760 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, in fastLowerIntrinsicCall()
3835 if (!FuncInfo.CanLowerReturn) in selectRet()
3845 if (TLI.supportSplitCSR(FuncInfo.MF)) in selectRet()
3858 CCState CCInfo(CC, F.isVarArg(), *FuncInfo.MF, ValLocs, I->getContext()); in selectRet()
3921 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, in selectRet()
3928 MachineInstrBuilder MIB = BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, in selectRet()
3991 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, in selectTrunc()
4015 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, in emiti1Ext()
4112 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, in emitLSL_ri()
4159 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, in emitLSL_ri()
4215 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, in emitLSR_ri()
4275 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, in emitLSR_ri()
4331 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, in emitASR_ri()
4380 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, in emitASR_ri()
4438 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, in emitIntExt()
4535 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, in optimizeIntExtLoad()
4578 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, in selectIntExt()
5071 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, II) in selectAtomicCmpXchg()
5078 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(CmpOpc)) in selectAtomicCmpXchg()
5084 BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, MIMD, TII.get(AArch64::CSINCWr)) in selectAtomicCmpXchg()
5178 FastISel *AArch64::createFastISel(FunctionLoweringInfo &FuncInfo, in createFastISel() argument
5181 SMEAttrs CallerAttrs(*FuncInfo.Fn); in createFastISel()
5185 return new AArch64FastISel(FuncInfo, LibInfo); in createFastISel()