summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/R600/SILoadStoreOptimizer.cpp
diff options
context:
space:
mode:
authorReid Kleckner <reid@kleckner.net>2014-10-31 23:19:46 +0000
committerReid Kleckner <reid@kleckner.net>2014-10-31 23:19:46 +0000
commitda00cf5f73446235f0bfe89db90c28fc2d2019f3 (patch)
tree47c94cdf8b83ea86908fbd10a72b87295d58e00c /llvm/lib/Target/R600/SILoadStoreOptimizer.cpp
parent75bd66e51d2d4ae485034508aae85e297def8e2e (diff)
downloadbcm5719-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/R600/SILoadStoreOptimizer.cpp')
-rw-r--r--llvm/lib/Target/R600/SILoadStoreOptimizer.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Target/R600/SILoadStoreOptimizer.cpp b/llvm/lib/Target/R600/SILoadStoreOptimizer.cpp
index edd1d8c1278..4140196e752 100644
--- a/llvm/lib/Target/R600/SILoadStoreOptimizer.cpp
+++ b/llvm/lib/Target/R600/SILoadStoreOptimizer.cpp
@@ -283,7 +283,7 @@ MachineBasicBlock::iterator SILoadStoreOptimizer::mergeRead2Pair(
LIS->getInterval(DestReg); // Create new LI
DEBUG(dbgs() << "Inserted read2: " << *Read2 << '\n');
- return Read2;
+ return Read2.getInstr();
}
MachineBasicBlock::iterator SILoadStoreOptimizer::mergeWrite2Pair(
@@ -347,7 +347,7 @@ MachineBasicBlock::iterator SILoadStoreOptimizer::mergeWrite2Pair(
LIS->repairIntervalsInRange(MBB, Write2, Write2, OrigRegs);
DEBUG(dbgs() << "Inserted write2 inst: " << *Write2 << '\n');
- return Write2;
+ return Write2.getInstr();
}
// Scan through looking for adjacent LDS operations with constant offsets from
OpenPOWER on IntegriCloud