[PATCH] D77259: Clean up usages of asserting vector getters in Type
Christopher Tetreault via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 10 09:19:55 PDT 2020
ctetreau marked an inline comment as done.
ctetreau added inline comments.
================
Comment at: llvm/lib/Transforms/Vectorize/VectorCombine.cpp:281
// TODO: Handle bitcast from narrow element type to wide element type.
- assert(SrcTy->isVectorTy() && "Shuffle of non-vector type?");
- unsigned DestNumElts = DestTy->getVectorNumElements();
- unsigned SrcNumElts = SrcTy->getVectorNumElements();
+ assert(SrcTy && "Shuffle of non-vector type?");
+ unsigned DestNumElts = DestTy->getNumElements();
----------------
ctetreau wrote:
> sdesmalen wrote:
> > Now that SrcTy is of type VectorType because of the `cast<>`, this assert can be removed.
> I agree and will fix it, but for the record: whenever this happens, I did it so that the assert message wouldn't change.
>
> It might be nice if cast() had an overload that took a message that was used for the assert, but that's a problem for another day. Something like:
>
> ```
> auto *t = cast<Foo>(bar, "This is guaranteed to be a Foo becasue it's the return value of a BarInst");
> ```
Obviously in this case, this assert will never fire. But at one point it was a dyn_cast.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D77259/new/
https://reviews.llvm.org/D77259
More information about the llvm-commits
mailing list