r295473 - [OpenMP] Remove barriers at cancel and cancellation point

Hans Wennborg via cfe-commits cfe-commits at lists.llvm.org
Thu Feb 23 10:45:35 PST 2017


Thanks! r296000.

On Wed, Feb 22, 2017 at 8:15 PM, Alexey Bataev <a.bataev at hotmail.com> wrote:
> Yes, approved
>
> Best regards,
> Alexey Bataev
>
>> 23 февр. 2017 г., в 1:00, Hans Wennborg <hans at chromium.org> написал(а):
>>
>> Alexey: ping?
>>
>>> On Tue, Feb 21, 2017 at 11:07 AM, Hans Wennborg <hans at chromium.org> wrote:
>>> I'm Ok with it if Alexey approves.
>>>
>>> On Fri, Feb 17, 2017 at 10:52 AM, Hahnfeld, Jonas
>>> <Hahnfeld at itc.rwth-aachen.de> wrote:
>>>> Hi Hans, Alexey,
>>>>
>>>> can we merge this commit and r295474 for the 4.0 release or is it already
>>>> too late for that? I will totally understand that and can apply these
>>>> commits locally prior to installing.
>>>> However, I think that these changes are quite focussed and bear minimal
>>>> possibility of introducing regressions.
>>>>
>>>> Thanks,
>>>> Jonas
>>>>
>>>> Am Freitag, den 17.02.2017, 18:32 +0000 schrieb Jonas Hahnfeld via
>>>> cfe-commits:
>>>>
>>>> Author: hahnfeld
>>>> Date: Fri Feb 17 12:32:51 2017
>>>> New Revision: 295473
>>>>
>>>> URL: http://llvm.org/viewvc/llvm-project?rev=295473&view=rev
>>>> Log:
>>>> [OpenMP] Remove barriers at cancel and cancellation point
>>>>
>>>> This resolves a deadlock with the cancel directive when there is no explicit
>>>> cancellation point. In that case, the implicit barrier acts as cancellation
>>>> point. After removing the barrier after cancel, the now unmatched barrier
>>>> for
>>>> the explicit cancellation point has to go as well.
>>>>
>>>> This has probably worked before rL255992: With the calls for the explicit
>>>> barrier, it was sure that all threads passed a barrier before exiting.
>>>>
>>>> Reported by Simon Convent and Joachim Protze!
>>>>
>>>> Differential Revision: https://reviews.llvm.org/D30088
>>>>
>>>> Modified:
>>>>    cfe/trunk/lib/CodeGen/CGOpenMPRuntime.cpp
>>>>    cfe/trunk/test/OpenMP/cancel_codegen.cpp
>>>>    cfe/trunk/test/OpenMP/cancellation_point_codegen.cpp


More information about the cfe-commits mailing list