[all-commits] [llvm/llvm-project] daae05: llvm-ar: Fix MinGW compilation

Hans via All-commits all-commits at lists.llvm.org
Fri Feb 28 02:32:16 PST 2020


  Branch: refs/heads/release/10.x
  Home:   https://github.com/llvm/llvm-project
  Commit: daae05af2a5d1170de6940569128dcf071db32ef
      https://github.com/llvm/llvm-project/commit/daae05af2a5d1170de6940569128dcf071db32ef
  Author: Hans Wennborg <hans at chromium.org>
  Date:   2020-02-28 (Fri, 28 Feb 2020)

  Changed paths:
    A llvm/include/llvm/Support/Windows/WindowsSupport.h
    M llvm/lib/Support/CrashRecoveryContext.cpp
    M llvm/lib/Support/InitLLVM.cpp
    M llvm/lib/Support/RandomNumberGenerator.cpp
    M llvm/lib/Support/Windows/DynamicLibrary.inc
    M llvm/lib/Support/Windows/Host.inc
    M llvm/lib/Support/Windows/Memory.inc
    M llvm/lib/Support/Windows/Path.inc
    M llvm/lib/Support/Windows/Process.inc
    M llvm/lib/Support/Windows/Program.inc
    M llvm/lib/Support/Windows/Signals.inc
    M llvm/lib/Support/Windows/ThreadLocal.inc
    M llvm/lib/Support/Windows/Threading.inc
    R llvm/lib/Support/Windows/WindowsSupport.h
    M llvm/lib/Support/raw_ostream.cpp
    M llvm/tools/llvm-ar/llvm-ar.cpp

  Log Message:
  -----------
  llvm-ar: Fix MinGW compilation

llvm-ar is using CompareStringOrdinal which is available
only starting with Windows Vista (WINVER 0x600).

Fix this by hoising WindowsSupport.h, which sets _WIN32_WINNT
to 0x0601, up to llvm/include/llvm/Support and use it in llvm-ar.

Patch by Cristian Adam!

Differential revision: https://reviews.llvm.org/D74599

(cherry picked from commit 01f9abbb50b11dd26b9ccb7cb565cc955d2b9c74)

This is for https://bugs.llvm.org/show_bug.cgi?id=44907


  Commit: 7cb6829291280a2adcc260346a7a56b8bddd43db
      https://github.com/llvm/llvm-project/commit/7cb6829291280a2adcc260346a7a56b8bddd43db
  Author: Hans Wennborg <hans at chromium.org>
  Date:   2020-02-28 (Fri, 28 Feb 2020)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/test/Transforms/SROA/alignment.ll

  Log Message:
  -----------
  SROA: Don't drop atomic load/store alignments (PR45010)

SROA will drop the explicit alignment on allocas when the ABI guarantees
enough alignment. Because the alignment on new load/store instructions
are set based on the alloca's alignment, that means SROA would end up
dropping the alignment from atomic loads and stores, which is not
allowed (see bug). For those, make sure to always carry over the
alignment from the previous instruction.

Differential revision: https://reviews.llvm.org/D75266

(cherry picked from commit d48c981697a49653efff9dd14fa692d99e6fa868)


Compare: https://github.com/llvm/llvm-project/compare/e705da06e22b...7cb682929128


More information about the All-commits mailing list