[llvm] 1398460 - [RISCVGatherScatterLowering] Minor code cleanup [NFC]
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Fri May 12 16:20:51 PDT 2023
The llvm-mca test failures were caused by [RISCV][llvm-mca] Add mca tests
for riscv lmul instruments
<https://github.com/llvm/llvm-project/commit/1e317c3f819c7b42f8b45383438004193d3344d4>
and
the author already reverted it.
~Craig
On Fri, May 12, 2023 at 2:14 PM Vitaly Buka via llvm-commits <
llvm-commits at lists.llvm.org> wrote:
> Probably this leak is from the patch.
> https://lab.llvm.org/buildbot/#/builders/5/builds/33651
>
> On Fri, 12 May 2023 at 10:34, Philip Reames via llvm-commits <
> llvm-commits at lists.llvm.org> wrote:
>
>>
>> Author: Philip Reames
>> Date: 2023-05-12T10:33:29-07:00
>> New Revision: 13984608992246e42e66c019f09764650d60af63
>>
>> URL:
>> https://github.com/llvm/llvm-project/commit/13984608992246e42e66c019f09764650d60af63
>> DIFF:
>> https://github.com/llvm/llvm-project/commit/13984608992246e42e66c019f09764650d60af63.diff
>>
>> LOG: [RISCVGatherScatterLowering] Minor code cleanup [NFC]
>>
>> Use a switch to avoid repeat tests on the opcode, and factor out some
>> common code out of another switch. (Not all branches had both common bits,
>> but the one which didn't left the values unchanged and their starting value
>> is the respective operand - so storing it back is a nop.)
>>
>> Added:
>>
>>
>> Modified:
>> llvm/lib/Target/RISCV/RISCVGatherScatterLowering.cpp
>>
>> Removed:
>>
>>
>>
>>
>> ################################################################################
>> diff --git a/llvm/lib/Target/RISCV/RISCVGatherScatterLowering.cpp
>> b/llvm/lib/Target/RISCV/RISCVGatherScatterLowering.cpp
>> index e844e1b11271..0174aa547a1b 100644
>> --- a/llvm/lib/Target/RISCV/RISCVGatherScatterLowering.cpp
>> +++ b/llvm/lib/Target/RISCV/RISCVGatherScatterLowering.cpp
>> @@ -225,20 +225,24 @@ bool
>> RISCVGatherScatterLowering::matchStridedRecurrence(Value *Index, Loop *L,
>> if (!BO)
>> return false;
>>
>> - if (BO->getOpcode() != Instruction::Add &&
>> - BO->getOpcode() != Instruction::Or &&
>> - BO->getOpcode() != Instruction::Mul &&
>> - BO->getOpcode() != Instruction::Shl)
>> - return false;
>> -
>> - // Only support shift by constant.
>> - if (BO->getOpcode() == Instruction::Shl &&
>> !isa<Constant>(BO->getOperand(1)))
>> - return false;
>> -
>> - // We need to be able to treat Or as Add.
>> - if (BO->getOpcode() == Instruction::Or &&
>> - !haveNoCommonBitsSet(BO->getOperand(0), BO->getOperand(1), *DL))
>> + switch (BO->getOpcode()) {
>> + default:
>> return false;
>> + case Instruction::Or:
>> + // We need to be able to treat Or as Add.
>> + if (!haveNoCommonBitsSet(BO->getOperand(0), BO->getOperand(1), *DL))
>> + return false;
>> + break;
>> + case Instruction::Add:
>> + break;
>> + case Instruction::Shl:
>> + // Only support shift by constant.
>> + if (!isa<Constant>(BO->getOperand(1)))
>> + return false;
>> + break;
>> + case Instruction::Mul:
>> + break;
>> + }
>>
>> // We should have one operand in the loop and one splat.
>> Value *OtherOp;
>> @@ -291,7 +295,6 @@ bool
>> RISCVGatherScatterLowering::matchStridedRecurrence(Value *Index, Loop *L,
>> Start = SplatOp;
>> else
>> Start = Builder.CreateAdd(Start, SplatOp, "start");
>> - BasePtr->setIncomingValue(StartBlock, Start);
>> break;
>> }
>> case Instruction::Mul: {
>> @@ -306,8 +309,6 @@ bool
>> RISCVGatherScatterLowering::matchStridedRecurrence(Value *Index, Loop *L,
>> Stride = SplatOp;
>> else
>> Stride = Builder.CreateMul(Stride, SplatOp, "stride");
>> - Inc->setOperand(StepIndex, Step);
>> - BasePtr->setIncomingValue(StartBlock, Start);
>> break;
>> }
>> case Instruction::Shl: {
>> @@ -316,12 +317,12 @@ bool
>> RISCVGatherScatterLowering::matchStridedRecurrence(Value *Index, Loop *L,
>> Start = Builder.CreateShl(Start, SplatOp, "start");
>> Step = Builder.CreateShl(Step, SplatOp, "step");
>> Stride = Builder.CreateShl(Stride, SplatOp, "stride");
>> - Inc->setOperand(StepIndex, Step);
>> - BasePtr->setIncomingValue(StartBlock, Start);
>> break;
>> }
>> }
>>
>> + Inc->setOperand(StepIndex, Step);
>> + BasePtr->setIncomingValue(StartBlock, Start);
>> return true;
>> }
>>
>>
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230512/66a1f80b/attachment.html>
More information about the llvm-commits
mailing list