Changes

Summary

  1. [clang-format] Fix aligning with linebreaks #2 (details)
  2. test-release.sh: Kill python2 (details)
  3. [RISCV] Add test case showing suboptimal BUILD_VECTOR lowering (details)
  4. [RISCV] Optimize floating-point "dominant value" BUILD_VECTORs (details)
  5. [LoopFlatten] Fix missed LoopFlatten opportunity (details)
  6. Fix FindZ3.cmake to support static libraries and Windows (details)
  7. [mlir] Remove the default isDynamicallyLegal hook (details)
  8. [mlir] Put back virtual ~ConversionTarget(), some users started relying on it (details)
  9. [AMDGPU][GlobalISel] Insert an and with exec before s_cbranch_vccnz if necessary (details)
  10. [lldb][AArch64] Annotate synchronous tag faults (details)
  11. NFC: Change quotes from Unicode to ASCII (details)
  12. [AArch64][GlobalISel] More widenToNextPow2 changes, this time for arithmetic/bitwise ops. (details)
  13. [AArch64][AsmParser] NFC: Parser.getTok() -> getTok() (details)
  14. [flang][driver] Forward `-fopenmp`/`-fopenacc` to the host compiler (details)
  15. tsan: rename deadlock detector Mutex to UserMutex (details)
  16. sanitizer_common: remove BlockingMutex and RWMutex (details)
  17. tsan: store ThreadRegistry in Context by value (details)
  18. Follow-up to D105207, only salvage affine SCEVs to avoid a crash (details)
  19. bugprone-forwarding-reference-overload: support non-type template parameters (details)
  20. [Utils] Do not remove comments in llc test script (details)
  21. [AArch64][SVE] Fix incorrect mask type when lowering fixed type SVE gather/scatter (details)
  22. [MCA] Use LSU for the in-order pipeline (details)
  23. [AArch64][x86] add tests for add-with-overflow folds; NFC (details)
  24. [Orc][examples] Adopt ExecutorProcessControl API and re-enable LLJITWithRemoteDebugging (details)
  25. [DAGCombiner] don't try to partially reduce add-with-overflow ops (details)
  26. [lldb] Assert filecache and live memory match on debug under a setting (details)
  27. [libomptarget][amdgpu] Update printed plugin name (details)
  28. Set TargetCPUName for AIX to default to pwr7. (details)
  29. [ELF] Add two new tests showing broken .tbss alignment if first in PT_TLS (details)
  30. [ELF] Align the first section of a PT_TLS even if its type is SHT_NOBITS (details)
  31. [CodeGen] Remove getPseudoProbeAttribute and addPseudoProbeAttribute (NFC) (details)
  32. [DWARF5] Only fallback to manual index if no entry was found (details)
  33. [libc] rewrite aarch64 memcmp implementation (details)
  34. tsan: add another test for atomics (details)
  35. [PowerPC] Fix return type of XL compat CAS (details)
  36. Revert "[LoopFlatten] Fix missed LoopFlatten opportunity" (details)
  37. tsan: add intrusive doubly-linked list (details)
  38. [lld-macho] Support common symbols in bitcode (but differently from ld64) (details)
  39. [lld-macho][nfc] Simplify common-symbol-coalescing test (details)
  40. tsan: restore Initialize call in Java entry points (details)
  41. tsan: s/CHECK/DCHECK/ in tsan_interface_java.cpp (details)
  42. tsan: introduce LazyInitialize (details)
  43. [mlir][linalg] Format bufferization debug print outs (NFC). (details)
  44. Add an escape-hatch for conversion of funcs with blocking awaits to coroutines. (details)
  45. Handle subregs and superregs in callee-saved register mask (details)
  46. [OpenMP][Tools][Tests][NFC] Address flaky archer tests (details)
  47. [clang][patch][FPEnv] Make initialization of C++ globals strictfp aware (details)
  48. [DSE] Transform memset + malloc --> calloc (PR25892) (details)
  49. [clang][patch] Remove erroneous run line committed in D102343 (details)
  50. [lldb] Fix FunctionDecl::Create after D102343 (details)
  51. Replace LLVM_ATTRIBUTE_NORETURN with C++11 [[noreturn]]. NFC (details)
  52. [Support] Remove LLVM_ATTRIBUTE_NORETURN (details)
  53. [gn build] Manually add file (details)
  54. Support macro deprecation #pragma clang deprecated (details)
  55. Fixing broken docs build (details)
  56. Revert "[lldb] Assert filecache and live memory match on debug under a setting" (details)
  57. [AIX] Pass the -b option to linker on AIX (details)
  58. [libc++][NFC] Make private header generation CMake comment more consistent (details)
  59. [SLP][NFC]Add a test for split loads, NFC. (details)
  60. [lld-macho] Change personalities entry type to Ptr to avoid overflowing uint32 (details)
  61. Rorder mmt4d iteration domain (details)
  62. [clang] Fix typos in Options.td and regen ClangCommandLineReference.rst. (details)
  63. [clang] Fix a typo in the manual page: s/contraint/constraint. (details)
  64. Refactor AsyncToAsyncRuntime pass to boost understandability. (details)
  65. [GlobalISel] Add GPtrAdd and use it in some combines. (details)
  66. [MLIR][python] Export CAPI headers. (details)
  67. [InstSimplify] Don't assume parent function when simplifying llvm.vscale. (details)
  68. [OpenMP] libomp: Add new experimental barrier: two-level distributed barrier (details)
  69. Revert "Revert "[clang][pp] adds '#pragma include_instead'"" (details)
  70. Revert "[AIX] Pass the -b option to linker on AIX" (details)
  71. Fixing an infinite loop problem in InstCombine (details)
  72. Fix runtime internal error with certain intrinsics that can take a scalar (details)
  73. [DWARF] Refactor test to remove relocations for DWO (details)
  74. [LLDB][GUI] Add Create Target form (details)
  75. [LLDB][GUI] Add Environment Variable Field (details)
  76. [mlir] Fix CMake option for enabling SPIR-V CPU runner (details)
  77. [mlir] NFC: split Math to SPIR-V conversion into their own files (details)
  78. [mlir] NFC: split MemRef to SPIR-V conversion into their own files (details)
  79. [GlobalISel] Use GMergeLikeOp to simplify a combine. NFC. (details)
  80. [lldb] Remove CPlusPlusLanguage from Mangled (details)
  81. [compiler-rt][hwasan] Check for SANITIZER_POSIX before including sanitizer_posix.h (details)
  82. [ELF] Add -Bsymbolic-non-weak-functions (details)
  83. [mlir][linalg] Fix pad tensor cast folding with changed type (details)
  84. [GWP-ASan] Add version header. (details)
  85. [ARM] Define a couple more ssub indexes. NFC (details)
  86. Fix unit test checks for the scalar cases of all/any intrinsics. I (details)
  87. Simplify testcase to use v instead of p (NFC) (details)
  88. [MLIR][Python] Use DEST_PREFIX when installing. (details)
  89. [mlir][tosa] Fix tosa.reshape failures due to implicit broadcasting (details)
  90. security: highlight phab accounts; recommend phab for nominations (details)
  91. [mlir] Set insertion point of vector constant to the top of the vectorized loop body (details)
  92. GlobalISel/AArch64: don't optimize away redundant branches at -O0 (details)
  93. [InstCombine] add tests for vector cmp-bitcast; NFC (details)
  94. Fix typo (details)
  95. Make testcase more robust against codegen changes (details)
  96. [OpenMP] Adding flags for disabling the following optimizations: Deglobalization SPMDization State machine rewrites Folding (details)
  97. [ARC] Add additional mov immediate instruction formats with a fix for u6 decoding (details)
  98. [compiler-rt] Fix COMPILER_RT_OS_DIR for Android (details)
  99. [GlobalISel] Refactor the unmerge artifact value finder code. (details)
  100. [AVR][clang] Pass '--start-group' and '--end-group' options to avr-ld (details)
  101. [RISCV][test] Add new tests for mul optimization in the zba extension with SH*ADD (details)
  102. Optimize mul in the zba extension with SH*ADD (details)
  103. [MLIR][python] Disable SONAME on extensions. (details)
  104. [ARC] Add norm/normh instructions with disassembly tests (details)
  105. [Bazel] Derive targets from file presence as in CMake build (details)
  106. [Bazel] Unconditionally define STDC LIMIT/CONSTANT/FORMAT (details)
  107. [Bazel] Make td_library usable as data (details)
  108. [source map] fix relative path breakpoints (details)
  109. [AIX] Include symbol alias in extract_symbols.py (details)
  110. tsan: Fix the improper argument type in tsan_ilist_test.cpp (details)
  111. [OpenCL] Add support of __opencl_c_3d_image_writes feature macro (details)
  112. [nfc][trace] use formatv instead of the old Printf (details)
  113. [yaml2obj] Enable support for parsing 64-bit XCOFF. (details)
  114. [PowerPC] Fix issue where hint was providing the incorrect regsiter class. (details)
  115. [OpenCL] Add support of __opencl_c_pipes feature macro. (details)
  116. Revert "[OpenCL] Add support of __opencl_c_pipes feature macro." (details)
  117. Fix scalar unit tests for all, any, maxloc, etc. that caused the ARM build (details)
  118. [OpenCL] opencl-c.h: add CL 3.0 non-generic address space atomics (details)
  119. Take OptimizationLevel class out of Pass Builder (details)
  120. [JITLink][ELF][x86-64] Include relocation name in missing relocation errors. (details)
Commit 75f6a795ee0faf544c3f539d01008d1d5d876acb by bjoern
[clang-format] Fix aligning with linebreaks #2

This amends c5243c63cda3c740d6e9c7e501f6518c21688da3 to fix formatting
continued function calls with BinPacking = false.

Differential Revision: https://reviews.llvm.org/D106773
The file was modifiedclang/unittests/Format/FormatTest.cpp
The file was modifiedclang/lib/Format/WhitespaceManager.cpp
Commit 9ff030ca50e327d522e80ee20f4d5febcce94a24 by diana.picus
test-release.sh: Kill python2

Don't prefer python2's virtualenv when setting up the test-suite.
Always use python3 instead, since that's what we support everywhere else
anyway.

Differential Revision: https://reviews.llvm.org/D106941
The file was modifiedllvm/utils/release/test-release.sh
Commit a33f60db39836d94a79557b147515d42d30ecba3 by fraser
[RISCV] Add test case showing suboptimal BUILD_VECTOR lowering

The second test case added here was pointed out to me by @craig.topper
and shows how we "optimize" a two-element BUILD_VECTOR from being one
load from the constant pool to two loads from the constant pool.

