diff options
author | Michael Kruse <llvm-project@meinersbur.de> | 2021-08-12 20:07:55 -0500 |
---|---|---|
committer | Michael Kruse <llvm-project@meinersbur.de> | 2021-08-12 21:02:19 -0500 |
commit | b1de32d6ddd90046171ecee0047fbf448a97e16f (patch) | |
tree | d86820e122a17e753fe4adec07834af09350ac9c /clang/lib/Frontend/CompilerInvocation.cpp | |
parent | 3980cfcbaaa432477c966956ee75e062902e02b8 (diff) | |
download | llvm-b1de32d6ddd90046171ecee0047fbf448a97e16f.zip llvm-b1de32d6ddd90046171ecee0047fbf448a97e16f.tar.gz llvm-b1de32d6ddd90046171ecee0047fbf448a97e16f.tar.bz2 |
[OMPIRBuilder] Clarify CanonicalLoopInfo. NFC.
Add in-source documentation on how CanonicalLoopInfo is intended to be used. In particular, clarify what parts of a CanonicalLoopInfo is considered part of the loop, that those parts must be side-effect free, and that InsertPoints to instructions outside those parts can be expected to be preserved after method calls implementing loop-associated directives.
CanonicalLoopInfo are now invalidated after it does not describe canonical loop anymore and asserts when trying to use it afterwards.
In addition, rename `createXYZWorkshareLoop` to `applyXYZWorkshareLoop` and remove the update location to avoid that the impression that they insert something from scratch at that location where in reality its InsertPoint is ignored. createStaticWorkshareLoop does not return a CanonicalLoopInfo anymore. First, it was not a canonical loop in the clarified sense (containing side-effects in form of calls to the OpenMP runtime). Second, it is ambiguous which of the two possible canonical loops it should actually return. It will not be needed before a feature expected to be introduced in OpenMP 6.0
Also see discussion in D105706.
Reviewed By: ftynse
Differential Revision: https://reviews.llvm.org/D107540
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions