Changes

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

Summary

  1. [MLIR] Enable tensorcore integration tests (details)
Commit c24b5268477630cb2efd8bf2f7fb3945343e7d03 by thomasraoux
[MLIR] Enable tensorcore integration tests

Differential Revision: https://reviews.llvm.org/D103266
The file was modifiedbuildbot/osuosl/master/config/builders.py

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

Summary

  1. [clang] Fix a crash during code completion (details)
  2. [MLIR][SPIRV] Use getAsmResultName(...) hook for AddressOfOp. (details)
  3. [InstCombine] Missed optimization for pow(x, y) * pow(x, z) with fast-math (details)
  4. [AMDGPU] Increase alignment of LDS globals if necessary before LDS lowering. (details)
  5. [clang][NFC] Break out BaseUsingDecl from UsingDecl (details)
  6. [clang][NFC] Break out enum completion from other type context completion (details)
  7. [clangd] Bump recommended gRPC version (1.33.2 -> 1.36.3) (details)
  8. [Constants] Extend support for scalable-vector splats (details)
  9. [test] Use host platform specific error message substitution (details)
  10. [AMDGPU] Use s_add_i32 for address additions (details)
  11. [clang] Fix using-enum breakage (details)
  12. [clang] Remove inadvertent commit (details)
  13. [InstCombine] Support negation of scalable-vector splats (details)
  14. [flang][driver] Add support for the "-init-only" option (details)
  15. [OpenMP] Check loc for NULL before dereferencing it (details)
  16. [mlir][openacc] Conversion of data operands in acc.parallel to LLVM IR dialect (details)
  17. [Clang][CodeGen] Set the size of llvm.lifetime to unknown for scalable types. (details)
  18. [mlir][openacc] Add canonicalization for standalone data operations for if condition (details)
  19. [mlir][openacc] Add conversion for if operand to scf.if for standalone data operation (details)
  20. [Demangle][Rust] Parse dyn-bounds (details)
  21. [Demangle][Rust] Parse dyn-trait (details)
  22. [Demangle][Rust] Parse dyn-trait-assoc-binding (details)
  23. [CostModel] Return Invalid cost in getArithmeticCost instead of crashing for scalable vectors. (details)
  24. [CostModel][AArch64] NFC: Simplify some cost model tests for SVE. (details)
  25. [NFC] Add missing include to LaneBitmask.h to fix modules build (details)
  26. [lldb] Fix TypeSystemClang compilation after D101777 (details)
  27. [libc++] Simplify a few macros in __config (details)
  28. [docs] Set Phabricator as the tool for pre-commit reviews (details)
  29. [dfsan] Fix internal build errors because of more strict warning checks (details)
  30. [VPlan] Print successors of VPRegionBlocks. (details)
  31. [AArch64] handle -Wa,-march= (details)
  32. [Demangle][Rust] Parse instantiating crate (details)
  33. [RISCV] Don't enable loop vectorizer interleaving if the V extension isn't enabled. (details)
  34. [InstCombine] add tests for FMF propagation via -(C/X); NFC (details)
  35. [InstCombine] refactor match clauses; NFC (details)
  36. [InstCombine] intersect nsz and ninf fast-math-flags (FMF) for fneg(fdiv) fold (details)
  37. [XCOFF][AIX] Enable tooling support for 64 bit symbol table parsing (details)
  38. [RS4GC] Treat inttoptr as base pointer (details)
  39. [RISCV] Lower i8/i16 bswap/bitreverse to grevi/greviw with Zbp. (details)
  40. [MLIR] Conditional Branch Argument Propagation (details)
  41. [lld/mac] Add a test for -reexport_library + -dead_strip_dylibs (details)
  42. [libc++] Rename 'and' to '&&' (details)
  43. [MLIR][GPU] Simplify memcpy of cast (details)
  44. [SCEV] Compute exit counts for unsigned IVs using mustprogress semantics (details)
  45. GlobalISel: Remove unnecessary .getReg(0)s (details)
  46. GlobalISel: Use MMO helper for getting the size in bits (details)
  47. AMDGPU: Move codegen test out of MIR test directory (details)
  48. [OpenMP] libomp: implement OpenMP 5.1 inoutset task dependence type (details)
  49. [OpenMP][runtime] add .clang-tidy file (details)
  50. [LoopUnroll] Clamp unroll count to MaxTripCount (details)
  51. [clang] Fix reading long doubles with va_arg on x86_64 mingw (details)
  52. [X32] Add Triple::isX32(), use it. (details)
  53. [ELF] getRelocatedSection: remove the check for ET_REL object file (details)
  54. [lld/mac] Add reexports after reexporter to inputFiles (details)
  55. [mlir-lsp-server] Add support for hover on region operations (details)
  56. [mlir-lsp-server] Add support for hover on symbol references (details)
  57. [mlir-lsp-server] Fix bug in symbol use/def tracking (details)
  58. Revert "[AArch64] handle -Wa,-march=" (details)
  59. [Test] Add a JumpThreading test exposing a bug in BasicAA. (details)
  60. [BasicAA] Handle PHIs without incoming values gracefully (details)
  61. [SCEV] Properly guard reasoning about infinite loops being UB on mustprogress (details)
  62. [IR] Add utility to convert constant expression operands (of an instruction) to instructions. (details)
  63. [AMDGPU] Introduce command line switch to control super aligning of LDS. (details)
  64. [AMDGPU] Handle constant LDS uses from different kernels (details)
Commit 721476e6b2119a93033903109b54f429b6e8c91b by adamcz
[clang] Fix a crash during code completion

During code completion, lookupInDeclContext() calls
CodeCompletionDeclConsumer::FoundDecl(),which can mutate StoredDeclsMap,
over which lookupInDeclContext() iterates. This can lead to invalidation
of iterators and an assert()-crash.

Example code where this happens:
#include <list>
int main() {
   std::list<int>;
   std::^
}
with code completion on ^ with -std=c++20.

