This is an archive of the discontinued LLVM Phabricator instance.

[Flang][OpenMP][OpenACC] Error for loop with no control
ClosedPublic

Authored by kiranchandramohan on Feb 17 2023, 11:38 AM.

Details

Summary

Issue error if a DO construct associated with a loop does not have
loop control. Currently, it is issued only for the loop immediately
following the loop construct. This patch extends it to cases like
collapse where there is more than one loop associated. It also fixes
a crash since the existing code always expects loop control.

This is covered in OpenMP 4.5 standard, Section 2.7.1.
"The do-loop cannot be a DO WHILE or a DO loop without loop control."

OpenACC 3.3 covers this indirectly in Section 2.9.1.
The trip count for all loops associated with the collapse clause must
be computable and invariant in all the loops".

Diff Detail

Event Timeline

Herald added projects: Restricted Project, Restricted Project. · View Herald Transcript
kiranchandramohan requested review of this revision.Feb 17 2023, 11:38 AM
This revision is now accepted and ready to land.Feb 27 2023, 4:04 AM