Bug 248864 - LLVM: Enable OpenMP on aarch64
Summary: LLVM: Enable OpenMP on aarch64
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: misc (show other bugs)
Version: Unspecified
Hardware: arm64 Any
: --- Affects Only Me
Assignee: Dimitry Andric
URL: https://reviews.llvm.org/D86397
Keywords: feature
Depends on:
Blocks:
 
Reported: 2020-08-24 02:40 UTC by Kubilay Kocak
Modified: 2020-09-11 03:07 UTC (History)
4 users (show)

See Also:
koobs: maintainer-feedback+
koobs: mfc-stable12+
koobs: mfc-stable11+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kubilay Kocak freebsd_committer freebsd_triage 2020-08-24 02:40:33 UTC
Enable OpenMP on aarch64
Comment 1 commit-hook freebsd_committer freebsd_triage 2020-08-24 20:38:08 UTC
A commit references this bug:

Author: dim
Date: Mon Aug 24 20:37:19 UTC 2020
New revision: 364732
URL: https://svnweb.freebsd.org/changeset/base/364732

Log:
  Merge commit cde8f4c16 from llvm git (by me):

    Move special va_list handling to kmp_os.h

    Instead of copying and pasting the same #ifdef expressions in
    multiple places, define a type and a pair of macros in kmp_os.h, to
    handle whether va_list is pointer-like or not:

    * kmp_va_list is the type to use for __kmp_fork_call()
    * kmp_va_deref() dereferences a va_list, if necessary
    * kmp_va_addr_of() takes the address of a va_list, if necessary

    Also add FreeBSD to the list of OSes that has a non pointer-like
    va_list. This can now be easily extended to other OSes too.

    Reviewed By: AndreyChurbanov

    Differential Revision: https://reviews.llvm.org/D86397

  This should enable building of LLVM's OpenMP on AArch64. Addition to
  share/mk will follow in a subsequent commit.

  PR:		248864
  MFC after:	2 weeks

Changes:
  head/contrib/llvm-project/openmp/runtime/src/kmp.h
  head/contrib/llvm-project/openmp/runtime/src/kmp_csupport.cpp
  head/contrib/llvm-project/openmp/runtime/src/kmp_gsupport.cpp
  head/contrib/llvm-project/openmp/runtime/src/kmp_os.h
  head/contrib/llvm-project/openmp/runtime/src/kmp_runtime.cpp
Comment 2 commit-hook freebsd_committer freebsd_triage 2020-08-24 20:41:10 UTC
A commit references this bug:

Author: dim
Date: Mon Aug 24 20:40:27 UTC 2020
New revision: 364733
URL: https://svnweb.freebsd.org/changeset/base/364733

Log:
  After r364732, we can now enable MK_OPENMP for aarch64 by default.

  PR:		248864
  MFC after:	2 weeks

Changes:
  head/share/mk/src.opts.mk
Comment 3 commit-hook freebsd_committer freebsd_triage 2020-09-07 19:36:19 UTC
A commit references this bug:

Author: dim
Date: Mon Sep  7 19:35:33 UTC 2020
New revision: 365427
URL: https://svnweb.freebsd.org/changeset/base/365427

Log:
  MFC r364732:

  Merge commit cde8f4c16 from llvm git (by me):

    Move special va_list handling to kmp_os.h

    Instead of copying and pasting the same #ifdef expressions in
    multiple places, define a type and a pair of macros in kmp_os.h, to
    handle whether va_list is pointer-like or not:

    * kmp_va_list is the type to use for __kmp_fork_call()
    * kmp_va_deref() dereferences a va_list, if necessary
    * kmp_va_addr_of() takes the address of a va_list, if necessary

    Also add FreeBSD to the list of OSes that has a non pointer-like
    va_list. This can now be easily extended to other OSes too.

    Reviewed By: AndreyChurbanov

    Differential Revision: https://reviews.llvm.org/D86397

  This should enable building of LLVM's OpenMP on AArch64. Addition to
  share/mk will follow in a subsequent commit.

  PR:		248864

  MFC r364733:

  After r364732, we can now enable MK_OPENMP for aarch64 by default.

  PR:		248864

