Lines Matching refs:MBBI

48   void signLR(MachineFunction &MF, MachineBasicBlock::iterator MBBI) const;
51 MachineBasicBlock::iterator MBBI) const;
54 void emitBlend(MachineBasicBlock::iterator MBBI, Register Result,
58 void expandPAuthBlend(MachineBasicBlock::iterator MBBI) const;
79 MachineBasicBlock::iterator MBBI, DebugLoc DL, in BuildPACM() argument
87 BuildMI(MBB, MBBI, DL, TII->get(AArch64::ADR)) in BuildPACM()
95 BuildMI(MBB, MBBI, DL, TII->get(AArch64::PACM)).setMIFlag(Flags); in BuildPACM()
99 MachineBasicBlock::iterator MBBI) const { in signLR()
106 MachineBasicBlock &MBB = *MBBI->getParent(); in signLR()
112 BuildMI(MBB, MBBI, DL, TII->get(AArch64::EMITBKEY)) in signLR()
126 BuildMI(MBB, MBBI, DL, in signLR()
132 BuildPACM(*Subtarget, MBB, MBBI, DL, MachineInstr::FrameSetup); in signLR()
133 BuildMI(MBB, MBBI, DL, in signLR()
145 for (auto I = MBBI; I != MBB.end(); ++I) { in signLR()
148 MBBI = I; in signLR()
155 BuildMI(MBB, MBBI, DL, TII->get(TargetOpcode::CFI_INSTRUCTION)) in signLR()
159 BuildMI(MBB, MBBI, DL, TII->get(AArch64::SEH_PACSignLR)) in signLR()
165 MachineFunction &MF, MachineBasicBlock::iterator MBBI) const { in authenticateLR()
171 MachineBasicBlock &MBB = *MBBI->getParent(); in authenticateLR()
172 DebugLoc DL = MBBI->getDebugLoc(); in authenticateLR()
196 .copyImplicitOps(*MBBI) in authenticateLR()
201 .copyImplicitOps(*MBBI) in authenticateLR()
208 BuildMI(MBB, MBBI, DL, in authenticateLR()
213 BuildPACM(*Subtarget, MBB, MBBI, DL, MachineInstr::FrameDestroy, PACSym); in authenticateLR()
214 BuildMI(MBB, MBBI, DL, in authenticateLR()
222 BuildMI(MBB, MBBI, DL, TII->get(TargetOpcode::CFI_INSTRUCTION)) in authenticateLR()
227 BuildMI(MBB, MBBI, DL, TII->get(AArch64::SEH_PACSignLR)) in authenticateLR()
248 MachineBasicBlock::iterator MBBI, AuthCheckMethod Method, in checkAuthenticatedRegister() argument
251 MachineBasicBlock &MBB = *MBBI->getParent(); in checkAuthenticatedRegister()
255 DebugLoc DL = MBBI->getDebugLoc(); in checkAuthenticatedRegister()
262 assert(MBBI->isTerminator() && MBBI == MBB.getFirstTerminator() && in checkAuthenticatedRegister()
272 BuildMI(MBB, MBBI, DL, TII->get(AArch64::LDRWui), getWRegFromXReg(TmpReg)) in checkAuthenticatedRegister()
294 BuildMI(MBB, MBBI, DL, TII->get(AArch64::EORXrs), TmpReg) in checkAuthenticatedRegister()
298 BuildMI(MBB, MBBI, DL, TII->get(AArch64::TBNZX)) in checkAuthenticatedRegister()
307 BuildMI(MBB, MBBI, DL, TII->get(AArch64::ORRXrs), TmpReg) in checkAuthenticatedRegister()
311 BuildMI(MBB, MBBI, DL, TII->get(AArch64::XPACLRI)); in checkAuthenticatedRegister()
312 BuildMI(MBB, MBBI, DL, TII->get(AArch64::SUBSXrs), AArch64::XZR) in checkAuthenticatedRegister()
316 BuildMI(MBB, MBBI, DL, TII->get(AArch64::Bcc)) in checkAuthenticatedRegister()
390 void AArch64PointerAuth::emitBlend(MachineBasicBlock::iterator MBBI, in emitBlend() argument
393 MachineBasicBlock &MBB = *MBBI->getParent(); in emitBlend()
394 DebugLoc DL = MBBI->getDebugLoc(); in emitBlend()
397 BuildMI(MBB, MBBI, DL, TII->get(AArch64::ORRXrs), Result) in emitBlend()
402 BuildMI(MBB, MBBI, DL, TII->get(AArch64::MOVKXi), Result) in emitBlend()
409 MachineBasicBlock::iterator MBBI) const { in expandPAuthBlend()
410 Register ResultReg = MBBI->getOperand(0).getReg(); in expandPAuthBlend()
411 Register AddrDisc = MBBI->getOperand(1).getReg(); in expandPAuthBlend()
412 unsigned IntDisc = MBBI->getOperand(2).getImm(); in expandPAuthBlend()
413 emitBlend(MBBI, ResultReg, AddrDisc, IntDisc); in expandPAuthBlend()