SuccessChanges

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

Summary

  1. [CodeGen][X86] Cleanup labels on some sse/avx intrinsics tests. NFCI. (details)
  2. Fix Wdocumentation warnings due to case mismatch. NFCI. (details)
  3. Fix MSVC "not all control paths return a value" warning. NFCI. (details)
  4. Add a clarifying a comment on CastInst::isNoopCast (details)
  5. [clangd] Add a NewName optional parameter to clangdServer::prepareRename. (details)
  6. Add REQUIRES: x86-registered-target to test as it was failing on build bots without x86. (details)
  7. Remove D80713.diff added in 528057c19755ad842052fba3a42dcbf7deafc6de (details)
  8. [InstCombine] Add checks for and(logicalshift(zext(x),undef),y) cases (details)
  9. [SVE] Add legalisation tests to sve-fixed-length-fp-reduce.ll (details)
  10. [BasicBlockSections] Make sure that the labels for address-taken blocks are emitted after switching the seciton. (details)
  11. [NFC][MLInliner] Getters should return by reference (details)
  12. Add validity assert on entry to CastInst::isNoopCast [NFC] (details)
  13. [mlir] [sparse] Rename getSparseMatrix to getMatrix (details)
  14. Add regular expressions to and DWARF Call Frame Information tests in case the architecture specific target is not compiled into LLVM. (details)
  15. [NPM] Port strip nonlinetable debuginfo pass to the new pass manager (details)
  16. Port StripGCRelocates pass to NPM (details)
  17. [flang] Semantic checks for bad usage of whole assumed-size arrays (details)
  18. [NFC][regalloc] Use MCRegister instead of unsigned in InterferenceCache (details)
  19. [M680x0] Add google/benchmark's CycleTimer support for M68K (details)
  20. Fix a macOS build break caused by 3dfb94986170. (details)
  21. [libc++] Remove unused includes of Availability.h (details)
  22. [flang][msvc] Avoid dependence on long double (details)
  23. [sanitizer] Skip stack symbolization when not required for print format (details)
  24. Add test for disabling Dead Virtual Function Elimination (details)
  25. [X86] Defer the creation of LCMPXCHG16B_SAVE_RBX until finalize-isel (details)
  26. [ImplicitNullChecks] Support complex addressing mode (details)
  27. [libcxx] Use runtime rather then compile-time glibc version check (details)
  28. [IRMover] Avoid materializing global value that belongs to not-yet-linked module (details)
  29. Remove unused variables (details)
  30. [X86] Move findDeadCallerSavedReg() into X86RegisterInfo (details)
  31. [X86] Fix bug in -mlvi-cfi that may clobber a live register (details)
  32. BPF: fix incorrect DAG2DAG load optimization (details)
  33. Revert "[Support][unittests] Enforce alignment in ConvertUTFTest" (details)
  34. [NewPM] Use PassInstrumentation for -verify-each (details)
  35. Return "[SCEV] Prove implicaitons via AddRec start" (details)
  36. Update documentation and implementation of stage3 build (details)
  37. [LLD] [ELF] Fix up a comment regarding the --wrap option. NFC. (details)
  38. [LLD] Ignore ELF tests when ld.lld defaults to MinGW (details)
  39. [ARM] Replace llvm.experimental.vector.reduce.smax with llvm.vector.reduce.smax. NFC (details)
  40. [LV] Collect dead induction truncates (details)
  41. [clangd] Fix a typo, NFC. (details)
  42. [AST][RecoveryExpr] Support dependent cast-expr in C for error-recovery. (details)
  43. [AMDGPU] Add test with redundant copies to temporary stack slot produced by expandUnalignedLoad (details)
  44. [AMDGPU] Prefer SplitVectorLoad/Store over expandUnalignedLoad/Store (details)
  45. [mlir] Added strides check to rank reducing subview verification (details)
  46. [cmake] Fix cmake warning in standalone compiler-rt builds. (details)
  47. [llvm-readobj] Add --coff-tls-directory flag to print TLS Directory & test. (details)
  48. [Test] Add test showing that we fail to eliminate implied exit conditions (details)
  49. [llvm-readobj][test] - Improve testing in hash-table.test (details)
  50. Import llvm::StringSwitch into mlir namespace. (details)
  51. [InstCombine] canNarrowShiftAmt - replace custom Constant matching with m_SpecificInt_ICMP (details)
  52. [mlir] Add basic support for dynamic tensor results in TensorToBuffers.cpp. (details)
  53. [InstCombine] matchRotate - add support for matching general funnel shifts with constant shift amounts (PR46896) (details)
  54. [llvm-objdump] Ensure we consistently use the llvm::stable_sort wrappers. (details)
  55. AArch64: treat MC expressions as 2s complement arithmetic. (details)
  56. [AMDGPU][MC][GFX1030] Disabled v_mac_f32 (details)
  57. [DebugInfo] Improve dbg preservation in LSR. (details)
  58. [Driver] Add output file to properties of Command (details)
  59. [clangd] Add a missing include-fixer test for incomplete_type, NFC. (details)
  60. [InstCombine] matchFunnelShift - support non-uniform constant vector shift amounts (PR46895) (details)
  61. [OpenMP] Add Error Handling for Conflicting Pointer Sizes for Target Offload (details)
  62. [AMDGPU] Use isLegalMUBUFImmOffset more (details)
  63. [mlir][spirv] Add OpenCL extended ops: exp, fabs, s_abs (details)
  64. [mlir][Linalg] Add TensorsToBuffers support for Constant ops. (details)
  65. [llvm-readobj] - Fix possible crashes related to dumping gnu hash symbols. (details)
  66. [clangd] New CC Ranking Model to fix bad inference due to overflow. (details)
  67. [AIX] add new option -mignore-xcoff-visibility (details)
  68. [mlir] Rank reducing subview conversion to LLVM (details)
Commit 42d91438ad27fda6df9499ae2a99b569fc6e2f75 by llvm-dev
[CodeGen][X86] Cleanup labels on some sse/avx intrinsics tests. NFCI.

Add some missing CHECK-LABEL lines.

Remove leading '@' so it'll be possible to match against c and c++ builds in a future patch.
The file was modifiedclang/test/CodeGen/X86/avx-builtins-constrained-cmp.c
The file was modifiedclang/test/CodeGen/X86/avx-builtins.c
The file was modifiedclang/test/CodeGen/X86/sse-builtins-constrained-cmp.c
The file was modifiedclang/test/CodeGen/X86/sse-builtins.c
The file was modifiedclang/test/CodeGen/X86/avx-shuffle-builtins.c
The file was modifiedclang/test/CodeGen/X86/sse2-builtins.c
Commit e9af30c31e5f1e0430c0f3b25453891410a34191 by llvm-dev
Fix Wdocumentation warnings due to case mismatch. NFCI.
The file was modifiedllvm/include/llvm/CodeGen/CalcSpillWeights.h
Commit 03280055154d09940a72d77f11c76dc7a741ba32 by llvm-dev
Fix MSVC "not all control paths return a value" warning. NFCI.
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
Commit 42ffba051894a66cf6d7b9a357e765a392d983ed by listmail
Add a clarifying a comment on CastInst::isNoopCast

I made exactly the mistake described, so document the precondition.  It would be better to have an assert, but there is (currently) no "castIsValid" with purely type arguments.
The file was modifiedllvm/include/llvm/IR/InstrTypes.h
Commit 9c09e2055ee4d4e3b26e393ab460635825a79538 by hokein.wu
[clangd] Add a NewName optional parameter to clangdServer::prepareRename.

If the NewName is provided, prepareRename would perform a name
validation.

The motivation is to allow our internal embeder implement the customized
"canRenameInto" functionality on top of prepareRename.

Differential Revision: https://reviews.llvm.org/D88881
The file was modifiedclang-tools-extra/clangd/ClangdServer.cpp
The file was modifiedclang-tools-extra/clangd/unittests/SyncAPI.h
The file was modifiedclang-tools-extra/clangd/unittests/SyncAPI.cpp
The file was modifiedclang-tools-extra/clangd/ClangdServer.h
The file was modifiedclang-tools-extra/clangd/ClangdLSPServer.cpp
The file was modifiedclang-tools-extra/clangd/unittests/RenameTests.cpp
Commit ea274be72be1cbc37075412dbc455ef245ac0a75 by douglas.yung
Add REQUIRES: x86-registered-target to test as it was failing on build bots without x86.

This should fix the failure on http://lab.llvm.org:8011/#/builders/91/builds/30
The file was modifiedllvm/test/DebugInfo/dwarfdump-debug-frame-simple.test
Commit a85e43e99676811a25f495169ee9fc9f11815a17 by RonakNilesh.Chauhan
Remove D80713.diff added in 528057c19755ad842052fba3a42dcbf7deafc6de

The diff file was added by mistake.
The file was removedD80713.diff
Commit fe0197e194a64f950602fb50736b6648a9e5b2a9 by llvm-dev
[InstCombine] Add checks for and(logicalshift(zext(x),undef),y) cases

Prep work before some cleanup in narrowMaskedBinOp
The file was modifiedllvm/test/Transforms/InstCombine/and-narrow.ll
Commit 365ef499d6005d5842d5e87f9dafe63c2508c881 by mcinally
[SVE] Add legalisation tests to sve-fixed-length-fp-reduce.ll
The file was modifiedllvm/test/CodeGen/AArch64/sve-fixed-length-fp-reduce.ll
Commit 34cd06a9b3bddaa7a989c606bbf1327ee651711c by rahmanl
[BasicBlockSections] Make sure that the labels for address-taken blocks are emitted after switching the seciton.

Currently, AsmPrinter code is organized in a way in which the labels of address-taken blocks are emitted in the previous section, which makes the relocation incorrect.
This patch reorganizes the code to switch to the basic block section before handling address-taken blocks.

Reviewed By: snehasish, MaskRay

Differential Revision: https://reviews.llvm.org/D88517
The file was addedllvm/test/CodeGen/X86/basic-block-sections-blockaddress-taken.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
Commit ac2018da616c0080785c4bc16307d98c5ebbffe7 by mtrofin
[NFC][MLInliner] Getters should return by reference
The file was modifiedllvm/lib/Analysis/DevelopmentModeInlineAdvisor.cpp
Commit ef8b4e4fcd687f66ef0271d1257075f1f53dd34b by listmail
Add validity assert on entry to CastInst::isNoopCast [NFC]

This required some minor code reorganization to have a version of castIsValid which worked purely in terms of types.
The file was modifiedllvm/lib/IR/Instructions.cpp
The file was modifiedllvm/include/llvm/IR/InstrTypes.h
Commit 4065a0d98f675595cdf568bae9bbd872de51fcba by ajcbik
[mlir] [sparse] Rename getSparseMatrix to getMatrix

Rationale:
More consistent with the other names. Also forward looking to reading
in other kinds of matrices. Also fixes lint issue on hard-coded %llu.

Reviewed By: penpornk

Differential Revision: https://reviews.llvm.org/D89005
The file was modifiedmlir/integration_test/Sparse/CPU/matrix-market-example.mlir
The file was modifiedmlir/lib/ExecutionEngine/SparseUtils.cpp
Commit 40a24541029357543ae47664a68a44710e6fee84 by gclayton
Add regular expressions to and DWARF Call Frame Information tests in case the architecture specific target is not compiled into LLVM.

This should fix any build bots that avoid compiling some architectures into llvm after https://reviews.llvm.org/D88767.

Differential Revision: https://reviews.llvm.org/D88940
The file was modifiedllvm/test/DebugInfo/dwarfdump-debug-frame-simple.test
Commit da48fe1732fcd87005ca22745f930b97ab93f365 by rnk
[NPM] Port strip nonlinetable debuginfo pass to the new pass manager

Fixes a few tests in llvm/test/Transforms/Utils.

Differential Revision: https://reviews.llvm.org/D88762
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedllvm/include/llvm/InitializePasses.h
The file was modifiedllvm/include/llvm/Transforms/Utils.h
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/test/Transforms/Util/strip-nonlinetable-debuginfo-cus.ll
The file was addedllvm/include/llvm/Transforms/Utils/StripNonLineTableDebugInfo.h
The file was modifiedllvm/lib/Transforms/Utils/Utils.cpp
The file was modifiedllvm/lib/Transforms/Utils/StripNonLineTableDebugInfo.cpp
Commit 940d7aaea958fb343c7a72de89157aed2dc548de by rnk
Port StripGCRelocates pass to NPM

Fixes one test under NPM

Differential Revision: https://reviews.llvm.org/D88766
The file was modifiedllvm/lib/Transforms/Utils/StripGCRelocates.cpp
The file was addedllvm/include/llvm/Transforms/Utils/StripGCRelocates.h
The file was modifiedllvm/test/Transforms/Util/strip-gc-relocates.ll
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedllvm/include/llvm/InitializePasses.h
The file was modifiedllvm/lib/Transforms/Utils/Utils.cpp
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
Commit 88afb6e86774c7d2ffe9385714e7810ea50636d2 by pklausler
[flang] Semantic checks for bad usage of whole assumed-size arrays