I do not have a repro case that does not need standard library.

This fix stores pointers to NamedDecls in a temporary vector, then
visits them outside of the main loop, when StoredDeclsMap iterators are
gone.

Differential Revision: https://reviews.llvm.org/D103472
The file was modifiedclang/lib/Sema/SemaLookup.cpp
Commit 2def12ebc6cc904cddb4bc608df63014ec2bfe86 by kareem.ergawy
[MLIR][SPIRV] Use getAsmResultName(...) hook for AddressOfOp.

Implements better naming for results of spv.mlir.addressof ops by making it
inherit from OpAsmOpInterface and implementing the associated
getAsmResultName(...) hook.

Reviewed By: antiagainst

Differential Revision: https://reviews.llvm.org/D103594
The file was modifiedmlir/test/Dialect/SPIRV/IR/asm-op-interface.mlir
The file was modifiedmlir/include/mlir/Dialect/SPIRV/IR/SPIRVStructureOps.td
The file was modifiedmlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
Commit 7736c1936a93d7effecf32ef5193dfc00b732cd2 by spatel
[InstCombine] Missed optimization for pow(x, y) * pow(x, z) with fast-math

If FP reassociation (fast-math) is allowed, then LLVM is free to do the
following transformation pow(x, y) * pow(x, z) -> pow(x, y + z).
This patch adds this transformation and tests for it.
See more https://bugs.llvm.org/show_bug.cgi?id=47205

It handles two cases

1. When operands of fmul are different instructions

%4 = call reassoc float @llvm.pow.f32(float %0, float %1)
%5 = call reassoc float @llvm.pow.f32(float %0, float %2)
%6 = fmul reassoc float %5, %4
-->
%3 = fadd reassoc float %1, %2
%4 = call reassoc float @llvm.pow.f32(float %0, float %3)

2. When operands of fmul are the same instruction

%4 = call reassoc float @llvm.pow.f32(float %0, float %1)
%5 = fmul reassoc float %4, %4
-->
%3 = fadd reassoc float %1, %1
%4 = call reassoc float @llvm.pow.f32(float %0, float %3)

Differential Revision: https://reviews.llvm.org/D102574
The file was modifiedllvm/test/Transforms/InstCombine/fmul-pow.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
Commit 52ffbfdffc240085fc6ac39cff2f98e66458171f by mahesha.comp
[AMDGPU] Increase alignment of LDS globals if necessary before LDS lowering.

Before packing LDS globals into a sorted structure, make sure that
their alignment is properly updated based on their size. This will make
sure that the members of sorted structure are properly aligned, and
hence it will further reduce the probability of unaligned LDS access.

Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D103261
The file was modifiedllvm/test/CodeGen/AMDGPU/ds_read2.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/ds_write2.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/promote-alloca-globals.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/lds-global-value.ll
The file was addedllvm/test/CodeGen/AMDGPU/update-lds-alignment.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/lds-alignment.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/ds_read2_offset_order.ll
Commit ddda05add527f7f92a71f387b927f237334f46d9 by nathan
[clang][NFC] Break out BaseUsingDecl from UsingDecl

This is a pre-patch for adding using-enum support.  It breaks out
the shadow decl handling of UsingDecl to a new intermediate base
class, BaseUsingDecl, altering the decl hierarchy to

def BaseUsing : DeclNode<Named, "", 1>;
  def Using : DeclNode<BaseUsing>;
def UsingPack : DeclNode<Named>;
def UsingShadow : DeclNode<Named>;
  def ConstructorUsingShadow : DeclNode<UsingShadow>;

Differential Revision: https://reviews.llvm.org/D101777
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was modifiedclang-tools-extra/clangd/FindTarget.cpp
The file was modifiedclang/lib/CodeGen/CGDebugInfo.cpp
The file was modifiedclang/include/clang/Basic/DeclNodes.td
The file was modifiedclang/lib/AST/DeclCXX.cpp
The file was modifiedclang/lib/Sema/SemaAccess.cpp
The file was modifiedclang/lib/Sema/SemaLookup.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/tools/libclang/CIndex.cpp
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/lib/CodeGen/CGDebugInfo.h
The file was modifiedclang/include/clang/AST/DeclCXX.h
Commit 84ab315574099dcac8f9fb89fe8558f8ccfbce5f by nathan
[clang][NFC] Break out enum completion from other type context completion

This prepatch for using-enum breaks out the enum completion that that
will need from the existing scope completion logic.

Differential Revision: https://reviews.llvm.org/D102239
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/SemaCXXScopeSpec.cpp
Commit d12000ca55d1cc8bc07f75457e3b4efbcd8ff657 by kbobyrev
[clangd] Bump recommended gRPC version (1.33.2 -> 1.36.3)

Context: https://github.com/clangd/clangd/pull/783

Reviewed By: kadircet

Differential Revision: https://reviews.llvm.org/D103393
The file was modifiedclang-tools-extra/clangd/index/remote/README.md
Commit fd3b556958a9deee7ced33ec18b38c030145160b by fraser
[Constants] Extend support for scalable-vector splats

This patch extends the various "isXXX" functions of the `Constant` class
to include scalable-vector splats.

In several "isXXX" functions, code that was separately inspecting
`ConstantVector` and `ConstantDataVector` was unified to use
`getSplatValue`, which already includes support for said splats.

In the varous "isNotXXX" functions, code was added to check whether the
scalar splat value -- if any -- satisfies the predicate.

An extra fix for `isNotMinSignedValue` was included, as it previously
crashed when passed a scalable-vector type because it unconditionally
cast to `FixedVectorType`

These changes address numerous missed optimizations, a compiler crash
mentioned above and -- perhaps most egregiously -- an infinite loop in
InstCombine due to the compiler breaking canonical form when it failed
to pick up on a splat in a select instruction.

