Index: lib/CodeGen/XRayInstrumentation.cpp =================================================================== --- lib/CodeGen/XRayInstrumentation.cpp +++ lib/CodeGen/XRayInstrumentation.cpp @@ -19,9 +19,9 @@ #include "llvm/CodeGen/MachineFunctionPass.h" #include "llvm/CodeGen/MachineInstrBuilder.h" #include "llvm/CodeGen/Passes.h" +#include "llvm/Support/TargetRegistry.h" #include "llvm/Target/TargetInstrInfo.h" #include "llvm/Target/TargetSubtargetInfo.h" -#include "llvm/Support/TargetRegistry.h" using namespace llvm; @@ -70,17 +70,16 @@ for (auto &MBB : MF) { for (auto &Terminator : MBB.terminators()) { // FIXME: Handle tail calls here too? - if (Terminator.isReturn() && - (Terminator.getOpcode() != ISD::CATCHRET || - Terminator.getOpcode() != ISD::CLEANUPRET || - Terminator.getOpcode() != ISD::EH_RETURN)) { + if (Terminator.isReturn() && (Terminator.getOpcode() != ISD::CATCHRET || + Terminator.getOpcode() != ISD::CLEANUPRET || + Terminator.getOpcode() != ISD::EH_RETURN)) { // Replace return instructions with: // PATCHABLE_RET , ... auto MIB = BuildMI(MBB, Terminator, Terminator.getDebugLoc(), TII->get(TargetOpcode::PATCHABLE_RET)) .addImm(Terminator.getOpcode()); for (auto &MO : Terminator.operands()) - MIB.addReg(MO.getReg(), RegState::Implicit); + MIB.addOperand(MO); Terminators.push_back(&Terminator); } }