benshi001 added inline comments.
================ Comment at: llvm/lib/Target/AVR/AVRExpandPseudoInsts.cpp:1256 - auto MIBHI = buildMI(MBB, MBBI, OpHi) - .addReg(DstReg, getKillRegState(DstIsKill)) - .addImm(Imm + 1) - .addReg(SrcHiReg, getKillRegState(SrcIsKill)); + buildMI(MBB, MBBI, AVR::STWPtrRr) + .addReg(Dst.getReg()) ---------------- ``` buildMI(MBB, MBBI, AVR::STWPtrRr) .addReg(Dst.getReg(), RegState::Kill) .addReg(Src.getReg(), getKillRegState(SrcIsKill)); ``` No matter `DstIsKill` is true or false, the new `DstReg` is always killed. ================ Comment at: llvm/lib/Target/AVR/AVRExpandPseudoInsts.cpp:1261 + if (!DstIsKill) { + buildMI(MBB, MBBI, AVR::POPWRd).addDef(Dst.getReg()); + } ---------------- I think ``` if (!DstIsKill) buildMI(MBB, MBBI, AVR::POPWRd).addReg(DstReg, RegState::Define); ``` Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D114611/new/ https://reviews.llvm.org/D114611 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits