LLVM fork for squiid.
https://github.com/llvm/llvm-project/
bcaba6e571
1. Following Block and Sections constructs, re-structure loop related constructs into `{Begin, Loop, End}`. Being part of the work in PR flang-compiler/f18#599, the `Loop` and `End` nodes are optional during parser. They should be filled in during the phase of `CanonicalizationOfOmp`. This commit is solely for the parse tree change. So, after this commit, PR flang-compiler/f18#599 needs to be changed accordingly. 2. Removed parse tree nodes for `END DO` and `END DO SIMD`. Similar to Block and Sections constructs, `End` node now accepts clauses too, the validity checks are deferred into Semantics. This is more genernal and error message could be better. 3. With this commit alone, assertion error would occur when `End` directive is present, for example `!$OMP END DO` because the `End` node is not moved into `OpenMPLoopConstruct` yet. Again, PR flang-compiler/f18#599 will handle that. More tests will be added in PR flang-compiler/f18#599 and during the future Semantics work. Original-commit: flang-compiler/f18@8cd1932fd6 Reviewed-on: https://github.com/flang-compiler/f18/pull/656 |
||
---|---|---|
flang |