[PATCH] D92482: [IR] Support scalable vectors in CastInst::CreatePointerCast
Cullen Rhodes via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 9 03:01:15 PST 2020
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rG4167a0259ec3: [IR] Support scalable vectors in CastInst::CreatePointerCast (authored by c-rhodes).
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D92482/new/
https://reviews.llvm.org/D92482
Files:
llvm/lib/IR/Instructions.cpp
llvm/unittests/IR/InstructionsTest.cpp
Index: llvm/unittests/IR/InstructionsTest.cpp
===================================================================
--- llvm/unittests/IR/InstructionsTest.cpp
+++ llvm/unittests/IR/InstructionsTest.cpp
@@ -368,11 +368,19 @@
Constant *NullV2I32Ptr = Constant::getNullValue(V2Int32PtrTy);
auto Inst1 = CastInst::CreatePointerCast(NullV2I32Ptr, V2Int32Ty, "foo", BB);
+ Constant *NullVScaleV2I32Ptr = Constant::getNullValue(VScaleV2Int32PtrTy);
+ auto Inst1VScale = CastInst::CreatePointerCast(
+ NullVScaleV2I32Ptr, VScaleV2Int32Ty, "foo.vscale", BB);
+
// Second form
auto Inst2 = CastInst::CreatePointerCast(NullV2I32Ptr, V2Int32Ty);
+ auto Inst2VScale =
+ CastInst::CreatePointerCast(NullVScaleV2I32Ptr, VScaleV2Int32Ty);
delete Inst2;
+ delete Inst2VScale;
Inst1->eraseFromParent();
+ Inst1VScale->eraseFromParent();
delete BB;
}
Index: llvm/lib/IR/Instructions.cpp
===================================================================
--- llvm/lib/IR/Instructions.cpp
+++ llvm/lib/IR/Instructions.cpp
@@ -3022,8 +3022,8 @@
"Invalid cast");
assert(Ty->isVectorTy() == S->getType()->isVectorTy() && "Invalid cast");
assert((!Ty->isVectorTy() ||
- cast<FixedVectorType>(Ty)->getNumElements() ==
- cast<FixedVectorType>(S->getType())->getNumElements()) &&
+ cast<VectorType>(Ty)->getElementCount() ==
+ cast<VectorType>(S->getType())->getElementCount()) &&
"Invalid cast");
if (Ty->isIntOrIntVectorTy())
@@ -3041,8 +3041,8 @@
"Invalid cast");
assert(Ty->isVectorTy() == S->getType()->isVectorTy() && "Invalid cast");
assert((!Ty->isVectorTy() ||
- cast<FixedVectorType>(Ty)->getNumElements() ==
- cast<FixedVectorType>(S->getType())->getNumElements()) &&
+ cast<VectorType>(Ty)->getElementCount() ==
+ cast<VectorType>(S->getType())->getElementCount()) &&
"Invalid cast");
if (Ty->isIntOrIntVectorTy())
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D92482.310475.patch
Type: text/x-patch
Size: 1991 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201209/c34d5f25/attachment.bin>
More information about the llvm-commits
mailing list