[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