The semantics pass currently checks for several constraints
that apply to the use of whole assumed-size arrays in various
contexts, but C1002 wasn't really implemented.  This patch
implements C1002 by disallowing the use of whole assumed-size
arrays in expressions and variables unless specifically
allowed by the context.  This centralizes the error reporting,
which has been improved with a link to the array's declaration.

Differential revision: https://reviews.llvm.org/D88691
The file was modifiedflang/lib/Semantics/assignment.cpp
The file was modifiedflang/lib/Semantics/expression.cpp
The file was modifiedflang/test/Semantics/io03.f90
The file was modifiedflang/include/flang/Semantics/expression.h
The file was modifiedflang/test/Semantics/assign04.f90
The file was modifiedflang/lib/Semantics/check-io.cpp
Commit 297655c123b3ae612f681e936f97818f2a899de6 by mtrofin
[NFC][regalloc] Use MCRegister instead of unsigned in InterferenceCache

Also changed users of APIs.

Differential Revision: https://reviews.llvm.org/D88930
The file was modifiedllvm/lib/CodeGen/InterferenceCache.cpp
The file was modifiedllvm/lib/CodeGen/InterferenceCache.h
The file was modifiedllvm/lib/CodeGen/RegAllocGreedy.cpp
Commit bd5fe7b010ea0d6c4b1e5e3740085f5eabf7def6 by minyihh
[M680x0] Add google/benchmark's CycleTimer support for M68K

This is a cherrypick of the upstream fix commit ffe1342 onto
`llvm/utils/benchmark` and `libcxx/utils/google-benchmark`.
This adds CycleTimer implementation for M680x0, which simply
uses `gettimeofday` same as MIPS.

Differential Review: https://reviews.llvm.org/D88868
The file was modifiedllvm/utils/benchmark/CONTRIBUTORS
The file was modifiedllvm/utils/benchmark/README.LLVM
The file was modifiedllvm/utils/benchmark/AUTHORS
The file was modifiedlibcxx/utils/google-benchmark/src/cycleclock.h
The file was modifiedlibcxx/utils/google-benchmark/AUTHORS
The file was modifiedlibcxx/utils/google-benchmark/CONTRIBUTORS
The file was modifiedlibcxx/utils/google-benchmark/README.LLVM
The file was modifiedllvm/utils/benchmark/src/cycleclock.h
Commit 81b11c91070f3a969b64b2c2e6011b02450fa75f by jingham
Fix a macOS build break caused by 3dfb94986170.
The file was modifiedlldb/source/Plugins/Platform/MacOSX/objcxx/PlatformiOSSimulatorCoreSimulatorSupport.mm
Commit 8da0df3d6dcc0dd42740be60b0da4ec201190904 by Louis Dionne
[libc++] Remove unused includes of Availability.h

Since ebaf1d5e2b, the macros defined in <Availability.h> are not used
anymore.
The file was modifiedlibcxx/include/locale
The file was modifiedlibcxx/include/iterator
Commit d56fdc8e95df3431b67d33fe4b03a08406897339 by pklausler
[flang][msvc] Avoid dependence on long double

MSVC does not support a distinct 80-bit extended precision
"long double" type.  Rework the I/O runtime to avoid using
native C/C++ type names.  Centralize the mappings between
the KIND= type parameters of REAL and their binary precisions
in the common real.h header file, and use KIND type parameter
values rather than binary precisions for clarity where
appropriate.

This patch, if successful, should obviate the need for
Differential review D88511.

(This patch anticipates a successful review of D88688, which
fixes the function that maps each kind of real to its maximum
number of significant decimal digits.)

Differential revision: https://reviews.llvm.org/D88752
The file was modifiedflang/include/flang/Decimal/binary-floating-point.h
The file was modifiedflang/runtime/edit-input.cpp
The file was modifiedflang/include/flang/Common/real.h
The file was modifiedflang/runtime/descriptor-io.h
The file was modifiedflang/runtime/edit-input.h
The file was modifiedflang/runtime/edit-output.h
The file was modifiedflang/runtime/edit-output.cpp
The file was modifiedflang/include/flang/Evaluate/type.h
Commit 4d5b1de40eccc7ffcfb859cef407e5f30bee77f8 by tejohnson
[sanitizer] Skip stack symbolization when not required for print format

Adds a check to avoid symbolization when printing stack traces if the
stack_trace_format flag does not need it. While there is a symbolize
flag that can be turned off to skip some of the symbolization,
SymbolizePC() still unconditionally looks up the module name and offset.
Avoid invoking SymbolizePC() at all if not needed.

This is an efficiency improvement when dumping all stack traces as part
of the memory profiler in D87120, for large stripped apps where we want
to symbolize as a post pass.

Differential Revision: https://reviews.llvm.org/D88361
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.h
The file was modifiedcompiler-rt/lib/sanitizer_common/tests/sanitizer_stacktrace_printer_test.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_symbolizer_report.cpp
The file was modifiedcompiler-rt/lib/hwasan/hwasan_report.cpp
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_report.cpp
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/print-stack-trace.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stacktrace_libcdep.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.cpp
Commit c10248829357fd90030ba091e01b6c253e5848f1 by d.c.ddcc
Add test for disabling Dead Virtual Function Elimination

Differential Revision: https://reviews.llvm.org/D88349
The file was modifiedclang/test/CodeGenCXX/virtual-function-elimination.cpp
Commit 68e1a8d20795802077987529e1268c184d749564 by craig.topper
[X86] Defer the creation of LCMPXCHG16B_SAVE_RBX until finalize-isel

We need to use LCMPXCHG16B_SAVE_RBX if RBX/EBX is being used as
the frame pointer. We previously checked for this during type
legalization, but that's too early to know for sure if the base
pointer is needed.

This patch adds a new pseudo instruction to emit from isel that
uses a virtual register for the RBX input. Then we use the custom
inserter hook to emit LCMPXCHG16B if RBX isn't needed as a base
pointer or LCMPXCHG16B_SAVE_RBX if it is.

Fixes PR42064.

Reviewed By: pengfei

Differential Revision: https://reviews.llvm.org/D88808
The file was addedllvm/test/CodeGen/X86/pr42064.ll
The file was modifiedllvm/lib/Target/X86/X86ExpandPseudo.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrCompiler.td
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.td
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.h
Commit 35cb45c533fb76dcfc9f44b4e8bbd5d8a855ed2a by anna
[ImplicitNullChecks] Support complex addressing mode

