[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 16:39:25 PST 2016


tejohnson added a comment.

In https://reviews.llvm.org/D26437#593489, @rampitec wrote:

> I think I see the source of confusion. You say if a function does not call anything convergent, it is not convergent. So this sub_group_barrier shall do two things: execution barrier and fence. Barrier is convergent and fence is not. But since that is a subgroup barrier and we have SIMT we do not need to issue any instructions to make sure execution will come to the convergence point simultaneously, so barrier is omitted. We only need to make sure it is not cloned into a divergent CFG, and we want to rely on function's attribute for this purpose.
>
> Now setting aside this issue, I still believe that in general there shall be a way to compile in a non IPO mode, and in general IPO is not suitable for a library module.


In what way is this different from the IPO we do on single source files at -O2? It should be conservatively correct.


Repository:
  rL LLVM

https://reviews.llvm.org/D26437





More information about the llvm-commits mailing list