[PATCH] D26437: Use -fno-unit-at-a-time and -funit-at-a-time
Teresa Johnson via llvm-commits
llvm-commits at lists.llvm.org
Fri Nov 11 09:09:34 PST 2016
tejohnson added a comment.
In https://reviews.llvm.org/D26437#592099, @rampitec wrote:
> In https://reviews.llvm.org/D26437#590617, @tejohnson wrote:
>
> > I've added Richard Smith as a reviewer, as he is more familiar with the Clang FE. What is the specific issue requiring disabling unit at a time?
>
>
> Thank you. The issue appeared while building opencl library. Under unit-at-a-time mode PassManagerBuilder adds FunctionAttrs pass (createPostOrderFunctionAttrsLegacyPass). This pass has removeConvergentAttrs function which removes unused convergent attribute from functions. Functions in the library are unused, so it has removed the attribute in particular from sub_group_barrier, which then lead to OpenCL conformance subgroups test to hang.
Added Justin Lebar, who implemented this change. I am not familiar with convergent attributes and OpenCL barriers, but should the visibility of any exported function in a dynamic library prevent such an optimization?
Repository:
rL LLVM
https://reviews.llvm.org/D26437
More information about the llvm-commits
mailing list