SuccessChanges

Summary

  1. [OpenMP] Fixed the link error that cannot find static data member (details)
  2. [AArch64] [Windows] Properly add :lo12: reloc specifiers when generating assembly (details)
  3. [libcxx] Avoid overflows in the windows __libcpp_steady_clock_now() (details)
  4. [OpenMP] Fixed a typo in openmp/CMakeLists.txt (details)
  5. AMDGPU: Remove wrapper only call limitation (details)
  6. [Driver] Fix assertion failure when -fprofile-generate -fcs-profile-generate are used together (details)
Commit 68ff52ffead2ba25cca442778ab19286000daad7 by tianshilei1992
[OpenMP] Fixed the link error that cannot find static data member

Constant static data member can be defined in the class without another
define after the class in C++17. Although it is C++17, Clang can still handle it
even w/o the flag for C++17. Unluckily, GCC cannot handle that.

Reviewed By: jhuber6

Differential Revision: https://reviews.llvm.org/D94541
The file was modifiedopenmp/libomptarget/plugins/common/MemoryManager/MemoryManager.h
Commit d1fa7afc7aefd822698fe86431d8184b1e8b6683 by martin
[AArch64] [Windows] Properly add :lo12: reloc specifiers when generating assembly

This makes sure that assembly output actually can be assembled.

Set the correct MCExpr relocations specifier VK_PAGEOFF - and also
set VK_PAGE consistently even though it's not visible in the assembly
output.

Differential Revision: https://reviews.llvm.org/D94365
The file was modifiedllvm/test/CodeGen/AArch64/dllimport.ll
The file was modifiedllvm/test/CodeGen/AArch64/win_cst_pool.ll
The file was modifiedllvm/test/CodeGen/AArch64/stack-protector-target.ll
The file was modifiedllvm/test/CodeGen/AArch64/mingw-refptr.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64MCInstLower.cpp
The file was modifiedllvm/test/CodeGen/AArch64/windows-extern-weak.ll
The file was modifiedllvm/test/CodeGen/AArch64/cfguard-checks.ll
The file was modifiedllvm/test/CodeGen/AArch64/win-tls.ll
Commit 02f1d28ed6b8f33445dae3beed8b6cc8dada4312 by martin
[libcxx] Avoid overflows in the windows __libcpp_steady_clock_now()

As freq.QuadValue can be in the range of 10000000 to 19200000,
the multiplication before division makes the calculation overflow
and wrap to negative values every 16-30 minutes.

Instead count the whole seconds separately before adding the
scaled fractional seconds.

Add a testcase for steady_clock to check that the values returned for
now() compare as bigger than the zero time origin; this
corresponds to a testcase in Qt [1] [2] (that failed spuriously
due to this).

[1] https://bugreports.qt.io/browse/QTBUG-89539
[2] https://code.qt.io/cgit/qt/qtbase.git/tree/tests/auto/corelib/kernel/qdeadlinetimer/tst_qdeadlinetimer.cpp?id=f8de5e54022b8b7471131b7ad55c83b69b2684c0#n569

Differential Revision: https://reviews.llvm.org/D93456
The file was modifiedlibcxx/test/std/utilities/time/time.clock/time.clock.steady/now.pass.cpp
The file was modifiedlibcxx/src/chrono.cpp
Commit 01f1273fe2f0c246f17162de24a8b6e11bad23a8 by tianshilei1992
[OpenMP] Fixed a typo in openmp/CMakeLists.txt
The file was modifiedopenmp/CMakeLists.txt
Commit 3d397091591fca4aa16153bba22f031218bee47d by Matthew.Arsenault
AMDGPU: Remove wrapper only call limitation

This seems to only have overridden cold handling, which we probably
shouldn't do. As far as I can tell the wrapper library functions are
still inlined as appropriate.
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInline.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/amdgpu-inline.ll
Commit cf45731f0eaead79e1ac501b397e330df41ec152 by i
[Driver] Fix assertion failure when -fprofile-generate -fcs-profile-generate are used together

If conflicting `-fprofile-generate -fcs-profile-generate` are used together,
there is currently an assertion failure. Fix the failure.

Also add some driver tests.

Reviewed By: xur

Differential Revision: https://reviews.llvm.org/D94463
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was addedclang/test/Driver/fcs-profile-generate.c