Changes

Summary

  1. [DFSan] Handle landingpad inst explicitly as zero shadow. (details)
  2. [NFC][sanitizer] Remove calls to __asan_get_current_fake_stack (details)
  3. [FuncSpec] Use std::pow instead of operator^ (details)
  4. X86: balance the frame prologue and epilogue on Win64 (details)
  5. [Debug-Info] guard DW_LANG_C_plus_plus_14 under strict dwarf (details)
  6. [Driver] Delete -fsanitize-coverage-blocklist= in favor of -fsanitize-coverage-ignorelist= (details)
  7. Revert "[SampleFDO] Using common linkage for the discriminator flag variable" (details)
  8. [flang] Add semantic check for the RANDOM_SEED intrinsic (details)
  9. [SampleFDO] Place the discriminator flag variable into the used list. (details)
  10. [LLDB] Fix buildbots breakage due to TestGuessLanguage.py (details)
Commit af93157625ef26679883a17711b53aac8521306c by browneee
[DFSan] Handle landingpad inst explicitly as zero shadow.

Before this change, DFSan was relying fallback cases when getting origin
address.

Differential Revision: https://reviews.llvm.org/D104266
The file was modifiedllvm/test/Instrumentation/DataFlowSanitizer/call.ll
The file was modifiedllvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
Commit c4992bf593a4fd2fd250c5ebe31aa9f26cc9ed40 by Vitaly Buka
[NFC][sanitizer] Remove calls to __asan_get_current_fake_stack

Unnecessary with -fsanitize-address-use-after-return=never.

for issue: https://github.com/google/sanitizers/issues/1394

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D104154
The file was modifiedcompiler-rt/test/asan/TestCases/longjmp.cpp
The file was modifiedcompiler-rt/test/asan/TestCases/Posix/stack-overflow.cpp
The file was modifiedcompiler-rt/test/asan/TestCases/contiguous_container.cpp
The file was modifiedcompiler-rt/test/asan/TestCases/throw_catch.cpp
Commit 86906304d8cd7dcb4478283866b56ba52e1e224e by yedeng.yd
[FuncSpec] Use std::pow instead of operator^

The original implementation calculating UserBonus uses operator ^, which means XOR in C++
language.
At the first glance of reviewing, I thought it should be power, my bad.
It doesn't make sense to use XOR here. So I believe it should be a
carelessness as I made.

Test Plan: check-all

Reviewed By: SjoerdMeijer

Differential Revision: https://reviews.llvm.org/D104282
The file was modifiedllvm/test/Transforms/FunctionSpecialization/function-specialization-recursive.ll
The file was modifiedllvm/test/Transforms/FunctionSpecialization/function-specialization3.ll
The file was modifiedllvm/lib/Transforms/IPO/FunctionSpecialization.cpp
The file was addedllvm/test/Transforms/FunctionSpecialization/function-specialization-loop.ll
Commit 17bdc0ff6f2e71ae5d93ce52b2291f915055ccb6 by Saleem Abdulrasool
X86: balance the frame prologue and epilogue on Win64

This was broken in ba1509da7b89c850c89f0f98afbab375794cd3c8.  The Win64
frame would not perform the setup of the Swift async context parameter
but would tear down the setup in the epilogue resulting in crashes.
This ensures that we do the full setup when we do the tear down.
Although this is non-conforming to the Win64 calling convention, it
corrects the setup and exposes the actual issue that the change
introduced: incorrect frame setup.

Reviewed By: rnk

Differential Revision: https://reviews.llvm.org/D104246
The file was modifiedllvm/lib/Target/X86/X86FrameLowering.cpp
The file was addedllvm/test/CodeGen/X86/swifttail-async-win64.ll
The file was addedllvm/test/CodeGen/X86/swift-async-win64.ll
Commit 4590b406c02e4e6803d2644195dbb78bc09c25c7 by czhengsz
[Debug-Info] guard DW_LANG_C_plus_plus_14 under strict dwarf

Reviewed By: stuart

Differential Revision: https://reviews.llvm.org/D104291
The file was modifiedclang/test/CodeGenCXX/debug-info-programming-language.cpp
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
Commit 285dd08b56215840d721961add4a355b60d673a7 by i
[Driver] Delete -fsanitize-coverage-blocklist= in favor of -fsanitize-coverage-ignorelist=

We are settled with -fsanitize-coverage-ignorelist (D101832).
Just delete -fsanitize-coverage-blocklist which is also new.
The file was modifiedclang/docs/ClangCommandLineReference.rst
The file was modifiedclang/docs/SanitizerCoverage.rst
The file was modifiedclang/include/clang/Driver/Options.td
Commit 95f9026c17880795f78563ec7a5673c240c33a5e by xur
Revert "[SampleFDO] Using common linkage for the discriminator flag variable"

This reverts commit 434fed5aff5e62460e2e984c7cc2674c12779b1e.

Post commit review suggested to use another implmenentation.
Detailed can be found in the review.
The file was modifiedllvm/test/CodeGen/X86/fsafdo_test1.ll
The file was modifiedllvm/lib/CodeGen/MIRFSDiscriminator.cpp
The file was modifiedllvm/test/CodeGen/X86/fsafdo_test2.ll
Commit bda1f2936e379e418156444d8d9f3fba2c60687c by psteinfeld
[flang] Add semantic check for the RANDOM_SEED intrinsic

I added the only check that wasn't already tested along with tests for
many valid and invalid arguments.

Differential Revision: https://reviews.llvm.org/D104318
The file was modifiedflang/lib/Evaluate/intrinsics.cpp
The file was addedflang/test/Semantics/random-seed.f90
Commit 82a0bb1afc2924a2457af574a83317a47659388a by xur
[SampleFDO] Place the discriminator flag variable into the used list.

We create flag variable "__llvm_fs_discriminator__" in the binary
to indicate that FSAFDO hierarchical discriminators are used.

This variable might be GC'ed by the linker since it is not explicitly
reference. I initially added the var to the use list in pass
MIRFSDiscriminator but it did not work. It turned out the used global
list is collected in lowering (before MIR pass) and then emitted in
the end of pass pipeline.

Here I add the variable to the use list in IR level's AddDiscriminators
pass. The machine level code is still keep in the case IR's
AddDiscriminators is not invoked. If this is the case, this just use
-Wl,--export-dynamic-symbol=__llvm_fs_discriminator__
to force the emit.

Differential Revision: https://reviews.llvm.org/D103988
The file was modifiedllvm/lib/Transforms/Utils/AddDiscriminators.cpp
The file was modifiedllvm/lib/Transforms/Utils/SampleProfileLoaderBaseUtil.cpp
The file was modifiedllvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseUtil.h
The file was modifiedllvm/lib/CodeGen/MIRFSDiscriminator.cpp
Commit ed88e57f6587ea51d1c106acbdd82a083f746606 by czhengsz
[LLDB] Fix buildbots breakage due to TestGuessLanguage.py

Fix LLDB buidbot breakage due to D104291

Differential Revision: https://reviews.llvm.org/D104291
The file was modifiedlldb/test/API/commands/frame/language/TestGuessLanguage.py