This is an archive of the discontinued LLVM Phabricator instance.

[flang][hlfir] Lower hlfir.where when there are no conflicts
ClosedPublic

Authored by jeanPerier on May 18 2023, 9:35 AM.

Details

Summary

Lower hlfir.where when the scheduling analysis determined that no
temporary storage is needed.

Depends on D150581

Diff Detail

Event Timeline

jeanPerier created this revision.May 18 2023, 9:35 AM
jeanPerier requested review of this revision.May 18 2023, 9:35 AM
tblah accepted this revision.May 19 2023, 5:21 AM

LGTM!

If the elemental inlining pass is done first, do we still need to handle recursive elemental inlining in bufferization? I guess it is good to have around for robustness.

This revision is now accepted and ready to land.May 19 2023, 5:21 AM

LGTM!

If the elemental inlining pass is done first, do we still need to handle recursive elemental inlining in bufferization? I guess it is good to have around for robustness.

We would only need to inline the "last" one here indeed, but as you point out, I think it is better to have it explicit here so that we can run this pass independently from the optimization that runs on everything.

Remove leftover "devlopment" comment.

vzakhari accepted this revision.May 19 2023, 9:24 AM

Looks great! Thank you, Jean!

flang/include/flang/Optimizer/Builder/HLFIRTools.h
391
This revision was automatically updated to reflect the committed changes.
jeanPerier marked an inline comment as done.
jeanPerier added inline comments.May 22 2023, 3:51 AM
flang/include/flang/Optimizer/Builder/HLFIRTools.h
391

Thank you for the review. Typo fixed in the merge commit.