Skip to content
  1. Mar 28, 2017
  2. Mar 23, 2017
  3. Mar 21, 2017
  4. Mar 20, 2017
  5. Mar 10, 2017
  6. Mar 07, 2017
    • Dan Albert's avatar
      Fix GNU strerror_r check for Android. · 1dc735bf
      Dan Albert authored
      Summary:
      Bionic didn't get a GNU style strerror_r until Android M. Until then
      we unconditionally exposed the POSIX one. Expand the check to account
      for this.
      
      Reviewers: pirama, AndreyChurbanov, jlpeyton
      
      Reviewed By: jlpeyton
      
      Subscribers: openmp-commits, srhines
      
      Differential Revision: https://reviews.llvm.org/D30056
      
      llvm-svn: 297235
      1dc735bf
  7. Mar 06, 2017
  8. Feb 28, 2017
    • Jonathan Peyton's avatar
      Removing couple unnecessary architecture guards. · 928b8ea2
      Jonathan Peyton authored
      This section of code (__kmp_test_then_* functions) is guarded by
      (KMP_ARCH_X86 || KMP_ARCH_X86_64) so it does not make sense to have other
      architecture guards inside this section.  Non-x86 architectures always
      use intrinsics (__sync_*)
      
      llvm-svn: 296525
      928b8ea2
  9. Feb 24, 2017
    • Michal Gorny's avatar
      [test] Try to link -latomic to provide atomics when available · 018d1359
      Michal Gorny authored
      When using -rtlib=libgcc, the fallback implementation of __atomic_*
      builtins is provided via libatomic (included in GCC). However, neither
      GCC itself nor clang link libatomic implicitly, and it seems that GCC
      upstream expects projects to link it explicitly as necessary.
      
      Since compiler-rt provides __atomic_* builtins directly in the main
      library, check if they are provided by the default libraries first.
      If they are not, check if -latomic is available to provide them
      and add explicit -latomic for tests in this case.
      
      This fixes unresolved __atomic_load() references when running openmp
      tests on i386 with libgcc backend.
      
      Differential Revision: https://reviews.llvm.org/D30083
      
      llvm-svn: 296183
      018d1359
  10. Feb 22, 2017
  11. Feb 17, 2017
  12. Feb 16, 2017
  13. Feb 15, 2017
  14. Feb 06, 2017
  15. Jan 30, 2017
  16. Jan 27, 2017
  17. Jan 18, 2017
  18. Jan 12, 2017
    • Jonas Hahnfeld's avatar
      kmp_affinity: Fix check if specific bit is set · c9a8a6c0
      Jonas Hahnfeld authored
      Clang 4.0 trunk warns:
      warning: logical not is only applied to the left hand side of this bitwise operator [-Wlogical-not-parentheses]
      
      This points to a potential bug if the code really wants to check if the single
      bit is not set: If for example (buf.edx >> 9) = 2 (has any bit set except the
      least significant one), 'logical not' will return 0 which stays 0 after the
      'bitwise and'.
      To do this correctly we first need to evaluate the 'bitwise and'. In that case
      it returns 2 & 1 = 0 which after the 'logical not' evaluates to 1.
      
      Differential Revision: https://reviews.llvm.org/D28599
      
      llvm-svn: 291764
      c9a8a6c0
  19. Jan 04, 2017
  20. Dec 21, 2016
  21. Dec 15, 2016
  22. Dec 14, 2016
  23. Dec 08, 2016
  24. Dec 01, 2016
  25. Nov 28, 2016
  26. Nov 21, 2016
  27. Nov 14, 2016
    • Jonathan Peyton's avatar
      Update stats-gathering code · 5375fe82
      Jonathan Peyton authored
      Have developer timers use partitioning scheme which also required that some
      redundant developer timers be removed in favor of the already existing normal
      timers. Move per thread stats initialization to just after global thread id
      assignment which is as early as possible. Also put all global stats
      initialization code in __kmp_stats_init() and all global stats destruction code
      in __kmp_stats_fini().
      
      Differential Revision: https://reviews.llvm.org/D26361
      
      llvm-svn: 286892
      5375fe82
    • Jonathan Peyton's avatar
      Introduce dynamic affinity dispatch capabilities · 1cdd87ad
      Jonathan Peyton authored
      This set of changes enables the affinity interface (Either the preexisting
      native operating system or HWLOC) to be dynamically set at runtime
      initialization. The point of this change is that we were seeing performance
      degradations when using HWLOC. This allows the user to use the old affinity
      mechanisms which on large machines (>64 cores) makes a large difference in
      initialization time.
      
      These changes mostly move affinity code under a small class hierarchy:
      
      KMPAffinity
        class Mask {}
      KMPNativeAffinity : public KMPAffinity
        class Mask : public KMPAffinity::Mask
      KMPHwlocAffinity
        class Mask : public KMPAffinity::Mask
      
      Since all interface functions (for both affinity and the mask implementation)
      are virtual, the implementation can be chosen at runtime initialization.
      
      Differential Revision: https://reviews.llvm.org/D26356
      
      llvm-svn: 286890
      1cdd87ad
Loading