ABataev added a comment. In https://reviews.llvm.org/D52733#1252963, @Hahnfeld wrote:
> In https://reviews.llvm.org/D52733#1251421, @ABataev wrote: > > > It might lead to increased register pressure, isn't it? Currently, I'm > > trying to emit the code that can be optimized out and, thus, may decrease > > the register pressure. That's why I tried to reduce the number of the > > runtime checks. > > > You are right, it's increasing register usage but I think it shouldn't: The > generated code is always checking `__kmpc_is_spmd_exec_mode` first. So if > LLVM would be able to optimize this out in SPMD mode, `__kmpc_parallel_level` > should never be called. > > I guess this doesn't work because it's illegal to hoist the load of > `execution_param` across a barrier? Even if we will be able to reduce register usage for SPMD, it still going to be high for non-SPMD constructs. The optimizer is not able to understand that it is in parallel region or not during the compilation phase Repository: rC Clang https://reviews.llvm.org/D52733 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits