forked from OSchip/llvm-project
Make getRank abort for unranked type
This better matches the other methods in ShapedType which only make sense for ranked types. There's now an explicit hasRank for checking the rank. Actual call sites rarely used the "-1" sentinel to combine checking for rankedness and checking that rank is a certain value. And in most cases they should actually be checking for rankedness at a higher level using type predicates. Using an explicit method is clearer than a sentinel anyway. -- PiperOrigin-RevId: 250720853
This commit is contained in:
parent
29073d999c
commit
97505013c6
|
@ -199,7 +199,7 @@ public:
|
||||||
/// If this is a ranked type, return the number of elements. Otherwise, abort.
|
/// If this is a ranked type, return the number of elements. Otherwise, abort.
|
||||||
unsigned getNumElements() const;
|
unsigned getNumElements() const;
|
||||||
|
|
||||||
/// If this is a ranked type, return the rank. Otherwise, return -1.
|
/// If this is a ranked type, return the rank. Otherwise, abort.
|
||||||
int64_t getRank() const;
|
int64_t getRank() const;
|
||||||
|
|
||||||
/// Whether or not this is a ranked type. Vector and ranked tensors have a
|
/// Whether or not this is a ranked type. Vector and ranked tensors have a
|
||||||
|
|
|
@ -125,7 +125,8 @@ unsigned ShapedType::getNumElements() const {
|
||||||
}
|
}
|
||||||
|
|
||||||
int64_t ShapedType::getRank() const {
|
int64_t ShapedType::getRank() const {
|
||||||
return hasRank() ? getShape().size() : -1;
|
assert(hasRank());
|
||||||
|
return getShape().size();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ShapedType::hasRank() const { return !isa<UnrankedTensorType>(); }
|
bool ShapedType::hasRank() const { return !isa<UnrankedTensorType>(); }
|
||||||
|
|
Loading…
Reference in New Issue