[llvm] r219748 - [AArch64] Wrong CC access in CSINC-conditional branch sequence
Eric Christopher
echristo at gmail.com
Tue Oct 14 17:19:50 PDT 2014
You forgot to actually remove the variable causing a warning/error.
I've done so in r219750.
-eric
On Tue, Oct 14, 2014 at 4:55 PM, Gerolf Hoflehner <ghoflehner at apple.com> wrote:
> Author: ghoflehner
> Date: Tue Oct 14 18:55:00 2014
> New Revision: 219748
>
> URL: http://llvm.org/viewvc/llvm-project?rev=219748&view=rev
> Log:
> [AArch64] Wrong CC access in CSINC-conditional branch sequence
>
> This is a follow up to commit r219742. It removes the CCInMI variable
> and accesses the CC in CSCINC directly. In the case of a conditional
> branch accessing the CC with CCInMI was wrong.
>
>
> Modified:
> llvm/trunk/lib/Target/AArch64/AArch64InstrInfo.cpp
>
> Modified: llvm/trunk/lib/Target/AArch64/AArch64InstrInfo.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AArch64/AArch64InstrInfo.cpp?rev=219748&r1=219747&r2=219748&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/AArch64/AArch64InstrInfo.cpp (original)
> +++ llvm/trunk/lib/Target/AArch64/AArch64InstrInfo.cpp Tue Oct 14 18:55:00 2014
> @@ -2869,24 +2869,20 @@ bool AArch64InstrInfo::optimizeCondBranc
> case AArch64::CBZW:
> case AArch64::CBZX:
> TargetBBInMI = 1;
> - CCInMI = 2;
> break;
> case AArch64::CBNZW:
> case AArch64::CBNZX:
> TargetBBInMI = 1;
> - CCInMI = 2;
> IsNegativeBranch = true;
> break;
> case AArch64::TBZW:
> case AArch64::TBZX:
> TargetBBInMI = 2;
> - CCInMI = 3;
> IsTestAndBranch = true;
> break;
> case AArch64::TBNZW:
> case AArch64::TBNZX:
> TargetBBInMI = 2;
> - CCInMI = 3;
> IsNegativeBranch = true;
> IsTestAndBranch = true;
> break;
> @@ -2921,7 +2917,7 @@ bool AArch64InstrInfo::optimizeCondBranc
> return false;
>
> AArch64CC::CondCode CC =
> - (AArch64CC::CondCode)DefMI->getOperand(CCInMI).getImm();
> + (AArch64CC::CondCode)DefMI->getOperand(3).getImm();
> bool CheckOnlyCCWrites = true;
> // Convert only when the condition code is not modified between
> // the CSINC and the branch. The CC may be used by other
>
>
> _______________________________________________
> 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