The patch was reapplied in r256933 and includes the fixes for the different
regressions that were identified, including the one reported below.

Thanks for your help!
Samuel



From:   "Liao, Michael" <michael.l...@intel.com>
To:     Samuel F Antao/Watson/IBM@IBMUS
Cc:     cfe-commits <cfe-commits@lists.llvm.org>, Artem Belevich
            <t...@google.com>
Date:   01/05/2016 07:58 PM
Subject:        RE: r256854 - [OpenMP] Allow file ID to be signed in the
            offloading metadata.



Hi Samuel

The issue is not related to capture feature but the order of evaluation
which is not specified for arguments in a function call in C/C++. With the
side effect in each argument evaluation, it causes the trouble.

Thanks
- Michael

From: Samuel F Antao [mailto:sfan...@us.ibm.com]
Sent: Tuesday, January 5, 2016 4:25 PM
To: Liao, Michael <michael.l...@intel.com>
Cc: cfe-commits <cfe-commits@lists.llvm.org>; Artem Belevich
<t...@google.com>
Subject: RE: r256854 - [OpenMP] Allow file ID to be signed in the
offloading metadata.



Hi Michael,

Thanks for the patch! I am not sure I understand why the behavior is
unspecified if Idx is captured by reference, but that is good to know that
it fixes the problem. I reverted the patch in the meantime given that I am
still trying to replicate a problem I get from the ARM bots, but I will
incorporate your fix when I am ready to reapply the patch.

Thanks again!
Samuel

Inactive hide details for "Liao, Michael" ---01/05/2016 05:17:13 PM---Hi
Samual The change in CL#256842 has undefined behavior "Liao, Michael"
---01/05/2016 05:17:13 PM---Hi Samual The change in CL#256842 has undefined
behavior according to C++. Attached patch will avoid

From: "Liao, Michael" <michael.l...@intel.com>
To: Samuel F Antao/Watson/IBM@IBMUS, Artem Belevich <t...@google.com>
Cc: cfe-commits <cfe-commits@lists.llvm.org>
Date: 01/05/2016 05:17 PM
Subject: RE: r256854 - [OpenMP] Allow file ID to be signed in the
offloading metadata.




Hi Samual

The change in CL#256842 has undefined behavior according to C++. Attached
patch will avoid side-effect code during argument evaluation of a function
call. That solves the problem for me on Linux with GCC 4.9.

Thanks
- Michael

From: cfe-commits [mailto:cfe-commits-boun...@lists.llvm.org] On Behalf Of
Samuel F Antao via cfe-commits
Sent: Tuesday, January 5, 2016 10:57 AM
To: Artem Belevich <t...@google.com>
Cc: cfe-commits <cfe-commits@lists.llvm.org>
Subject: Re: r256854 - [OpenMP] Allow file ID to be signed in the
offloading metadata.


Hi Art,

That only fixed one of the problems. The other one I am having some trouble
to replicate. I am trying a few things and hopefully will get a fix soon.

Sorry for the trouble,
Samuel

Inactive hide details for Artem Belevich ---01/05/2016 01:54:02
PM---Samuel, The tests are still failing:Artem Belevich ---01/05/2016
01:54:02 PM---Samuel, The tests are still failing:

From: Artem Belevich <t...@google.com>
To: Samuel F Antao/Watson/IBM@IBMUS
Cc: cfe-commits <cfe-commits@lists.llvm.org>
Date: 01/05/2016 01:54 PM
Subject: Re: r256854 - [OpenMP] Allow file ID to be signed in the
offloading metadata.





Samuel,

The tests are still failing:
http://lab.llvm.org:8011/builders/clang-bpf-build/builds/5759



On Tue, Jan 5, 2016 at 10:02 AM, Samuel Antao via cfe-commits <
cfe-commits@lists.llvm.org> wrote:
            Author: sfantao
            Date: Tue Jan 5 12:02:24 2016
            New Revision: 256854

            URL: http://llvm.org/viewvc/llvm-project?rev=256854&view=rev
            Log:
            [OpenMP] Allow file ID to be signed in the offloading metadata.

            This fixes a regression introduced by rL256842.


            Modified:
            cfe/trunk/test/OpenMP/target_codegen_registration.cpp
            cfe/trunk/test/OpenMP/target_codegen_registration_naming.cpp

            Modified: cfe/trunk/test/OpenMP/target_codegen_registration.cpp
            URL:
            