The pass is updated to handle loads through complex addressing mode,
specifically, when we have a scaled register and a scale.
It requires two API updates in TII which have been implemented for X86.

See added IR and MIR testcases.

Tests-Run: make check
Reviewed-By: reames, danstrushin
Differential Revision: https://reviews.llvm.org/D87148
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.cpp
The file was modifiedllvm/test/CodeGen/X86/implicit-null-check-negative.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.h
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.h
The file was modifiedllvm/lib/CodeGen/ImplicitNullChecks.cpp
The file was modifiedllvm/test/CodeGen/X86/implicit-null-checks.mir
The file was modifiedllvm/test/CodeGen/X86/implicit-null-check.ll
The file was modifiedllvm/include/llvm/CodeGen/TargetInstrInfo.h
Commit 80ef4126b100fd3c9823b20ac641fe76c4d5a11f by phosek
[libcxx] Use runtime rather then compile-time glibc version check

glibc supports versioning, so it's possible to build against older
version and run against newer version. This is sometimes relied on
in practice, e.g. in Fuchsia build we build against older sysroot
(equivalent to Ubuntu Trusty) to cover the broadest possible range
of host systems, but that doesn't necessarily match the system that
binary is going to run on which may have newer version, in which case
the compile test used in curr_symbol is going to fail. Using runtime
check is more reliable. This is a follow up to D56702 which addressed
one instance, this patch addresses all of the remaining ones.

Differential Revision: https://reviews.llvm.org/D88188
The file was modifiedlibcxx/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_fr_FR.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/decimal_point.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/curr_symbol.pass.cpp
The file was modifiedlibcxx/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_fr_FR.pass.cpp
The file was modifiedlibcxx/test/support/platform_support.h
The file was modifiedlibcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/thousands_sep.pass.cpp
Commit d9881e6e27bc7fa882742b13d43bb6d491dfc1ea by Yuanfang Chen
[IRMover] Avoid materializing global value that belongs to not-yet-linked module

We saw the same assertion failure mentioned here
https://bugs.llvm.org/show_bug.cgi?id=42063 in our internal tests.

The failure happens in the same circumstance as D47898 and D66814 where
uniqueing of DICompositeTypes causes `Mapper::mapValue` to be called on
GlobalValues(`G`) from a not-yet-linked module(`M`). The following type-mapping for
`G` may not complete correctly (fail to unique types etc.  depending on the
the complexity of the types) because IRLinker::computeTypeMapping is not done for `M`
in this path.

D47898 and D66814 fixed some type-mapping issue after Mapper::mapValue
is called on `G`. However, it seems it did not handle some complex cases. I
think we should delay linking globals like `G` until its owing module is
linked. In this way, we could save unnecessary type mapping and prune
these corner cases. It is also supposed to reduce the total number of structs
ending up in the combined module.

D47898 is reverted (its test is kept) because it regresses the test case here.
D66814 could also be reverted (the `check-all` looks good). But it looks reasonable
anyway, so I thought I should keep it.

Also tested the patch with clang self-host regularLTO/ThinLTO build, things look
good as well.

Reviewed By: tejohnson

Differential Revision: https://reviews.llvm.org/D87001
The file was addedllvm/test/LTO/X86/Inputs/type-mapping-bug4_1.ll
The file was addedllvm/test/LTO/X86/Inputs/type-mapping-bug4_0.ll
The file was modifiedllvm/lib/Linker/IRMover.cpp
The file was addedllvm/test/LTO/X86/type-mapping-bug4.ll
Commit 93db4a8ce6261dc36e233f5e0b60cfbb3ea1bd8f by gcmn
Remove unused variables

These are unused since
https://reviews.llvm.org/rG35cb45c533fb76dcfc9f44b4e8bbd5d8a855ed2a
causing `-Wunused` warnings.

Differential Revision: https://reviews.llvm.org/D89022
The file was modifiedllvm/lib/CodeGen/ImplicitNullChecks.cpp
Commit dc3dba7dbdab207a8e55171860d3caa712aa5dfc by craig.topper
[X86] Move findDeadCallerSavedReg() into X86RegisterInfo

The findDeadCallerSavedReg() function has utility outside of X86FrameLowering.cpp

Differential Revision: https://reviews.llvm.org/D88924
The file was modifiedllvm/lib/Target/X86/X86RegisterInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86FrameLowering.cpp
The file was modifiedllvm/lib/Target/X86/X86RegisterInfo.h
Commit ad4313fc833d2a1b5ae4b3ffe92366ba61a1232c by craig.topper
[X86] Fix bug in -mlvi-cfi that may clobber a live register

Fix for this bug: https://bugs.llvm.org/show_bug.cgi?id=47740

The fix uses the existing findDeadCallerSavedReg() function instead of a hacky heuristic to find a scratch register to clobber.

Differential Revision: https://reviews.llvm.org/D88925
The file was modifiedllvm/lib/Target/X86/X86LoadValueInjectionRetHardening.cpp
The file was modifiedllvm/test/CodeGen/X86/lvi-hardening-ret.ll
Commit 31611721686760fe59c91a84b025e4dee94d1662 by yhs
BPF: fix incorrect DAG2DAG load optimization

Currently, bpf backend Instruction section DAG2DAG phase has
an optimization to replace loading constant struct memeber
or array element with direct values. The reason is that these
locally defined struct or array variables may have their
initial values stored in a readonly section and early bpf
ecosystem is not able to handle such cases.

Bpf ecosystem now can not only handle readonly sections,
but also global variables. global variable can also have
initialized data and global variable may or may not be constant,
i.e., global variable data can be put in .data section or .rodata
section. This exposed a bug in DAG2DAG Load optimization
as it did not check whether the global variable is constant
or not.

This patch fixed the bug by checking whether global variable,
representing the initial data, is constant or not and will not
do optimization if it is not a constant.

Another bug is also fixed in this patch to check whether
the load is simple (not volatile/atomic) or not. If it is
not simple, we will not do optimization. To summary for
globals:
   - struct t var = { ... } ;  // no load optimization
   - const struct t var = { ... }; // load optimization is possible
   - volatile const struct t var = { ... }; // no load optimization

Differential Revision: https://reviews.llvm.org/D89021
The file was modifiedllvm/lib/Target/BPF/BPFISelDAGToDAG.cpp
The file was addedllvm/test/CodeGen/BPF/rodata_7.ll
The file was addedllvm/test/CodeGen/BPF/rodata_6.ll
Commit a4961f0d8a2ec91e209b9d3ea7b03acac4f5a8b1 by thakis
Revert "[Support][unittests] Enforce alignment in ConvertUTFTest"

