SuccessChanges

Summary

  1. [scudo] Add Scudo support for Trusty OS (details)
  2. [InstCombine] add FMF tests for fneg-of-select; NFC (details)
  3. [InstCombine] fix nsz (fast-math) propagation from fneg-of-select (details)
  4. [LLDB][NFC] Remove parameter names from forward declarations from hand written expressions used in heap.py (details)
  5. [SystemZ] Return true from convertSetCCLogicToBitwiseLogic for scalar integer. (details)
  6. Update and improve compiler-rt tests for -mllvm -asan_use_after_return=(never|[runtime]|always). (details)
  7. [Polly][Isl] Removing nullptr constructor from C++ bindings. NFC. (details)
  8. Revert "Revert "[LoopNest] Fix Wdeprecated-copy warnings"" (details)
  9. LTO: Export functions referenced by non-canonical CFI jump tables (details)
  10. [NFC] In the future, all intrinsics defined for compatibility with the XL (details)
  11. [mlir][tosa] Temporarily support 2D and 3D tensor types in matmul (details)
  12. [libc][NFC] Use add_library instead of add_llvm_library for a few libraries. (details)
  13. [libc] Add a macro to include/exclude subprocess tests. (details)
Commit 2551053e8d8df464d5b60e7c9b0add8f85cc1e10 by kostyak
[scudo] Add Scudo support for Trusty OS

trusty.cpp and trusty.h define Trusty implementations of map and other
platform-specific functions. In addition to adding Trusty configurations
in allocator_config.h and size_class_map.h, MapSizeIncrement and
PrimaryEnableRandomOffset are added as configurable options in
allocator_config.h.
Background on Trusty: https://source.android.com/security/trusty

Differential Revision: https://reviews.llvm.org/D103578
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/combined_test.cpp
The file was addedcompiler-rt/lib/scudo/standalone/trusty.h
The file was modifiedcompiler-rt/lib/scudo/standalone/platform.h
The file was modifiedcompiler-rt/lib/scudo/standalone/primary64.h
The file was modifiedcompiler-rt/lib/scudo/standalone/allocator_config.h
The file was modifiedcompiler-rt/lib/scudo/standalone/size_class_map.h
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/primary_test.cpp
The file was addedcompiler-rt/lib/scudo/standalone/trusty.cpp
The file was modifiedcompiler-rt/lib/scudo/standalone/primary32.h
The file was modifiedcompiler-rt/lib/scudo/standalone/common.h
Commit c52ed5c4f1f2a2e54634226dc6bd305f98f0c541 by spatel
[InstCombine] add FMF tests for fneg-of-select; NFC

As noted in the post-commit comments for 3cdd05e519d,
we need to be more careful about FMF propagation.
The file was modifiedllvm/test/Transforms/InstCombine/fneg.ll
Commit d2012d965d60c3258b3a69d024491698f8aec386 by spatel
[InstCombine] fix nsz (fast-math) propagation from fneg-of-select

As discussed in the post-commit comments for:
3cdd05e519dd

It seems to be safe to propagate all flags from the final fneg
except for 'nsz' to the new select:
https://alive2.llvm.org/ce/z/J_APDc

nsz has unique FMF semantics: it is not poison, it is only
"insignificant" in the calculation according to the LangRef.
The file was modifiedllvm/test/Transforms/InstCombine/fneg.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
Commit ae1a699554cfa01d9fb307a964c3a9f71831a62e by Shafik Yaghmour
[LLDB][NFC] Remove parameter names from forward declarations from hand written expressions used in heap.py

heap.py has a lot of large hand written expressions and each name in the
expression will be looked up by clang during expression parsing. For
function parameters this will be in Sema::ActOnParamDeclarator(...) in order to
catch redeclarations of parameters. The names are not needed and we have seen
some rare cases where since we don't have symbols we end up in
SymbolContext::FindBestGlobalDataSymbol(...) which may conflict with other global
symbols.

There may be a way to make this lookup smarter to avoid these cases but it is
not clear how well tested this path is and how much work it would be to fix it.
So we will go with this fix while we investigate more.

Ref: rdar://78265641
The file was modifiedlldb/examples/darwin/heap_find/heap.py
Commit 8b32e25bc229f98faed002b1cc90587ca300c92a by paulsson
[SystemZ] Return true from convertSetCCLogicToBitwiseLogic for scalar integer.

Review: Ulrich Weigand
The file was addedllvm/test/CodeGen/SystemZ/int-cmp-61.ll
The file was modifiedllvm/lib/Target/SystemZ/SystemZISelLowering.h
Commit af8c59e06d281f96db101d87ec227b238045a1d8 by kda
Update and improve compiler-rt tests for -mllvm -asan_use_after_return=(never|[runtime]|always).

