Skip to content
  1. Jul 14, 2015
  2. May 20, 2015
  3. Nov 11, 2014
    • Alexey Bataev's avatar
      [OPENMP] Codegen for threadprivate variables · 9772000a
      Alexey Bataev authored
      For all threadprivate variables which have constructor/destructor emit call to void __kmpc_threadprivate_register(ident_t * <Current Location>, void *<Original Global Addr>, kmpc_ctor <Constructor>, kmpc_cctor NULL, kmpc_dtor <Destructor>); 
      In expressions all references to such variables are replaced by calls to void *__kmpc_threadprivate_cached(ident_t *<Current Location>, kmp_int32 <Current Thread Id>, void *<Original Global Addr>, size_t <Size of Data>, void ***<Pointer to autogenerated cache – array of private copies of threadprivate variable>);
      Test test/OpenMP/threadprivate_codegen.cpp checks that codegen is correct. Also it checks that codegen is correct after serialization/deserialization and one of passes verifies debug info.
      Differential Revision: http://reviews.llvm.org/D4002
      
      llvm-svn: 221663
      9772000a
Loading