I discovered I needed: Index: lib/CodeGen/TwoAddressInstructionPass.cpp ==================================================================--- lib/CodeGen/TwoAddressInstructionPass.cpp (revision 71041) +++ lib/CodeGen/TwoAddressInstructionPass.cpp (working copy) @@ -935,6 +935,7 @@ ++NumReMats; } else { bool Emitted = TII->copyRegToReg(*mbbi, mi, regA, regB, rc, rc); + (void)Emitted; assert(Emitted && "Unable to issue a copy instruction! \n"); } in a release-asserts build to get around a warning: /Volumes/mrs5/net/clang/clang/clang/lib/CodeGen/ TwoAddressInstructionPass.cpp: In member function ‘virtual bool<unnamed>::TwoAddressInstructionPass::runOnMachineFunction (llvm::MachineFunction&)’: /Volumes/mrs5/net/clang/clang/clang/lib/CodeGen/ TwoAddressInstructionPass.cpp:937: warning: unused variable ‘Emitted’ I can't recall if that is the recommended way to fix these types of errors, so I thought I'd ask here first.