The first test case shows that since materialization for the
floating-point +0.0 value is cheap and doesn't involve a load, the
optimization is more clearly beneficial here.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D106962
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
Commit 02dd4b59bc0d34ecd41fcc314f5571572b3feebc by fraser
[RISCV] Optimize floating-point "dominant value" BUILD_VECTORs

This patch aims to improve the performance of BUILD_VECTORs which are
identified as containing a dominant element. Given that most
floating-point constants themselves require a load from the constant
pool, it was possible for the optimization to actually increase the
number of individual loads on small vectors. The exception is the zero
constant -- +0.0 -- which can be materialized efficiently.

While this optimization could do with a proper cost model to weigh the
benfits of a single vector load vs. the manipulation of individual
elements -- even for integer vectors which often require several
instructions to materialize -- without a concrete RVV implementation to
work with any heuristic is likely to be both more obtuse and inaccurate.

Until then, this patch fixes at least one known obvious deficiency.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D106963
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
Commit 2df8bf9339e43de63d8d28e07182e1d6d7ffb843 by rosie.sumpter
[LoopFlatten] Fix missed LoopFlatten opportunity

When the trip count of the inner loop is a constant, the InstCombine
pass now causes the transformation e.g. imcp ult i32 %inc, tripcount ->
icmp ult %j, tripcount-step (where %j is the inner loop induction
variable and %inc is add %j, step), which is now accounted for when
identifying the trip count of the loop. This is also an acceptable use
of %j (provided the step is 1) so is ignored as long as the compare
that it's used in is also the condition of the inner branch.

Differential Revision: https://reviews.llvm.org/D105802
The file was modifiedllvm/test/Transforms/LoopFlatten/loop-flatten.ll
The file was modifiedllvm/lib/Transforms/Scalar/LoopFlatten.cpp
The file was modifiedllvm/test/Transforms/LoopFlatten/loop-flatten-negative.ll
Commit f1ab60e40d16970381a003e145be6d5932823597 by balazs.benics
Fix FindZ3.cmake to support static libraries and Windows

Use absolute path to link z3 to allow builds both on windows and linux
since the library name is platform dependent for Z3 (libz3 on Windows
and z3 on Linux) and MSVC does not recognized -L and -l options.
Fix CMAKE_CROSSCOMPILING that does not work correctly since it uses
Z3_BUILD_VERSION instead of Z3_BUILD_NUMBER
Fix building with the static version of z3 library (supersedes D80227).

- Build the Z3 version detection code as C++, since the static
   library brings in libstdc++ symbols
- Detect threading support and link against threading, in the
   (likely) case Z3 was built with threads

Exposed compilation error from building a program that is used to detect
z3 version in the warning message, to simplify troubleshooting.

Reviewed By: JDevlieghere

Differential Revision: https://reviews.llvm.org/D106131
The file was modifiedllvm/cmake/modules/FindZ3.cmake
Commit 1c9c2c91d4d4b62d99ea1472de4d01eb7d7e6ee0 by benny.kra
[mlir] Remove the default isDynamicallyLegal hook

This is redundant with the callback variant and untested. Also remove
the callback-less methods for adding a dynamically legal op, as they
are no longer useful.

Differential Revision: https://reviews.llvm.org/D106786
The file was modifiedmlir/docs/DialectConversion.md
The file was modifiedmlir/include/mlir/Transforms/DialectConversion.h
The file was modifiedmlir/lib/Transforms/Utils/DialectConversion.cpp
Commit d81a843846f4171ffe3f44b66bf3a9fda5c411cf by benny.kra
[mlir] Put back virtual ~ConversionTarget(), some users started relying on it
The file was modifiedmlir/include/mlir/Transforms/DialectConversion.h
Commit 971f4173f82da6e13ee4c5b1a0301ba0fde0d696 by Mirko.Brkusanin
[AMDGPU][GlobalISel] Insert an and with exec before s_cbranch_vccnz if necessary

While v_cmp will AND inactive lanes with 0, that is not the case for logical
operations.

This fixes a Vulkan CTS test that would hang otherwise.

Differential Revision: https://reviews.llvm.org/D105709
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-brcond.mir
Commit d510b5f199d6e7a3062b5a6ea43181c4cc00a605 by david.spickett
[lldb][AArch64] Annotate synchronous tag faults

In the latest Linux kernels synchronous tag faults
include the tag bits in their address.
This change adds logical and allocation tags to the
description of synchronous tag faults.
(asynchronous faults have no address)

Process 1626 stopped
* thread #1, name = 'a.out', stop reason = signal SIGSEGV: sync tag check fault (fault address: 0x900fffff7ff9010 logical tag: 0x9 allocation tag: 0x0)

This extends the existing description and will
show as much as it can on the rare occasion something
fails.

This change supports AArch64 MTE only but other
architectures could be added by extending the
switch at the start of AnnotateSyncTagCheckFault.
The rest of the function is generic code.

Tests have been added for synchronous and asynchronous
MTE faults.

Reviewed By: omjavaid

Differential Revision: https://reviews.llvm.org/D105178
The file was addedlldb/test/API/linux/aarch64/mte_tag_faults/Makefile
The file was modifiedlldb/source/Plugins/Process/Linux/NativeThreadLinux.h
The file was modifiedlldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp
The file was addedlldb/test/API/linux/aarch64/mte_tag_faults/main.c
The file was addedlldb/test/API/linux/aarch64/mte_tag_faults/TestAArch64LinuxMTEMemoryTagFaults.py
Commit d8fd2146daaa28d118fd7c29d63e817a8c955b81 by kbobyrev
NFC: Change quotes from Unicode to ASCII

This was causing some problems for Python scripts that we have.

Context: https://reviews.llvm.org/D106792
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/abseil-no-internal-dependencies.rst
Commit da61ab847577dd81d6267c532d9810fc19596033 by Amara Emerson
[AArch64][GlobalISel] More widenToNextPow2 changes, this time for arithmetic/bitwise ops.
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-add.mir
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/arm64-fallback.ll
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/legalize-and.mir
Commit 08d92dbbffa52db9b3fc3a871fb7feab6a0420c9 by cullen.rhodes
[AArch64][AsmParser] NFC: Parser.getTok() -> getTok()

Reviewed By: david-arm

Differential Revision: https://reviews.llvm.org/D106949
The file was modifiedllvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
Commit 8bf0a406087e8747383134847ab0f165e6475a97 by andrzej.warzynski
[flang][driver] Forward `-fopenmp`/`-fopenacc` to the host compiler

This patch only modifies `flang` - the bash wrapper script.

`-fopenmp`/`-fopenacc` are required to enable the OpenMP/OpenACC
extension in the frontend and to make sure that the required libraries
are linked when generating the final binary. This patch makes sure that
`-fopnemp`/`-fopenacc` is used for both unparsing and the code
generation (via the host compiler).

Differential Revision: https://reviews.llvm.org/D106871
The file was modifiedflang/tools/f18/flang.in
Commit b8f4232823d77c350ccf83cdd91b9f67fed2d31c by dvyukov
tsan: rename deadlock detector Mutex to UserMutex

It conflicts with sanitizer_common Mutex.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D107053
The file was modifiedcompiler-rt/lib/tsan/dd/dd_rtl.h
Commit 4e15ee2867756f8676aa75d77cda8542cbd7498c by dvyukov
sanitizer_common: remove BlockingMutex and RWMutex

Remove the legacy typedefs and use Mutex/Lock types directly.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D107043
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_mutex.h
The file was modifiedcompiler-rt/lib/tsan/dd/dd_rtl.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_symbolizer.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_thread_registry.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_coverage_fuchsia.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_libignore.h
The file was modifiedcompiler-rt/lib/tsan/dd/dd_rtl.cpp
The file was modifiedcompiler-rt/lib/msan/msan_interceptors.cpp
The file was modifiedcompiler-rt/lib/hwasan/hwasan_report.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_thread_registry.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_libignore.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_addrhashmap.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_netbsd_libcdep.cpp
Commit 0d68cfc99668e56615a8bced8826feb4535efd13 by dvyukov
tsan: store ThreadRegistry in Context by value

It's unclear why we allocate ThreadRegistry separately,
I assume it's some historical leftover.
Embed ThreadRegistry into Context.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D107045
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_thread.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_mman.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_debugging.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
Commit 2537120c870c04893636f171f553024f378c2de8 by jeremy.morse
Follow-up to D105207, only salvage affine SCEVs to avoid a crash

SCEVToIterCountExpr only expects to be fed affine expressions, but
DbgRewriteSalvageableDVIs is feeding it non-affine induction variables.
Following this up with an obvious fix, will add test coverage too if
this avoids D105207 being reverted.
The file was modifiedllvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
Commit 68546c9d6fc54a7ca7ad487cd4b6a5dafea9b4f3 by aaron
bugprone-forwarding-reference-overload: support non-type template parameters

Many concepts emulation libraries, such as the one found in Range v3, tend to
use non-type template parameters for the enable_if type expression, due to
their versatility in template functions and constructors containing variadic
template parameter packs.

Unfortunately the bugprone-forwarding-reference-overload check does not
handle non-type template parameters, as was first noted in this bug report:
https://bugs.llvm.org/show_bug.cgi?id=38081

This patch fixes this long standing issue and allows for the check to be suppressed
with the use of a non-type template parameter containing enable_if or enable_if_t in
the type expression, so long as it has a default literal value.
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/bugprone-forwarding-reference-overload.cpp
The file was modifiedclang-tools-extra/clang-tidy/bugprone/ForwardingReferenceOverloadCheck.cpp
The file was modifiedclang-tools-extra/docs/clang-tidy/checks/bugprone-forwarding-reference-overload.rst
Commit 486489312743411ce2e25d7763e6d298f672f976 by sebastian.neubauer
[Utils] Do not remove comments in llc test script

When checking if two prefixes can be merged for a function,
update_llc_test_checks.py removed IR comments before comparing
llc outputs of different RUN lines.
This means, if one RUN line emited lines starting with ';' and another
RUN line emited the same lines except the ones starting with ';', both
RUNs would be merged (if they share a prefix).

However, CHECK-NEXT lines check the comments, otherwise they fail, so
the script should not merge RUNs if they contain different comments.

Differential Revision: https://reviews.llvm.org/D101312
The file was modifiedllvm/utils/update_llc_test_checks.py
The file was modifiedllvm/utils/UpdateTestChecks/common.py
The file was addedllvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_no_merge_comments.ll.expected
The file was addedllvm/test/tools/UpdateTestChecks/update_llc_test_checks/amdgpu-no-merge-comments.test
The file was modifiedllvm/utils/update_cc_test_checks.py
The file was modifiedllvm/utils/update_analyze_test_checks.py
The file was modifiedllvm/utils/update_test_checks.py
The file was addedllvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/amdgpu_no_merge_comments.ll
Commit 191831e380f317cd2baa5d48abe02d1d11cd44cb by bradley.smith
[AArch64][SVE] Fix incorrect mask type when lowering fixed type SVE gather/scatter

