arsenm added inline comments.
================ Comment at: clang/lib/CodeGen/CGDecl.cpp:1603 + // deallocation call of __kmpc_free_shared() is emitted later. + if (getLangOpts().OpenMP && getTarget().getTriple().isAMDGCN()) { + // Emit call to __kmpc_alloc_shared() instead of the alloca. ---------------- doru1004 wrote: > arsenm wrote: > > ABataev wrote: > > > doru1004 wrote: > > > > jhuber6 wrote: > > > > > ABataev wrote: > > > > > > OpenMPIsDevice? > > > > > Does NVPTX handle this already? If not, is there a compelling reason > > > > > to exclude NVPTX? Otherwise we should check if we are the OpenMP > > > > > device. > > > > Does NVPTX support dynamic allocas? > > > It does not matter here, it depends on the runtime library > > > implementations. The compiler just shall provide proper runtime calls > > > emission, everything else is part of the runtime support. > > I think I heard recent ptx introdced new instructions for it. amdgpu > > codegen just happens to be broken because we don't properly restore the > > stack afterwards. When I added the support we had no way of testing (and > > still don't really, __builtin_alloca doesn't handle non-0 stack address > > space correctly) > If NVPTX supports that then there is no reason to have NVPTX avoid emitting > allocas (i.e. the condition stays as it is right now) but I am willing to > reach a consensus so please let me know what you would all prefer. frontends seem to have a tradition of working around missing features in codegen, I think you should just pass through the correct IR and leave the backend bugs for the backends Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D153883/new/ https://reviews.llvm.org/D153883 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits