[MLIR] Fix AsmPrinter for short-hand bound notation

This CL retricts shorthand notation printing to only the bounds that can
be roundtripped unambiguously; i.e.:
1. ()[]->(%some_cst) ()[]
2. ()[s0]->(s0) ()[%some_symbol]

Upon inspection it turns out that the constant case was lossy so this CL also
updates it.

Note however that fixing this issue exhibits a potential issues in unroll.mlir.
L488 exhibits a map ()[s0] -> (1)()[%arg0] which could be simplified down to
()[]->(1)()[].
This does not seem like a bug but maybe an undesired complexity in the maps
generated by unrolling.
bondhugula@, care to take a look?

PiperOrigin-RevId: 214531410
3 files changed
tree: bfdd4da3abc044b037884d6d010a10dc14e79c2f
  1. include/
  2. lib/
  3. test/
  4. tools/
  5. utils/
  6. .clang-format
  7. LICENSE.TXT