An incorrect mask type when lowering an SVE gather/scatter was causing
a codegen fault which manifested as the incorrect predicate size being
used for an SVE gather/scatter, (e.g.. p0.b rather than p0.d).

Fixes PR51182.

Differential Revision: https://reviews.llvm.org/D106943
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AArch64/sve-fixed-length-masked-gather.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-fixed-length-masked-scatter.ll
Commit bcc83a2e83215f998533582b55522a6e8752d899 by andrew.savonichev
[MCA] Use LSU for the in-order pipeline

Load/Store unit is used to enforce order of loads and stores if they
alias (controlled by --noalias=false option).

Fixes PR50483 - [MCA] In-order pipeline doesn't track memory
load/store dependencies.

Differential Revision: https://reviews.llvm.org/D103955
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Cortex/A55-load-store-alias.s
The file was modifiedllvm/lib/MCA/Context.cpp
The file was modifiedllvm/include/llvm/MCA/Stages/InOrderIssueStage.h
The file was modifiedllvm/lib/MCA/Stages/InOrderIssueStage.cpp
The file was addedllvm/test/tools/llvm-mca/AArch64/Cortex/A55-load-store-noalias.s
Commit e427077ec10ea18ac21f5065342183481d87783a by spatel
[AArch64][x86] add tests for add-with-overflow folds; NFC

