Add support for some multi-store cases in affine fusion
Add support for some multi-store cases in affine fusion

This PR is a stepping stone towards supporting generic multi-store
source loop nests in affine loop fusion. It extends the algorithm to
support fusion of multi-store loop nests that:
 1. have only one store that writes to a function-local live out, and
 2. the remaining stores are involved in loop nest self dependences
    or no dependences within the function.

Closes #162

COPYBARA_INTEGRATE_REVIEW=https://github.com/tensorflow/mlir/pull/162 from dcaballe:dcaballe/multi-output-fusion 7fb7dec6fe8b45f5ce176f018bfe37b256420c45
PiperOrigin-RevId: 273773907

adit-chandra/tensorflow,gunan/tensorflow,arborh/tensorflow,aldian/tensorflow,jhseu/tensorflow,aam-at/tensorflow,adit-chandra/tensorflow,aam-at/tensorflow,davidzchen/tensorflow,cxxgtxy/tensorflow,annarev/tensorflow,ppwwyyxx/tensorflow,sarvex/tensorflow,gunan/tensorflow,aldian/tensorflow,petewarden/tensorflow,adit-chandra/tensorflow,tensorflow/tensorflow-pywrap_saved_model,frreiss/tensorflow-fred,tensorflow/tensorflow-pywrap_tf_optimizer,tensorflow/tensorflow-experimental_link_static_libraries_once,tensorflow/tensorflow-pywrap_saved_model,freedomtan/tensorflow,gunan/tensorflow,petewarden/tensorflow,annarev/tensorflow,renyi533/tensorflow,paolodedios/tensorflow,frreiss/tensorflow-fred,jhseu/tensorflow,tensorflow/tensorflow-pywrap_saved_model,aam-at/tensorflow,adit-chandra/tensorflow,petewarden/tensorflow,Intel-Corporation/tensorflow,yongtang/tensorflow,xzturn/tensorflow,renyi533/tensorflow,tensorflow/tensorflow-pywrap_tf_optimizer,xzturn/tensorflow,freedomtan/tensorflow,davidzchen/tensorflow,xzturn/tensorflow,frreiss/tensorflow-fred,xzturn/tensorflow,arborh/tensorflow,arborh/tensorflow,adit-chandra/tensorflow,tensorflow/tensorflow-experimental_link_static_libraries_once,davidzchen/tensorflow,renyi533/tensorflow,gunan/tensorflow,tensorflow/tensorflow,tensorflow/tensorflow-experimental_link_static_libraries_once,tensorflow/tensorflow,arborh/tensorflow,ppwwyyxx/tensorflow,gautam1858/tensorflow,gautam1858/tensorflow,renyi533/tensorflow,ppwwyyxx/tensorflow,Intel-tensorflow/tensorflow,jhseu/tensorflow,sarvex/tensorflow,gautam1858/tensorflow,arborh/tensorflow,freedomtan/tensorflow,tensorflow/tensorflow-pywrap_tf_optimizer,yongtang/tensorflow,adit-chandra/tensorflow,renyi533/tensorflow,frreiss/tensorflow-fred,gautam1858/tensorflow,tensorflow/tensorflow,xzturn/tensorflow,Intel-Corporation/tensorflow,tensorflow/tensorflow-pywrap_saved_model,tensorflow/tensorflow-pywrap_saved_model,karllessard/tensorflow,cxxgtxy/tensorflow,adit-chandra/tensorflow,frreiss/tensorflow-fred,frreiss/tensorflow-fred,ppwwyyxx/tensorflow,aam-at/tensorflow,tensorflow/tensorflow,jhseu/tensorflow,davidzchen/tensorflow,petewarden/tensorflow,cxxgtxy/tensorflow,jhseu/tensorflow,paolodedios/tensorflow,gautam1858/tensorflow,cxxgtxy/tensorflow,jhseu/tensorflow,gautam1858/tensorflow,petewarden/tensorflow,cxxgtxy/tensorflow,petewarden/tensorflow,davidzchen/tensorflow,davidzchen/tensorflow,xzturn/tensorflow,tensorflow/tensorflow-experimental_link_static_libraries_once,tensorflow/tensorflow-pywrap_saved_model,cxxgtxy/tensorflow,freedomtan/tensorflow,gunan/tensorflow,tensorflow/tensorflow-experimental_link_static_libraries_once,Intel-Corporation/tensorflow,renyi533/tensorflow,renyi533/tensorflow,tensorflow/tensorflow-experimental_link_static_libraries_once,freedomtan/tensorflow,tensorflow/tensorflow-pywrap_tf_optimizer,karllessard/tensorflow,paolodedios/tensorflow,arborh/tensorflow,gautam1858/tensorflow,yongtang/tensorflow,renyi533/tensorflow,annarev/tensorflow,karllessard/tensorflow,freedomtan/tensorflow,aldian/tensorflow,tensorflow/tensorflow-experimental_link_static_libraries_once,gautam1858/tensorflow,tensorflow/tensorflow-pywrap_saved_model,tensorflow/tensorflow-pywrap_saved_model,tensorflow/tensorflow-experimental_link_static_libraries_once,tensorflow/tensorflow-pywrap_tf_optimizer,arborh/tensorflow,ppwwyyxx/tensorflow,petewarden/tensorflow,gautam1858/tensorflow,sarvex/tensorflow,karllessard/tensorflow,xzturn/tensorflow,gunan/tensorflow,yongtang/tensorflow,jhseu/tensorflow,tensorflow/tensorflow-pywrap_saved_model,renyi533/tensorflow,xzturn/tensorflow,jhseu/tensorflow,jhseu/tensorflow,tensorflow/tensorflow-pywrap_tf_optimizer,frreiss/tensorflow-fred,cxxgtxy/tensorflow,Intel-tensorflow/tensorflow,sarvex/tensorflow,freedomtan/tensorflow,aam-at/tensorflow,aam-at/tensorflow,xzturn/tensorflow,gunan/tensorflow,arborh/tensorflow,Intel-tensorflow/tensorflow,tensorflow/tensorflow,tensorflow/tensorflow-pywrap_tf_optimizer,Intel-tensorflow/tensorflow,Intel-Corporation/tensorflow,sarvex/tensorflow,arborh/tensorflow,yongtang/tensorflow,gunan/tensorflow,petewarden/tensorflow,ppwwyyxx/tensorflow,tensorflow/tensorflow-pywrap_tf_optimizer,aam-at/tensorflow,tensorflow/tensorflow-pywrap_saved_model,adit-chandra/tensorflow,cxxgtxy/tensorflow,ppwwyyxx/tensorflow,Intel-Corporation/tensorflow,aldian/tensorflow,Intel-tensorflow/tensorflow,tensorflow/tensorflow,frreiss/tensorflow-fred,aam-at/tensorflow,Intel-tensorflow/tensorflow,annarev/tensorflow,Intel-tensorflow/tensorflow,frreiss/tensorflow-fred,petewarden/tensorflow,tensorflow/tensorflow,paolodedios/tensorflow,tensorflow/tensorflow-experimental_link_static_libraries_once,yongtang/tensorflow,renyi533/tensorflow,paolodedios/tensorflow,Intel-tensorflow/tensorflow,petewarden/tensorflow,frreiss/tensorflow-fred,yongtang/tensorflow,gautam1858/tensorflow,gunan/tensorflow,gunan/tensorflow,jhseu/tensorflow,Intel-Corporation/tensorflow,annarev/tensorflow,tensorflow/tensorflow-pywrap_tf_optimizer,karllessard/tensorflow,tensorflow/tensorflow,petewarden/tensorflow,xzturn/tensorflow,annarev/tensorflow,paolodedios/tensorflow,karllessard/tensorflow,ppwwyyxx/tensorflow,ppwwyyxx/tensorflow,Intel-Corporation/tensorflow,aldian/tensorflow,karllessard/tensorflow,freedomtan/tensorflow,jhseu/tensorflow,tensorflow/tensorflow-pywrap_tf_optimizer,tensorflow/tensorflow,adit-chandra/tensorflow,yongtang/tensorflow,Intel-tensorflow/tensorflow,adit-chandra/tensorflow,davidzchen/tensorflow,annarev/tensorflow,sarvex/tensorflow,freedomtan/tensorflow,adit-chandra/tensorflow,annarev/tensorflow,frreiss/tensorflow-fred,paolodedios/tensorflow,davidzchen/tensorflow,Intel-tensorflow/tensorflow,tensorflow/tensorflow-pywrap_tf_optimizer,petewarden/tensorflow,gautam1858/tensorflow,jhseu/tensorflow,ppwwyyxx/tensorflow,aam-at/tensorflow,yongtang/tensorflow,freedomtan/tensorflow,paolodedios/tensorflow,ppwwyyxx/tensorflow,yongtang/tensorflow,aam-at/tensorflow,aam-at/tensorflow,annarev/tensorflow,gunan/tensorflow,aam-at/tensorflow,aldian/tensorflow,tensorflow/tensorflow-pywrap_saved_model,frreiss/tensorflow-fred,davidzchen/tensorflow,paolodedios/tensorflow,yongtang/tensorflow,xzturn/tensorflow,aldian/tensorflow,davidzchen/tensorflow,paolodedios/tensorflow,freedomtan/tensorflow,tensorflow/tensorflow-experimental_link_static_libraries_once,arborh/tensorflow,davidzchen/tensorflow,freedomtan/tensorflow,arborh/tensorflow,Intel-tensorflow/tensorflow,karllessard/tensorflow,aldian/tensorflow,sarvex/tensorflow,tensorflow/tensorflow-experimental_link_static_libraries_once,renyi533/tensorflow,paolodedios/tensorflow,renyi533/tensorflow,sarvex/tensorflow,annarev/tensorflow,gunan/tensorflow,adit-chandra/tensorflow,ppwwyyxx/tensorflow,xzturn/tensorflow,arborh/tensorflow,Intel-Corporation/tensorflow,karllessard/tensorflow,annarev/tensorflow,gautam1858/tensorflow,karllessard/tensorflow,tensorflow/tensorflow,davidzchen/tensorflow,tensorflow/tensorflow,karllessard/tensorflow