diff options
author | Venkatraman Govindaraju <venkatra@cs.wisc.edu> | 2013-10-08 02:50:29 +0000 |
---|---|---|
committer | Venkatraman Govindaraju <venkatra@cs.wisc.edu> | 2013-10-08 02:50:29 +0000 |
commit | 3bd3419e86867ba88e7ece12c9184a01759ed917 (patch) | |
tree | de71ee5440f3dc90f27eddd15263836dd3c84ded /lib/Target/Sparc/DelaySlotFiller.cpp | |
parent | d79f6f786a5d8dbdb02851fd2b4242ff0c3f7082 (diff) | |
download | llvm-3bd3419e86867ba88e7ece12c9184a01759ed917.tar.gz llvm-3bd3419e86867ba88e7ece12c9184a01759ed917.tar.bz2 llvm-3bd3419e86867ba88e7ece12c9184a01759ed917.tar.xz |
[Sparc] Do not hardcode nop in the delay slot of TLS_CALL. Use DelaySlotFiller to fill the delay slot instead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192160 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Sparc/DelaySlotFiller.cpp')
-rw-r--r-- | lib/Target/Sparc/DelaySlotFiller.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/Target/Sparc/DelaySlotFiller.cpp b/lib/Target/Sparc/DelaySlotFiller.cpp index 4ae6407b1f..9a0466aa69 100644 --- a/lib/Target/Sparc/DelaySlotFiller.cpp +++ b/lib/Target/Sparc/DelaySlotFiller.cpp @@ -169,7 +169,7 @@ Filler::findDelayInstr(MachineBasicBlock &MBB, if (slot == MBB.begin()) return MBB.end(); - if (slot->getOpcode() == SP::RET) + if (slot->getOpcode() == SP::RET || slot->getOpcode() == SP::TLS_CALL) return MBB.end(); if (slot->getOpcode() == SP::RETL) { @@ -355,6 +355,7 @@ bool Filler::needsUnimp(MachineBasicBlock::iterator I, unsigned &StructSize) case SP::CALL: structSizeOpNum = 1; break; case SP::JMPLrr: case SP::JMPLri: structSizeOpNum = 2; break; + case SP::TLS_CALL: return false; } const MachineOperand &MO = I->getOperand(structSizeOpNum); |