[all-commits] [llvm/llvm-project] d6ab42: [openmp] Fix build break for less common architect...

Martin Storsjö via All-commits all-commits at lists.llvm.org
Fri Nov 25 11:47:13 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d6ab42dec492ccd3f1b515796d9d2fb020c520bd
      https://github.com/llvm/llvm-project/commit/d6ab42dec492ccd3f1b515796d9d2fb020c520bd
  Author: Martin Storsjö <martin at martin.st>
  Date:   2022-11-25 (Fri, 25 Nov 2022)

  Changed paths:
    M openmp/runtime/src/z_Linux_asm.S

  Log Message:
  -----------
  [openmp] Fix build break for less common architectures

fb947c358661b3bd3d5e1fa776ec74cc0f308854 introduced the gas
macro COMMON, but it was only defined within ifdefs of the form:

    #if (KMP_OS_LINUX || KMP_OS_DARWIN || KMP_OS_WINDOWS) && KMP_ARCH_AARCH64

It was used, however, within other conditions:

    #if KMP_ARCH_ARM || KMP_ARCH_MIPS

and:

    #if KMP_ARCH_PPC64 || KMP_ARCH_AARCH64 || KMP_ARCH_MIPS64 || KMP_ARCH_RISCV64 || KMP_ARCH_LOONGARCH64

Move the definition of the COMMON macro out from the current ifdef,
so that it always gets defined (as it's only dependent on the target
platform).

This fixes building on ARM (and presumably all the other mentioned
architectures except aarch64).

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


  Commit: 97958c9bb83cec44b6ce13e732b53de0171a5d43
      https://github.com/llvm/llvm-project/commit/97958c9bb83cec44b6ce13e732b53de0171a5d43
  Author: Martin Storsjö <martin at martin.st>
  Date:   2022-11-25 (Fri, 25 Nov 2022)

  Changed paths:
    M openmp/runtime/src/kmp.h
    M openmp/runtime/src/kmp_atomic.cpp
    M openmp/runtime/src/kmp_os.h
    M openmp/runtime/src/kmp_platform.h
    M openmp/runtime/src/z_Windows_NT-586_util.cpp
    M openmp/runtime/src/z_Windows_NT_util.cpp

  Log Message:
  -----------
  [openmp] Support building for armv7 Windows with mingw tools

This does things in the same way as
D137168 / a356782426f5bf54a00570e1f925345e5fda7b2e and
D101173 / 4fb0aaf03381473ec8af727edb4b5d59b64b0d60 did for aarch64.

This adds a C implementation of __kmp_invoke_microtask in the same
way as the fallback C implementation in z_Linux_util.cpp.

Both the existing C fallback used on arm linux, and this one added here,
fail test/misc_bugs/many-microtask-args.c similarly (which could be
considered as an XFAIL).

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


Compare: https://github.com/llvm/llvm-project/compare/56969279b998...97958c9bb83c


More information about the All-commits mailing list