Test cases have been added to cover as many of these functions as
possible, though existing coverage is slim; it doesn't appear that there
are any in-tree uses of `Constant::isNegativeZeroValue`, for example.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D103421
The file was modifiedllvm/lib/IR/Constants.cpp
The file was modifiedllvm/test/Transforms/InstCombine/div.ll
The file was modifiedllvm/test/Transforms/InstCombine/icmp-vec.ll
The file was modifiedllvm/test/Transforms/InstCombine/sub.ll
The file was modifiedllvm/test/Transforms/InstCombine/fdiv.ll
The file was modifiedllvm/test/Transforms/InstCombine/bitcast.ll
The file was modifiedllvm/test/Transforms/InstCombine/fmul.ll
Commit 7e176ff2db93304620a9080df2e003ae50f9b826 by Abhina.Sreeskantharajan
[test] Use host platform specific error message substitution

This testcase is failing on z/OS because the regex doesn't match the spelling. This patch modifies the testcase to use the error substitution so it will pass on all platforms.

Reviewed By: jhenderson

Differential Revision: https://reviews.llvm.org/D103804
The file was modifiedllvm/test/tools/llvm-dwarfdump/X86/output.s
Commit 96e1fcb1e005646c3aedc5a723c108e9387ff9e0 by sebastian.neubauer
[AMDGPU] Use s_add_i32 for address additions

This allows to convert the add instruction to s_addk_i32 and
v_add_nc_u32 instead of needing v_add_co_u32 when converting to a VALU
instruction.

Differential Revision: https://reviews.llvm.org/D103322
The file was modifiedllvm/test/CodeGen/AMDGPU/cc-update.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/wwm-reserved-spill.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/local-stack-alloc-block-sp-reference.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/dynamic-alloca-uniform.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/need-fp-from-csr-vgpr-spill.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/non-entry-alloca.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/callee-special-input-vgprs-packed.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr-carry-out.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/frame-index-elimination.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/flat-scratch.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIFrameLowering.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/callee-frame-setup.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/cross-block-use-is-not-abi-copy.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/indirect-call.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/nested-calls.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/unstructured-cfg-def-use-issue.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/call-preserved-registers.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/sgpr-spill.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/sibling-call.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/stack-realign-kernel.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/callee-special-input-sgprs.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/spill-offset-calculation.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/pei-scavenge-sgpr-gfx9.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/wave32.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/frame-setup-without-sgpr-to-vgpr-spills.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/extractelement-stack-lower.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/pei-scavenge-vgpr-spill.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/stack-realign.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/addrspacecast.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/non-entry-alloca.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/call-constant.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/amdgpu.private-memory.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/mul24-pass-ordering.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/gfx-callable-return-types.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/gfx-callable-preserved-registers.ll
Commit 9e43e7ec111d9029da1b2098733f67a239e4edef by nathan
[clang] Fix using-enum breakage