In addition:
  - optionally add global flag to capture compile intent for UAR:
    __asan_detect_use_after_return_always.
    The global is a SANITIZER_WEAK_ATTRIBUTE.

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

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D103304
The file was modifiedcompiler-rt/lib/asan/asan_interface.inc
The file was modifiedcompiler-rt/lib/asan/asan_fake_stack.cpp
The file was modifiedcompiler-rt/test/asan/TestCases/heavy_uar_test.cpp
The file was modifiedcompiler-rt/test/asan/TestCases/Linux/uar_signals.cpp
The file was modifiedcompiler-rt/test/asan/TestCases/scariness_score_test.cpp
The file was modifiedcompiler-rt/test/asan/TestCases/Windows/dll_stack_use_after_return.cpp
The file was modifiedcompiler-rt/test/asan/TestCases/Posix/stack-use-after-return.cpp
The file was modifiedcompiler-rt/test/asan/TestCases/pass-struct-byval-uar.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
The file was modifiedllvm/test/Instrumentation/AddressSanitizer/fake-stack.ll
The file was modifiedcompiler-rt/test/asan/TestCases/Windows/stack_use_after_return.cpp
The file was modifiedcompiler-rt/test/asan/TestCases/uar_and_exceptions.cpp
The file was modifiedllvm/test/Instrumentation/AddressSanitizer/stack-poisoning.ll
The file was modifiedllvm/test/Instrumentation/AddressSanitizer/stack_dynamic_alloca.ll
Commit 9b41d0958e78c397c702c913d60946dd8c01f0a5 by patacca
[Polly][Isl] Removing nullptr constructor from C++ bindings. NFC.

[Polly][Isl] Removing nullptr constructor from C++ bindings. NFC.

This is part of an effort to reduce the differences between the custom C++ bindings used right now by polly in `lib/External/isl/include/isl/isl-noxceptions.h` and the official isl C++ interface.

Changes made:
- Removed `std::nullptr_t` constructor from all the classes in the isl C++ bindings.
- `isl-noexceptions.h` has been generated by this https://github.com/patacca/isl/commit/a7e00bea38f251a4bcf5c2c6ce5fa7ee5f661528

Reviewed By: Meinersbur

Differential Revision: https://reviews.llvm.org/D103751
The file was modifiedpolly/include/polly/ScopInfo.h
The file was modifiedpolly/unittests/DeLICM/DeLICMTest.cpp
The file was modifiedpolly/lib/CodeGen/PPCGCodeGeneration.cpp
The file was modifiedpolly/lib/Support/ISLTools.cpp
The file was modifiedpolly/lib/Transform/FlattenAlgo.cpp
The file was modifiedpolly/lib/Transform/FlattenSchedule.cpp
The file was modifiedpolly/lib/Analysis/ScopInfo.cpp
The file was modifiedpolly/lib/External/isl/include/isl/isl-noexceptions.h
The file was modifiedpolly/lib/Transform/ScheduleOptimizer.cpp
The file was modifiedpolly/lib/Analysis/ScopBuilder.cpp
The file was modifiedpolly/lib/Transform/ZoneAlgo.cpp
The file was modifiedpolly/lib/Transform/DeLICM.cpp
The file was modifiedpolly/lib/CodeGen/IslAst.cpp
The file was modifiedpolly/lib/Transform/ForwardOpTree.cpp
Commit 9b022a679b2ba79b8c7d11135b9297f0149f1433 by whitneyt
Revert "Revert "[LoopNest] Fix Wdeprecated-copy warnings""

This reverts commit 07ef5805abe5d4576eb5528eab63e75505bfd0bd.

The broke of the sanitizer-windows bot:
https://lab.llvm.org/buildbot/#/builders/127/builds/12064
is not caused by the original commit.

Differential Revision: https://reviews.llvm.org/D103752
The file was modifiedllvm/include/llvm/Analysis/LoopNestAnalysis.h
Commit 2f9ba6aa8b6d805728b5df42b7b049b3c23d28a2 by ndesaulniers
LTO: Export functions referenced by non-canonical CFI jump tables

LowerTypeTests pass adds functions with a non-canonical jump table
to cfiFunctionDecls instead of cfiFunctionDefs. As the jump table
is in the regular LTO object, these functions will also need to be
exported. This change fixes the non-canonical jump table case and
adds a test similar to the existing one for canonical jump tables.

Reviewed By: pcc

Differential Revision: https://reviews.llvm.org/D103120
The file was addedllvm/test/LTO/Resolution/X86/export-jumptable-noncanonical.ll
The file was modifiedllvm/lib/LTO/LTO.cpp
Commit 898e38a3c1593024cdb8904cdd999a0fe1193427 by albionapc
[NFC] In the future, all intrinsics defined for compatibility with the XL
compiler will be placed in this collection.

This patch has no functional changes.

Differential revision: https://reviews.llvm.org/D103921
The file was modifiedllvm/include/llvm/IR/IntrinsicsPowerPC.td
Commit 05cadc6f71555319882ccabf631d2e6410e3fea4 by rob.suderman
[mlir][tosa] Temporarily support 2D and 3D tensor types in matmul

Temporarily support 2D and 3D while the TOSA Matmul op is updated to support batched operations.

Reviewed By: rsuderman

Differential Revision: https://reviews.llvm.org/D103854
The file was modifiedmlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
The file was modifiedmlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
Commit f4c8fd12d58ed93c447081fd8f499fb503da12ff by sivachandra
[libc][NFC] Use add_library instead of add_llvm_library for a few libraries.

These libraries do not depend on LLVM libraries anymore so they do not
have to be added using add_llvm_library.
The file was modifiedlibc/utils/FPUtil/CMakeLists.txt
The file was modifiedlibc/utils/UnitTest/CMakeLists.txt
The file was modifiedlibc/utils/testutils/CMakeLists.txt
Commit 6344a583ca8d1650def86d8effd1ad8a3a9598b1 by sivachandra
[libc] Add a macro to include/exclude subprocess tests.

This is useful when bringing up LLVM libc on a new OS on which we do not
yet have the subprocess related helper functions.
The file was modifiedlibc/utils/UnitTest/LibcTest.h
The file was addedlibc/utils/UnitTest/PlatformDefs.h
The file was modifiedlibc/utils/UnitTest/LibcTest.cpp