- Add batched version of all addId variants, so that multiple IDs can be added at a time.
- Rename addId and variants to insertId and appendId. Most external users call appendId. Splitting addId into two functions also makes it possible to provide batched version for both. (Otherwise, the overloads are ambigious when calling addId.)
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
mlir/lib/Analysis/AffineAnalysis.cpp | ||
---|---|---|
860 | The original code inserts numCommonLoops many dims at positions 0, 1, 2, ... (i.e., at the beginning). If dependenceDomain does not have any dims yet, this could be rewritten as appendDimId. |
mlir/include/mlir/Analysis/AffineStructures.h | ||
---|---|---|
670 | These declarations are not in the header file but in the class. They make overloaded methods of parent class available in the derived class. Otherwise, overload resolution may ignore them when calling a method on the derived class. |
mlir/include/mlir/Analysis/AffineStructures.h | ||
---|---|---|
670 | E.g., it is needed to be able to call appendDimId(/*num=*/5) on FlatAffineValueConstraints. Without the using decl, we get a warning/compile error. |
update
mlir/lib/Analysis/AffineStructures.cpp | ||
---|---|---|
422 | I'm wondering if this is correct. According to the comment: Local identifiers of each system are by design separate/local and are placed one after other (A's followed by B's). So I would expect: a->appendLocalId(/*num=*/b->getNumLocalIds()); |
mlir/lib/Analysis/AffineStructures.cpp | ||
---|---|---|
470 | This error looks relevant. |