This fixes a build breakage.  I managed to attach this particular
change to the wrong diff in the stack when rebasing.  And flubbed
testing :(

Differential Revision: https://reviews.llvm.org/D101777
The file was addedclang/lib/Sema/SemaOverload.cpp.blame
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
Commit ade4662c44f7dc9b0e32f38746e74241d7330253 by nathan
[clang] Remove inadvertent commit

Oops, missed this pattern in my .gitignore.  Sorry.

Differential Revision: https://reviews.llvm.org/D101777
The file was removedclang/lib/Sema/SemaOverload.cpp.blame
Commit ae3f6de3a856006601cbca81ebf9780a2534bdcc by fraser
[InstCombine] Support negation of scalable-vector splats

This patch is an extension of D103421. It allows the InstCombiner to
generate the negated form of integer scalable-vector splats. It can
technically handle fixed-length vectors too but those are completely
covered by the preceding logic.

This enables extra combining opportunities for scalable vector types.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D103801
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp
The file was modifiedllvm/test/Transforms/InstCombine/sub.ll
Commit e1da3297d253b33be1ff941cf9ed9091dd332ea5 by andrzej.warzynski
[flang][driver] Add support for the "-init-only" option

Adding the `-init-only` option and corresponding frontend action to
generate a diagnostic.

`-init-only` vs `-test-io`:
`-init-only` ignores the input (it never calls the prescanner)
`-test-io` is similar to `-init-only`, but does read and print the input
without calling the prescanner.

This patch also adds a Driver test to check this action.

Reviewed By: awarzynski, AMDChirag

Differential Revision: https://reviews.llvm.org/D102849
The file was modifiedflang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedflang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedflang/lib/Frontend/FrontendActions.cpp
The file was modifiedflang/test/Driver/driver-help.f90
The file was modifiedflang/include/flang/Frontend/FrontendOptions.h
The file was modifiedflang/include/flang/Frontend/FrontendActions.h
The file was addedflang/test/Driver/init-only.f90
Commit 54f059c9007b48e4ff700ac587cbb137fff91fb7 by bryan.chan
[OpenMP] Check loc for NULL before dereferencing it

The ident_t * argument in __kmp_get_monotonicity was being used without
a customary NULL check, causing the function to crash in a Debug build.
Release builds were not affected thanks to dead store elimination.
The file was modifiedopenmp/runtime/src/kmp_dispatch.cpp
Commit cfcdebaf323575952ef8326c32e47d351b79ee37 by clementval
[mlir][openacc] Conversion of data operands in acc.parallel to LLVM IR dialect

Convert data operands from the acc.parallel operation using the same conversion pattern than D102170.

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D103337
The file was modifiedmlir/lib/Conversion/OpenACCToLLVM/OpenACCToLLVM.cpp
The file was modifiedmlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
The file was modifiedmlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
The file was modifiedmlir/test/Conversion/OpenACCToLLVM/convert-data-operands-to-llvmir.mlir
Commit 2b13ff69794680ea0764e516f5b69b80219771b7 by kai.wang
[Clang][CodeGen] Set the size of llvm.lifetime to unknown for scalable types.

If the memory object is scalable type, we do not know the exact size of
it at compile time. Set the size of lifetime marker to unknown if the
object is scalable one.

Differential Revision: https://reviews.llvm.org/D102822
The file was modifiedclang/lib/CodeGen/CodeGenFunction.h
The file was modifiedclang/lib/CodeGen/CGCall.cpp
The file was modifiedclang/lib/CodeGen/CGDecl.cpp
The file was addedclang/test/CodeGen/RISCV/riscv-v-lifetime.cpp
The file was modifiedclang/lib/CodeGen/CGExprAgg.cpp
Commit aa4e6a609acdd00e06b54f525054bd5cf3624f0f by clementval
[mlir][openacc] Add canonicalization for standalone data operations for if condition

This patch add canonicalization for the standalone data operation with constant if condition.
It is extracted from this patch D103325.

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D103712
The file was modifiedmlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
The file was modifiedmlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
The file was addedmlir/test/Dialect/OpenACC/canonicalize.mlir
Commit fb5b590b5e18796bf850170946f15fc10ab9394a by clementval
[mlir][openacc] Add conversion for if operand to scf.if for standalone data operation

This patch convert the if condition on standalone data operation such as acc.update,
acc.enter_data and acc.exit_data to a scf.if with the operation in the if region.
It removes the operation when the if condition is constant and false. It removes the
the condition if it is contant and true.

Conversion to scf.if is done in order to use the translation to LLVM IR dialect out of the box.
Not sure this is the best approach or we should perform this during the translation from OpenACC
to LLVM IR dialect. Any thoughts welcome.

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D103325
The file was addedmlir/lib/Conversion/OpenACCToSCF/CMakeLists.txt
The file was modifiedmlir/lib/Conversion/CMakeLists.txt
The file was addedmlir/include/mlir/Conversion/OpenACCToSCF/ConvertOpenACCToSCF.h
The file was modifiedmlir/include/mlir/Conversion/Passes.td
The file was modifiedmlir/include/mlir/Conversion/Passes.h
The file was modifiedmlir/lib/Conversion/PassDetail.h
The file was addedmlir/test/Conversion/OpenACCToSCF/convert-openacc-to-scf.mlir
The file was modifiedmlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
The file was addedmlir/lib/Conversion/OpenACCToSCF/OpenACCToSCF.cpp
Commit 89615a5e925e10f388130e80fba4bf28bc3c3c0a by tomasz.miasko
[Demangle][Rust] Parse dyn-bounds

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D103151
The file was modifiedllvm/test/Demangle/rust.test
The file was modifiedllvm/lib/Demangle/RustDemangle.cpp
The file was modifiedllvm/include/llvm/Demangle/RustDemangle.h
Commit 1499afa09ba27ee0e6569668b74fea40e0458930 by tomasz.miasko
[Demangle][Rust] Parse dyn-trait

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D103361
The file was modifiedllvm/lib/Demangle/RustDemangle.cpp
The file was modifiedllvm/include/llvm/Demangle/RustDemangle.h
The file was modifiedllvm/test/Demangle/rust.test
Commit 619a65e5e4ed0df7b753eac9d7d41be976fd909b by tomasz.miasko
[Demangle][Rust] Parse dyn-trait-assoc-binding

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D103364
The file was modifiedllvm/lib/Demangle/RustDemangle.cpp
The file was modifiedllvm/include/llvm/Demangle/RustDemangle.h
The file was modifiedllvm/test/Demangle/rust.test
Commit c908196e100a5ac1b25cba859094bfc28cffb5f3 by sander.desmalen
[CostModel] Return Invalid cost in getArithmeticCost instead of crashing for scalable vectors.

This fixes an issue in BasicTTIImpl.h where it tries to do a
cast<FixedVectorType> on a scalable vector type in order to get the
scalarization cost. Because scalarization of scalable vectors is not
supported, we return Invalid instead.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D103798
The file was addedllvm/test/Analysis/CostModel/AArch64/sve-remainder.ll
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
Commit be663c4337c6e3d81a9a539abc11477fdb74cc6e by sander.desmalen
[CostModel][AArch64] NFC: Simplify some cost model tests for SVE.

* Merged some functions into a single function, to make the costs more obvious.
* Moved scalable-mem-op-cost-model.ll -> sve-ldst.ll to be more consistent with other filenames.
The file was addedllvm/test/Analysis/CostModel/AArch64/sve-ldst.ll
The file was removedllvm/test/Analysis/CostModel/AArch64/scalable-mem-op-cost-model.ll
The file was modifiedllvm/test/Analysis/CostModel/AArch64/sve-scatter.ll
The file was modifiedllvm/test/Analysis/CostModel/AArch64/sve-gather.ll
Commit f10b9ca9c6723dba571f4b319b1c55c0ae8ad0ab by Raphael Isemann
[NFC] Add missing include to LaneBitmask.h to fix modules build
The file was modifiedllvm/include/llvm/MC/LaneBitmask.h
Commit 2c2feebcd1274425c853e3cff7cec6ba033c3ccd by Raphael Isemann
[lldb] Fix TypeSystemClang compilation after D101777

We apparently now need to pass the DeclName of the target decl to the
constructor.
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Commit fb4e4646188cf43a1e96a0aba6b6d24d8604257c by Louis Dionne
[libc++] Simplify a few macros in __config

Several macros were guarded with a check along the lines of:

#ifndef MACRO
#  define MACRO ...
#endif

However, some of these macros are never intended to be defined by users,
so it's pointless to make this check (i.e. the first #ifndef is always
true). This commit removes those checks.

The motivation for doing this cleanup is to remove the impression that
arbitrary configurations macros can be defined by users when including
libc++ headers, which doesn't work reliably and leads to macro spaghetti.
If one needs to be able to override a knob in the __config, that's fine,
but the proper way to do that is to document the macro as being a public
facing knob in the documentation, and most likely to migrate that macro
to __config_site (depending on the nature of the macro).

Differential Revision: https://reviews.llvm.org/D103705
The file was modifiedlibcxx/include/__config
Commit 9d35c1701f264398814e7f54ae4a014ab0030bf1 by kparzysz
[docs] Set Phabricator as the tool for pre-commit reviews

