Lines Matching refs:BPF
23 #include "BPF.h"
91 LLVM_DEBUG(dbgs() << "*** BPF MachineSSA ZEXT Elim peephole pass ***\n\n");
108 if (MRI->getRegClass(Reg) == &BPF::GPRRegClass)
135 if (PhiDef->getOpcode() == BPF::COPY && !isCopyFrom32Def(PhiDef))
153 } else if (DefInsn->getOpcode() == BPF::COPY) {
194 if (MI.getOpcode() == BPF::SRL_ri &&
205 SllMI->getOpcode() != BPF::SLL_ri ||
215 MovMI->getOpcode() != BPF::MOV_32_64)
228 BuildMI(MBB, MI, MI.getDebugLoc(), TII->get(BPF::SUBREG_TO_REG), DstReg)
229 .addImm(0).addReg(SubReg).addImm(BPF::sub_32);
257 if (MI.getOpcode() != BPF::MOV_32_64)
264 // This is to workaround BPF programs where pkt->{data, data_end}
279 BuildMI(MBB, MI, MI.getDebugLoc(), TII->get(BPF::SUBREG_TO_REG), dst)
280 .addImm(0).addReg(src).addImm(BPF::sub_32);
293 "BPF MachineSSA Peephole Optimization For ZEXT Eliminate",
346 LLVM_DEBUG(dbgs() << "*** BPF PreEmit peephole pass ***\n\n");
373 if (Opcode == BPF::MOV_rr) {
405 // does not use this insn during insn selection. Rather, BPF backend
466 BuildMI(MBB, UncondJmp->getDebugLoc(), TII->get(BPF::JMPL)).addMBB(JmpBB);
525 BuildMI(New_B0, CondJmp->getDebugLoc(), TII->get(BPF::JMP)).addMBB(FollowBB);
526 BuildMI(New_B1, CondJmp->getDebugLoc(), TII->get(BPF::JMPL))
582 BuildMI(New_B, CondJmp->getDebugLoc(), TII->get(BPF::JMPL)).addMBB(CondTargetBB);
590 BuildMI(MBB, UncondJmp->getDebugLoc(), TII->get(BPF::JMPL)).addMBB(JmpBB);
602 "BPF PreEmit Peephole Optimization", false, false)