This is an archive of the discontinued LLVM Phabricator instance.

[flang] Deallocate WHERE masks after all assignments
ClosedPublic

Authored by jeanPerier on Sep 19 2022, 10:08 AM.

Details

Summary

Allocatable assignments were triggering lowering to clean-up
any WHERE mask temporaries, even if some assignments where left
in the WHERE construct.

This is because allocatable assignments lowering was being passed the
wrong statement context. Fix this by selecting the where/forall statement
context instead of a local one when there is one.

Diff Detail

Event Timeline

jeanPerier created this revision.Sep 19 2022, 10:08 AM
Herald added a project: Restricted Project. · View Herald TranscriptSep 19 2022, 10:08 AM
jeanPerier requested review of this revision.Sep 19 2022, 10:08 AM
This revision is now accepted and ready to land.Sep 19 2022, 11:18 AM
PeteSteinfeld accepted this revision.Sep 19 2022, 1:21 PM

All builds and tests correctly and looks good.

This revision was automatically updated to reflect the committed changes.