[PATCH] R600: Remove successive JUMP in AnalyzeBranch when AllowModify is true

David Blaikie dblaikie at gmail.com
Tue Dec 3 10:25:58 PST 2013


Test case?

On Tue, Dec 3, 2013 at 10:10 AM, Vincent Lejeune <vljn at ovi.com> wrote:
> http://llvm-reviews.chandlerc.com/D2322
>
> Files:
>   lib/Target/R600/R600InstrInfo.cpp
>
> Index: lib/Target/R600/R600InstrInfo.cpp
> ===================================================================
> --- lib/Target/R600/R600InstrInfo.cpp
> +++ lib/Target/R600/R600InstrInfo.cpp
> @@ -720,7 +720,13 @@
>      return false;
>    }
>
> -  // Get the last instruction in the block.
> +  // Remove successive JUMP
> +  while (I != MBB.begin() && llvm::prior(I)->getOpcode() == AMDGPU::JUMP) {
> +      MachineBasicBlock::iterator PriorI = llvm::prior(I);
> +      if (AllowModify)
> +        I->removeFromParent();
> +      I = PriorI;
> +  }
>    MachineInstr *LastInst = I;
>
>    // If there is only one terminator instruction, process it.
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>



More information about the llvm-commits mailing list