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

Hans Wennborg via cfe-commits cfe-commits at lists.llvm.org
Wed Feb 22 13:59:46 PST 2017


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