This reverts commit 53b3873cf428fd78f1d92504cc20adf11181ead7.
Seems to break SupportTests.exe's
ConvertUTFTest.UTF16WrappersForConvertUTF16ToUTF8String
on Windows.
The file was modifiedllvm/unittests/Support/ConvertUTFTest.cpp
The file was modifiedllvm/lib/Support/ConvertUTFWrapper.cpp
Commit 6dcbea877bffcd5871cf6002616a5dcdfece0b86 by aeubanks
[NewPM] Use PassInstrumentation for -verify-each

This removes "VerifyEachPass" parameters from a lot of functions which is nice.

Don't verify after special passes or VerifierPass.

This introduces verification on loop and cgscc passes, verifying the corresponding function/module.

Reviewed By: ychen

Differential Revision: https://reviews.llvm.org/D88764
The file was addedllvm/test/Other/new-pass-manager-verify-each.ll
The file was modifiedllvm/unittests/IR/PassBuilderCallbacksTest.cpp
The file was modifiedpolly/lib/Support/RegisterPasses.cpp
The file was modifiedllvm/lib/Passes/StandardInstrumentations.cpp
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/tools/opt/NewPMDriver.cpp
The file was modifiedllvm/include/llvm/Passes/StandardInstrumentations.h
The file was modifiedllvm/test/Other/new-pass-manager.ll
The file was modifiedllvm/include/llvm/Passes/PassBuilder.h
The file was modifiedllvm/tools/llvm-opt-fuzzer/llvm-opt-fuzzer.cpp
Commit a5ef2e0a1e3bf5a76b0c170ca7791564ab1a8375 by mkazantsev
Return "[SCEV] Prove implicaitons via AddRec start"

The initial version of the patch was reverted because it missed the check that
the predicate being proved is actually guarded by this check on 1st iteration.
If it was not executed on 1st iteration (but possibly executes after that), then
it is incorrect to use reasoning about IV start to prove it.

Added the test where the miscompile was seen. Unfortunately, my attempts
to reduce it with bugpoint did not succeed; it can further be reduced when
we understand how to do it without losing the initial bug's notion.

Returning assuming the miscompiles are now gone.

Differential Revision: https://reviews.llvm.org/D88208
The file was addedllvm/test/Transforms/IndVarSimplify/addrec_no_exec_on_every_iteration.ll
The file was modifiedllvm/unittests/Analysis/ScalarEvolutionTest.cpp
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolution.h
The file was modifiedllvm/lib/Analysis/ScalarEvolution.cpp
Commit b4ffc40d622bb2647852284c78c5e83346f2d630 by sguelton
Update documentation and implementation of stage3 build

Have the build work out of the box by forcing an LLD build.

That way, we don't require an external LTO-aware linker,
as we build one.

Also remove reference to the seemingly dead builder.

Differential Revision: https://reviews.llvm.org/D88990
The file was modifiedclang/cmake/caches/3-stage-base.cmake
The file was modifiedllvm/docs/AdvancedBuilds.rst
Commit 9b2b32743d71311eeb713ace2550c0039e2491a2 by martin
[LLD] [ELF] Fix up a comment regarding the --wrap option. NFC.

Add missing leading underscores to the __wrap_<symbol> and
__real_<symbol> names.

Differential Revision: https://reviews.llvm.org/D89008
The file was modifiedlld/ELF/Driver.cpp
Commit 9b58b0c06e6906583a1225e5c8c51dda9cbc7cfd by martin
[LLD] Ignore ELF tests when ld.lld defaults to MinGW

Follow-up to D87418.

Differential Revision: https://reviews.llvm.org/D88991
The file was modifiedlld/test/lit.cfg.py
The file was modifiedlld/test/CMakeLists.txt
The file was modifiedlld/test/lit.site.cfg.py.in
Commit 81b4f3380b01c95ebc821bfafe1a304520ed39be by david.green
[ARM] Replace llvm.experimental.vector.reduce.smax with llvm.vector.reduce.smax. NFC

This fixes up some newer tests after D88787.
The file was modifiedllvm/test/CodeGen/Thumb2/mve-vmaxv-vminv-scalar.ll
Commit 498f89d1887752a207568311a9e657025ed4eeea by david.green
[LV] Collect dead induction truncates

We currently collect the ICmp and Add from an induction variable,
marking them as dead so that vplan values are not created for them. This
extends that to include any single use trunk from the ICmp, which allows
the Add to more readily be removed too.

This can help with costing vplan nodes, as the ICmp and Add are more
reliably removed and are not double-counted.

Differential Revision: https://reviews.llvm.org/D88873
The file was modifiedllvm/test/Transforms/LoopVectorize/ARM/tail-folding-not-allowed.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/if-pred-stores.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/pr36524.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/followup.ll
The file was modifiedllvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
Commit ba268d2fb09ceabfa03a6499258f973be62d7663 by hokein.wu
[clangd] Fix a typo, NFC.
The file was modifiedclang-tools-extra/clangd/ClangdServer.h
Commit a96bcfb196740b5be217f6166462ee1206530520 by hokein.wu
[AST][RecoveryExpr] Support dependent cast-expr in C for error-recovery.

Suppress spurious "typecheck_cond_expect_scalar_operand" diagnostic.

See whole context: https://reviews.llvm.org/D85025

Reviewed By: sammccall

Differential Revision: https://reviews.llvm.org/D84387
The file was modifiedclang/lib/Sema/SemaCast.cpp
The file was modifiedclang/test/Sema/error-dependence.c
The file was modifiedclang/test/AST/ast-dump-recovery.c
Commit 380087e6c9a226b28c24de3b18e202e20d430765 by Mirko.Brkusanin
[AMDGPU] Add test with redundant copies to temporary stack slot produced by expandUnalignedLoad

Differential Revision: https://reviews.llvm.org/D88895
The file was addedllvm/test/CodeGen/AMDGPU/load-local-redundant-copies.ll
Commit 7c88d13fd1c1a864124d96224996c62192d431f2 by Mirko.Brkusanin
[AMDGPU] Prefer SplitVectorLoad/Store over expandUnalignedLoad/Store

ExpandUnalignedLoad/Store can sometimes produce unnecessary copies to
temporary stack slot. We should prefer splitting vectors if possible.

Differential Revision: https://reviews.llvm.org/D88882
The file was modifiedllvm/test/CodeGen/AMDGPU/load-local-redundant-copies.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
Commit e7cf723051cd4638cf5d2c407b756312292e7c18 by limo
[mlir] Added strides check to rank reducing subview verification

Added missing strides check to verification method of rank reducing subview
which enforces strides specification for the resulting type.

