Changes

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. [AArch64][SVE] Fix incorrect mask type when lowering fixed type SVE gather/scatter (details)
  2. [MCA] Use LSU for the in-order pipeline (details)
  3. [AArch64][x86] add tests for add-with-overflow folds; NFC (details)
  4. [Orc][examples] Adopt ExecutorProcessControl API and re-enable LLJITWithRemoteDebugging (details)
  5. [DAGCombiner] don't try to partially reduce add-with-overflow ops (details)
  6. [lldb] Assert filecache and live memory match on debug under a setting (details)
  7. [libomptarget][amdgpu] Update printed plugin name (details)
  8. Set TargetCPUName for AIX to default to pwr7. (details)
  9. [ELF] Add two new tests showing broken .tbss alignment if first in PT_TLS (details)
  10. [ELF] Align the first section of a PT_TLS even if its type is SHT_NOBITS (details)
  11. [CodeGen] Remove getPseudoProbeAttribute and addPseudoProbeAttribute (NFC) (details)
  12. [DWARF5] Only fallback to manual index if no entry was found (details)
  13. [libc] rewrite aarch64 memcmp implementation (details)
  14. tsan: add another test for atomics (details)
  15. [PowerPC] Fix return type of XL compat CAS (details)
  16. Revert "[LoopFlatten] Fix missed LoopFlatten opportunity" (details)
  17. tsan: add intrusive doubly-linked list (details)
  18. [lld-macho] Support common symbols in bitcode (but differently from ld64) (details)
  19. [lld-macho][nfc] Simplify common-symbol-coalescing test (details)
  20. tsan: restore Initialize call in Java entry points (details)
  21. tsan: s/CHECK/DCHECK/ in tsan_interface_java.cpp (details)
  22. tsan: introduce LazyInitialize (details)
  23. [mlir][linalg] Format bufferization debug print outs (NFC). (details)
  24. Add an escape-hatch for conversion of funcs with blocking awaits to coroutines. (details)
  25. Handle subregs and superregs in callee-saved register mask (details)
  26. [OpenMP][Tools][Tests][NFC] Address flaky archer tests (details)
  27. [clang][patch][FPEnv] Make initialization of C++ globals strictfp aware (details)
  28. [DSE] Transform memset + malloc --> calloc (PR25892) (details)
  29. [clang][patch] Remove erroneous run line committed in D102343 (details)
  30. [lldb] Fix FunctionDecl::Create after D102343 (details)
  31. Replace LLVM_ATTRIBUTE_NORETURN with C++11 [[noreturn]]. NFC (details)
  32. [Support] Remove LLVM_ATTRIBUTE_NORETURN (details)
  33. [gn build] Manually add file (details)
  34. Support macro deprecation #pragma clang deprecated (details)
  35. Fixing broken docs build (details)
  36. Revert "[lldb] Assert filecache and live memory match on debug under a setting" (details)
  37. [AIX] Pass the -b option to linker on AIX (details)
  38. [libc++][NFC] Make private header generation CMake comment more consistent (details)
  39. [SLP][NFC]Add a test for split loads, NFC. (details)
  40. [lld-macho] Change personalities entry type to Ptr to avoid overflowing uint32 (details)
  41. Rorder mmt4d iteration domain (details)
  42. [clang] Fix typos in Options.td and regen ClangCommandLineReference.rst. (details)
  43. [clang] Fix a typo in the manual page: s/contraint/constraint. (details)
  44. Refactor AsyncToAsyncRuntime pass to boost understandability. (details)
  45. [GlobalISel] Add GPtrAdd and use it in some combines. (details)
  46. [MLIR][python] Export CAPI headers. (details)
  47. [InstSimplify] Don't assume parent function when simplifying llvm.vscale. (details)
  48. [OpenMP] libomp: Add new experimental barrier: two-level distributed barrier (details)
  49. Revert "Revert "[clang][pp] adds '#pragma include_instead'"" (details)
  50. Revert "[AIX] Pass the -b option to linker on AIX" (details)
  51. Fixing an infinite loop problem in InstCombine (details)
  52. Fix runtime internal error with certain intrinsics that can take a scalar (details)
  53. [DWARF] Refactor test to remove relocations for DWO (details)
  54. [LLDB][GUI] Add Create Target form (details)
  55. [LLDB][GUI] Add Environment Variable Field (details)
  56. [mlir] Fix CMake option for enabling SPIR-V CPU runner (details)
  57. [mlir] NFC: split Math to SPIR-V conversion into their own files (details)
  58. [mlir] NFC: split MemRef to SPIR-V conversion into their own files (details)
  59. [GlobalISel] Use GMergeLikeOp to simplify a combine. NFC. (details)
  60. [lldb] Remove CPlusPlusLanguage from Mangled (details)
  61. [compiler-rt][hwasan] Check for SANITIZER_POSIX before including sanitizer_posix.h (details)
  62. [ELF] Add -Bsymbolic-non-weak-functions (details)
  63. [mlir][linalg] Fix pad tensor cast folding with changed type (details)
  64. [GWP-ASan] Add version header. (details)
  65. [ARM] Define a couple more ssub indexes. NFC (details)
  66. Fix unit test checks for the scalar cases of all/any intrinsics. I (details)
  67. Simplify testcase to use v instead of p (NFC) (details)
  68. [MLIR][Python] Use DEST_PREFIX when installing. (details)
  69. [mlir][tosa] Fix tosa.reshape failures due to implicit broadcasting (details)
  70. security: highlight phab accounts; recommend phab for nominations (details)
  71. [mlir] Set insertion point of vector constant to the top of the vectorized loop body (details)
  72. GlobalISel/AArch64: don't optimize away redundant branches at -O0 (details)
  73. [InstCombine] add tests for vector cmp-bitcast; NFC (details)
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/test/CodeGen/AArch64/sve-fixed-length-masked-scatter.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AArch64/sve-fixed-length-masked-gather.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/lib/MCA/Context.cpp
The file was modifiedllvm/test/tools/llvm-mca/AArch64/Cortex/A55-load-store-alias.s
The file was modifiedllvm/lib/MCA/Stages/InOrderIssueStage.cpp
The file was addedllvm/test/tools/llvm-mca/AArch64/Cortex/A55-load-store-noalias.s
The file was modifiedllvm/include/llvm/MCA/Stages/InOrderIssueStage.h
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.h
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/examples/OrcV2Examples/LLJITWithRemoteDebugging/CMakeLists.txt
The file was modifiedllvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/LLJITWithRemoteDebugging.cpp
The file was modifiedllvm/test/Examples/lit.local.cfg
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/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/include/lldb/Target/Target.h
The file was modifiedlldb/source/Core/Section.cpp
The file was modifiedlldb/packages/Python/lldbsuite/test/lldbtest.py
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/lib/Driver/ToolChains/CommonArgs.cpp
The file was modifiedclang/test/Driver/aix-mcpu-default.c
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/test/ELF/linkerscript/tls-nobits-offset.s
The file was modifiedlld/test/ELF/tls-nobits-offset.s
The file was modifiedlld/ELF/Writer.cpp
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-negative.ll
The file was modifiedllvm/lib/Transforms/Scalar/LoopFlatten.cpp
The file was modifiedllvm/test/Transforms/LoopFlatten/loop-flatten.ll
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 addedcompiler-rt/lib/tsan/rtl/tsan_ilist.h
The file was modifiedcompiler-rt/lib/tsan/CMakeLists.txt
The file was addedcompiler-rt/lib/tsan/tests/unit/tsan_ilist_test.cpp
The file was modifiedcompiler-rt/lib/tsan/tests/unit/CMakeLists.txt
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.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_rtl.h
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/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp
The file was modifiedmlir/lib/Dialect/Async/IR/Async.cpp
The file was modifiedmlir/test/Dialect/Async/async-to-async-runtime-eliminate-blocking.mlir
The file was modifiedmlir/include/mlir/Dialect/Async/IR/AsyncDialect.td
The file was modifiedmlir/include/mlir/Dialect/Async/Passes.td
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/test/CodeGen/PowerPC/fp-strict.ll
The file was modifiedllvm/lib/CodeGen/PrologEpilogInserter.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/spe.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-taskwait-nested.c
The file was modifiedopenmp/tools/archer/tests/races/lock-unrelated.c
The file was modifiedopenmp/tools/archer/tests/races/parallel-simple.c
The file was modifiedopenmp/tools/archer/tests/races/critical-unrelated.c
The file was modifiedopenmp/tools/archer/tests/races/task-dependency.c
The file was modifiedopenmp/tools/archer/tests/races/task-taskgroup-unrelated.c
The file was modifiedopenmp/tools/archer/tests/races/lock-nested-unrelated.c
The file was modifiedopenmp/tools/archer/tests/races/task-two.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/SemaExpr.cpp
The file was modifiedclang/lib/AST/DeclCXX.cpp
The file was modifiedclang/test/CodeGen/fp-floatcontrol-class.cpp
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/lib/AST/Decl.cpp
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modifiedclang/lib/CodeGen/CGObjC.cpp
The file was modifiedclang/lib/Sema/SemaLookup.cpp
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp
The file was modifiedclang/lib/Sema/SemaExprCXX.cpp
The file was modifiedclang/include/clang/AST/DeclCXX.h
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was modifiedclang/test/CodeGen/fp-floatcontrol-stack.cpp
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/include/clang/AST/Decl.h
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/unittests/Sema/ExternalSemaSourceTest.cpp
The file was modifiedclang/lib/Sema/SemaLambda.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 modifiedflang/include/flang/Optimizer/Support/FatalError.h
The file was modifiedclang-tools-extra/pp-trace/PPTrace.cpp
The file was modifiedlldb/source/Host/posix/ProcessLauncherPosixFork.cpp
The file was modifiedclang/utils/TableGen/ClangDiagnosticsEmitter.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/include/clang/Basic/DiagnosticGroups.td
The file was modifiedclang/lib/Lex/Pragma.cpp
The file was modifiedclang/lib/Lex/PPExpressions.cpp
The file was modifiedclang/lib/Lex/PPDirectives.cpp
The file was modifiedclang/include/clang/Basic/IdentifierTable.h
The file was modifiedclang/lib/Lex/Preprocessor.cpp
The file was modifiedclang/include/clang/Lex/Preprocessor.h
The file was addedclang/test/Lexer/deprecate-macro.c
The file was modifiedclang/include/clang/Basic/DiagnosticLexKinds.td
The file was modifiedclang/docs/LanguageExtensions.rst
The file was modifiedclang/lib/Lex/PPMacroExpansion.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/test/Shell/lit-lldb-init.in
The file was modifiedlldb/source/Target/Target.cpp
The file was modifiedlldb/source/Target/TargetProperties.td
The file was modifiedlldb/include/lldb/Target/Target.h
The file was modifiedlldb/source/Core/Section.cpp
The file was modifiedlldb/include/lldb/Core/Section.h
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/test/Driver/Xlinker-args.c
The file was modifiedclang/lib/Driver/ToolChains/CommonArgs.cpp
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/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
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/include/clang/Driver/Options.td
The file was modifiedclang/docs/ClangCommandLineReference.rst
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/test/Dialect/Async/async-to-async-runtime-eliminate-blocking.mlir
The file was modifiedmlir/test/Dialect/Async/async-to-async-runtime.mlir
The file was modifiedmlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp
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/python/mlir/_mlir_libs/__init__.py
The file was addedmlir/test/python/develoment_files.py
The file was modifiedmlir/python/CMakeLists.txt
The file was modifiedmlir/cmake/modules/AddMLIRPython.cmake
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/test/Transforms/InstSimplify/fold-vscale.ll
The file was modifiedllvm/unittests/Transforms/Utils/LocalTest.cpp
The file was modifiedllvm/lib/Analysis/InstructionSimplify.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 modifiedopenmp/runtime/src/kmp_atomic.cpp
The file was modifiedopenmp/runtime/src/kmp_tasking.cpp
The file was modifiedopenmp/runtime/src/z_Windows_NT_util.cpp
The file was modifiedopenmp/runtime/src/z_Linux_util.cpp
The file was modifiedopenmp/runtime/src/kmp_global.cpp
The file was modifiedopenmp/runtime/cmake/config-ix.cmake
The file was modifiedopenmp/runtime/src/kmp_runtime.cpp
The file was modifiedopenmp/runtime/src/kmp_wait_release.cpp
The file was modifiedopenmp/runtime/src/kmp_wait_release.h
The file was modifiedopenmp/runtime/src/kmp_barrier.cpp
The file was addedopenmp/runtime/src/kmp_barrier.h
The file was modifiedopenmp/runtime/src/i18n/en_US.txt
The file was modifiedopenmp/runtime/src/kmp_config.h.cmake
The file was modifiedopenmp/runtime/src/kmp_os.h
The file was modifiedopenmp/runtime/src/kmp_str.cpp
The file was modifiedopenmp/runtime/src/kmp_settings.cpp
The file was modifiedopenmp/runtime/src/kmp.h
The file was modifiedopenmp/runtime/src/kmp_stats.h
The file was modifiedopenmp/runtime/test/barrier/omp_barrier.c
The file was modifiedopenmp/runtime/src/kmp_str.h
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/private3.h
The file was addedclang/test/Preprocessor/Inputs/include_instead/public-after.h
The file was addedclang/test/Preprocessor/include_instead_file_not_found.cpp
The file was addedclang/test/Preprocessor/include_instead.cpp
The file was modifiedclang/include/clang/Lex/Preprocessor.h
The file was addedclang/test/Preprocessor/Inputs/include_instead/private-x.h
The file was addedclang/test/Preprocessor/Inputs/include_instead/private1.h
The file was modifiedclang/lib/Lex/PPLexerChange.cpp
The file was addedclang/test/Preprocessor/Inputs/include_instead/non-system-header.h
The file was addedclang/test/Preprocessor/Inputs/include_instead/public-before.h
The file was modifiedclang/lib/Lex/Pragma.cpp
The file was addedclang/test/Preprocessor/Inputs/include_instead/bad-syntax.h
The file was addedclang/test/Preprocessor/Inputs/include_instead/private2.h
The file was addedclang/test/Preprocessor/Inputs/include_instead/public-empty.h
The file was addedclang/test/PCH/ms-pch-macro-include_instead-regression.c
The file was addedclang/test/Preprocessor/Inputs/include_instead/file-not-found.h
The file was modifiedclang/include/clang/Lex/PreprocessorLexer.h
The file was modifiedclang/include/clang/Lex/HeaderSearch.h
The file was modifiedclang/lib/Lex/PPDirectives.cpp
The file was modifiedclang/lib/Lex/Lexer.cpp
Commit 7645cdcb482694d30771c3409e43ebf2a448211f by anjankumar.g.k
Revert "[AIX] Pass the -b option to linker on AIX"

