[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