OSDN Git Service

[SPARC] Additional condition required for DelaySlot fixing erratum in revision r273108.
authorChris Dewhurst <chris.dewhurst@lero.ie>
Sun, 19 Jun 2016 12:56:42 +0000 (12:56 +0000)
committerChris Dewhurst <chris.dewhurst@lero.ie>
Sun, 19 Jun 2016 12:56:42 +0000 (12:56 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273111 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/Sparc/DelaySlotFiller.cpp

index 70acb50..944f355 100644 (file)
@@ -278,6 +278,13 @@ bool Filler::delayHasHazard(MachineBasicBlock::iterator candidate,
       Opcode >=  SP::LDDArr && Opcode <= SP::LDrr)
     return true;
 
+  // Same as above for FDIV and FSQRT on some LEON processors.
+  if (Subtarget->fixAllFDIVSQRT()
+      &&
+      Opcode >=  SP::FDIVD && Opcode <= SP::FSQRTD)
+    return true;
+
+
   return false;
 }