Lines Matching defs:MF
35 bool runOnMachineFunction(MachineFunction &MF) override;
36 bool removeUnreachableEHPads(MachineFunction &MF);
37 void recordCatchRetBBs(MachineFunction &MF);
38 bool hoistCatches(MachineFunction &MF);
39 bool addCatchAlls(MachineFunction &MF);
40 bool replaceFuncletReturns(MachineFunction &MF);
41 bool removeUnnecessaryUnreachables(MachineFunction &MF);
42 bool restoreStackPointer(MachineFunction &MF);
69 MachineFunction *MF = MI->getParent()->getParent();
84 if (MBB == &MF->front())
114 bool WebAssemblyLateEHPrepare::runOnMachineFunction(MachineFunction &MF) {
117 << MF.getName() << '\n');
119 if (MF.getTarget().getMCAsmInfo()->getExceptionHandlingType() !=
124 if (MF.getFunction().hasPersonalityFn()) {
125 Changed |= removeUnreachableEHPads(MF);
126 recordCatchRetBBs(MF);
127 Changed |= hoistCatches(MF);
128 Changed |= addCatchAlls(MF);
129 Changed |= replaceFuncletReturns(MF);
131 Changed |= removeUnnecessaryUnreachables(MF);
132 if (MF.getFunction().hasPersonalityFn())
133 Changed |= restoreStackPointer(MF);
139 bool WebAssemblyLateEHPrepare::removeUnreachableEHPads(MachineFunction &MF) {
141 for (auto &MBB : MF)
151 void WebAssemblyLateEHPrepare::recordCatchRetBBs(MachineFunction &MF) {
153 for (auto &MBB : MF) {
175 bool WebAssemblyLateEHPrepare::hoistCatches(MachineFunction &MF) {
178 for (auto &MBB : MF)
201 bool WebAssemblyLateEHPrepare::addCatchAlls(MachineFunction &MF) {
203 const auto &TII = *MF.getSubtarget<WebAssemblySubtarget>().getInstrInfo();
205 for (auto &MBB : MF) {
227 bool WebAssemblyLateEHPrepare::replaceFuncletReturns(MachineFunction &MF) {
229 const auto &TII = *MF.getSubtarget<WebAssemblySubtarget>().getInstrInfo();
231 for (auto &MBB : MF) {
292 MachineFunction &MF) {
294 for (auto &MBB : MF) {
320 bool WebAssemblyLateEHPrepare::restoreStackPointer(MachineFunction &MF) {
322 MF.getSubtarget().getFrameLowering());
323 if (!FrameLowering->needsPrologForEH(MF))
327 for (auto &MBB : MF) {
346 FrameLowering->writeSPToGlobal(FrameLowering->getSPReg(MF), MF, MBB,