There's a generic combine for these, but no test coverage.
It's not clear if this is actually a good fold.
The combine was added with D58874, but it has a bug that
can cause crashing ( https://llvm.org/PR51238 ).
The file was modifiedllvm/test/CodeGen/X86/combine-add.ll
The file was modifiedllvm/test/CodeGen/AArch64/addsub.ll
Commit 058935145d6b0c600c35e8b83fa150896c725f8d by Stefan Gränitz
[Orc][examples] Adopt ExecutorProcessControl API and re-enable LLJITWithRemoteDebugging

The API change originated from D104694. The LLJITWithRemoteDebugging example and the test for it were disabled while it was in the works.
The file was modifiedllvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/RemoteJITUtils.cpp
The file was modifiedllvm/test/Examples/OrcV2Examples/lljit-with-remote-debugging.test
The file was modifiedllvm/test/Examples/lit.local.cfg
The file was modifiedllvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/RemoteJITUtils.h
The file was modifiedllvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/LLJITWithRemoteDebugging.cpp
The file was modifiedllvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/CMakeLists.txt
Commit fa6b2c9915ba27e1e97f8901ea4aa877f331fb9f by spatel
[DAGCombiner] don't try to partially reduce add-with-overflow ops

This transform was added with D58874, but there were no tests for overflow ops.
We need to change this one way or another because it can crash as shown in:
https://llvm.org/PR51238

Note that if there are no uses of an overflow op's bool overflow result, we
reduce it to a regular math op, so we continue to fold that case either way.
If we have uses of both the math and the overflow bool, then we are likely
not saving anything by creating an independent sub instruction as seen in
the test diffs here.

This patch makes the behavior in SDAG consistent with what we do in
instcombine AFAICT.

Differential Revision: https://reviews.llvm.org/D106983
The file was modifiedllvm/test/CodeGen/AArch64/addsub.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
The file was modifiedllvm/test/CodeGen/X86/combine-add.ll
Commit 77e9d10f0fbfe04a14e6ce61753376dd78e0c2f0 by augusto2112
[lldb] Assert filecache and live memory match on debug under a setting
The file was modifiedlldb/include/lldb/Core/Section.h
The file was modifiedlldb/include/lldb/Target/Target.h
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbtest.py
The file was modifiedlldb/source/Core/Section.cpp
The file was modifiedlldb/source/Target/TargetProperties.td
The file was modifiedlldb/source/Target/Target.cpp
The file was modifiedlldb/test/Shell/lit-lldb-init.in
Commit a90da62adb212a5c2ac957de25a4b98e7694588d by jonathanchesterfield
[libomptarget][amdgpu] Update printed plugin name
The file was modifiedopenmp/libomptarget/plugins/amdgpu/src/rtl.cpp
The file was modifiedopenmp/libomptarget/plugins/amdgpu/dynamic_hsa/hsa.cpp
Commit c3c1826c310c42244c7cad8d0c6af3a368fcd064 by schmeise
Set TargetCPUName for AIX to default to pwr7.

Summary:
Set the TargetCPUName for AIX to default to pwr7, removing the setting
of it based on the major/minor of the OS version, which previously
set it to pwr4 for AIX 7.1 and earlier. The old code would also set it to
pwr4 when the OS version was not specified and with the change, it will
default it to pwr7 in all cases.

Author: Jamie Schmeiser <schmeise@ca.ibm.com>
Reviewed By:hubert.reinterpretcast (Hubert Tong)
Differential Revision: https://reviews.llvm.org/D107063
The file was modifiedclang/test/Driver/aix-mcpu-default.c
The file was modifiedclang/lib/Driver/ToolChains/CommonArgs.cpp
Commit b96bb7899fe319278ad7809f3c647b944bc00c6c by jrtc27
[ELF] Add two new tests showing broken .tbss alignment if first in PT_TLS

This is a similar problem to D66658, where we are too aggressive in not
aligning NOBITS sections, and the tests are based on the ones added for
that fix. If a .tbss section is first in a PT_TLS segment (i.e. there is
no .tdata section) then, although it doesn't need to be aligned such
that address and offset are congruent modulo the page size, they do need
to be congruent modulo the segment alignment, otherwise the whole PT_TLS
will be unaligned.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D106986
The file was addedlld/test/ELF/linkerscript/tls-nobits-offset.s
The file was addedlld/test/ELF/tls-nobits-offset.s
Commit cfaa5bf4ce62266897d27c8c0f3474e555ab87e5 by jrtc27
[ELF] Align the first section of a PT_TLS even if its type is SHT_NOBITS

This is somewhat of a repeat of D66658 but for sections in PT_TLS
segments. Although such sections don't need to be aligned such that
address and offset are congruent modulo the page size, they do need
to be congruent modulo the segment alignment, otherwise the
whole PT_TLS will be unaligned. We therefore use the normal calculation
to determine the section's address within the PT_LOAD rather than
bailing out early due to being SHT_NOBITS.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D106987
The file was modifiedlld/ELF/Writer.cpp
The file was modifiedlld/test/ELF/tls-nobits-offset.s
The file was modifiedlld/test/ELF/linkerscript/tls-nobits-offset.s
Commit 416f3ff8038c24ebfe4dd4c1708c4c4fee41a083 by kazu
[CodeGen] Remove getPseudoProbeAttribute and addPseudoProbeAttribute (NFC)

The last uses of these functions were removed on Jun 17, 2021 in
commit bd52495518808bdbf24f4d8e9e20774d6d2e3333.
The file was modifiedllvm/include/llvm/CodeGen/MachineInstr.h
Commit 2e9853e0e9ff263a948ebef70221fd0cec9c4830 by jan.kratochvil
[DWARF5] Only fallback to manual index if no entry was found

If we succeed at gathering global variables for a compile
unit, there is no need to fallback to generating a manual index.

Reviewed By: jankratochvil

Differential Revision: https://reviews.llvm.org/D106355
The file was modifiedlldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
Commit cd2f5d5b496d43924c27e22f8abd9cff9266d028 by gchatelet
[libc] rewrite aarch64 memcmp implementation

This patch is simply rearranging the code layout so it's easier to understand.

Differential Revision: https://reviews.llvm.org/D106641
The file was modifiedlibc/src/string/aarch64/memcmp.cpp
The file was modifiedlibc/src/string/memory_utils/elements.h
Commit 5697841f66cee81ef58a0d7cb22e5820206c24c6 by dvyukov
tsan: add another test for atomics

Add a test where atomic-release happens while
another thread spins calling load-acquire.
This can expose some interesting interleavings
of release and acquire.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D107055
The file was addedcompiler-rt/test/tsan/atomic_norace2.cpp
Commit e4902e69e99d07d6d311425d87d4c1d075b72bf8 by lkail
[PowerPC] Fix return type of XL compat CAS

`__compare_and_swap*` should return `i32` rather than `i1`.

Reviewed By: jsji

Differential Revision: https://reviews.llvm.org/D107077
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/test/CodeGen/builtins-ppc-xlcompat-cas.c
Commit fab5659c79410f50b38b2986f3dc8412f3ad9a81 by rosie.sumpter
Revert "[LoopFlatten] Fix missed LoopFlatten opportunity"

This reverts commit 2df8bf9339e43de63d8d28e07182e1d6d7ffb843.

Reverting because it causes an assertion failure.
The file was modifiedllvm/test/Transforms/LoopFlatten/loop-flatten.ll
The file was modifiedllvm/test/Transforms/LoopFlatten/loop-flatten-negative.ll
The file was modifiedllvm/lib/Transforms/Scalar/LoopFlatten.cpp
Commit f821a55c5e7847edd0b3bf70543b318d6bcbcd0a by dvyukov
tsan: add intrusive doubly-linked list

Add intrusive doubly-linked list container template, IList.
It will be used in the new tsan runtime.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D107050
The file was modifiedcompiler-rt/lib/tsan/tests/unit/CMakeLists.txt
The file was modifiedcompiler-rt/lib/tsan/CMakeLists.txt
The file was addedcompiler-rt/lib/tsan/rtl/tsan_ilist.h
The file was addedcompiler-rt/lib/tsan/tests/unit/tsan_ilist_test.cpp
Commit e49374f9e0c02dae575f26f969677534b94eac3d by jezng
[lld-macho] Support common symbols in bitcode (but differently from ld64)

ld64 seems to handle common symbols in bitcode rather
bizarrely. They follow entirely different precedence rules from their
non-bitcode counterparts. I initially tried to emulate ld64 in D106597,
but I'm not sure the extra complexity is worth it, especially given that
common symbols are not, well, very common.

This diff accords common bitcode symbols the same precedence as regular
common symbols, just as we treat all other pairs of bitcode and
non-bitcode symbol types. The tests document ld64's behavior in detail,
just in case we want to revisit this.

Reviewed By: #lld-macho, thakis

Differential Revision: https://reviews.llvm.org/D107027
The file was modifiedlld/MachO/InputFiles.cpp
The file was addedlld/test/MachO/lto-common-symbol-resolution.ll
The file was addedlld/test/MachO/lto-common-symbol-coalescing.ll
Commit a26bb9cc056c7ef97247e1a55d3cd71c7d4fb7d6 by jezng
[lld-macho][nfc] Simplify common-symbol-coalescing test
The file was modifiedlld/test/MachO/common-symbol-coalescing.s
Commit 0bc10d9a8ed072c280ec07cd814671dae887a943 by dvyukov
tsan: restore Initialize call in Java entry points

We used to call Initialize in every Java point.
That was removed in 6563bb53b5 ("tsan: don't use caller/current PC in Java interfaces").
The intention was to add a single Initialize to __tsan_java_init instead.
Do that.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D107069
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interface_java.cpp
Commit 17f650cb0078a85ec8e0d69116cf9140aca7323a by dvyukov
tsan: s/CHECK/DCHECK/ in tsan_interface_java.cpp

We are very paranoid with CHECKs in all Java entry points.
These CHECKs were added along with Java support.
At that point it wasn't clear what exactly to expect from JVM part
and if JVM part is correct or not. Thus CHECK paranoia.
These CHECKs never fired in practice, but we pay runtime cost
in every entry point all the time.
Replace CHECKs with DCHECKs.

Depends on D107069.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D107071
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interface_java.cpp
Commit 9e9599ef782384847e734dfdb89d34a4bb8c6710 by dvyukov
tsan: introduce LazyInitialize

We call non-inlinable Initialize from all interceptors/syscalls,
but most of the time runtime is already initialized and this just
introduces unnecessary overhead.
Add LazyInitialize that (1) inlinable, (2) does nothing if
.preinit_array is enabled (expected case on Linux).

Depends on D107071.

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D107072
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.h
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
Commit 2a342c7c1ee18817a5f8bb4d32cfc4bce6f9aecd by gysit
[mlir][linalg] Format bufferization debug print outs (NFC).

Change the formatting of the debug print outs to elide unnecessary information.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D106661
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp
Commit 9a5bc83660ed6978521dcfa4faac140cf5b2e895 by ezhulenev
Add an escape-hatch for conversion of funcs with blocking awaits to coroutines.

Currently TFRT does not support top-level coroutines, so this functionality will allow to have a single blocking await at the top level until TFRT implements the necessary functionality.

Reviewed By: ezhulenev

Differential Revision: https://reviews.llvm.org/D106730
The file was modifiedmlir/test/Dialect/Async/async-to-async-runtime-eliminate-blocking.mlir
The file was modifiedmlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp
The file was modifiedmlir/include/mlir/Dialect/Async/IR/AsyncDialect.td
The file was modifiedmlir/include/mlir/Dialect/Async/Passes.td
The file was modifiedmlir/lib/Dialect/Async/IR/Async.cpp
Commit 95ef464ac9d1972953709c57449ac178771cd221 by jrtc27
Handle subregs and superregs in callee-saved register mask

If a target lists both a subreg and a superreg in a callee-saved
register mask, the prolog will spill both aliasing registers. Instead,
don't spill the subreg if a superreg is being spilled. This case is hit by the
PowerPC SPE code, as well as a modified RISC-V backend for CHERI I maintain out
of tree.

Reviewed By: jhibbits

Differential Revision: https://reviews.llvm.org/D73170
The file was modifiedllvm/lib/CodeGen/PrologEpilogInserter.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/spe.ll
The file was modifiedllvm/test/CodeGen/PowerPC/fp-strict.ll
Commit 4acc2f29a278ff2a0a4d683dd6d706cc2f7123fd by protze
[OpenMP][Tools][Tests][NFC] Address flaky archer tests

Adding more concurrent threads significantly increases the
chance that the data race can be observed during testing.
The file was modifiedopenmp/tools/archer/tests/races/task-dependency.c
The file was modifiedopenmp/tools/archer/tests/races/critical-unrelated.c
The file was modifiedopenmp/tools/archer/tests/races/task-two.c
The file was modifiedopenmp/tools/archer/tests/races/parallel-simple.c
The file was modifiedopenmp/tools/archer/tests/races/lock-nested-unrelated.c
The file was modifiedopenmp/tools/archer/tests/races/task-taskgroup-unrelated.c
The file was modifiedopenmp/tools/archer/tests/races/lock-unrelated.c
The file was modifiedopenmp/tools/archer/tests/races/task-taskwait-nested.c
Commit bc5b5ea037dbadd281c59248ae9d2742b51c69ed by melanie.blower
[clang][patch][FPEnv] Make initialization of C++ globals strictfp aware

@kpn pointed out that the global variable initialization functions didn't
have the "strictfp" metadata set correctly, and @rjmccall said that there
was buggy code in SetFPModel and StartFunction, this patch is to solve
those problems. When Sema creates a FunctionDecl, it sets the
FunctionDeclBits.UsesFPIntrin to "true" if the lexical FP settings
(i.e. a combination of command line options and #pragma float_control
settings) correspond to ConstrainedFP mode. That bit is used when CodeGen
starts codegen for a llvm function, and it translates into the
"strictfp" function attribute. See bugs.llvm.org/show_bug.cgi?id=44571

Reviewed By: Aaron Ballman

Differential Revision: https://reviews.llvm.org/D102343
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/lib/Sema/SemaLambda.cpp
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/lib/Sema/SemaExprCXX.cpp
The file was modifiedclang/test/CodeGen/fp-floatcontrol-stack.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/lib/CodeGen/CGObjC.cpp
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was modifiedclang/lib/AST/Decl.cpp
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h
The file was modifiedclang/test/CodeGen/fp-floatcontrol-class.cpp
The file was modifiedclang/include/clang/AST/DeclCXX.h
The file was modifiedclang/unittests/Sema/ExternalSemaSourceTest.cpp
The file was modifiedclang/include/clang/AST/Decl.h
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/lib/Sema/SemaLookup.cpp
The file was modifiedclang/lib/AST/DeclCXX.cpp
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp
Commit 5c315bee8c9db27d12cead928eea5a3fef97f34f by dawid_jurek
[DSE] Transform memset + malloc --> calloc (PR25892)

After this change DSE can eliminate malloc + memset and emit calloc.
It's https://reviews.llvm.org/D101440 follow-up.

Differential Revision: https://reviews.llvm.org/D103009
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
The file was modifiedllvm/test/Transforms/DeadStoreElimination/noop-stores.ll
Commit fd251d903b9b1bc8305736fc78764521cd86f8d3 by melanie.blower
[clang][patch] Remove erroneous run line committed in D102343
The file was modifiedclang/test/CodeGen/fp-floatcontrol-class.cpp
Commit 172a55e7a40d27c7882be2e86d515696d8e12427 by i
[lldb] Fix FunctionDecl::Create after D102343
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/NameSearchContext.cpp
Commit 72a83674dd3a13b59442cd7cb07b53902f7d6a33 by i
Replace LLVM_ATTRIBUTE_NORETURN with C++11 [[noreturn]]. NFC

[[noreturn]] can be used since Oct 2016 when the minimum compiler requirement was bumped to GCC 4.8/MSVC 2015.
The file was modifiedlldb/source/Plugins/Process/Linux/SingleStepCheck.cpp
The file was modifiedclang/utils/TableGen/ClangDiagnosticsEmitter.cpp
The file was modifiedflang/include/flang/Optimizer/Support/FatalError.h
The file was modifiedlldb/source/Host/posix/ProcessLauncherPosixFork.cpp
The file was modifiedclang-tools-extra/pp-trace/PPTrace.cpp
Commit 09529892b518c8df8c24395e68e0a7a5e8bda5fb by i
[Support] Remove LLVM_ATTRIBUTE_NORETURN

Code should use C++11 [[noreturn]] or C11 _Noreturn instead.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D106899
The file was modifiedllvm/include/llvm/Support/Compiler.h
Commit ee7c9b8f140d0614c3380022b27d9bbd963b9a77 by aeubanks
[gn build] Manually add file

Since bot is broken
The file was modifiedllvm/utils/gn/secondary/compiler-rt/lib/tsan/BUILD.gn
Commit 26c695b7893071d5e69afbaa70c4850ab2e468be by chris.bieneman
Support macro deprecation #pragma clang deprecated

This patch adds `#pragma clang deprecated` to enable deprecation of
preprocessor macros.

The macro must be defined before `#pragma clang deprecated`. When
deprecating a macro a custom message may be optionally provided.

Warnings are emitted at the use site of a deprecated macro, and can be
controlled via the `-Wdeprecated` warning group.

This patch takes some rough inspiration and a few lines of code from
https://reviews.llvm.org/D67935.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D106732
The file was modifiedclang/lib/Lex/PPMacroExpansion.cpp
The file was modifiedclang/lib/Lex/PPDirectives.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticGroups.td
The file was modifiedclang/include/clang/Basic/IdentifierTable.h
The file was modifiedclang/lib/Lex/Pragma.cpp
The file was addedclang/test/Lexer/deprecate-macro.c
The file was modifiedclang/include/clang/Lex/Preprocessor.h
The file was modifiedclang/include/clang/Basic/DiagnosticLexKinds.td
The file was modifiedclang/docs/LanguageExtensions.rst
The file was modifiedclang/lib/Lex/Preprocessor.cpp
The file was modifiedclang/lib/Lex/PPExpressions.cpp
Commit f8819c109e4afcad19407ceb54e28ef77e1c57e9 by chris.bieneman
Fixing broken docs build

Need an empty line after the code-block directive.
The file was modifiedclang/docs/LanguageExtensions.rst
Commit 66ba4e3dc608156797df8f863d61fa106608e45c by stilis
Revert "[lldb] Assert filecache and live memory match on debug under a setting"

This reverts commit 77e9d10f0fbfe04a14e6ce61753376dd78e0c2f0.

This change broke the Windows LLDB bot:
https://lab.llvm.org/buildbot/#/builders/83/builds/8784/steps/7/logs/stdio
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbtest.py
The file was modifiedlldb/source/Target/Target.cpp
The file was modifiedlldb/include/lldb/Core/Section.h
The file was modifiedlldb/source/Target/TargetProperties.td
The file was modifiedlldb/test/Shell/lit-lldb-init.in
The file was modifiedlldb/include/lldb/Target/Target.h
The file was modifiedlldb/source/Core/Section.cpp
Commit 109954410c34434a181f5eb48cbd14f4122101c7 by anjankumar.g.k
[AIX] Pass the -b option to linker on AIX

Parse the -b option in the driver and pass it to the linker if the target OS is AIX. This will establish compatibility with the other AIX compilers.

Reviewed By: Zarko Todorovski

Differential Revision: https://reviews.llvm.org/D106688
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Driver/ToolChains/CommonArgs.cpp
The file was modifiedclang/test/Driver/Xlinker-args.c
Commit 9efffe8278723e55b4de89ea05f796b67fb9d54e by Louis Dionne
[libc++][NFC] Make private header generation CMake comment more consistent
The file was modifiedlibcxx/utils/CMakeLists.txt
Commit 916d5b9098425b08e74dfd4ee336385c1f731a8b by a.bataev
[SLP][NFC]Add a test for split loads, NFC.
The file was addedllvm/test/Transforms/SLPVectorizer/X86/split-load8_2-unord.ll
Commit 0bd14711ac4a5d7974473b32b0b5315b054cb77e by vyng
[lld-macho] Change personalities entry type to Ptr to avoid overflowing uint32

PR51262

Differential Revision: https://reviews.llvm.org/D107035
The file was modifiedlld/MachO/UnwindInfoSection.cpp
Commit 8a0d6e839f0f1a159284d03e45b9297e48c0615c by ataei
Rorder mmt4d iteration domain

Move tile iterators to outer most dim

Reviewed By: rsuderman

Differential Revision: https://reviews.llvm.org/D107003
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
The file was modifiedmlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
Commit bc96aa9f2c9b25ae65a7e05dbbff8c28079db9c9 by mgorny
[clang] Fix typos in Options.td and regen ClangCommandLineReference.rst.

Differential Revision: https://reviews.llvm.org/D106664
The file was modifiedclang/docs/ClangCommandLineReference.rst
The file was modifiedclang/include/clang/Driver/Options.td
Commit 1862ffe25a2e927ecae012f5f0c4cdf7c3fc1b67 by mgorny
[clang] Fix a typo in the manual page: s/contraint/constraint.

While there, update hardcoded Clang version from 3.5 to 13.

Differential Revision: https://reviews.llvm.org/D106867
The file was modifiedclang/tools/scan-build/man/scan-build.1
Commit 1c144410e791032dfea7dc744518a2c051ec0510 by ezhulenev
Refactor AsyncToAsyncRuntime pass to boost understandability.

Depends On D106730

Reviewed By: ezhulenev

Differential Revision: https://reviews.llvm.org/D106731
The file was modifiedmlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp
The file was modifiedmlir/test/Dialect/Async/async-to-async-runtime-eliminate-blocking.mlir
The file was modifiedmlir/test/Dialect/Async/async-to-async-runtime.mlir
Commit 532c458fa8903deb83a0cbc487dcf51858939172 by Amara Emerson
[GlobalISel] Add GPtrAdd and use it in some combines.
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/GenericMachineInstrs.h
Commit 5b2e7f50a6798fd9b9c79d9d62fdebcd9e78525b by stellaraccident
[MLIR][python] Export CAPI headers.

* Adds source targets (not included in the full set that downstreams use by default) to bundle mlir-c/ headers into the mlir/_mlir_libs/include directory.
* Adds a minimal entry point to get include and library directories.
* Used by npcomp to export a full CAPI (which is then used by the Torch extension to link npcomp).

Reviewed By: mikeurbach

Differential Revision: https://reviews.llvm.org/D107090
The file was modifiedmlir/cmake/modules/AddMLIRPython.cmake
The file was addedmlir/test/python/develoment_files.py
The file was modifiedmlir/python/CMakeLists.txt
The file was modifiedmlir/python/mlir/_mlir_libs/__init__.py
Commit 84a4caeb84d31550790d6922903714b6563469c9 by sander.desmalen
[InstSimplify] Don't assume parent function when simplifying llvm.vscale.

D106850 introduced a simplification for llvm.vscale by looking at the
surrounding function's vscale_range attributes. The call that's being
simplified may not yet have been inserted into the IR. This happens for
example during function cloning.

This patch fixes the issue by checking if the instruction is in a
parent basic block.
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
The file was modifiedllvm/test/Transforms/InstSimplify/fold-vscale.ll
The file was modifiedllvm/unittests/Transforms/Utils/LocalTest.cpp
Commit d8e4cb912180ce0a35d31b616e6f4c0c3d64abb7 by jonathan.l.peyton
[OpenMP] libomp: Add new experimental barrier: two-level distributed barrier

Two-level distributed barrier is a new experimental barrier designed
for Intel hardware that has better performance in some cases than the
default hyper barrier.

This barrier is designed to handle fine granularity parallelism where
barriers are used frequently with little compute and memory access
between barriers. There is no need to use it for codes with few
barriers and large granularity compute, or memory intensive
applications, as little difference will be seen between this barrier
and the default hyper barrier. This barrier is designed to work
optimally with a fixed number of threads, and has a significant setup
time, so should NOT be used in situations where the number of threads
in a team is varied frequently.

The two-level distributed barrier is off by default -- hyper barrier
is used by default. To use this barrier, you must set all barrier
patterns to use this type, because it will not work with other barrier
patterns. Thus, to turn it on, the following settings are required:

KMP_FORKJOIN_BARRIER_PATTERN=dist,dist
KMP_PLAIN_BARRIER_PATTERN=dist,dist
KMP_REDUCTION_BARRIER_PATTERN=dist,dist

Branching factors (set with KMP_FORKJOIN_BARRIER, KMP_PLAIN_BARRIER,
and KMP_REDUCTION_BARRIER) are ignored by the two-level distributed
barrier.

Patch fixed for ITTNotify disabled builds and non-x86 builds

Co-authored-by: Jonathan Peyton <jonathan.l.peyton@intel.com>
Co-authored-by: Vladislav Vinogradov <vlad.vinogradov@intel.com>

Differential Revision: https://reviews.llvm.org/D103121
The file was addedopenmp/runtime/src/kmp_barrier.h
The file was modifiedopenmp/runtime/src/z_Windows_NT_util.cpp
The file was modifiedopenmp/runtime/cmake/config-ix.cmake
The file was modifiedopenmp/runtime/src/kmp_wait_release.h
The file was modifiedopenmp/runtime/src/kmp_os.h
The file was modifiedopenmp/runtime/src/i18n/en_US.txt
The file was modifiedopenmp/runtime/src/z_Linux_util.cpp
The file was modifiedopenmp/runtime/src/kmp.h
The file was modifiedopenmp/runtime/src/kmp_barrier.cpp
The file was modifiedopenmp/runtime/src/kmp_stats.h
The file was modifiedopenmp/runtime/src/kmp_settings.cpp
The file was modifiedopenmp/runtime/test/barrier/omp_barrier.c
The file was modifiedopenmp/runtime/src/kmp_atomic.cpp
The file was modifiedopenmp/runtime/src/kmp_tasking.cpp
The file was modifiedopenmp/runtime/src/kmp_wait_release.cpp
The file was modifiedopenmp/runtime/src/kmp_config.h.cmake
The file was modifiedopenmp/runtime/src/kmp_global.cpp
The file was modifiedopenmp/runtime/src/kmp_str.h
The file was modifiedopenmp/runtime/src/kmp_runtime.cpp
The file was modifiedopenmp/runtime/src/kmp_str.cpp
Commit 087195419719e908394081b4cc6f365170b9882c by cjdb
Revert "Revert "[clang][pp] adds '#pragma include_instead'""

Includes regression test for problem noted by @hans.
This reverts commit 973de7185606a21fd5e9d5e8c014fbf898c0e72f.

Differential Revision: https://reviews.llvm.org/D106898
The file was modifiedclang/include/clang/Basic/DiagnosticLexKinds.td
The file was addedclang/test/Preprocessor/Inputs/include_instead/bad-syntax.h
The file was addedclang/test/PCH/ms-pch-macro-include_instead-regression.c
The file was addedclang/test/Preprocessor/Inputs/include_instead/public-empty.h
The file was modifiedclang/lib/Lex/PPLexerChange.cpp
The file was modifiedclang/lib/Lex/Lexer.cpp
The file was addedclang/test/Preprocessor/include_instead.cpp
The file was modifiedclang/include/clang/Lex/PreprocessorLexer.h
The file was addedclang/test/Preprocessor/Inputs/include_instead/private1.h
The file was modifiedclang/lib/Lex/Pragma.cpp
The file was addedclang/test/Preprocessor/Inputs/include_instead/public-after.h
The file was addedclang/test/Preprocessor/Inputs/include_instead/private3.h
The file was addedclang/test/Preprocessor/include_instead_file_not_found.cpp
The file was addedclang/test/Preprocessor/Inputs/include_instead/private-x.h
The file was addedclang/test/Preprocessor/Inputs/include_instead/non-system-header.h
The file was modifiedclang/include/clang/Lex/HeaderSearch.h
The file was addedclang/test/Preprocessor/Inputs/include_instead/file-not-found.h
The file was addedclang/test/Preprocessor/Inputs/include_instead/public-before.h
The file was modifiedclang/lib/Lex/PPDirectives.cpp
The file was modifiedclang/include/clang/Lex/Preprocessor.h
The file was addedclang/test/Preprocessor/Inputs/include_instead/private2.h
Commit 7645cdcb482694d30771c3409e43ebf2a448211f by anjankumar.g.k
Revert "[AIX] Pass the -b option to linker on AIX"

This reverts commit 109954410c34434a181f5eb48cbd14f4122101c7.
The file was modifiedclang/test/Driver/Xlinker-args.c
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Driver/ToolChains/CommonArgs.cpp
Commit b4d945bacdaf2c60dd5fdb119b90cced73c41beb by andrew.kaylor
Fixing an infinite loop problem in InstCombine

Patch by Mohammad Fawaz

This issues started happening after
https://github.com/llvm/llvm-project/commit/b373b5990d5991a920c421b21a352e4ccf4c4993
Basically, if the memcpy is volatile, the collectUsers() function should
return false, just like we do for volatile loads.

Differential Revision: https://reviews.llvm.org/D106950
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
The file was modifiedllvm/test/Transforms/InstCombine/memcpy-from-global.ll
Commit 1dbc9b534b2a4903af0f98bde72b8f6da797bc19 by leairmark
Fix runtime internal error with certain intrinsics that can take a scalar
result descriptor (e.g., maxloc, minloc, maxval, minval, all, any, count,
parity, findloc, etc.)

Also add a scalar case for these intrinsic unit tests.

Differential Revision: https://reviews.llvm.org/D106820
The file was modifiedflang/runtime/reduction-templates.h
The file was modifiedflang/runtime/reduction.cpp
The file was modifiedflang/unittests/RuntimeGTest/Reduction.cpp
Commit 585663225287ec9a26ead936a8424fc0e8a175da by ayermolo
[DWARF] Refactor test to remove relocations for DWO

The way this test generates object file results in relocation sections for .dwo sections. This is not legal. Re-wrote it to avoid those relocation sections.

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D107012
The file was modifiedllvm/test/DebugInfo/X86/dwarfdump-header.s
Commit 18c25cd376b6ea38971abb407751cdf08e1e5622 by gclayton
[LLDB][GUI] Add Create Target form

This patch adds a Create Target form for the LLDB GUI. Additionally, an
Arch Field was introduced to input an arch and the file and directory
fields now have a required property.

Reviewed By: clayborg

Differential Revision: https://reviews.llvm.org/D106192
The file was modifiedlldb/source/Core/IOHandlerCursesGUI.cpp
Commit 62bd33158d924f907dfe2ccd250f20ddb8ed09a9 by gclayton
[LLDB][GUI] Add Environment Variable Field

This patch adds an environment variable field. This is usually used as
the basic type of a List field. This is needed to create the process
launch form.

Reviewed By: clayborg

Differential Revision: https://reviews.llvm.org/D106999
The file was modifiedlldb/source/Core/IOHandlerCursesGUI.cpp
Commit 256a83b0838d41a1ac6c3d89060d5bf84255dab9 by antiagainst
[mlir] Fix CMake option for enabling SPIR-V CPU runner

Reviewed By: hanchung

Differential Revision: https://reviews.llvm.org/D107092
The file was modifiedmlir/tools/mlir-spirv-cpu-runner/CMakeLists.txt
Commit 995c3984efe3e55c97202335f21d4a14376be995 by antiagainst
[mlir] NFC: split Math to SPIR-V conversion into their own files

Reviewed By: hanchung

Differential Revision: https://reviews.llvm.org/D107093
The file was modifiedmlir/include/mlir/Conversion/Passes.td
The file was modifiedmlir/test/Conversion/StandardToSPIRV/std-ops-to-spirv.mlir
The file was modifiedmlir/include/mlir/Conversion/Passes.h
The file was addedmlir/lib/Conversion/MathToSPIRV/MathToSPIRVPass.cpp
The file was modifiedmlir/lib/Conversion/StandardToSPIRV/StandardToSPIRV.cpp
The file was addedmlir/include/mlir/Conversion/MathToSPIRV/MathToSPIRV.h
The file was modifiedmlir/lib/Conversion/CMakeLists.txt
The file was addedmlir/test/Conversion/MathToSPIRV/math-to-spirv.mlir
The file was addedmlir/lib/Conversion/MathToSPIRV/CMakeLists.txt
The file was addedmlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp
The file was modifiedutils/bazel/llvm-project-overlay/mlir/BUILD.bazel
The file was addedmlir/include/mlir/Conversion/MathToSPIRV/MathToSPIRVPass.h
Commit 26be7fe27c66a4db21ca2290ade10b171513177f by antiagainst
[mlir] NFC: split MemRef to SPIR-V conversion into their own files

Reviewed By: hanchung

Differential Revision: https://reviews.llvm.org/D107094
The file was modifiedmlir/include/mlir/Conversion/Passes.h
The file was modifiedmlir/lib/Conversion/GPUToSPIRV/GPUToSPIRVPass.cpp
The file was modifiedmlir/lib/Conversion/CMakeLists.txt
The file was modifiedmlir/lib/Conversion/StandardToSPIRV/StandardToSPIRV.cpp
The file was modifiedmlir/lib/Conversion/SCFToSPIRV/SCFToSPIRVPass.cpp
The file was modifiedmlir/include/mlir/Conversion/Passes.td
The file was addedmlir/lib/Conversion/MemRefToSPIRV/CMakeLists.txt
The file was addedmlir/include/mlir/Conversion/MemRefToSPIRV/MemRefToSPIRVPass.h
The file was modifiedmlir/test/Conversion/StandardToSPIRV/std-ops-to-spirv.mlir
The file was addedmlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRV.cpp
The file was modifiedmlir/lib/Conversion/SCFToSPIRV/CMakeLists.txt
The file was addedmlir/include/mlir/Conversion/MemRefToSPIRV/MemRefToSPIRV.h
The file was addedmlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRVPass.cpp
The file was modifiedutils/bazel/llvm-project-overlay/mlir/BUILD.bazel
The file was addedmlir/test/Conversion/MemRefToSPIRV/alloc.mlir
The file was addedmlir/test/Conversion/MemRefToSPIRV/memref-to-spirv.mlir
The file was removedmlir/test/Conversion/StandardToSPIRV/alloc.mlir
Commit c54d5c97564bf8797f2c97ea75bae14b47196d18 by Amara Emerson
[GlobalISel] Use GMergeLikeOp to simplify a combine. NFC.
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
Commit 993220a99ccef6657d6d5d04dc51c06255f285f2 by apl
[lldb] Remove CPlusPlusLanguage from Mangled

The only remaining plugin dependency in Mangled is CPlusPlusLanguage which it
uses to extract information from C++ mangled names. The static function
GetDemangledNameWithoutArguments is written specifically for C++, so it
would make sense for this specific functionality to live in a
C++-related plugin. In order to keep this functionality in Mangled
without maintaining this dependency, I added
`Language::GetDemangledFunctionNameWithoutArguments`.

Differential Revision: https://reviews.llvm.org/D105215
The file was modifiedlldb/include/lldb/Target/Language.h
The file was modifiedlldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
The file was modifiedlldb/source/Core/Mangled.cpp
The file was modifiedlldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h
Commit 321a04bf62b247db853d136df43d3cdd58d88c53 by leonardchan
[compiler-rt][hwasan] Check for SANITIZER_POSIX before including sanitizer_posix.h

Rather than throwing an error. This way we can still use files like
hwasan_dynamic_shadow.cpp for other platforms without leading to a
preprocessor error.

Differential Revision: https://reviews.llvm.org/D106979
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_posix.h
Commit b06426da764a8d0254521b33d667db8f26ae5e2f by i
[ELF] Add -Bsymbolic-non-weak-functions

This option is a subset of -Bsymbolic-functions. It applies to STB_GLOBAL
STT_FUNC definitions.

The address of a vague linkage function (STB_WEAK STT_FUNC, e.g. an inline
function, a template instantiation) seen by a -Bsymbolic-functions linked
shared object may be different from the address seen from outside the shared
object. Such cases are uncommon. (ELF/Mach-O programs may use
`-fvisibility-inlines-hidden` to break such pointer equality.  On Windows,
correct dllexport and dllimport are needed to make pointer equality work.
Windows link.exe enables /OPT:ICF by default so different inline functions may
have the same address.)

```
// a.cc -> a.o -> a.so (-Bsymbolic-functions)
inline void f() {}
void *g() { return (void *)&f; }

// b.cc -> b.o -> exe
// The address is different!
inline void f() {}
```

-Bsymbolic-non-weak-functions is a safer (C++ conforming) subset of
-Bsymbolic-functions, which can make such programs work.

Implementations usually emit a vague linkage definition in a COMDAT group.  We
could detect the group (with more code) but I feel that we should just check
STB_WEAK for simplicity. A weak definition will thus serve as an escape hatch
for rare cases when users want interposition on definitions.

GNU ld feature request: https://sourceware.org/bugzilla/show_bug.cgi?id=27871

Longer write-up: https://maskray.me/blog/2021-05-16-elf-interposition-and-bsymbolic

If Linux distributions migrate to protected non-vague-linkage external linkage
functions by default, the linker option can still be handy because it allows
rapid experiment without recompilation. Protected function addresses currently
have deep issues in GNU ld.

Reviewed By: peter.smith

Differential Revision: https://reviews.llvm.org/D102570
The file was modifiedlld/ELF/SyntheticSections.cpp
The file was modifiedlld/docs/ld.lld.1
The file was modifiedlld/ELF/Config.h
The file was modifiedlld/ELF/Driver.cpp
The file was modifiedlld/docs/ReleaseNotes.rst
The file was modifiedlld/ELF/Options.td
The file was modifiedlld/ELF/Symbols.cpp
The file was modifiedlld/test/ELF/bsymbolic.s
Commit 9a824823131600bca71406f533c2ba051c23c7d7 by cathyzhyi
[mlir][linalg] Fix pad tensor cast folding with changed type

`PadTensorOp` has verification logic to make sure
result dim must be static if all the padding values are static.
Cast folding might add more static information for the src operand
of `PadTensorOp` which might change a valid operation to be invalid.
Change the canonicalizing pattern to fix this.
The file was modifiedmlir/test/Dialect/Linalg/canonicalize.mlir
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
Commit 8e167f66b27fe9d2573eb149f736700302675297 by 31459023+hctim
[GWP-ASan] Add version header.

Adds magic version header to AllocatorState. This can be used by
out-of-process crash handlers, like Crashpad on Fuchsia, to do offline
reconstruction of GWP-ASan crash metadata.

Crashpad on Fuchsia is intending on dumping the AllocationMetadata pool
and the AllocatorState directly into the minidump. Then, using the
version number, they can unpack the data on serverside using a versioned
unpack tool.

Also add some asserts to make sure the version number gets bumped if the
internal structs get changed.

Reviewed By: eugenis, mcgrathr

Differential Revision: https://reviews.llvm.org/D106690
The file was modifiedcompiler-rt/lib/gwp_asan/common.h
Commit d4a2daa919272081582c6c14141dd57a6eab9832 by david.green
[ARM] Define a couple more ssub indexes. NFC

Same as 91bd3ad128f7b3b28bd98242e9a5df214eb04eea, this doesn't really
change anything but gives the registers better names than the ones
tablegen would define. And fills in the missing gaps.
The file was modifiedllvm/lib/Target/ARM/ARMRegisterInfo.td
Commit 2ca8295c860f1e8e300c2fde5c4e84b72d8248aa by leairmark
Fix unit test checks for the scalar cases of all/any intrinsics. I
accidentally used int64 when they should have been int32. This lead to
a Windows build unit test error (Linux did not catch the problem).

Differential Revision: https://reviews.llvm.org/D107107
The file was modifiedflang/unittests/RuntimeGTest/Reduction.cpp
Commit 26ba774f6865f0c6bb15dbbe80dc23e1db33d54b by Adrian Prantl
Simplify testcase to use v instead of p (NFC)
The file was modifiedlldb/test/API/commands/process/attach/TestProcessAttach.py
Commit cf36ab1d6c39e80a70b5a1dc80120cccccb5301c by stellaraccident
[MLIR][Python] Use DEST_PREFIX when installing.

Differential Revision: https://reviews.llvm.org/D107100
The file was modifiedmlir/cmake/modules/AddMLIRPython.cmake
Commit 2d0ba5e1446f0025603bbe064090737c5510bcf4 by rob.suderman
[mlir][tosa] Fix tosa.reshape failures due to implicit broadcasting

Make broadcastable needs the output shape to determine whether the operation
includes additional broadcasting. Include some canonicalizations for TOSA
to remove unneeded reshape.

Reviewed By: NatashaKnk

Differential Revision: https://reviews.llvm.org/D106846
The file was modifiedmlir/lib/Dialect/Tosa/IR/TosaOps.cpp
The file was modifiedmlir/lib/Dialect/Tosa/Transforms/TosaMakeBroadcastable.cpp
The file was modifiedmlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
The file was modifiedmlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
The file was modifiedmlir/test/Dialect/Tosa/broadcast.mlir
Commit 4c98e9455aadee2629dd4f117b6c4e7e9e87cc01 by George Burgess IV
security: highlight phab accounts; recommend phab for nominations

This commit contains two mildly separate concepts.

First, sending out reviews for things like this is a bit of a
complicated endeavor, since the reviewer list is relatively long, and I
generally rely on prior CLs in this area to find an authoritative list.
Life's quite a bit easier if phab usernames are readily available on the
doc. So part 1 is making those available.

Second, it seems to me that, at the moment, Phabricator makes the most
sense for membership changes (incl. security group nominations). My
reasoning for this is detailed in the diff, and to some extent in
comment #1 of this bug
<https://bugs.chromium.org/p/llvm/issues/detail?id=12#c1>. This change
adds prose to recommend the use of Phabricator for nominations as a
result.

Differential Revision: https://reviews.llvm.org/D106917
The file was modifiedllvm/docs/Security.rst
Commit a8b7e56f65c78a49ba0297c4ecabbd643fa40c25 by amy.zhuang
[mlir] Set insertion point of vector constant to the top of the vectorized loop body

When we vectorize a scalar constant, the vector constant is inserted before its
first user if the scalar constant is defined outside the loops to be vectorized.
It is possible that the vector constant does not dominate all its users. To fix
the problem, we find the innermost vectorized loop that encloses that first user
and insert the vector constant at the top of the loop body.

Reviewed By: nicolasvasilache

Differential Revision: https://reviews.llvm.org/D106609
The file was modifiedmlir/test/Dialect/Affine/SuperVectorize/vectorize_1d.mlir
The file was modifiedmlir/test/Dialect/Affine/SuperVectorize/vectorize_2d.mlir
The file was modifiedmlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
Commit c5d84d2eb35c1f0d3b08e1d1e95c1a22a28904d1 by Adrian Prantl
GlobalISel/AArch64: don't optimize away redundant branches at -O0

This patch prevents GlobalISel from optimizing out redundant branch
instructions when compiling without optimizations.

The motivating example is code like the following common pattern in
Swift, where users expect to be able to set a breakpoint on the early
exit:

public func f(b: Bool) {
  guard b else {
    return // I would like to set a breakpoint here.
  }
  ...
}

The patch modifies two places in GlobalISEL: The first one is in
IRTranslator.cpp where the removal of redundant branches is made
conditional on the optimization level. The second one is in
AArch64InstructionSelector.cpp where an -O0 *only* optimization is
being removed.

Disabling these optimizations increases code size at -O0 by
~8%. However, doing so improves debuggability, and debug builds are
the primary reason why developers compile without optimizations. We
thus concluded that this is the right trade-off.

rdar://79515454

This tenatively reapplies the patch without modifications, the LLDB
test that has blocked this from landing previously has since been
modified to hopefully no longer be sensitive to this change.

Differential Revision: https://reviews.llvm.org/D105238
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/phi.ll
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was addedllvm/test/DebugInfo/AArch64/fallthrough-branch.ll
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic-128.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/long_ambiguous_chain_s32.ll
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
The file was modifiedllvm/test/CodeGen/AArch64/unwind-preserved.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/long_ambiguous_chain_s64.ll
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/jump_table_and_brjt.ll
Commit f3c39ee84ad6950035a6083c076fdebddebefb04 by spatel
[InstCombine] add tests for vector cmp-bitcast; NFC
The file was modifiedllvm/test/Transforms/InstCombine/icmp-vec.ll
Commit 0fd813cf19c754a6cb3f2483332038a49eac33bd by Adrian Prantl
Fix typo
The file was modifiedlldb/test/API/commands/process/attach/TestProcessAttach.py
Commit 648844fd69fa304a04aab2e39dcb114c89d078bf by Adrian Prantl
Make testcase more robust against codegen changes
The file was modifiedlldb/test/API/commands/process/attach/main.cpp
Commit cd0dd8ece8e67a3bea96056b2ef15afb481155ad by huberjn
[OpenMP] Adding flags for disabling the following optimizations: Deglobalization SPMDization State machine rewrites Folding

This work provides four flags to disable four different sets of OpenMP optimizations. These flags take effect in llvm/lib/Transforms/IPO/OpenMPOpt.cpp and include the following:
- openmp-opt-disable-deglobalization: Defaults to false, adding this flag sets the variable DisableOpenMPOptDeglobalization to true. This prevents AA registration for HeapToStack and HeapToShared.
- openmp-opt-disable-spmdization: Defaults to false, adding this flag sets the variable DisableOpenMPOptSPMDization to true. This indicates a pessimistic fixpoint in changeToSPMDMode.
- openmp-opt-disable-folding: Defaults to false, adding this flag sets the variable DisableOpenMPOptFolding to true. This indicates a pessimistic fixpoint in the attributor init for AAFoldRuntimeCall.
- openmp-opt-disable-state-machine-rewrite: Defaults to false, adding this flag sets the variable DisableOpenMPOptStateMachineRewrite to true. This first prevents changes to the state machine in rewriteDeviceCodeStateMachine by returning before changes are made, and if a custom state machine is built in buildCustomStateMachine, stops by returning a pessimistic fixpoint.

Reviewed By: jhuber6

Differential Revision: https://reviews.llvm.org/D106802
The file was modifiedllvm/test/Transforms/OpenMP/remove_globalization.ll
The file was modifiedllvm/test/Transforms/OpenMP/spmdization.ll
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
The file was modifiedllvm/test/Transforms/OpenMP/custom_state_machines.ll
The file was modifiedllvm/test/Transforms/OpenMP/fold_generic_main_thread.ll
Commit cc238a6e038832b804c8010e02b87ff9e84e0bfe by marksl
[ARC] Add additional mov immediate instruction formats with a fix for u6 decoding

Differential Revision: https://reviews.llvm.org/D107088
The file was modifiedllvm/lib/Target/ARC/ARCInstrFormats.td
The file was modifiedllvm/lib/Target/ARC/ARCInstrInfo.td
The file was modifiedllvm/lib/Target/ARC/Disassembler/ARCDisassembler.cpp
The file was modifiedllvm/test/MC/Disassembler/ARC/misc.txt
The file was modifiedllvm/test/MC/Disassembler/ARC/alu.txt
Commit a68ccba77a48494a5200245ddcd085e49a77a2d1 by smeenai
[compiler-rt] Fix COMPILER_RT_OS_DIR for Android

Android has its own CMAKE_SYSTEM_NAME, but the OS is Linux (Android
target triples look like aarch64-none-linux-android21). The driver will
therefore search for compiler-rt libraries in the "linux" directory and
not the "android" directory, so the default placement of Android
compiler-rt libraries was incorrect. You could fix it by specifying
COMPILER_RT_OS_DIR manually, but it also makes sense to fix the default,
to save others from having to discover and fix the issue for themselves.
The file was modifiedcompiler-rt/cmake/base-config-ix.cmake
Commit f984b0e177f8342a66bde66f65c71ac68bc9acf0 by Amara Emerson
[GlobalISel] Refactor the unmerge artifact value finder code.

I moved the code that tries to combine away each unmerge def into a method in
ArtifactValueFinder class itself. This removes a logically messy lambda and
makes it easier to use the value-finder in more places in future.
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
Commit 1e6a93f15c7ea890c876a3a10c7e3970a1710dff by powerman1st
[AVR][clang] Pass '--start-group' and '--end-group' options to avr-ld

Reviewed By: Ben Shi

Differential Revision: https://reviews.llvm.org/D106854
The file was modifiedclang/lib/Driver/ToolChains/AVR.cpp
The file was modifiedclang/test/Driver/avr-ld.c
Commit 811be79433638c3c7eeea65f5438044a5ba8de9a by ben.shi
[RISCV][test] Add new tests for mul optimization in the zba extension with SH*ADD

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D107064
The file was modifiedllvm/test/CodeGen/RISCV/rv64zba.ll
The file was modifiedllvm/test/CodeGen/RISCV/rv32zba.ll
Commit bb6fddb63ca73acb84c39c4d548024bf6398d86e by ben.shi
Optimize mul in the zba extension with SH*ADD

This patch does the following optimization of mul with a constant.

(mul x, 11) -> (SH1ADD (SH2ADD x, x), x)
(mul x, 19) -> (SH1ADD (SH3ADD x, x), x)
(mul x, 13) -> (SH2ADD (SH1ADD x, x), x)
(mul x, 21) -> (SH2ADD (SH2ADD x, x), x)
(mul x, 37) -> (SH2ADD (SH3ADD x, x), x)
(mul x, 25) -> (SH3ADD (SH1ADD x, x), x)
(mul x, 41) -> (SH3ADD (SH2ADD x, x), x)
(mul x, 73) -> (SH3ADD (SH3ADD x, x), x)
(mul x, 27) -> (SH1ADD (SH3ADD x, x), (SH3ADD x, x))
(mul x, 45) -> (SH2ADD (SH3ADD x, x), (SH3ADD x, x))
(mul x, 81) -> (SH3ADD (SH3ADD x, x), (SH3ADD x, x))

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D107065
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfo.td
The file was modifiedllvm/test/CodeGen/RISCV/rv32zba.ll
The file was modifiedllvm/test/CodeGen/RISCV/rv64zba.ll
The file was modifiedllvm/test/CodeGen/RISCV/xaluo.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoB.td
Commit 1de7a17ff3201e4aa29cf53c0745e8666fbf8286 by stellaraccident
[MLIR][python] Disable SONAME on extensions.

* Broken out of https://reviews.llvm.org/D106419
* Otherwise, same named modules will conflict with each other.

Differential Revision: https://reviews.llvm.org/D107113
The file was modifiedmlir/cmake/modules/AddMLIRPython.cmake
Commit e622c99f305dc1fe9385742079a9ac6f81f86d2e by marksl
[ARC] Add norm/normh instructions with disassembly tests
Add disassembler support for the NORM and NORMH instructions. These instructions
only exist when the ARC processor is configured with the "norm" extension.

fferential Revision: https://reviews.llvm.org/D107118
The file was modifiedllvm/test/MC/Disassembler/ARC/misc.txt
The file was modifiedllvm/lib/Target/ARC/ARCInstrInfo.td
Commit 6fa2d0fbf4637c3db7c4a57eb4c8522c216c82ea by gcmn
[Bazel] Derive targets from file presence as in CMake build

This makes the logic used to determine if targets have the given
features the same as is used in CMake. Incidentally, it enables these
features for the targets added in https://reviews.llvm.org/D106921
which were missing because this was previously a hardcoded list.

Reviewed By: chandlerc

Differential Revision: https://reviews.llvm.org/D107019
The file was modifiedutils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Commit f3a8a7b91e54884a45895aa10e8433c2ce8e16ba by gcmn
[Bazel] Unconditionally define STDC LIMIT/CONSTANT/FORMAT

These are unconditionally included in the CMake build as well and
necessary for some odd platforms (even though the C++11 standard says
they shouldn't be).

Reviewed By: chandlerc

Differential Revision: https://reviews.llvm.org/D107123
The file was modifiedutils/bazel/llvm-project-overlay/llvm/config.bzl
Commit d983499543ee9f5b2fec3d437e0a15acacb9586d by gcmn
[Bazel] Make td_library usable as data

This patch makes it possible to list a td_library as a rule's data
attribute and get its source files and all its transitive dependencies
at runtime. This is useful for, e.g. shell tests running tblgen.

Note that this is a bit different from how a "normal" (e.g. C++) library
rule would work because those have actual library outputs and the
td_library rule just bundles some source files and includes. If someone
wanted to make use of the includes, they would have to access the TdInfo
provider, but this keeps simple things simple.

Reviewed By: jpienaar

Differential Revision: https://reviews.llvm.org/D106922
The file was modifiedutils/bazel/llvm-project-overlay/mlir/tblgen.bzl
Commit 0a68443bd07c48dbaf554f6e3b26b3ab5ed1d383 by walter erquinigo
[source map] fix relative path breakpoints

https://reviews.llvm.org/D45592 added a nice feature to be able to specify a breakpoint by a relative path. E.g. passing foo.cpp or bar/foo.cpp or zaz/bar/foo.cpp is fine. However, https://reviews.llvm.org/D68671 by mistake disabled the test that ensured this functionality works. With time, someone made a small mistake and fully broke the functionality.

So, I'm making a very simple fix and the test passes.

Differential Revision: https://reviews.llvm.org/D107126
The file was modifiedlldb/source/Breakpoint/BreakpointResolverFileLine.cpp
The file was modifiedlldb/test/API/functionalities/breakpoint/breakpoint_command/TestBreakpointCommand.py
Commit a09e93bfb820a261e009422cae53134578274500 by Jinsong Ji
[AIX] Include symbol alias in extract_symbols.py

nm does not show size for aliased symbols,
we should still extract them if they are external.

Reviewed By: hubert.reinterpretcast

Differential Revision: https://reviews.llvm.org/D107112
The file was modifiedllvm/utils/extract_symbols.py
Commit ac2ffdef9cc8d152801ca87d81736fb1dec9cb88 by wei.huang
tsan: Fix the improper argument type in tsan_ilist_test.cpp

- clang-ppc64le-rhel bot LIT failure: https://lab.llvm.org/buildbot/#/builders/57/builds/8932
- culprit change: https://reviews.llvm.org/D107050
The file was modifiedcompiler-rt/lib/tsan/tests/unit/tsan_ilist_test.cpp
Commit f16a4fcbe510d17b3f361d446eaf223208ded2bd by anton.zabaznov
[OpenCL] Add support of __opencl_c_3d_image_writes feature macro

This feature requires support of __opencl_c_images, so diagnostics for that is provided as well.
Also, ensure that cl_khr_3d_image_writes feature macro is set to the same value.

Reviewed By: Anastasia

Differential Revision: https://reviews.llvm.org/D106260
The file was modifiedclang/test/SemaOpenCL/unsupported-image.cl
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/Basic/Targets/AMDGPU.h
The file was modifiedclang/lib/Basic/OpenCLOptions.cpp
The file was modifiedclang/lib/Sema/SemaType.cpp
The file was modifiedclang/test/Misc/opencl-c-3.0.incorrect_options.cl
Commit 5839976976bc018b674f45f56f8a13707b870443 by walter erquinigo
[nfc][trace] use formatv instead of the old Printf

It was suggested in https://reviews.llvm.org/D105741 and it makes sense.
The file was modifiedlldb/source/Plugins/TraceExporter/ctf/CommandObjectThreadTraceExportCTF.cpp
Commit 8011fc1953831ff289da7e8854f684f5c8e6205c by esme.yi
[yaml2obj] Enable support for parsing 64-bit XCOFF.

Summary: Add support for yaml2obj to parse 64-bit XCOFF.

Reviewed By: shchenz

Differential Revision: https://reviews.llvm.org/D100375
The file was modifiedllvm/lib/ObjectYAML/XCOFFEmitter.cpp
The file was addedllvm/test/tools/yaml2obj/XCOFF/basic-doc64.yaml
The file was modifiedllvm/include/llvm/BinaryFormat/XCOFF.h
Commit 754520a2bf55a0873753efb1d863a5ffd116c48b by stefanp
[PowerPC] Fix issue where hint was providing the incorrect regsiter class.

Regsier hints when copying to a UACC register do not always produce VSRp
registers. This patch makes sure that we do not produce hints in cases
where the subregsiter of the UACC is not a VSRp.

Reviewed By: nemanjai, #powerpc

Differential Revision: https://reviews.llvm.org/D107101
The file was modifiedllvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
The file was addedllvm/test/CodeGen/PowerPC/ppc64-acc-regalloc-bugfix.ll
Commit d1e4b25756730576996457ba7324e9bf210e3693 by anton.zabaznov
[OpenCL] Add support of __opencl_c_pipes feature macro.

'pipe' keyword is introduced in OpenCL C 2.0: so do checks for OpenCL C version while
parsing and then later on check for language options to construct actual pipe. This feature
requires support of __opencl_c_generic_address_space, so diagnostics for that is provided as well.

Reviewed By: Anastasia

Differential Revision: https://reviews.llvm.org/D106748
The file was modifiedclang/test/CodeGenOpenCL/pipe_types.cl
The file was modifiedclang/test/SemaOpenCL/invalid-pipes-cl2.0.cl
The file was modifiedclang/lib/Sema/Sema.cpp
The file was modifiedclang/test/CodeGenOpenCL/pipe_types_mangling.cl
The file was modifiedclang/test/CodeGenOpenCL/pipe_builtin.cl
The file was modifiedclang/test/SemaOpenCL/storageclass.cl
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/lib/Parse/ParseDecl.cpp
The file was modifiedclang/test/CodeGenOpenCL/address-spaces.cl
The file was modifiedclang/test/SemaOpenCL/invalid-pipes-cl1.2.cl
The file was modifiedclang/test/CodeGenOpenCL/address-spaces-mangling.cl
The file was modifiedclang/lib/Basic/OpenCLOptions.cpp
The file was modifiedclang/lib/Basic/TargetInfo.cpp
The file was modifiedclang/include/clang/Basic/LangOptions.def
The file was modifiedclang/test/Misc/opencl-c-3.0.incorrect_options.cl
Commit da6626d12624675c46a73e8545fecc572695efeb by anton.zabaznov
Revert "[OpenCL] Add support of __opencl_c_pipes feature macro."

This reverts commit d1e4b25756730576996457ba7324e9bf210e3693.
The file was modifiedclang/include/clang/Basic/LangOptions.def
The file was modifiedclang/test/CodeGenOpenCL/address-spaces-mangling.cl
The file was modifiedclang/lib/Basic/OpenCLOptions.cpp
The file was modifiedclang/test/SemaOpenCL/storageclass.cl
The file was modifiedclang/test/CodeGenOpenCL/pipe_types.cl
The file was modifiedclang/test/CodeGenOpenCL/pipe_builtin.cl
The file was modifiedclang/lib/Sema/Sema.cpp
The file was modifiedclang/test/SemaOpenCL/invalid-pipes-cl1.2.cl
The file was modifiedclang/lib/Basic/TargetInfo.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/test/CodeGenOpenCL/address-spaces.cl
The file was modifiedclang/test/SemaOpenCL/invalid-pipes-cl2.0.cl
The file was modifiedclang/lib/Parse/ParseDecl.cpp
The file was modifiedclang/test/CodeGenOpenCL/pipe_types_mangling.cl
The file was modifiedclang/test/Misc/opencl-c-3.0.incorrect_options.cl
Commit dfe9895a52cda716867201b321242c136ec60163 by leairmark
Fix scalar unit tests for all, any, maxloc, etc. that caused the ARM build
to fail due to warnings as errors. Note that I could not reproduce the
problem locally, but based on the messages, I think this change will fix
the errors.

Differential Revision: https://reviews.llvm.org/D107120
The file was modifiedflang/unittests/RuntimeGTest/Reduction.cpp
Commit 3c7d2f1b67d123b748beabc91a5ca041b102b065 by airlied
[OpenCL] opencl-c.h: add CL 3.0 non-generic address space atomics

CL 2.0 introduced atomics and generic address space so there were
only one set of APIs for doing atomics, however since CL 3.0
makes generic address space optional, there has to be new sets
of atomic interfaces to handle that cases.

Reviewed By: Anastasia

Differential Revision: https://reviews.llvm.org/D106778
The file was modifiedclang/lib/Headers/opencl-c.h
Commit 7a797b2902993ad9ad9a04dcf46efc64398cd7e3 by mtrofin
Take OptimizationLevel class out of Pass Builder

Pulled out the OptimizationLevel class from PassBuilder in order to be able to access it from within the PassManager and avoid include conflicts.

Reviewed By: mtrofin

Differential Revision: https://reviews.llvm.org/D107025
The file was addedllvm/include/llvm/Passes/OptimizationLevel.h
The file was modifiedllvm/include/llvm/Passes/PassBuilder.h
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedpolly/lib/Support/RegisterPasses.cpp
The file was modifiedpolly/lib/Transform/Canonicalization.cpp
The file was modifiedllvm/lib/LTO/ThinLTOCodeGenerator.cpp
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
The file was modifiedllvm/tools/opt/NewPMDriver.cpp
The file was modifiedllvm/lib/Target/BPF/BPFTargetMachine.cpp
The file was modifiedpolly/include/polly/Canonicalization.h
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedllvm/examples/Bye/Bye.cpp
The file was modifiedllvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
The file was modifiedllvm/lib/LTO/LTOBackend.cpp
Commit 8a241cd9c2479fc5c1fa3b31a1348bec11654367 by Lang Hames
[JITLink][ELF][x86-64] Include relocation name in missing relocation errors.

This saves a level of manual table lookup for those of us who don't remember
ELF relocation numbers off the top of our heads.
The file was modifiedllvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp