[Openmp-commits] [PATCH] D87084: [OpenMP][AMDGPU] Use DS_Max_Warp_Number instead of WARPSIZE

Jon Chesterfield via Phabricator via Openmp-commits openmp-commits at lists.llvm.org
Thu Sep 3 16:09:28 PDT 2020

JonChesterfield accepted this revision.
JonChesterfield added a comment.

It might be dead. Difficult to tell. The control flow being spread across codegen and the runtime obfuscates things.

I've convinced myself that the change proposed here is right, in that the access to the data structure are based on warp id, which is bounded by DS_Max_Warp_Number. On the basis that it's definitely a NFC for nvptx and reduces an object from 2.4gb to 600mb on amdgcn without loss of functionality, I say we accept this as-is. It's a step in a good direction. If we can determine that all this stuff is dynamically dead and delete it, great. This patch won't obstruct that.

Somewhat related - __kmpc_spmd_kernel_init is always passed '0' for RequiresDataSharing, so the code in that function which writes to DataSharingState is dead. So we should drop the always-zero argument and remove the dead code. It's probably worth doing another pass over codegen looking for functions that are only ever called with the same constant and working through the dead code elimination that falls out.

  rG LLVM Github Monorepo



More information about the Openmp-commits mailing list