tree fa0aaebff50dfa188a41d1ab3122dc922ad924e7
parent 122afeb4eb9afce62e2643f814d829289b22e366
author Ben Vanik <benvanik@google.com> 1637601767 -0800
committer GitHub <noreply@github.com> 1637601767 -0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJhm9HnCRBK7hj4Ov3rIwAAlOcIAAWLsXdSc4g8DVdLiAfi1qzU
 J6eYypfyCUveEpUT8LcncIqOKRnKXuyCj7xddPk6Vi478ju4s2hlMVHzn+pp9TTT
 vZyjCzhGNGaCHnqZGx/XBfBNwcp/ABN3TbHPKhEcbvQwOzklS4cJ6ZqqndG6vwNP
 egDdEnoBM+tb6mLViaItlRfxhaH4LDiR82CWcjh+83EaGBjyK16er5KCdHT7R2mC
 TAaMgoPc+rlclP5Ys1LCSrB8LsAfidX0BfdjCHxrUbTO3MDlsekpO49E+LUIHFQb
 9VfZLKGgCaX4bUnI6zYhJot0NljsfTV+ScpGDf6UB5+HJ5KqOZi7UZOXph1hU2M=
 =YaoU
 -----END PGP SIGNATURE-----
 

Adding alignment analysis and propagation into codegen. (#7714)

This adds stream.alignment attributes to !stream.binding and index
operands in dispatch functions and stream.values attributes to integer
operands. The alignment on bindings indicates the base binding offset
alignment while the alignment on index operands indicates the alignment
of any offset into a binding they may represent. The values are all
potential values that may be passed in the operand when knowable.

The final piece required is to use this information in the codegen
backends, however the memref.assume_alignment op doesn't seem to do
anything today. This would in theory plumb the information through
but there are likely better ways to use this information:
```
auto alignment = baseBuffer.calculateAlignment();
b.create<memref::AssumeAlignmentOp>(op->getLoc(), baseBuffer,
                                    alignment.value());
```