[llvm] r344875 - Revert r344873 "foo"
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Sun Oct 21 14:11:19 PDT 2018
Accidental commit. Reverted in r344875
~Craig
On Sun, Oct 21, 2018 at 2:10 PM Craig Topper via llvm-commits <
llvm-commits at lists.llvm.org> wrote:
> Author: ctopper
> Date: Sun Oct 21 14:08:37 2018
> New Revision: 344875
>
> URL: http://llvm.org/viewvc/llvm-project?rev=344875&view=rev
> Log:
> Revert r344873 "foo"
>
> Rebase gone wrong left this in my tree.
>
> Modified:
> llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
> llvm/trunk/lib/Target/X86/X86MCInstLower.cpp
> llvm/trunk/lib/Target/X86/X86ShuffleDecodeConstantPool.cpp
> llvm/trunk/lib/Target/X86/X86ShuffleDecodeConstantPool.h
>
> Modified: llvm/trunk/lib/Target/X86/X86ISelLowering.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp?rev=344875&r1=344874&r2=344875&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (original)
> +++ llvm/trunk/lib/Target/X86/X86ISelLowering.cpp Sun Oct 21 14:08:37 2018
> @@ -6046,7 +6046,7 @@ static bool getTargetShuffleMask(SDNode
> break;
> }
> if (auto *C = getTargetConstantFromNode(MaskNode)) {
> - DecodeVPERMILPMask(C, MaskEltSize, VT.getSizeInBits(), Mask);
> + DecodeVPERMILPMask(C, MaskEltSize, Mask);
> break;
> }
> return false;
> @@ -6063,7 +6063,7 @@ static bool getTargetShuffleMask(SDNode
> break;
> }
> if (auto *C = getTargetConstantFromNode(MaskNode)) {
> - DecodePSHUFBMask(C, VT.getSizeInBits(), Mask);
> + DecodePSHUFBMask(C, Mask);
> break;
> }
> return false;
> @@ -6128,7 +6128,7 @@ static bool getTargetShuffleMask(SDNode
> break;
> }
> if (auto *C = getTargetConstantFromNode(MaskNode)) {
> - DecodeVPERMIL2PMask(C, CtrlImm, MaskEltSize, VT.getSizeInBits(),
> Mask);
> + DecodeVPERMIL2PMask(C, CtrlImm, MaskEltSize, Mask);
> break;
> }
> }
> @@ -6145,7 +6145,7 @@ static bool getTargetShuffleMask(SDNode
> break;
> }
> if (auto *C = getTargetConstantFromNode(MaskNode)) {
> - DecodeVPPERMMask(C, VT.getSizeInBits(), Mask);
> + DecodeVPPERMMask(C, Mask);
> break;
> }
> return false;
> @@ -6163,7 +6163,7 @@ static bool getTargetShuffleMask(SDNode
> break;
> }
> if (auto *C = getTargetConstantFromNode(MaskNode)) {
> - DecodeVPERMVMask(C, MaskEltSize, VT.getSizeInBits(), Mask);
> + DecodeVPERMVMask(C, MaskEltSize, Mask);
> break;
> }
> return false;
> @@ -6178,7 +6178,7 @@ static bool getTargetShuffleMask(SDNode
> SDValue MaskNode = N->getOperand(1);
> unsigned MaskEltSize = VT.getScalarSizeInBits();
> if (auto *C = getTargetConstantFromNode(MaskNode)) {
> - DecodeVPERMV3Mask(C, MaskEltSize, VT.getSizeInBits(), Mask);
> + DecodeVPERMV3Mask(C, MaskEltSize, Mask);
> break;
> }
> return false;
>
> Modified: llvm/trunk/lib/Target/X86/X86MCInstLower.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86MCInstLower.cpp?rev=344875&r1=344874&r2=344875&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/Target/X86/X86MCInstLower.cpp (original)
> +++ llvm/trunk/lib/Target/X86/X86MCInstLower.cpp Sun Oct 21 14:08:37 2018
> @@ -1594,18 +1594,6 @@ void X86AsmPrinter::EmitSEHInstruction(c
> }
> }
>
> -static unsigned getRegisterWidth(const MCOperandInfo &Info) {
> - if (Info.RegClass == X86::VR128RegClassID ||
> - Info.RegClass == X86::VR128XRegClassID)
> - return 128;
> - if (Info.RegClass == X86::VR256RegClassID ||
> - Info.RegClass == X86::VR256XRegClassID)
> - return 256;
> - if (Info.RegClass == X86::VR512RegClassID)
> - return 512;
> - llvm_unreachable("Unknown register class!");
> -}
> -
> void X86AsmPrinter::EmitInstruction(const MachineInstr *MI) {
> X86MCInstLower MCInstLowering(*MF, *this);
> const X86RegisterInfo *RI =
> @@ -1891,9 +1879,8 @@ void X86AsmPrinter::EmitInstruction(cons
>
> const MachineOperand &MaskOp = MI->getOperand(MaskIdx);
> if (auto *C = getConstantFromPool(*MI, MaskOp)) {
> - unsigned Width = getRegisterWidth(MI->getDesc().OpInfo[0]);
> SmallVector<int, 64> Mask;
> - DecodePSHUFBMask(C, Width, Mask);
> + DecodePSHUFBMask(C, Mask);
> if (!Mask.empty())
> OutStreamer->AddComment(getShuffleComment(MI, SrcIdx, SrcIdx,
> Mask),
> !EnablePrintSchedInfo);
> @@ -1964,9 +1951,8 @@ void X86AsmPrinter::EmitInstruction(cons
>
> const MachineOperand &MaskOp = MI->getOperand(MaskIdx);
> if (auto *C = getConstantFromPool(*MI, MaskOp)) {
> - unsigned Width = getRegisterWidth(MI->getDesc().OpInfo[0]);
> SmallVector<int, 16> Mask;
> - DecodeVPERMILPMask(C, ElSize, Width, Mask);
> + DecodeVPERMILPMask(C, ElSize, Mask);
> if (!Mask.empty())
> OutStreamer->AddComment(getShuffleComment(MI, SrcIdx, SrcIdx,
> Mask),
> !EnablePrintSchedInfo);
> @@ -1996,9 +1982,8 @@ void X86AsmPrinter::EmitInstruction(cons
>
> const MachineOperand &MaskOp = MI->getOperand(6);
> if (auto *C = getConstantFromPool(*MI, MaskOp)) {
> - unsigned Width = getRegisterWidth(MI->getDesc().OpInfo[0]);
> SmallVector<int, 16> Mask;
> - DecodeVPERMIL2PMask(C, (unsigned)CtrlOp.getImm(), ElSize, Width,
> Mask);
> + DecodeVPERMIL2PMask(C, (unsigned)CtrlOp.getImm(), ElSize, Mask);
> if (!Mask.empty())
> OutStreamer->AddComment(getShuffleComment(MI, 1, 2, Mask),
> !EnablePrintSchedInfo);
> @@ -2014,9 +1999,8 @@ void X86AsmPrinter::EmitInstruction(cons
>
> const MachineOperand &MaskOp = MI->getOperand(6);
> if (auto *C = getConstantFromPool(*MI, MaskOp)) {
> - unsigned Width = getRegisterWidth(MI->getDesc().OpInfo[0]);
> SmallVector<int, 16> Mask;
> - DecodeVPPERMMask(C, Width, Mask);
> + DecodeVPPERMMask(C, Mask);
> if (!Mask.empty())
> OutStreamer->AddComment(getShuffleComment(MI, 1, 2, Mask),
> !EnablePrintSchedInfo);
>
> Modified: llvm/trunk/lib/Target/X86/X86ShuffleDecodeConstantPool.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ShuffleDecodeConstantPool.cpp?rev=344875&r1=344874&r2=344875&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/Target/X86/X86ShuffleDecodeConstantPool.cpp (original)
> +++ llvm/trunk/lib/Target/X86/X86ShuffleDecodeConstantPool.cpp Sun Oct 21
> 14:08:37 2018
> @@ -112,10 +112,11 @@ static bool extractConstantMask(const Co
> return true;
> }
>
> -void DecodePSHUFBMask(const Constant *C, unsigned Width,
> - SmallVectorImpl<int> &ShuffleMask) {
> - assert((Width == 128 || Width == 256 || Width == 512) &&
> - C->getType()->getPrimitiveSizeInBits() >= Width &&
> +void DecodePSHUFBMask(const Constant *C, SmallVectorImpl<int>
> &ShuffleMask) {
> + Type *MaskTy = C->getType();
> + unsigned MaskTySize = MaskTy->getPrimitiveSizeInBits();
> + (void)MaskTySize;
> + assert((MaskTySize == 128 || MaskTySize == 256 || MaskTySize == 512) &&
> "Unexpected vector size.");
>
> // The shuffle mask requires a byte vector.
> @@ -124,7 +125,7 @@ void DecodePSHUFBMask(const Constant *C,
> if (!extractConstantMask(C, 8, UndefElts, RawMask))
> return;
>
> - unsigned NumElts = Width / 8;
> + unsigned NumElts = RawMask.size();
> assert((NumElts == 16 || NumElts == 32 || NumElts == 64) &&
> "Unexpected number of vector elements.");
>
> @@ -150,10 +151,12 @@ void DecodePSHUFBMask(const Constant *C,
> }
> }
>
> -void DecodeVPERMILPMask(const Constant *C, unsigned ElSize, unsigned
> Width,
> +void DecodeVPERMILPMask(const Constant *C, unsigned ElSize,
> SmallVectorImpl<int> &ShuffleMask) {
> - assert((Width == 128 || Width == 256 || Width == 512) &&
> - C->getType()->getPrimitiveSizeInBits() >= Width &&
> + Type *MaskTy = C->getType();
> + unsigned MaskTySize = MaskTy->getPrimitiveSizeInBits();
> + (void)MaskTySize;
> + assert((MaskTySize == 128 || MaskTySize == 256 || MaskTySize == 512) &&
> "Unexpected vector size.");
> assert((ElSize == 32 || ElSize == 64) && "Unexpected vector element
> size.");
>
> @@ -163,7 +166,7 @@ void DecodeVPERMILPMask(const Constant *
> if (!extractConstantMask(C, ElSize, UndefElts, RawMask))
> return;
>
> - unsigned NumElts = Width / ElSize;
> + unsigned NumElts = RawMask.size();
> unsigned NumEltsPerLane = 128 / ElSize;
> assert((NumElts == 2 || NumElts == 4 || NumElts == 8 || NumElts == 16)
> &&
> "Unexpected number of vector elements.");
> @@ -186,13 +189,11 @@ void DecodeVPERMILPMask(const Constant *
> }
>
> void DecodeVPERMIL2PMask(const Constant *C, unsigned M2Z, unsigned ElSize,
> - unsigned Width,
> SmallVectorImpl<int> &ShuffleMask) {
> Type *MaskTy = C->getType();
> unsigned MaskTySize = MaskTy->getPrimitiveSizeInBits();
> (void)MaskTySize;
> - assert((MaskTySize == 128 || MaskTySize == 256) &&
> - Width >= MaskTySize && "Unexpected vector size.");
> + assert((MaskTySize == 128 || MaskTySize == 256) && "Unexpected vector
> size.");
>
> // The shuffle mask requires elements the same size as the target.
> APInt UndefElts;
> @@ -200,7 +201,7 @@ void DecodeVPERMIL2PMask(const Constant
> if (!extractConstantMask(C, ElSize, UndefElts, RawMask))
> return;
>
> - unsigned NumElts = Width / ElSize;
> + unsigned NumElts = RawMask.size();
> unsigned NumEltsPerLane = 128 / ElSize;
> assert((NumElts == 2 || NumElts == 4 || NumElts == 8) &&
> "Unexpected number of vector elements.");
> @@ -241,12 +242,9 @@ void DecodeVPERMIL2PMask(const Constant
> }
> }
>
> -void DecodeVPPERMMask(const Constant *C, unsigned Width,
> - SmallVectorImpl<int> &ShuffleMask) {
> - Type *MaskTy = C->getType();
> - unsigned MaskTySize = MaskTy->getPrimitiveSizeInBits();
> - (void)MaskTySize;
> - assert(Width == 128 && Width >= MaskTySize && "Unexpected vector
> size.");
> +void DecodeVPPERMMask(const Constant *C, SmallVectorImpl<int>
> &ShuffleMask) {
> + assert(C->getType()->getPrimitiveSizeInBits() == 128 &&
> + "Unexpected vector size.");
>
> // The shuffle mask requires a byte vector.
> APInt UndefElts;
> @@ -254,7 +252,7 @@ void DecodeVPPERMMask(const Constant *C,
> if (!extractConstantMask(C, 8, UndefElts, RawMask))
> return;
>
> - unsigned NumElts = Width / 8;
> + unsigned NumElts = RawMask.size();
> assert(NumElts == 16 && "Unexpected number of vector elements.");
>
> for (unsigned i = 0; i != NumElts; ++i) {
> @@ -293,10 +291,12 @@ void DecodeVPPERMMask(const Constant *C,
> }
> }
>
> -void DecodeVPERMVMask(const Constant *C, unsigned ElSize, unsigned Width,
> +void DecodeVPERMVMask(const Constant *C, unsigned ElSize,
> SmallVectorImpl<int> &ShuffleMask) {
> - assert((Width == 128 || Width == 256 || Width == 512) &&
> - C->getType()->getPrimitiveSizeInBits() >= Width &&
> + Type *MaskTy = C->getType();
> + unsigned MaskTySize = MaskTy->getPrimitiveSizeInBits();
> + (void)MaskTySize;
> + assert((MaskTySize == 128 || MaskTySize == 256 || MaskTySize == 512) &&
> "Unexpected vector size.");
> assert((ElSize == 8 || ElSize == 16 || ElSize == 32 || ElSize == 64) &&
> "Unexpected vector element size.");
> @@ -307,7 +307,7 @@ void DecodeVPERMVMask(const Constant *C,
> if (!extractConstantMask(C, ElSize, UndefElts, RawMask))
> return;
>
> - unsigned NumElts = Width / ElSize;
> + unsigned NumElts = RawMask.size();
>
> for (unsigned i = 0; i != NumElts; ++i) {
> if (UndefElts[i]) {
> @@ -319,10 +319,12 @@ void DecodeVPERMVMask(const Constant *C,
> }
> }
>
> -void DecodeVPERMV3Mask(const Constant *C, unsigned ElSize, unsigned Width,
> +void DecodeVPERMV3Mask(const Constant *C, unsigned ElSize,
> SmallVectorImpl<int> &ShuffleMask) {
> - assert((Width == 128 || Width == 256 || Width == 512) &&
> - C->getType()->getPrimitiveSizeInBits() >= Width &&
> + Type *MaskTy = C->getType();
> + unsigned MaskTySize = MaskTy->getPrimitiveSizeInBits();
> + (void)MaskTySize;
> + assert((MaskTySize == 128 || MaskTySize == 256 || MaskTySize == 512) &&
> "Unexpected vector size.");
> assert((ElSize == 8 || ElSize == 16 || ElSize == 32 || ElSize == 64) &&
> "Unexpected vector element size.");
> @@ -333,7 +335,7 @@ void DecodeVPERMV3Mask(const Constant *C
> if (!extractConstantMask(C, ElSize, UndefElts, RawMask))
> return;
>
> - unsigned NumElts = Width / ElSize;
> + unsigned NumElts = RawMask.size();
>
> for (unsigned i = 0; i != NumElts; ++i) {
> if (UndefElts[i]) {
>
> Modified: llvm/trunk/lib/Target/X86/X86ShuffleDecodeConstantPool.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ShuffleDecodeConstantPool.h?rev=344875&r1=344874&r2=344875&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/Target/X86/X86ShuffleDecodeConstantPool.h (original)
> +++ llvm/trunk/lib/Target/X86/X86ShuffleDecodeConstantPool.h Sun Oct 21
> 14:08:37 2018
> @@ -26,28 +26,25 @@ class Constant;
> class MVT;
>
> /// Decode a PSHUFB mask from an IR-level vector constant.
> -void DecodePSHUFBMask(const Constant *C, unsigned Width,
> - SmallVectorImpl<int> &ShuffleMask);
> +void DecodePSHUFBMask(const Constant *C, SmallVectorImpl<int>
> &ShuffleMask);
>
> /// Decode a VPERMILP variable mask from an IR-level vector constant.
> -void DecodeVPERMILPMask(const Constant *C, unsigned ElSize, unsigned
> Width,
> +void DecodeVPERMILPMask(const Constant *C, unsigned ElSize,
> SmallVectorImpl<int> &ShuffleMask);
>
> /// Decode a VPERMILP2 variable mask from an IR-level vector constant.
> void DecodeVPERMIL2PMask(const Constant *C, unsigned MatchImm, unsigned
> ElSize,
> - unsigned Width,
> SmallVectorImpl<int> &ShuffleMask);
>
> /// Decode a VPPERM variable mask from an IR-level vector constant.
> -void DecodeVPPERMMask(const Constant *C, unsigned Width,
> - SmallVectorImpl<int> &ShuffleMask);
> +void DecodeVPPERMMask(const Constant *C, SmallVectorImpl<int>
> &ShuffleMask);
>
> /// Decode a VPERM W/D/Q/PS/PD mask from an IR-level vector constant.
> -void DecodeVPERMVMask(const Constant *C, unsigned ElSize, unsigned Width,
> +void DecodeVPERMVMask(const Constant *C, unsigned ElSize,
> SmallVectorImpl<int> &ShuffleMask);
>
> /// Decode a VPERMT2 W/D/Q/PS/PD mask from an IR-level vector constant.
> -void DecodeVPERMV3Mask(const Constant *C, unsigned ElSize, unsigned Width,
> +void DecodeVPERMV3Mask(const Constant *C, unsigned ElSize,
> SmallVectorImpl<int> &ShuffleMask);
>
> } // llvm namespace
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://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/20181021/14a31dbd/attachment.html>
More information about the llvm-commits
mailing list