This diff attempts to resolve the TODO in getOpIndexSet (formerly known as getInstIndexSet), which states "Add support to handle IfInsts surronding op".
Major changes in this diff:
- Overload getIndexSet. The overloaded version considers both AffineForOp and AffineIfOp.
- The getInstIndexSet is updated accordingly: its name is changed to getOpIndexSet and its implementation is based on a new API getIVs instead of getLoopIVs.
- Add addAffineIfOpDomain to FlatAffineConstraints, which extracts new constraints from the integer set of AffineIfOp and merges it to the current constraint system.
- Update how a Value is determined as dim or symbol for ValuePositionMap in buildDimAndSymbolPositionMaps.
This sentence is no longer accurate: "... of the forOps ...".