Some time ago I opened the following revision to fix an issue related to the implicit taskgroup associated with a taskloop construct that doesn't have the nogroup clause:
Those changes were upstreamed, but I forgot to update the documentation. This revision tries to address that.
In clang we explicitly materialize the implicit taskgroup when it is required. Thus, we always pass a 1 as the value of the nogroup parameter. Since this parameter doesn't represent whether the nogroup clause was present but whether we want to create a taskgroup region inside the kmpc_taskloop function, I think we should change its description.