Differential Revision: https://reviews.llvm.org/D88879
The file was modifiedmlir/test/IR/core-ops.mlir
The file was modifiedmlir/test/IR/invalid-ops.mlir
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
Commit 8e9622f96120842852f37bfaeea738b4b4ed5cb0 by pierre.gousseau
[cmake] Fix cmake warning in standalone compiler-rt builds.

```
cd compiler-rt/build
cmake -G Ninja ../ -DCOMPILER_RT_STANDALONE_BUILD=ON
-DLLVM_CONFIG_PATH=<...>llvm-project/build/bin/llvm-config
-DCOMPILER_RT_INCLUDE_TESTS=ON
```

```
-- check-shadowcallstack does nothing.
Traceback (most recent call last):
  File "<string>", line 22, in <module>
  IndexError: list index out of range
  -- Configuring done
  -- Generating done
```

Reviewed By: thakis

Differential Revision: https://reviews.llvm.org/D88957
The file was modifiedllvm/cmake/modules/AddLLVM.cmake
Commit 568035ac3955790aee2a5dbc2b1f4074c76bb4d7 by me
[llvm-readobj] Add --coff-tls-directory flag to print TLS Directory & test.

Akin to dumpbin's /TLS option, this will print out the TLS directory, if
present, in the image.

Example output:
```
> llvm-readobj --coff-tls-directory test.exe
File: test.exe
Format: COFF-x86-64
Arch: x86_64
AddressSize: 64bit
TLSDirectory {
  StartAddressOfRawData: 0x140004000
  EndAddressOfRawData: 0x140004040
  AddressOfIndex: 0x140002000
  AddressOfCallBacks: 0x0
  SizeOfZeroFill: 0x0
  Characteristics [ (0x0)
  ]
}
```

Reviewed By: jhenderson, grimar

Differential Revision: https://reviews.llvm.org/D88635
The file was modifiedllvm/lib/Object/COFFObjectFile.cpp
The file was modifiedllvm/docs/CommandGuide/llvm-readobj.rst
The file was modifiedllvm/include/llvm/BinaryFormat/COFF.h
The file was modifiedllvm/tools/llvm-readobj/ObjDumper.h
The file was modifiedllvm/tools/llvm-readobj/llvm-readobj.cpp
The file was modifiedllvm/tools/llvm-readobj/COFFDumper.cpp
The file was modifiedllvm/include/llvm/Object/COFF.h
The file was addedllvm/test/tools/llvm-readobj/COFF/tls-directory.test
Commit 9824d5c83844495ac00c04dc1789c3529a68c1ac by mkazantsev
[Test] Add test showing that we fail to eliminate implied exit conditions
The file was modifiedllvm/test/Transforms/IndVarSimplify/eliminate-comparison.ll
Commit 3578945004e322e45fdc47ca804f65628ea325a7 by grimar
[llvm-readobj][test] - Improve testing in hash-table.test

This makes tests stricter and adds cases to verify what
we do when:

1) there is no `DT_HASH` tag (but there is a `SHT_HASH` section in sections header)
2) the sh_entsize of the `SHT_HASH` section is not equal to 4.

Differential revision: https://reviews.llvm.org/D88812
The file was modifiedllvm/test/tools/llvm-readobj/ELF/hash-table.test
Commit cc83dc191c1ef04907ccd4308cc6aa5bf6fcd3c6 by csigg
Import llvm::StringSwitch into mlir namespace.

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D88971
The file was modifiedmlir/lib/IR/SymbolTable.cpp
The file was modifiedmlir/lib/ExecutionEngine/JitRunner.cpp
The file was modifiedmlir/lib/Dialect/LLVMIR/IR/LLVMTypeSyntax.cpp
The file was modifiedmlir/lib/TableGen/Predicate.cpp
The file was modifiedmlir/lib/TableGen/Format.cpp
The file was modifiedmlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-gen.cpp
The file was modifiedmlir/lib/Conversion/GPUCommon/IndexIntrinsicsOpLowering.h
The file was modifiedmlir/test/lib/Dialect/Test/TestDialect.cpp
The file was modifiedmlir/lib/Dialect/PDL/IR/PDL.cpp
The file was modifiedmlir/tools/mlir-tblgen/OpFormatGen.cpp
The file was modifiedmlir/include/mlir/Support/LLVM.h
The file was modifiedmlir/lib/Parser/Lexer.cpp
Commit aa47962cc9493cd79ca78954e721ed02479729c7 by llvm-dev
[InstCombine] canNarrowShiftAmt - replace custom Constant matching with m_SpecificInt_ICMP

The existing code ignores undef values which matches m_SpecificInt_ICMP, although m_SpecificInt_ICMP returns false for an all-undef constant, I've added test coverage at rGfe0197e194a64f9 to show that undef folding should already have dealt with that case.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
Commit c1fd4305b68500c754a7ce6a86fe297c36e21d3b by pifon
[mlir] Add basic support for dynamic tensor results in TensorToBuffers.cpp.

The simplest case is when the indexing maps are DimIds in every component. This covers cwise ops.

Also:
* Expose populateConvertLinalgOnTensorsToBuffersPatterns in Transforms.h
* Expose emitLoopRanges in Transforms.h

Differential Revision: https://reviews.llvm.org/D88781
The file was modifiedmlir/test/Dialect/Linalg/tensors-to-buffers.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Loops.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/TensorsToBuffers.cpp
The file was modifiedmlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
Commit e1d4ca00094a4267b6fd70f613f2e0390b2a8cbf by llvm-dev
[InstCombine] matchRotate - add support for matching general funnel shifts with constant shift amounts (PR46896)

First step towards extending the existing rotation support to full funnel shift handling now that the backend legalization support has improved.

This enables us to match the shift by constant cases, which are pretty trivial to expand again if necessary.

D88420 will add non-uniform support for funnel shifts as well once its been finalized.

Differential Revision: https://reviews.llvm.org/D88834
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
The file was modifiedllvm/test/Transforms/InstCombine/funnel.ll
Commit 7d01bb8f56f5f1d8e180e1b8d47c00b45aa0555b by llvm-dev
[llvm-objdump] Ensure we consistently use the llvm::stable_sort wrappers.

We use this everywhere else in this file, these were just missed.
The file was modifiedllvm/tools/llvm-objdump/llvm-objdump.cpp
Commit 38348fa26548fdcdbc1ae18c6e612d67f103ee37 by Tim Northover
AArch64: treat MC expressions as 2s complement arithmetic.

