From 7a04202ef10e587ce1e605962189c15f00f3b22e Mon Sep 17 00:00:00 2001 From: Juergen Ributzka Date: Tue, 15 Jul 2014 02:22:46 +0000 Subject: [PATCH] [FastISel] Insert patchpoint instruction before the target generated call instruction. The patchpoint instruction should have been inserted before the target generated call instruction to be inside the ADJSTACKDOWN/ADJSTACKUP call sequence window. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@213034 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/SelectionDAG/FastISel.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/CodeGen/SelectionDAG/FastISel.cpp b/lib/CodeGen/SelectionDAG/FastISel.cpp index 0cd5facbb5e..885137302d3 100644 --- a/lib/CodeGen/SelectionDAG/FastISel.cpp +++ b/lib/CodeGen/SelectionDAG/FastISel.cpp @@ -826,7 +826,8 @@ bool FastISel::SelectPatchpoint(const CallInst *I) { Ops.push_back(MachineOperand::CreateReg(Reg, /*IsDef=*/true, /*IsImpl=*/true)); - MachineInstrBuilder MIB = BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DbgLoc, + // Insert the patchpoint instruction before the call generated by the target. + MachineInstrBuilder MIB = BuildMI(*FuncInfo.MBB, CLI.Call, DbgLoc, TII.get(TargetOpcode::PATCHPOINT)); for (auto &MO : Ops)