ab added a comment. It does seem nicer! Here's a simpler alternative: have buildInstr return the builder, and replace addReg with explicit addDef/addUse? That spares you the template hackery for a similar result. WDYT? Repository: rL LLVM https://reviews.llvm.org/D22820