We had a couple of over-zealous diagnostics that meant IR with a reasonable and
valid interpretation was rejected.
The file was addedllvm/test/CodeGen/AArch64/2s-complement-asm.ll
The file was modifiedllvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
Commit 1e75668821f7c2abfdb4a25af76239b9120ae0ca by dmitry.preobrazhensky
[AMDGPU][MC][GFX1030] Disabled v_mac_f32

See bug 47741 <https://bugs.llvm.org/show_bug.cgi?id=47741>

Reviewers: nhaehnle, rampitec

Differential Revision: https://reviews.llvm.org/D89000
The file was modifiedllvm/test/MC/AMDGPU/gfx1030_err.s
The file was modifiedllvm/lib/Target/AMDGPU/VOP2Instructions.td
Commit 06758c6a6135f59deec8e73d4fcb69946ab47f54 by markus.lavin
[DebugInfo] Improve dbg preservation in LSR.

Use SCEV to salvage additional @llvm.dbg.value that have turned into
referencing undef after transformation (and traditional
salvageDebugInfo). Before transformation compute SCEV for each
@llvm.dbg.value in the loop body and store it (along side its current
DIExpression). After transformation update those @llvm.dbg.value now
referencing undef by comparing its stored SCEV to the SCEV of the
current loop-header PHI-nodes. Allow match with offset by inserting
compensation code in the DIExpression.

Includes fix for the nullptr deref that caused the original commit
to be reverted in 9d63029770.

Fixes : PR38815

Differential Revision: https://reviews.llvm.org/D87494
The file was modifiedllvm/test/DebugInfo/COFF/fpo-shrink-wrap.ll
The file was modifiedllvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
The file was addedllvm/test/Transforms/LoopStrengthReduce/dbg-preserve-0.ll
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolution.h
Commit 70bf35070a74df02ed12b9988ce58d50e63a7c04 by sepavloff
[Driver] Add output file to properties of Command

Object of class `Command` contains various properties of a command to
execute, but output file was missed from them. This change adds this
property. It is required for reporting consumed time and memory implemented
in D78903 and may be used in other cases too.

Differential Revision: https://reviews.llvm.org/D78902
The file was modifiedclang/lib/Driver/ToolChains/Flang.cpp
The file was modifiedclang/lib/Driver/ToolChains/Myriad.cpp
The file was modifiedclang/unittests/Driver/ToolChainTest.cpp
The file was modifiedclang/lib/Driver/ToolChains/BareMetal.cpp
The file was modifiedclang/lib/Driver/ToolChains/WebAssembly.cpp
The file was modifiedclang/lib/Driver/Job.cpp
The file was modifiedclang/lib/Driver/ToolChains/AVR.cpp
The file was modifiedclang/lib/Driver/ToolChains/NetBSD.cpp
The file was modifiedclang/lib/Driver/ToolChains/Ananas.cpp
The file was modifiedclang/lib/Driver/ToolChains/PS4CPU.cpp
The file was modifiedclang/include/clang/Driver/Job.h
The file was modifiedclang/lib/Driver/ToolChains/OpenBSD.cpp
The file was modifiedclang/lib/Driver/ToolChains/RISCVToolchain.cpp
The file was modifiedclang/lib/Driver/ToolChains/Cuda.cpp
The file was modifiedclang/lib/Driver/ToolChains/CloudABI.cpp
The file was modifiedclang/lib/Driver/ToolChains/CommonArgs.cpp
The file was modifiedclang/lib/Driver/ToolChains/AIX.cpp
The file was modifiedclang/lib/Driver/ToolChains/HIP.cpp
The file was modifiedclang/lib/Driver/ToolChains/Hexagon.cpp
The file was modifiedclang/lib/Driver/ToolChains/NaCl.cpp
The file was modifiedclang/lib/Driver/ToolChains/InterfaceStubs.cpp
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/lib/Driver/ToolChains/DragonFly.cpp
The file was modifiedclang/lib/Driver/ToolChains/MSP430.cpp
The file was modifiedclang/lib/Driver/ToolChains/MinGW.cpp
The file was modifiedclang/lib/Driver/ToolChains/Minix.cpp
The file was modifiedclang/lib/Driver/ToolChains/CrossWindows.cpp
The file was modifiedclang/lib/Driver/ToolChains/Darwin.cpp
The file was modifiedclang/lib/Driver/ToolChains/Fuchsia.cpp
The file was modifiedclang/lib/Driver/ToolChains/MSVC.cpp
The file was modifiedclang/lib/Driver/ToolChains/XCore.cpp
The file was modifiedclang/lib/Driver/ToolChains/Gnu.cpp
The file was modifiedclang/lib/Driver/ToolChains/Solaris.cpp
The file was modifiedclang/lib/Driver/ToolChains/AMDGPU.cpp
The file was modifiedclang/lib/Driver/ToolChains/FreeBSD.cpp
Commit a4e27220c2a1046616556b8aadb0ae8f5e0255be by hokein.wu
[clangd] Add a missing include-fixer test for incomplete_type, NFC.

Also sort the list to make it easier to verify with the implementation
code.

Differential Revision: https://reviews.llvm.org/D88964
The file was modifiedclang-tools-extra/clangd/IncludeFixer.cpp
The file was modifiedclang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
Commit 5415fef3abefd666fc9209f8305f5e0b4103b5cf by llvm-dev
[InstCombine] matchFunnelShift - support non-uniform constant vector shift amounts (PR46895)

Complete basic PR46895 fixes by refactoring D87452/D88402 to allow us to match non-uniform constant values.

We still don't handle non-uniform vectors that contain undef elements, but that can wait until we have a decent generic mechanism for this.

Differential Revision: https://reviews.llvm.org/D88420
The file was modifiedllvm/test/Transforms/InstCombine/rotate.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
The file was modifiedllvm/test/Transforms/InstCombine/funnel.ll
Commit 6668e4cc685e74a17ebd386913e842ac3d7472e5 by jhuber6
[OpenMP] Add Error Handling for Conflicting Pointer Sizes for Target Offload

Summary:
This patch adds an error to Clang that detects if OpenMP offloading is used
between two architectures with incompatible pointer sizes. This ensures that
the data mapping can be done correctly and solves an issue in code generation
generating the wrong size pointer.

Reviewer: jdoerfert

Subscribers: cfe-commits delcypher guansong llvm-commits sstefan1 yaxunl

Tags: #OpenMP #Clang

