Skip to content
  1. Jul 09, 2015
    • Jonathan Peyton's avatar
      Enable debugger support · 8fbb49ab
      Jonathan Peyton authored
      These changes enable external debuggers to conveniently interface with 
      the LLVM OpenMP Library.  Structures are added which describe the important
      internal structures of the OpenMP Library e.g., teams, threads, etc.
      This feature is turned on by default (CMake variable LIBOMP_USE_DEBUGGER)
      and can be turned off with -DLIBOMP_USE_DEBUGGER=off.
      
      Differential Revision: http://reviews.llvm.org/D10038
      
      llvm-svn: 241832
      8fbb49ab
  2. Jul 01, 2015
    • Jonathan Peyton's avatar
      Fix OMPT event_barrer_end · 48281516
      Jonathan Peyton authored
      The OMPT status is never equal to ompt_status_track. ompt_status_track = 0x2 
      and ompt_status_track_callback = 0x6 just share a bit, so that we can check 
      for traceing and callbacks with the same status.
      
      Patch by Tim Cramer
      
      Differential Revision: http://reviews.llvm.org/D10863
      
      llvm-svn: 241167
      48281516
  3. Jun 29, 2015
    • Jonathan Peyton's avatar
      Remove _KMP_BUILD_TIME macro from kmp_version.c · 6e19ed89
      Jonathan Peyton authored
      At the suggestion of Chandler Carruth, I've removed the timestamp macro,
      _KMP_BUILD_TIME, that cmake currently sets to "No_Timestamp" and replaced it with standard
      __DATE__ and __TIME__ macros inside kmp_version.c.
      
      llvm-svn: 240985
      6e19ed89
    • Jonathan Peyton's avatar
      Remove use of assignment to multiple struct fields using .fieldname (OMPT) · da7c8ab5
      Jonathan Peyton authored
      Remove use of assignment to multiple struct fields using .fieldname syntax. 
      This doesn't work with gcc 4.8 and earlier.  Replace with elementwise field assignments.
      
      Patch by John Mellor-Crummey
      
      Differential Revision: http://reviews.llvm.org/D10798
      
      llvm-svn: 240972
      da7c8ab5
    • Jonathan Peyton's avatar
      Fix OMPT state maintenance for barriers and missing init of implicit task id. · 117a94ff
      Jonathan Peyton authored
      Fix OMPT support for barriers so that state changes occur even if OMPT_TRACE turned off. 
      These state changes are needed by performance tools that use callbacks for either 
      ompt_event_wait_barrier_begin or ompt_event_wait_barrier_end.  Change ifdef flag to OMPT_BLAME 
      for callbacks ompt_event_wait_barrier_begin or ompt_event_wait_barrier_end rather than 
      OMPT_TRACE -- they were misclassified.  Without this patch, when the runtime is compiled with 
      LIBOMP_OMPT_SUPPORT=true, LIBOMP_OMPT_BLAME=true, and LIBOMP_OMPT_TRACE=false, and a callback 
      is registered for either ompt_event_wait_barrier_begin or ompt_event_wait_barrier_end, then an 
      assertion will trip.  Fix the scoping of one OMPT_TRACE ifdef, which should not have surrounded 
      an update of an OMPT state.  Add a missing initialization of an OMPT task id for an implicit task.
      
      Patch by John Mellor-Crummey
      
      Differential Revision: http://reviews.llvm.org/D10759
      
      llvm-svn: 240970
      117a94ff
  4. Jun 22, 2015
    • Jonathan Peyton's avatar
      Allow machine hierarchy expansion · 7f09a98a
      Jonathan Peyton authored
      This fix allows the machine hierarchy to be expanded in case it needs to handle 
      more threads. It adds a resize function to accomplish this.
      
      Differential Revision: http://reviews.llvm.org/D9900
      
      llvm-svn: 240292
      7f09a98a
    • Jonathan Peyton's avatar
      Re-enable Visual Studio Builds. · 7be07533
      Jonathan Peyton authored
      I tried to compile with Visual Studio using CMake and found these two sections of code 
      causing problems for Visual Studio.  The first one removes the use of variable length 
      arrays by instead using KMP_ALLOCA().  The second part eliminates a redundant cpuid 
      assembly call by using the already existing __kmp_x86_cpuid() call instead.
      
      llvm-svn: 240290
      7be07533
  5. Jun 17, 2015
  6. Jun 11, 2015
    • Jonathan Peyton's avatar
      Remove unused variables '__kmp_build_check_*' for non assert builds. · 9919dfc3
      Jonathan Peyton authored
      Add new LIBOMP_ENABLE_ASSERTIONS macro which can be set in a standalone build
      or takes the value of LLVM_ENABLE_ASSERTIONS when inside llvm/projects.  This
      change also defines the KMP_BUILD_ASSERT() macro to do nothing when ENABLE_ASSERTIONS
      is off.  This means the __kmp_build_check_* types won't be defined and thus, no warnings.
      http://lists.cs.uiuc.edu/pipermail/openmp-dev/2015-June/000719.html
      
      Patch by Jack Howarth and Jonathan Peyton
      
      llvm-svn: 239546
      9919dfc3
    • Jonathan Peyton's avatar
      Implement recursive CMake. · 5215890c
      Jonathan Peyton authored
      Most CMake build systems put CMakeLists.txt files inside source directories where 
      items need to get built. This change follows that convention by adding a new 
      runtime/src/CMakeLists.txt file. An additional benefit is this helps logically 
      seperate configuring with building as well. This change is mostly just copying and 
      pasting the bottom half of runtime/CMakeLists.txt into runtime/src/CMakeLists.txt, 
      but a few changes had to be made to get it to work. Most of those changes were to 
      directory prefixes.
      
      Differential Revision: http://reviews.llvm.org/D10344
      
      llvm-svn: 239542
      5215890c
  7. Jun 08, 2015
  8. Jun 05, 2015
    • Jonathan Peyton's avatar
      Fix extern warnings produced by ittnotify_static.c · 4959fda7
      Jonathan Peyton authored
      when compiling with gcc or clang numerous warnings concerning the usage 
      of extern "C" linkage.  All the __kmp_itt_sync* variables are declared
      like: extern "C" type __kmp_itt_sync... = definition; through various macros.
      This note from cppreference.com explains why this is a problem.
      // From http://en.cppreference.com/w/cpp/language/language_linkage
      extern "C" int x; // a declaration and not a definition
      // The above line is equivalent to extern "C" { extern int x; }
      extern "C" { int x; } // a declaration and definition
      Since the __kmp_itt_* variables are being declared and defined, these variables 
      should use the bracketed version instead.
      
      llvm-svn: 239184
      4959fda7
  9. Jun 04, 2015
    • Jonathan Peyton's avatar
      Fix some sign compare warnings. · 1e7a1ddc
      Jonathan Peyton authored
      This change changes kmp_bstate.old_tid to sign integer instead of unsigned integer.
      It also defines two new macros KMP_NSEC_PER_SEC and KMP_USEC_PER_SEC which lets us take
      control of the sign (we want them to be longs).  Also, in kmp_wait_release.h, the byteref()
      function's return type is changed from char to unsigned char.
      
      llvm-svn: 239057
      1e7a1ddc
  10. Jun 03, 2015
  11. Jun 02, 2015
  12. Jun 01, 2015
    • Jonathan Peyton's avatar
      Apply name change to testsuite file. · 476679ae
      Jonathan Peyton authored
      This change has the llvm-lit part of the testsuite have clang
      link to libomp instead of libiomp5.
      
      llvm-svn: 238721
      476679ae
    • Jonathan Peyton's avatar
      Apply name change to Makefile build system. · 32be447d
      Jonathan Peyton authored
      This change produces a dynamic library named libomp instead of
      libiomp5.  Similar to the CMake change, it produces symlinks of libiomp5
      in the exports/ directory for Unix systems and copies for Windows.
      
      llvm-svn: 238720
      32be447d
    • Jonathan Peyton's avatar
      Apply name change to CMake build system. · 227e1aeb
      Jonathan Peyton authored
      This change has the CMake build system create a dynamic library named
      libomp instead of libiomp5.  Also any reference to libiomp is replaced
      with libomp.  One can still use the LIBOMP_LIB_NAME variable to enforce
      a different name, and everything will still work as expected.  An important
      note is that libiomp5 and libgomp symlinks are created at install time when
      on Unix systems.  On Windows, copies are created with the legacy names.
      
      llvm-svn: 238715
      227e1aeb
    • Jonathan Peyton's avatar
      Apply name change to tools/* files. · f0efbb54
      Jonathan Peyton authored
      These changes are all in comments.  Change libiomp references to
      libomp.
      
      llvm-svn: 238713
      f0efbb54
    • Jonathan Peyton's avatar
      Apply name change to src/* files. · 66338295
      Jonathan Peyton authored
      These changes are mostly in comments, but there are a few
      that aren't.  Change libiomp5 => libomp everywhere.  One internal
      function name is changed in kmp_gsupport.c, and in kmp_i18n.c, the
      static char[] variable 'name' is changed to "libomp".
      
      llvm-svn: 238712
      66338295
    • Jonathan Peyton's avatar
      Apply name change to doxygen files. · 469dcc63
      Jonathan Peyton authored
      This change only affects the doxygen file that contains a
      reference to libiomp5.  change libiomp5 to libomp.
      
      llvm-svn: 238711
      469dcc63
    • Jonathan Peyton's avatar
      Adding libomp.rc.var for name change · 1fdcb8b5
      Jonathan Peyton authored
      Adding a new file libomp.rc.var in anticipation of more
      name change commits.  This file is a copy of libiomp.rc.var.
      
      llvm-svn: 238710
      1fdcb8b5
  13. May 29, 2015
  14. May 28, 2015
  15. May 27, 2015
  16. May 26, 2015
  17. May 25, 2015
Loading