[flang][HLFIR] add more memory effects interfaces
Anything that produces a hlfir.expr should have an allocation side effect so that it is not removed by CSE (which would result in two hlfir.destroy operations for the same expression). Similarly for hlfir.associate, which has hlfir.end_associate. Also adds read effects on arguments which are pointer-like or boxes. I see no regressions from this change when running llvm-testsuite with optimization enabled, or from SPEC2017 rate benchmarks. To test this, I have added MLIR's pass for testing side effect interfaces to fir-opt. Differential Revision: https://reviews.llvm.org/D158662
parent
c5fabacc
Please register or sign in to comment