Differential Revision: https://reviews.llvm.org/D88594
The file was addedclang/test/OpenMP/target_incompatible_architecture_messages.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticDriverKinds.td
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
The file was modifiedclang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
The file was modifiedclang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
The file was modifiedclang/test/OpenMP/distribute_parallel_for_if_codegen.cpp
The file was modifiedclang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
Commit f53b43c00a0706232f6b94532a34397d8c2aa681 by sebastian.neubauer
[AMDGPU] Use isLegalMUBUFImmOffset more

Instead of hardcoding isUInt<12>.

Differential Revision: https://reviews.llvm.org/D88961
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIFrameLowering.cpp
The file was modifiedllvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
Commit 123415eddaf7d55db8606597e6e2375869b3f395 by konrad.dobros
[mlir][spirv] Add OpenCL extended ops: exp, fabs, s_abs

Reviewed By: mravishankar

Differential Revision: https://reviews.llvm.org/D88966
The file was addedmlir/include/mlir/Dialect/SPIRV/SPIRVOCLOps.td
The file was addedmlir/test/Dialect/SPIRV/Serialization/ocl-ops.mlir
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVOps.td
The file was addedmlir/test/Dialect/SPIRV/ocl-ops.mlir
Commit 30e6033b455bfa4b888eedb2cfe808a61845ed5f by nicolas.vasilache
[mlir][Linalg] Add TensorsToBuffers support for Constant ops.

This revision also inserts an end-to-end test that lowers tensors to buffers all the way to executable code on CPU.

Differential revision: https://reviews.llvm.org/D88998
The file was modifiedmlir/include/mlir/Dialect/Linalg/Passes.td
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.h
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.td
The file was addedmlir/integration_test/Dialect/Linalg/CPU/test-tensor-e2e.mlir
The file was modifiedmlir/lib/Transforms/BufferPlacement.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/PassDetail.h
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/TensorsToBuffers.cpp
The file was modifiedmlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
The file was modifiedmlir/test/Dialect/Linalg/tensors-to-buffers.mlir
Commit 80bf29f00cc84374a0c2081a25b7c75e527eecb5 by grimar
[llvm-readobj] - Fix possible crashes related to dumping gnu hash symbols.

It fixes possible scenarios when we crash/assert with `--hash-symbols` when
dumping an invalid GNU hash table which has a broken value in the buckets array.

This fixes a crash reported in comments for
https://bugs.llvm.org/show_bug.cgi?id=47681

Differential revision: https://reviews.llvm.org/D88561
The file was modifiedllvm/test/tools/llvm-readobj/ELF/gnuhash.test
The file was modifiedllvm/test/tools/llvm-readobj/ELF/hash-histogram.test
The file was modifiedllvm/test/tools/llvm-readobj/ELF/hash-symbols.test
The file was modifiedllvm/tools/llvm-readobj/ELFDumper.cpp
Commit a0a6fd435c6066d40d9c20835f1e52aad1e8cc65 by usx
[clangd] New CC Ranking Model to fix bad inference due to overflow.

Unreachable file distances are represented as
`std::numeric_limits<unsigned>::max()`.
The previous dataset recorded the signals as `signed int` capturing this default
value as `-1`.

A new dataset was regenerated and a new model is trained that
interprets this unreachable as the intended value.

Distribution of `SymbolScopeDistance`:
Value         Normalised Frequency
0             46.6184
4294967295    29.5342
6             14.5666
4              6.4433
2              1.4534
8              0.5760
10             0.3581
....

Distribution of `FileProximityDistance`:
Value         Normalised Frequency
4294967295    39.9378
12             5.1997
14             4.9828
15             4.4221
16             4.3820
13             4.2765
17             3.8957
11             3.6387
19             3.4799
18             3.4076
....

Differential Revision: https://reviews.llvm.org/D89035
The file was modifiedclang-tools-extra/clangd/quality/model/forest.json
Commit 92bca1284308452b8eb549e9382873645320cf19 by diggerlin
[AIX] add new option -mignore-xcoff-visibility

SUMMARY:

In IBM compiler xlclang , there is an option -fnovisibility which suppresses visibility. For more details see: https://www.ibm.com/support/knowledgecenter/SSGH3R_16.1.0/com.ibm.xlcpp161.aix.doc/compiler_ref/opt_visibility.html.

We need to add the option -mignore-xcoff-visibility for compatibility with the IBM AIX OS (as the option is enabled by default in AIX). With this option llvm does not emit any visibility attribute to ASM or XCOFF object file.

The option only work on the AIX OS, for other non-AIX OS using the option will report an unsupported options error.

In AIX OS:

1.1  the option -mignore-xcoff-visibility is enabled by default , if there is not -fvisibility=* and -mignore-xcoff-visibility explicitly in the clang command .

1.2 if there is -fvisibility=* explicitly but not -mignore-xcoff-visibility  explicitly in the clang command.  it will generate visibility attributes.

1.3 if there are  both  -fvisibility=* and  -mignore-xcoff-visibility  explicitly in the clang command. The option  "-mignore-xcoff-visibility" wins , it do not emit the visibility attribute.

The option -mignore-xcoff-visibility has no effect on visibility attribute when compile with -emit-llvm option to generated LLVM IR.

Reviewer: daltenty,Jason Liu

Differential Revision: https://reviews.llvm.org/D87451
The file was modifiedllvm/include/llvm/CodeGen/CommandFlags.h
The file was modifiedclang/docs/ClangCommandLineReference.rst
The file was addedllvm/test/CodeGen/PowerPC/aix-ignore-xcoff-visibility.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
The file was addedclang/test/CodeGen/aix-ignore-xcoff-visibility.cpp
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedllvm/include/llvm/Target/TargetOptions.h
The file was modifiedclang/include/clang/Basic/CodeGenOptions.def
The file was modifiedllvm/lib/CodeGen/CommandFlags.cpp
The file was modifiedclang/include/clang/Driver/Options.td
The file was addedclang/test/Driver/ignore-xcoff-visibility.cpp
The file was modifiedllvm/include/llvm/Target/TargetMachine.h
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
Commit e547b1e2431f9b6175470ff703cf6e1988031cda by limo
[mlir] Rank reducing subview conversion to LLVM

This commit adjusts SubViewOp lowering to take rank reduction into account.

Differential Revision: https://reviews.llvm.org/D88883
The file was modifiedmlir/lib/Dialect/StandardOps/IR/Ops.cpp
The file was addedmlir/integration_test/Dialect/Linalg/CPU/matmul-vs-matvec.mlir
The file was modifiedmlir/include/mlir/Dialect/StandardOps/IR/Ops.h
The file was addedmlir/integration_test/Dialect/Linalg/CPU/rank-reducing-subview.mlir
The file was modifiedmlir/lib/Conversion/StandardToLLVM/StandardToLLVM.cpp