Changes:
_U  stable/11/
_U  stable/11/contrib/llvm-project/openmp/
  stable/11/contrib/llvm-project/openmp/runtime/src/kmp.h
  stable/11/contrib/llvm-project/openmp/runtime/src/kmp_csupport.cpp
  stable/11/contrib/llvm-project/openmp/runtime/src/kmp_gsupport.cpp
  stable/11/contrib/llvm-project/openmp/runtime/src/kmp_os.h
  stable/11/contrib/llvm-project/openmp/runtime/src/kmp_runtime.cpp
  stable/11/share/mk/src.opts.mk
_U  stable/12/
  stable/12/contrib/llvm-project/openmp/runtime/src/kmp.h
  stable/12/contrib/llvm-project/openmp/runtime/src/kmp_csupport.cpp
  stable/12/contrib/llvm-project/openmp/runtime/src/kmp_gsupport.cpp
  stable/12/contrib/llvm-project/openmp/runtime/src/kmp_os.h
  stable/12/contrib/llvm-project/openmp/runtime/src/kmp_runtime.cpp
  stable/12/share/mk/src.opts.mk
Comment 4 commit-hook freebsd_committer freebsd_triage 2020-09-07 19:36:21 UTC
A commit references this bug:

Author: dim
Date: Mon Sep  7 19:35:33 UTC 2020
New revision: 365427
URL: https://svnweb.freebsd.org/changeset/base/365427

Log:
  MFC r364732:

  Merge commit cde8f4c16 from llvm git (by me):

    Move special va_list handling to kmp_os.h

    Instead of copying and pasting the same #ifdef expressions in
    multiple places, define a type and a pair of macros in kmp_os.h, to
    handle whether va_list is pointer-like or not:

    * kmp_va_list is the type to use for __kmp_fork_call()
    * kmp_va_deref() dereferences a va_list, if necessary
    * kmp_va_addr_of() takes the address of a va_list, if necessary

    Also add FreeBSD to the list of OSes that has a non pointer-like
    va_list. This can now be easily extended to other OSes too.

    Reviewed By: AndreyChurbanov

    Differential Revision: https://reviews.llvm.org/D86397

  This should enable building of LLVM's OpenMP on AArch64. Addition to
  share/mk will follow in a subsequent commit.

  PR:		248864

  MFC r364733:

  After r364732, we can now enable MK_OPENMP for aarch64 by default.

  PR:		248864

Changes:
_U  stable/11/
_U  stable/11/contrib/llvm-project/openmp/
  stable/11/contrib/llvm-project/openmp/runtime/src/kmp.h
  stable/11/contrib/llvm-project/openmp/runtime/src/kmp_csupport.cpp
  stable/11/contrib/llvm-project/openmp/runtime/src/kmp_gsupport.cpp
  stable/11/contrib/llvm-project/openmp/runtime/src/kmp_os.h
  stable/11/contrib/llvm-project/openmp/runtime/src/kmp_runtime.cpp
  stable/11/share/mk/src.opts.mk
_U  stable/12/
  stable/12/contrib/llvm-project/openmp/runtime/src/kmp.h
  stable/12/contrib/llvm-project/openmp/runtime/src/kmp_csupport.cpp
  stable/12/contrib/llvm-project/openmp/runtime/src/kmp_gsupport.cpp
  stable/12/contrib/llvm-project/openmp/runtime/src/kmp_os.h
  stable/12/contrib/llvm-project/openmp/runtime/src/kmp_runtime.cpp
  stable/12/share/mk/src.opts.mk
Comment 5 commit-hook freebsd_committer freebsd_triage 2020-09-07 20:17:28 UTC
A commit references this bug:

Author: dim
Date: Mon Sep  7 20:17:13 UTC 2020
New revision: 365430
URL: https://svnweb.freebsd.org/changeset/base/365430

Log:
  MFC r365429:

  Merge commit 47b0262d3 from llvm git (by me):

    Add <stdarg.h> include to kmp_os.h, to get the va_list type, required
    after cde8f4c164a2. Sort system includes, while here.

  The original merged commit works fine by itself on head, but fails to
  compile on stable branches because stdarg.h is not implicitly pulled in.

  PR:		248864

Changes:
_U  stable/11/
_U  stable/11/contrib/llvm-project/openmp/
  stable/11/contrib/llvm-project/openmp/runtime/src/kmp_os.h
_U  stable/12/
  stable/12/contrib/llvm-project/openmp/runtime/src/kmp_os.h