I have refactored the code so that we no longer need the
ScalableVecArgument descriptor - the scalable property of vectors is
now encoded using the ElementCount class in IITDescriptor. This means
that when matching intrinsics we know precisely how to match the
arguments and return values.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/include/llvm/IR/Intrinsics.h | ||
---|---|---|
130 | Can you just use ElementCount here, instead of defining your own struct? If you do think it's necessary to pack this struct, please ensure that the struct can hold all the values ElementCount can hold. I don't want the possibility of new mysterious failures due to overflow. |
llvm/include/llvm/IR/Intrinsics.h | ||
---|---|---|
130 | ElementCount isn't designed to be embedded in another structures, but I do take your point. I've done something similar to how it's done in VectorType - made sure we have enough storage for the element count and added a getVectorElementCount() helper that returns a ElementCount. |
Please clang-format this