Differential Revision: https://reviews.llvm.org/D103811
The file was modifiedllvm/docs/CodeReview.rst
Commit a82747fafe215862c24e690c1c7b384f4c27ad20 by jianzhouzh
[dfsan] Fix internal build errors because of more strict warning checks
The file was modifiedcompiler-rt/test/dfsan/custom.cpp
The file was modifiedcompiler-rt/test/dfsan/interceptors.c
Commit 1465e7770bcacfb67ca4edc3714cf3a7e8a2a110 by flo
[VPlan] Print successors of VPRegionBlocks.

The non-DOT printing does not include the successors of VPregionBlocks.
This patch use the same style for printing successors as for
VPBasicBlock.

I think the printing of successors could be a bit improved further, as
at the moment it is hard to ensure a check line matches all successors.
But that can be done as follow-up.

Reviewed By: a.elovikov

Differential Revision: https://reviews.llvm.org/D103515
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.h
The file was modifiedllvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/vplan-printing.ll
Commit fd11a26d368c5a909fb88548fef2cee7a6c2c931 by caij2003
[AArch64] handle -Wa,-march=

This fixed PR#48894 for AArch64. The issue has been fixed for Arm in
https://reviews.llvm.org/D95872

The following rules apply to -Wa,-march with this change:
  - Only compiler options apply to non assembly files
  - Compiler and assembler options apply to assembly files
  - For assembly files, we prefer the assembler option(s) if we have both kinds of option
  - Of the options that apply (or are preferred), the last value wins (it's not additive)

Reviewed By: DavidSpickett, nickdesaulniers

Differential Revision: https://reviews.llvm.org/D103184
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was addedclang/test/Driver/aarch64-target-as-march.s
The file was modifiedclang/lib/Driver/ToolChains/Arch/AArch64.h
The file was modifiedclang/lib/Driver/ToolChains/Arch/AArch64.cpp
Commit 43929ccc1296b13250965d75bd410550256d45c5 by tomasz.miasko
[Demangle][Rust] Parse instantiating crate

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D103460
The file was modifiedllvm/lib/Demangle/RustDemangle.cpp
The file was modifiedllvm/test/Demangle/rust.test
Commit 8c6bd6c22f384cc09e4a97de630ae63d7721dfd0 by craig.topper
[RISCV] Don't enable loop vectorizer interleaving if the V extension isn't enabled.

This can cause the vectorizer to generate interleaved scalar
code which might be ok for some CPUs, but definitely not all.
Disable it to restore the previous scalar behavior.

Differential Revision: https://reviews.llvm.org/D103787
The file was modifiedllvm/lib/Target/RISCV/RISCVSubtarget.h
Commit dc173254e754f1c363218548040642c6c53da8ed by spatel
[InstCombine] add tests for FMF propagation via -(C/X); NFC

There are bugs here as discussed in:
https://llvm.org/PR49654
The file was modifiedllvm/test/Transforms/InstCombine/fneg.ll
Commit 519e98cd9af0d4b47a2daf0899b69d1254750c13 by spatel
[InstCombine] refactor match clauses; NFC

We need to adjust the FMF propagation on at least
one of these transforms as discussed in:
https://llvm.org/PR49654
...so this should make it easier to intersect flags.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
Commit 4675beaa2181b6ccb1a37fd49b51a45490023974 by spatel
[InstCombine] intersect nsz and ninf fast-math-flags (FMF) for fneg(fdiv) fold

https://alive2.llvm.org/ce/z/3KPvih

https://llvm.org/PR49654
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
The file was modifiedllvm/test/Transforms/InstCombine/fneg.ll
Commit 8e84311a84b35ced5c18c3af8a802f7d2aa5c8a0 by jasonliu
[XCOFF][AIX] Enable tooling support for 64 bit symbol table parsing

Add in the ability of parsing symbol table for 64 bit object.

Reviewed By: jhenderson, DiggerLin

Differential Revision: https://reviews.llvm.org/D85774
The file was addedllvm/test/tools/llvm-readobj/XCOFF/symbols64.test
The file was modifiedllvm/tools/llvm-readobj/XCOFFDumper.cpp
The file was modifiedllvm/tools/llvm-objdump/XCOFFDump.cpp
The file was addedllvm/test/tools/llvm-readobj/XCOFF/Inputs/symbol64.o
The file was addedllvm/test/tools/llvm-readobj/XCOFF/file-aux-wrong64.test
The file was modifiedllvm/include/llvm/Object/XCOFFObjectFile.h
The file was addedllvm/test/tools/llvm-objdump/XCOFF/Inputs/xcoff-section-headers64.o
The file was addedllvm/test/tools/llvm-objdump/XCOFF/disassemble-symbol-description64.test
The file was modifiedllvm/lib/Object/XCOFFObjectFile.cpp
The file was modifiedllvm/include/llvm/BinaryFormat/XCOFF.h
The file was modifiedllvm/unittests/Object/XCOFFObjectFileTest.cpp
The file was addedllvm/test/tools/llvm-readobj/XCOFF/Inputs/file-aux-wrong64.o
The file was modifiedllvm/tools/obj2yaml/xcoff2yaml.cpp
Commit c880d5e583a389e3a665b2509915533f97dd4792 by listmail
[RS4GC] Treat inttoptr as base pointer

This is a modified version of a patch by tolziplohu with a style change, and most importantly, a revised commit message.

inttoptr for a non-integral address space is currently ill defined in the LangRef.  Figuring out exactly what the dynamic semantics of such a cast would be is hard, and not yet settled.  Despite that, we still need to go ahead and implement something in RS4GC for a couple of reasons.

First, as a simple consistency argument.  We're apparently added support for constexpr inttoptrs a while back, and even have tests which exercised them.  Having a lack of constant folding trigger a crash during lowering is non-ideal.

Second, and more fundementally, the optimizer is allowed to insert undefined constructs in unreachable code.  At the same time, we can't assume that dynamically dead code is always pruned before lowering.  As a result, we must assume that inttoptrs can occur (even if completely ill defined) along dead paths.  We need the lowering to not crash.  The stackmaps produced can be garbage (as the assumption is the code is dynamically dead), but the lowering itself can't crash.

Differential Revision: https://reviews.llvm.org/D103492
The file was modifiedllvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
The file was addedllvm/test/Transforms/RewriteStatepointsForGC/base-inttoptr.ll
Commit f30f8b4f12b762a054800aaa7b60461fd177fa96 by craig.topper
[RISCV] Lower i8/i16 bswap/bitreverse to grevi/greviw with Zbp.

Include known bits support so we know we don't need to zext the
output if the input was already zero extended.

Reviewed By: luismarques

Differential Revision: https://reviews.llvm.org/D103757
The file was modifiedllvm/test/CodeGen/RISCV/rv64zbp.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
The file was modifiedllvm/test/CodeGen/RISCV/rv32zbp.ll
Commit 854d0edce6c6e29ee2803c1f6590dee62994419a by gh
[MLIR] Conditional Branch Argument Propagation

In an operation in the true/false dest of a branch,
one can assume that the operation itself was true/false if
only that edge can reach the operation.

Differential Revision: https://reviews.llvm.org/D101709
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
The file was modifiedmlir/test/Dialect/Standard/canonicalize.mlir
Commit 422544414b0dd79fef2f10a051b22c47ae5a0af1 by thakis
[lld/mac] Add a test for -reexport_library + -dead_strip_dylibs

Our behavior here already matched ld64, now we have a test for it.

(ld64 even strips the library here if you also pass -needed_library bar.dylib.
That seems wrong to me, and lld honors needed_library in that case.)

Differential Revision: https://reviews.llvm.org/D103812
The file was modifiedlld/test/MachO/dead-strip-dylibs.s
Commit 85966df3aa64513851b88f82e9b586774c6db367 by Louis Dionne
[libc++] Rename 'and' to '&&'
The file was modifiedlibcxx/include/__iterator/iterator_traits.h
Commit 00b6463b269f6815a8a110b9208f483e239ce1e2 by gh
[MLIR][GPU] Simplify memcpy of cast

Introduce a simplification that allows memcpy of a cast to simply use the underlying op

Differential Revision: https://reviews.llvm.org/D103830
The file was addedmlir/test/Dialect/GPU/canonicalize.mlir
The file was modifiedmlir/include/mlir/Dialect/GPU/GPUOps.td
The file was modifiedmlir/lib/Dialect/GPU/IR/GPUDialect.cpp
Commit 38540d71c74c2f63a77993e7bfb6e52e4b0da0fc by listmail
[SCEV] Compute exit counts for unsigned IVs using mustprogress semantics

The motivation here is simple loops with unsigned induction variables w/non-one steps. A toy example would be:
for (unsigned i = 0; i < N; i += 2) { body; }

Given C/C++ semantics, we do not get the nuw flag on the induction variable. Given that lack, we currently can't compute a bound for this loop. We can do better for many cases, depending on the contents of "body".

The basic intuition behind this patch is as follows:
* A step which evenly divides the iteration space must wrap through the same numbers repeatedly. And thus, we can ignore potential cornercases where we exit after the n-th wrap through uint32_max.
* Per C++ rules, infinite loops without side effects are UB. We already have code in SCEV which relies on this.  In LLVM, this is tied to the mustprogress attribute.

Together, these let us conclude that the trip count of this loop must come before unsigned overflow unless the body would form a well defined infinite loop.

A couple notes for those reading along:
* I reused the loop properties code which is overly conservative for this case. I may follow up in another patch to generalize it for the actual UB rules.
* We could cache the n(s/u)w facts. I left that out because doing a pre-patch which cached existing inference showed a lot of diffs I had trouble fully explaining. I plan to get back to this, but I don't want it on the critical path.

Differential Revision: https://reviews.llvm.org/D103118
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolution.h
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
The file was addedllvm/test/Analysis/ScalarEvolution/lt-overflow.ll
Commit f6555b917b81f0d403c30605243eb766c42ab0a4 by Matthew.Arsenault
GlobalISel: Remove unnecessary .getReg(0)s
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
Commit dc98adfb448bdb845605185bb173e99614a17790 by Matthew.Arsenault
GlobalISel: Use MMO helper for getting the size in bits
The file was modifiedllvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
Commit ccf28ea800ee07835a53c83b775ef3ec51909b1c by Matthew.Arsenault
AMDGPU: Move codegen test out of MIR test directory

This is testing an actual pass, not the MIR parser/printer.
The file was removedllvm/test/CodeGen/MIR/AMDGPU/load-store-opt-scc.mir
The file was addedllvm/test/CodeGen/AMDGPU/load-store-opt-scc.mir
Commit a1f550e052543f75acac9089b760cbc61729131f by Andrey.Churbanov
[OpenMP] libomp: implement OpenMP 5.1 inoutset task dependence type

Refactored code of dependence processing and added new inoutset dependence type.
Compiler can set dependence flag to 0x8 when call __kmpc_omp_task_with_deps.
Size of type of the dependence flag changed from 1 to 4 bytes in clang.
All dependence flags library gets so far and corresponding dependence types:
1 - IN, 2 - OUT, 3 - INOUT, 4 - MUTEXINOUTSET, 8 - INOUTSET.

Differential Revision: https://reviews.llvm.org/D97085
The file was modifiedclang/test/OpenMP/target_enter_data_depend_codegen.cpp
The file was modifiedopenmp/runtime/src/kmp.h
The file was modifiedclang/test/OpenMP/task_if_codegen.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/test/OpenMP/task_codegen.c
The file was addedopenmp/runtime/test/tasking/omp51_task_dep_inoutset.c
The file was modifiedclang/test/OpenMP/depobj_codegen.cpp
The file was modifiedopenmp/runtime/src/kmp_taskdeps.h
The file was modifiedclang/test/OpenMP/target_exit_data_depend_codegen.cpp
The file was modifiedopenmp/runtime/test/tasking/bug_proxy_task_dep_waiting.c
The file was modifiedopenmp/runtime/test/tasking/hidden_helper_task/gtid.cpp
The file was modifiedclang/test/OpenMP/task_codegen.cpp
The file was modifiedopenmp/runtime/src/kmp_taskdeps.cpp
The file was modifiedopenmp/runtime/test/tasking/bug_nested_proxy_task.c
The file was modifiedclang/test/OpenMP/target_update_depend_codegen.cpp
The file was modifiedopenmp/runtime/test/tasking/hidden_helper_task/common.h
The file was modifiedopenmp/runtime/test/tasking/hidden_helper_task/depend.cpp
Commit d70e1f12765fd6bb644ffb561dff9a31c522308e by jonathan.l.peyton
[OpenMP][runtime] add .clang-tidy file

Use same checks as compiler-rt which removes checks for readability-*
and llvm-header style.

Differential Revision: https://reviews.llvm.org/D103711
The file was addedopenmp/runtime/.clang-tidy
Commit 8fdd7c2ff16da370e28ef1b22e400d57a541484f by nikita.ppv
[LoopUnroll] Clamp unroll count to MaxTripCount

Unrolling with more iterations than MaxTripCount is pointless, as
those iterations can never be executed. As such, we clamp ULO.Count
to MaxTripCount if it is known. This means we no longer need to
consider iterations after MaxTripCount for exit folding, and the
CompletelyUnroll flag becomes independent of ULO.TripCount.

Differential Revision: https://reviews.llvm.org/D103748
The file was modifiedllvm/test/Transforms/LoopUnroll/multiple-exits.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/runtime-loop5.ll
The file was modifiedllvm/lib/Transforms/Utils/LoopUnroll.cpp
The file was modifiedllvm/test/Transforms/LoopUnroll/runtime-small-upperbound.ll
The file was modifiedllvm/test/Transforms/LoopUnroll/nonlatchcondbr.ll
Commit 6de45b9e6a2c4b69ca82916a4cc1b4b8636d79b3 by martin
[clang] Fix reading long doubles with va_arg on x86_64 mingw

On x86_64 mingw, long doubles are always passed indirectly as
arguments (see an existing case in WinX86_64ABIInfo::classify);
generalize the existing code for reading varargs - any non-aggregate
type that is larger than 64 bits (which would be both long double
in mingw, and __int128) are passed indirectly too.

This makes reading varargs consistent with how they're passed,
fixing interop with both gcc and clang callers, for long double
and __int128.

Differential Revision: https://reviews.llvm.org/D103452
The file was modifiedclang/test/CodeGen/win64-i128.c
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp
The file was modifiedclang/test/CodeGenCXX/ext-int.cpp
The file was modifiedclang/test/CodeGen/mingw-long-double.c
Commit 75521bd9d8d1e39b1a765a14d95c49291d2adde5 by harald
[X32] Add Triple::isX32(), use it.

So far, support for x86_64-linux-gnux32 has been handled by explicit
comparisons of Triple.getEnvironment() to GNUX32. This worked as long as
x86_64-linux-gnux32 was the only X32 environment to worry about, but we
now have x86_64-linux-muslx32 as well. To support this, this change adds
an isX32() function and uses it. It replaces all checks for GNUX32 or
MuslX32 by isX32(), except for the following:

- Triple::isGNUEnvironment() and Triple::isMusl() are supposed to treat
  GNUX32 and MuslX32 differently.
- computeTargetTriple() needs to be able to transform triples to add or
  remove X32 from the environment and needs to map GNU to GNUX32, and
  Musl to MuslX32.
- getMultiarchTriple() completely lacks any Musl support and retains the
  explicit check for GNUX32 as it can only return x86_64-linux-gnux32.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D103777
The file was modifiedllvm/lib/Target/X86/X86RegisterInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86TargetMachine.cpp
The file was modifiedclang/lib/Basic/Targets/X86.h
The file was modifiedllvm/test/CodeGen/X86/x32-lea-1.ll
The file was modifiedllvm/lib/Target/X86/X86AsmPrinter.cpp
The file was modifiedclang/lib/Driver/ToolChains/Gnu.cpp
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
The file was modifiedclang/lib/Driver/ToolChains/Linux.cpp
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp
The file was modifiedclang/lib/Driver/Driver.cpp
The file was modifiedllvm/include/llvm/ADT/Triple.h
The file was modifiedclang/test/Driver/linux-cross.cpp
The file was modifiedllvm/lib/Target/X86/X86Subtarget.h
Commit 8ec73e96b72d04787ed606cfbb62a7a2a05b3711 by i
[ELF] getRelocatedSection: remove the check for ET_REL object file

getRelocatedSection interface should not check that the object file is
relocatable, as executable files may have relocations preserved with
`--emit-relocs` linker flag. The relocations are useful in context of post-link
binary analysis for function reference identification. For example, BOLT relies
on relocations to perform function reordering.

Reviewed By: MaskRay, jhenderson

Differential Revision: https://reviews.llvm.org/D102296
The file was modifiedllvm/include/llvm/Object/ELFObjectFile.h
The file was modifiedllvm/include/llvm/Object/ObjectFile.h
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFContext.cpp
The file was modifiedllvm/lib/Object/XCOFFObjectFile.cpp
The file was modifiedllvm/unittests/Object/ELFObjectFileTest.cpp
Commit 17c43c404535fe427d2cddb665154ae601d505bd by thakis
[lld/mac] Add reexports after reexporter to inputFiles

When a library "host"'s reexports change their installName with
`$ld$os10.11$install_name$host`, we used to write a load command for "host" but
write the version numbers of the reexport instead of "host". This fixes that.

I first thought that the rule is to take the version numbers from the library
that originally had that install name (implemented in D103819), but that's not
what ld64 seems to be doing: It takes the version number from the first dylib
with that install name it loads, and it loads the reexporting library before
the reexports. We already did most of that, we just added reexports before the
reexporter. After this change, we add the reexporter before the reexports.

Addresses https://bugs.llvm.org/show_bug.cgi?id=49800#c11 part 1.

(ld64 seems to add reexports after processing _all_ files on the command line,
while we add them right after the reexporter. For the common case of reexport +
$ld$ symbol changing back to the exporter name, this doesn't make a difference,
but you can construct a case where it does. I expect this to not make a
difference in practice though.)

Differential Revision: https://reviews.llvm.org/D103821
The file was modifiedlld/test/MachO/special-symbol-ld-install-name.s
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/MachO/InputFiles.cpp
The file was modifiedlld/test/MachO/tapi-link.s
The file was modifiedlld/test/MachO/implicit-dylibs.s
Commit f492c35965036d67833dae3c21498dcd1c1ed1fe by riddleriver
[mlir-lsp-server] Add support for hover on region operations

This revision adds support for hover on region operations, by temporarily removing the regions during printing. This revision also tweaks the hover format for operations to include symbol information, now that FuncOp can be shown in the hover.

Differential Revision: https://reviews.llvm.org/D103727
The file was modifiedmlir/test/mlir-lsp-server/hover.test
The file was modifiedmlir/include/mlir/IR/SymbolTable.h
The file was modifiedmlir/lib/IR/SymbolTable.cpp
The file was modifiedmlir/lib/Tools/mlir-lsp-server/MLIRServer.cpp
Commit 4c3adea7a4ab7c63010a953547152d4ad861f9de by riddleriver
[mlir-lsp-server] Add support for hover on symbol references

For now the hover simply shows the same information as hovering on the operation
name. If necessary this can be tweaked to something symbol specific later.

Differential Revision: https://reviews.llvm.org/D103728
The file was modifiedmlir/lib/Tools/mlir-lsp-server/MLIRServer.cpp
The file was modifiedmlir/test/mlir-lsp-server/hover.test
Commit 2db4701cafd42d20f32c6c9a5dbd15484523fcda by riddleriver
[mlir-lsp-server] Fix bug in symbol use/def tracking

We were accidentally only using the first found reference, instead of all of them. This revision fixes this by properly tracking all references to a symbol.

Differential Revision: https://reviews.llvm.org/D103730
The file was modifiedmlir/test/mlir-lsp-server/references.test
The file was modifiedmlir/lib/Parser/AsmParserState.cpp
Commit 9145a3d4ab7eb05d9fb113b5392e8961df629b88 by caij2003
Revert "[AArch64] handle -Wa,-march="

This reverts commit fd11a26d368c5a909fb88548fef2cee7a6c2c931.
The file was modifiedclang/lib/Driver/ToolChains/Arch/AArch64.h
The file was removedclang/test/Driver/aarch64-target-as-march.s
The file was modifiedclang/lib/Driver/ToolChains/Arch/AArch64.cpp
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
Commit e72f16b7e66256dba5496a32546417d438bb035c by dsuchkov
[Test] Add a JumpThreading test exposing a bug in BasicAA.
The file was addedllvm/test/Transforms/JumpThreading/aa-crash-phi-no-args.ll
Commit d32cc150feb72f315a5bbd34f92e7beca21a50da by dsuchkov
[BasicAA] Handle PHIs without incoming values gracefully

Fix a bug introduced by f6f6f6375d1a4bced8a6e79a78726ab32b8dd879.
Now for empty PHIs, instead of crashing on assert(hasVal()) in
Optional's internals, we'll return NoAlias, as we did before that patch.

Differential Revision: https://reviews.llvm.org/D103831
The file was modifiedllvm/lib/Analysis/BasicAliasAnalysis.cpp
The file was modifiedllvm/test/Transforms/JumpThreading/aa-crash-phi-no-args.ll
Commit 3c6e419198f3916b76f88d2bef8aa04dd2114574 by listmail
[SCEV] Properly guard reasoning about infinite loops being UB on mustprogress

Noticed via code inspection. We changed the semantics of the IR when we added mustprogress, and we appear to have not updated this location.

Differential Revision: https://reviews.llvm.org/D103834
The file was modifiedllvm/test/Analysis/ScalarEvolution/trip-count-unknown-stride.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/pr38697.ll
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit 3af5f3e69247fb3ead05eefa99832c1c029e1997 by mahesha.comp
[IR] Add utility to convert constant expression operands (of an instruction) to instructions.

In the situation where we need to replace a constant operand C from a constant expression CE
by an instruction NI, it not possible without converting CE itself into an instruction. This
utility helps to convert the given set of constant expression operands from an instruction I
into a corresponding set of instructions.

The current use-case for this utility is from the patches - https://reviews.llvm.org/D103225
and https://reviews.llvm.org/D103655.

Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D103661
The file was modifiedllvm/include/llvm/IR/ReplaceConstant.h
The file was modifiedllvm/lib/IR/ReplaceConstant.cpp
Commit 713ca2f3604fdaf0edd5a4e2869c5685e7ec4216 by mahesha.comp
[AMDGPU] Introduce command line switch to control super aligning of LDS.

Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D103817
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
The file was addedllvm/test/CodeGen/AMDGPU/lower-kernel-lds-super-align.ll
Commit 05289dfb62461b73654c5fd64b1ef044a88ee027 by Stanislav.Mekhanoshin
[AMDGPU] Handle constant LDS uses from different kernels

This allows to lower an LDS variable into a kernel structure
even if there is a constant expression used from different
kernels.

Differential Revision: https://reviews.llvm.org/D103655
The file was modifiedllvm/test/CodeGen/AMDGPU/lower-module-lds-constantexpr.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/ds_read2.ll
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/ds_write2.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/lower-kernel-lds-constexpr.ll
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPULDSUtils.cpp
The file was modifiedllvm/lib/Target/AMDGPU/Utils/AMDGPULDSUtils.h