[llvm] r270418 - [Sparc] LEON erratum fix - Delay Slot Filler modification.

Benjamin Kramer via llvm-commits llvm-commits at lists.llvm.org
Mon May 23 05:11:53 PDT 2016


On Mon, May 23, 2016 at 1:52 PM, Chris Dewhurst via llvm-commits
<llvm-commits at lists.llvm.org> wrote:
> Author: lerochris
> Date: Mon May 23 06:52:28 2016
> New Revision: 270418
>
> URL: http://llvm.org/viewvc/llvm-project?rev=270418&view=rev
> Log:
> [Sparc] LEON erratum fix - Delay Slot Filler modification.
>
> This code should have been with the previous check-in (r270417) and prevents the DelaySlotFiller pass being utilized in functions where the erratum fix has been applied as this will break the run-time code.
>
> Modified:
>     llvm/trunk/lib/Target/Sparc/DelaySlotFiller.cpp
>
> Modified: llvm/trunk/lib/Target/Sparc/DelaySlotFiller.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/Sparc/DelaySlotFiller.cpp?rev=270418&r1=270417&r2=270418&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/Sparc/DelaySlotFiller.cpp (original)
> +++ llvm/trunk/lib/Target/Sparc/DelaySlotFiller.cpp Mon May 23 06:52:28 2016
> @@ -273,6 +273,15 @@ bool Filler::delayHasHazard(MachineBasic
>          return true;
>      }
>    }
> +
> +  unsigned Opcode = candidate->getOpcode();
> +  // LD and LDD may have NOPs inserted afterwards in the case of some LEON
> +  // processors, so we can't use the delay slot if this feature is switched-on.
> +  if (Subtarget->insertNOPLoad()
> +      &&
> +      Opcode >=  SP::LDDArr && Opcode <= SP::LDrr)

Funky formatting?

> +    return true;
> +
>    return false;
>  }
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits


More information about the llvm-commits mailing list