Introduce Deaffinator pass.

This function pass replaces affine_apply operations in CFG functions with
sequences of primitive arithmetic instructions that form the affine map.

The actual replacement functionality is located in LoweringUtils as a
standalone function operating on an individual affine_apply operation and
inserting the result at the location of the original operation.  It is expected
to be useful for other, target-specific lowering passes that may start at
MLFunction level that Deaffinator does not support.

PiperOrigin-RevId: 222406692
5 files changed
tree: 0b370842c884150e8dbff2366a9e2eb81a4d6054
  1. g3doc/
  2. include/
  3. lib/
  4. test/
  5. tools/
  6. utils/
  7. .clang-format
  8. LICENSE.TXT