This reverts commit 109954410c34434a181f5eb48cbd14f4122101c7.
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/test/Driver/Xlinker-args.c
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/test/Transforms/InstCombine/memcpy-from-global.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
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/unittests/RuntimeGTest/Reduction.cpp
The file was modifiedflang/runtime/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/lib/Conversion/CMakeLists.txt
The file was addedmlir/test/Conversion/MathToSPIRV/math-to-spirv.mlir
The file was modifiedmlir/include/mlir/Conversion/Passes.h
The file was addedmlir/lib/Conversion/MathToSPIRV/CMakeLists.txt
The file was addedmlir/include/mlir/Conversion/MathToSPIRV/MathToSPIRV.h
The file was addedmlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp
The file was modifiedmlir/test/Conversion/StandardToSPIRV/std-ops-to-spirv.mlir
The file was addedmlir/include/mlir/Conversion/MathToSPIRV/MathToSPIRVPass.h
The file was modifiedutils/bazel/llvm-project-overlay/mlir/BUILD.bazel
The file was addedmlir/lib/Conversion/MathToSPIRV/MathToSPIRVPass.cpp
The file was modifiedmlir/lib/Conversion/StandardToSPIRV/StandardToSPIRV.cpp
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 addedmlir/test/Conversion/MemRefToSPIRV/alloc.mlir
The file was addedmlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRVPass.cpp
The file was modifiedmlir/lib/Conversion/SCFToSPIRV/CMakeLists.txt
The file was modifiedmlir/lib/Conversion/SCFToSPIRV/SCFToSPIRVPass.cpp
The file was modifiedmlir/test/Conversion/StandardToSPIRV/std-ops-to-spirv.mlir
The file was modifiedmlir/lib/Conversion/StandardToSPIRV/StandardToSPIRV.cpp
The file was modifiedmlir/lib/Conversion/GPUToSPIRV/GPUToSPIRVPass.cpp
The file was modifiedutils/bazel/llvm-project-overlay/mlir/BUILD.bazel
The file was modifiedmlir/include/mlir/Conversion/Passes.td
The file was modifiedmlir/include/mlir/Conversion/Passes.h
The file was addedmlir/lib/Conversion/MemRefToSPIRV/CMakeLists.txt
The file was addedmlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRV.cpp
The file was addedmlir/test/Conversion/MemRefToSPIRV/memref-to-spirv.mlir
The file was addedmlir/include/mlir/Conversion/MemRefToSPIRV/MemRefToSPIRVPass.h
The file was modifiedmlir/lib/Conversion/CMakeLists.txt
The file was addedmlir/include/mlir/Conversion/MemRefToSPIRV/MemRefToSPIRV.h
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/Core/Mangled.cpp
The file was modifiedlldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.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/Driver.cpp
The file was modifiedlld/docs/ReleaseNotes.rst
The file was modifiedlld/docs/ld.lld.1
The file was modifiedlld/ELF/Options.td
The file was modifiedlld/ELF/Symbols.cpp
The file was modifiedlld/ELF/SyntheticSections.cpp
The file was modifiedlld/test/ELF/bsymbolic.s
The file was modifiedlld/ELF/Config.h
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/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/test/Dialect/Linalg/canonicalize.mlir
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/include/mlir/Dialect/Tosa/IR/TosaOps.td
The file was modifiedmlir/test/Dialect/Tosa/broadcast.mlir
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
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_2d.mlir
The file was modifiedmlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
The file was modifiedmlir/test/Dialect/Affine/SuperVectorize/vectorize_1d.mlir
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/test/CodeGen/Mips/GlobalISel/llvm-ir/long_ambiguous_chain_s64.ll
The file was modifiedllvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/jump_table_and_brjt.ll
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic-128.ll
The file was modifiedllvm/test/CodeGen/Mips/GlobalISel/llvm-ir/phi.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-atomic.ll
The file was modifiedllvm/test/CodeGen/AArch64/unwind-preserved.ll
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
The file was addedllvm/test/DebugInfo/AArch64/fallthrough-branch.ll
Commit f3c39ee84ad6950035a6083c076fdebddebefb04 by spatel
[InstCombine] add tests for vector cmp-bitcast; NFC
The file was modifiedllvm/test/Transforms/InstCombine/icmp-vec.ll