diff options
| author | Reid Kleckner <reid@kleckner.net> | 2014-10-31 23:19:46 +0000 |
|---|---|---|
| committer | Reid Kleckner <reid@kleckner.net> | 2014-10-31 23:19:46 +0000 |
| commit | da00cf5f73446235f0bfe89db90c28fc2d2019f3 (patch) | |
| tree | 47c94cdf8b83ea86908fbd10a72b87295d58e00c /llvm/lib/Target/X86 | |
| parent | 75bd66e51d2d4ae485034508aae85e297def8e2e (diff) | |
| download | bcm5719-llvm-da00cf5f73446235f0bfe89db90c28fc2d2019f3.tar.gz bcm5719-llvm-da00cf5f73446235f0bfe89db90c28fc2d2019f3.zip | |
Work around bugs in MSVC "14" CTP 3's conversion logic
It appears to ignore or find ambiguous MachineInstrBuilder's conversion
operators that allow conversion to MachineInstr* and
MachineBasicBlock::bundle_iterator.
As a workaround, add an explicit way to get the MachineInstr.
llvm-svn: 221017
Diffstat (limited to 'llvm/lib/Target/X86')
| -rw-r--r-- | llvm/lib/Target/X86/X86FloatingPoint.cpp | 4 | ||||
| -rw-r--r-- | llvm/lib/Target/X86/X86InstrInfo.cpp | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/Target/X86/X86FloatingPoint.cpp b/llvm/lib/Target/X86/X86FloatingPoint.cpp index 6c203aa5860..82c3b3412ab 100644 --- a/llvm/lib/Target/X86/X86FloatingPoint.cpp +++ b/llvm/lib/Target/X86/X86FloatingPoint.cpp @@ -834,7 +834,9 @@ FPS::freeStackSlotBefore(MachineBasicBlock::iterator I, unsigned FPRegNo) { RegMap[TopReg] = OldSlot; RegMap[FPRegNo] = ~0; Stack[--StackTop] = ~0; - return BuildMI(*MBB, I, DebugLoc(), TII->get(X86::ST_FPrr)).addReg(STReg); + return BuildMI(*MBB, I, DebugLoc(), TII->get(X86::ST_FPrr)) + .addReg(STReg) + .getInstr(); } /// adjustLiveRegs - Kill and revive registers such that exactly the FP diff --git a/llvm/lib/Target/X86/X86InstrInfo.cpp b/llvm/lib/Target/X86/X86InstrInfo.cpp index e95e18b5512..7e3b4fd3644 100644 --- a/llvm/lib/Target/X86/X86InstrInfo.cpp +++ b/llvm/lib/Target/X86/X86InstrInfo.cpp @@ -3992,7 +3992,7 @@ static void expandLoadStackGuard(MachineInstrBuilder &MIB, unsigned Flag = MachineMemOperand::MOLoad | MachineMemOperand::MOInvariant; MachineMemOperand *MMO = MBB.getParent()-> getMachineMemOperand(MachinePointerInfo::getGOT(), Flag, 8, 8); - MachineBasicBlock::iterator I = MIB; + MachineBasicBlock::iterator I = MIB.getInstr(); BuildMI(MBB, I, DL, TII.get(X86::MOV64rm), Reg).addReg(X86::RIP).addImm(1) .addReg(0).addGlobalAddress(GV, 0, X86II::MO_GOTPCREL).addReg(0) |