http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/target_codegen_registration.cpp?rev=256854&r1=256853&r2=256854&view=diff

            
==============================================================================

            --- cfe/trunk/test/OpenMP/target_codegen_registration.cpp
            (original)
            +++ cfe/trunk/test/OpenMP/target_codegen_registration.cpp Tue
            Jan 5 12:02:24 2016
            @@ -407,7 +407,7 @@ int bar(int a){

            // Check metadata is properly generated:
            // CHECK: !omp_offload.info
            = !{!{{[0-9]+}}, !{{[0-9]+}}, !{{[0-9]+}}, !{{[0-9]+}}, 
!{{[0-9]+}}, !{{[0-9]+}}, !{{[0-9]+}}, !{{[0-9]+}}, !{{[0-9]+}}, !{{[0-9]+}}, 
!{{[0-9]+}}, !{{[0-9]+}}}

            -// CHECK-DAG = !{i32 0, i32 [[DEVID:[0-9]+]], i32
            [[FILEID:[0-9]+]], !"_ZN2SB3fooEv", i32 160, i32 13, i32
            {{[0-9]}}+}
            +// CHECK-DAG = !{i32 0, i32 [[DEVID:[0-9]+]], i32
            [[FILEID:-?[0-9]+]], !"_ZN2SB3fooEv", i32 160, i32 13, i32
            {{[0-9]}}+}
            // CHECK-DAG = !{i32 0, i32 [[DEVID]], i32
            [[FILEID]] !"_ZN2SDD2Ev", i32 210, i32 13, i32 {{[0-9]}}+}
            // CHECK-DAG = !{i32 0, i32 [[DEVID]], i32
            [[FILEID]] !"_ZN2SEC2Ev", i32 226, i32 13, i32 {{[0-9]}}+}
            // CHECK-DAG = !{i32 0, i32 [[DEVID]], i32
            [[FILEID]] !"_ZN2SED2Ev", i32 232, i32 13, i32 {{[0-9]}}+}
            @@ -421,7 +421,7 @@ int bar(int a){
            // CHECK-DAG = !{i32 0, i32 [[DEVID]], i32
            [[FILEID]] !"_ZN2SCC2Ev", i32 185, i32 13, i32 {{[0-9]}}+}

            // TCHECK: !omp_offload.info
            = !{!{{[0-9]+}}, !{{[0-9]+}}, !{{[0-9]+}}, !{{[0-9]+}}, 
!{{[0-9]+}}, !{{[0-9]+}}, !{{[0-9]+}}, !{{[0-9]+}}, !{{[0-9]+}}, !{{[0-9]+}}, 
!{{[0-9]+}}, !{{[0-9]+}}}

            -// TCHECK-DAG = !{i32 0, i32 [[DEVID:[0-9]+]], i32
            [[FILEID:[0-9]+]], !"_ZN2SB3fooEv", i32 160, i32 13, i32
            {{[0-9]}}+}
            +// TCHECK-DAG = !{i32 0, i32 [[DEVID:[0-9]+]], i32
            [[FILEID:-?[0-9]+]], !"_ZN2SB3fooEv", i32 160, i32 13, i32
            {{[0-9]}}+}
            // TCHECK-DAG = !{i32 0, i32 [[DEVID]], i32
            [[FILEID]] !"_ZN2SDD2Ev", i32 210, i32 13, i32 {{[0-9]}}+}
            // TCHECK-DAG = !{i32 0, i32 [[DEVID]], i32
            [[FILEID]] !"_ZN2SEC2Ev", i32 226, i32 13, i32 {{[0-9]}}+}
            // TCHECK-DAG = !{i32 0, i32 [[DEVID]], i32
            [[FILEID]] !"_ZN2SED2Ev", i32 232, i32 13, i32 {{[0-9]}}+}

            Modified:
            cfe/trunk/test/OpenMP/target_codegen_registration_naming.cpp
            URL:
            
http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/target_codegen_registration_naming.cpp?rev=256854&r1=256853&r2=256854&view=diff

            
==============================================================================

            ---
            cfe/trunk/test/OpenMP/target_codegen_registration_naming.cpp
            (original)
            +++
            cfe/trunk/test/OpenMP/target_codegen_registration_naming.cpp
            Tue Jan 5 12:02:24 2016
            @@ -57,10 +57,10 @@ int nested(int a){

            // Check metadata is properly generated:
            // CHECK: !omp_offload.info = !{!{{[0-9]+}}, !{{[0-9]+}}}
            -// CHECK-DAG: = !{i32 0, i32 {{[0-9]+}}, i32
            {{[0-9]+}}, !"[[NNAME]]", i32 [[T1L]], i32 [[T1C]], i32
            {{[0-9]+}}}
            -// CHECK-DAG: = !{i32 0, i32 {{[0-9]+}}, i32
            {{[0-9]+}}, !"[[NNAME]]", i32 [[T2L]], i32 [[T2C]], i32
            {{[0-9]+}}}
            +// CHECK-DAG: = !{i32 0, i32 {{[0-9]+}}, i32
            {{-?[0-9]+}}, !"[[NNAME]]", i32 [[T1L]], i32 [[T1C]], i32
            {{[0-9]+}}}
            +// CHECK-DAG: = !{i32 0, i32 {{[0-9]+}}, i32
            {{-?[0-9]+}}, !"[[NNAME]]", i32 [[T2L]], i32 [[T2C]], i32
            {{[0-9]+}}}

            // TCHECK: !omp_offload.info = !{!{{[0-9]+}}, !{{[0-9]+}}}
            -// TCHECK-DAG: = !{i32 0, i32 {{[0-9]+}}, i32
            {{[0-9]+}}, !"[[NNAME]]", i32 [[T1L]], i32 [[T1C]], i32
            {{[0-9]+}}}
            -// TCHECK-DAG: = !{i32 0, i32 {{[0-9]+}}, i32
            {{[0-9]+}}, !"[[NNAME]]", i32 [[T2L]], i32 [[T2C]], i32
            {{[0-9]+}}}
            +// TCHECK-DAG: = !{i32 0, i32 {{[0-9]+}}, i32
            {{-?[0-9]+}}, !"[[NNAME]]", i32 [[T1L]], i32 [[T1C]], i32
            {{[0-9]+}}}
            +// TCHECK-DAG: = !{i32 0, i32 {{[0-9]+}}, i32
            {{-?[0-9]+}}, !"[[NNAME]]", i32 [[T2L]], i32 [[T2C]], i32
            {{[0-9]+}}}
            #endif


            _______________________________________________
            cfe-commits mailing list
            cfe-commits@lists.llvm.org
            http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits



--
--Artem Belevich[attachment "0001-Avoid-side-effect-in-function-call.patch"
deleted by Samuel F Antao/Watson/IBM]
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to