Changes

Summary

  1. [sanitizer] Fix "set -e in subshell" in QEMU checkout (details)
  2. [scudo] Remove HWCAP2_MTE workaround (details)
  3. [scudo] Fix "set -e in subsell" issue (details)
  4. [scudo] Combine cmake/ninja steps (details)
  5. [scudo] Print executed tests (details)
  6. [scudo] Install cross compiled libs into STAGE1 (details)
  7. Update configuration for Arm/Aarch64 cross Windows to Linux toolchan builders. (details)
  8. Run only 1 build at a time for heavily loaded workers. (details)
  9. Fixed undefined runtime_projects in OpenMPBuilder. (details)
  10. [sanitizer] Prepare for D102543 (details)
Commit b7d044fe8aebce30d254a874c77c1a4242e2899a by Vitaly Buka
[sanitizer] Fix "set -e in subshell" in QEMU checkout
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_qemu.sh (diff)
Commit 649236a0b9147a8d248d3199d64658f4849bbf96 by Vitaly Buka
[scudo] Remove HWCAP2_MTE workaround

It's not needed after https://patches.linaro.org/patch/433102/
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_qemu.sh (diff)
Commit 02976f40d5f7b0f044b5c6e23536fb5d5de92b31 by Vitaly Buka
[scudo] Fix "set -e in subsell" issue
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_qemu.sh (diff)
Commit 409d93787e66564154499721a6ccd4057a7fb36f by Vitaly Buka
[scudo] Combine cmake/ninja steps
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_qemu.sh (diff)
Commit 43acf06e868448cb510edb1a38fa3303856685dd by Vitaly Buka
[scudo] Print executed tests
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_qemu.sh (diff)
Commit 73b441c5f00a417b58ec16551519afca2198053b by Vitaly Buka
[scudo] Install cross compiled libs into STAGE1

We need this for LIT future lit tests.
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_qemu.sh (diff)
Commit 1a389eb42b96c65d408ddceef0d298f34aa6b9a2 by vvereschaka
Update configuration for Arm/Aarch64 cross Windows to Linux toolchan builders.

Those builders:
* llvm-clang-win-x-armv7l
* llvm-clang-win-x-aarch64

Differential Revision: https://reviews.llvm.org/D102741
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)
Commit 6ca77ac1f51211eeedb25a00857125455c157e68 by gkistanova
Run only 1 build at a time for heavily loaded workers.
The file was modifiedbuildbot/osuosl/master/config/workers.py (diff)
Commit 69e37a9fe8b7f999648f8c040a5472694fe486f0 by gkistanova
Fixed undefined runtime_projects in OpenMPBuilder.
The file was modifiedzorg/buildbot/builders/OpenMPBuilder.py (diff)
Commit 910833b342290804b635943cb4e3d35df32665a3 by Vitaly Buka
[sanitizer] Prepare for D102543

Mips requires special handling
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_qemu.sh (diff)

Summary

  1. [lldb][NFC] Remove all uses of StringRef::withNullAsEmpty in LLDB (details)
  2. [ASTimporter] Remove decl from lookup only if it has decl context (details)
  3. [mlir][docs] Fix broken link to Toy example (details)
  4. [VPlan] Add VPUserID to distinguish between recipes and others. (details)
  5. [RISCV] Fix operand order in fixed-length VM(OR|AND)NOT patterns (details)
  6. [lldb][NFC] Cleanup IRForTarget member initializers (details)
  7. Update MSVC version number in preprocessor check (details)
  8. [CodeGen] Avoid unused variable warning in Release builds. NFCI. (details)
  9. [AMDGPU] Fix typo in comment (details)
  10. [mlir] Add folder for complex.ReOp and complex.ImOp. (details)
  11. [lit] Stop using PATH to lookup clang/lld/lldb unless requested (details)
  12. [lld] Add a feature for each lld variant when use_lld is called (details)
  13. [OpenCL] Fix initialization of __constant constructors without arguments (details)
  14. [mlir][Linalg] Drop spuriously long matmul_column_major benchmark (details)
  15. [SYCL] Enable `opencl_global_[host,device]` attributes for SYCL (details)
  16. [AMDGPU] Regenerate wave32.ll tests (details)
  17. Revert rGd70cbd1ce9b426f2c7e0e0f900769bbcbb300a95 "[AMDGPU] Regenerate wave32.ll tests" (details)
  18. [CostModel][X86] Add missing check prefixes from cast.ll (details)
  19. [CostModel][X86] Add scalar truncation cost checks (details)
  20. [LV] Add test which sinks a load a across an aliasing store. (details)
  21. [lld/mac] Propagate -(un)exported_symbol(s_list) to privateExtern in Driver (details)
  22. [X86][AVX] Cleanup AVX2 vector integer truncation costs (details)
  23. [LLD] [MinGW] Pass the canExitEarly parameter through properly (details)
  24. [NFC] Removed unused VFInfo comparison operator (details)
  25. [libcxx][test] Attempt to make debug mode tests more bulletproof (details)
  26. [X86] AMD Zen 3: cap LoopMicroOpBufferSize to workaround PR50384 (quadratic IndVars runtime) (details)
  27. [ADT] Remove StringRef::withNullAsEmpty (details)
  28. [DebugInfo][test] Check specific func name to ignore codegen differences (details)
  29. Recommit X86: support Swift Async context (details)
  30. Introduce SYCL 2020 mode (details)
  31. [ORC] Don't try to obtain a ref to a non-existent buffer. (details)
  32. [ORC-RT] Add compiler abstraction header for the ORC runtime. (details)
  33. [ORC-RT] Add apply_tuple utility. (details)
  34. [clang-offload-bundler] Add sections and set section flags using one llvm-objcopy invocation (details)
  35. [GlobalISel] Simplify G_ICMP to true/false when the result is known (details)
  36. Speculatively fix failing tests from 6381664580080f015bc0c2ec647853f697cf744a (details)
  37. [MLIR][Affine] Privatize certain escaping memrefs (details)
  38. [X86] AMD Zen 3: fix MULX modelling - don't forget about WriteIMulH (PR50387) (details)
  39. [AArch64][GlobalISel] Prefer mov for s32->s64 G_ZEXT (details)
  40. [gn build] Add target for PassesBindingsTest (details)
  41. [test] Speculative fix for bots (details)
  42. [X86] Use Skylake Server model for x86-64-v4 so we have full instruction coverage (details)
  43. Revert "[test] Speculative fix for bots" (details)
  44. [IR] Add a Location to BlockArgument. (details)
  45. [InstCombine] add tests for funnel shift miscompile; NFC (details)
  46. [gn build] Rename PassesBindingsTests and add it to unittests (details)
  47. [test] Speculative fix for bots (round 2) (details)
  48. [InstCombine] restrict funnel shift match to avoid miscompile (details)
  49. [NFC] Format PassesBindingsTests CMake like other unittests (details)
  50. [IntegerAttr] Add helpers for working with LLVM's APSInt type. (details)
  51. [lld/mac] Correctly set nextdefsym (details)
  52. [Driver] Delete -mimplicit-it= (details)
  53. [flang] Implement MATMUL in the runtime (details)
  54. [LICM] Remove MaybePromotable set (PR50367) (details)
  55. [flang] Accept OPEN(ACCESS='APPEND') legacy extension even without warnings enabled (details)
  56. [RuntimeDyld] Add allowStubs/allowZeroSyms (details)
  57. [X86][AVX] Add variable-permute test case from PR50356 (details)
  58. AMDGPU/NFC: Replace EF_AMDGPU_MACH_AMDGCN_RESERVED_0X3E with EF_AMDGPU_MACH_AMDGCN_GFX1034 (details)
  59. [clang-repl] Better match the underlying architecture. (details)
  60. [lld][WebAssembly] Enable string tail merging in debug sections (details)
  61. [X86][AVX] createVariablePermute - correctly extend same-sized-vector indices (PR50356) (details)
  62. [lld][WebAssembly] Convert test to assembly. NFC. (details)
  63. [mlir-lsp-server] Add support for recording text document versions (details)
  64. [PDB] Improve error handling when writes fail (details)
  65. [CMake] Use -O0 for unittests under full LTO as well (details)
  66. [OpaquePtr] Make loads and stores work with opaque pointers (details)
  67. [MinGW] Fix the cmake condition for -mbig-obj (details)
  68. [NewPM] Don't mark AA analyses as preserved (details)
  69. [compiler-rt] [builtins] Provide a SEH specific __gcc_personality_seh0 (details)
  70. [SystemZ] [z/OS] Add XPLINK64 Calling Convention to SystemZ (details)
  71. AMDGPU/Docs: Remove reserved MACH 0x3E (it is no longer reserved), sort MACHs by value (details)
  72. [MSan] Set zeroext on call arguments to msan functions with zeroext parameter attribute (details)
  73. [TargetLowering] Only inspect attributes in the arguments for ArgListEntry (details)
  74. [NFC] Use ArgListEntry indirect types more in ISel lowering (details)
  75. [docs] Fix broken docs after 1c7f32334 (details)
  76. [mlir-docs] Add a blurb on recursion during pattern application (details)
  77. [mlir] Allow derived rewrite patterns to define a non-virtual `initialize` hook (details)
  78. [x86] trim zeros from constants for readability; NFC (details)
  79. [x86] add FMF propagation test for target-specific intrinsic; NFC (details)
  80. scudo: Test realloc on increasing size buffers. (details)
  81. [Demangle][Rust] Parse named types (details)
  82. [Demangle][Rust] Parse array type (details)
  83. [Demangle][Rust] Parse slice type (details)
  84. [Demangle][Rust] Parse tuples (details)
  85. Default stack alignment of x86 NaCl to 16 bytes (details)
  86. [symbolizer] Added StartAddress for the resolved function. (details)
  87. [Demangle][Rust] Speculative fix for bot build failure (details)
  88. [OpenMP] Stabilize OpenMP/parallel_for_codegen.cpp test (NFC) (details)
  89. [SampleFDO] New hierarchical discriminator for Flow Sensitive SampleFDO (details)
  90. [gn build] Port 886629a8c9e5 (details)
  91. Fix a buildbot failure from commit 886629a8 (details)
  92. [libc++] Some fixes to the <bit> utilities. (details)
  93. [libc++] Alphabetize header inclusions and include-what-you-use <__debug>. NFCI. (details)
  94. Apply [[standalone_debug]] to some types in the STL. (details)
  95. [mlir] Speed up Lexer::getEncodedSourceLocation (details)
  96. Add a helper function to convert LogicalResult to int for return from main (details)
  97. [X86FixupLEAs] Transform the sequence LEA/SUB to SUB/SUB (details)
  98. [Attributor] Change AAExecutionDomain to only accept intrinsics (details)
  99. Revert "[IR] Add a Location to BlockArgument." and follow-on commit (details)
  100. Enhance InferShapedTypeOpInterface to make it accessible during dialect conversion (details)
  101. [CMake] Update Cmake cache file for Win to ARM Linux cross builds. NFC (details)
  102. [Utils][vim] Highlight CHECK-EMPTY: & CHECK-COUNT: directives (details)
  103. [NewPM] Add options to PrintPassInstrumentation (details)
Commit bbea361039c11dc2e6e281c80fa8aa569f1c7c2d by Raphael Isemann
[lldb][NFC] Remove all uses of StringRef::withNullAsEmpty in LLDB

A long time ago LLDB wanted to start using StringRef instead of
C-Strings/ConstString but was blocked by the fact that the StringRef constructor
that takes a C-string was asserting that the C-string isn't a nullptr. To
workaround this, D24697 introduced a special function called `withNullAsEmpty`
and that's what LLDB (and only LLDB) started to use to build StringRefs from
C-strings.

A bit later it seems that `withNullAsEmpty` was declared too awkward to use and
instead the assert in the StringRef constructor got removed (see D24904). The
rest of LLDB was then converted to StringRef by just calling the now perfectly
usable implicit constructor.

However, all the calls to `withNullAsEmpty` just remained and are now just
strange artefacts in the code base that just look out of place. It's also
curiously a LLDB-exclusive function and no other project ever called it since
it's introduction half a decade ago.

This patch removes all uses of `withNullAsEmpty`. The follow up will be to
remove the function from StringRef.

Reviewed By: JDevlieghere

Differential Revision: https://reviews.llvm.org/D102597
The file was modifiedlldb/source/API/SBLanguageRuntime.cpp
The file was modifiedlldb/source/API/SBTypeCategory.cpp
The file was modifiedlldb/source/Commands/CommandObjectTarget.cpp
The file was modifiedlldb/source/Interpreter/OptionValue.cpp
The file was modifiedlldb/source/Commands/CommandObjectType.cpp
The file was modifiedlldb/source/Interpreter/CommandInterpreter.cpp
The file was modifiedlldb/source/API/SBDebugger.cpp
The file was modifiedlldb/source/Breakpoint/BreakpointResolverName.cpp
The file was modifiedlldb/include/lldb/Interpreter/OptionValueString.h
The file was modifiedlldb/include/lldb/Interpreter/OptionValueRegex.h
The file was modifiedlldb/source/Commands/CommandObjectFrame.cpp
The file was modifiedlldb/source/Target/ThreadPlanStepInRange.cpp
The file was modifiedlldb/source/API/SBPlatform.cpp
The file was modifiedlldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
Commit 88ee91cd87794813f4394f82d2c693c8d766e1d2 by balazs.benics
[ASTimporter] Remove decl from lookup only if it has decl context

In the case of TypedefDecls we set the DeclContext after we imported it.
It turns out, it could lead to null pointer dereferences during the
cleanup part of a failed import.

This patch demonstrates this issue and fixes it by checking if the
DeclContext is available or not.

Reviewed By: shafik

Differential Revision: https://reviews.llvm.org/D102640
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/unittests/AST/ASTImporterTest.cpp
Commit dfd929d26174108ccfe84de33abf23d660e1373d by marius.brehler
[mlir][docs] Fix broken link to Toy example
The file was modifiedmlir/docs/LangRef.md
Commit cc1a6361d34e270b407f91a6e2e76c7fb324ee2d by flo
[VPlan] Add VPUserID to distinguish between recipes and others.

This allows cast/dyn_cast'ing from VPUser to recipes. This is needed
because there are VPUsers that are not recipes.

Reviewed By: gilr, a.elovikov

Differential Revision: https://reviews.llvm.org/D100257
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/VPlanValue.h
The file was modifiedllvm/lib/Transforms/Vectorize/VPlan.h
Commit 175bdf127d5bb09c81fbd3dc1e766e4ef26793d0 by fraser
[RISCV] Fix operand order in fixed-length VM(OR|AND)NOT patterns

Where the RVV specification writes `vs2, vs1`, our TableGen patterns use
`rs1, rs2`. These differences can easily cause confusion. The VMANDNOT
instruction performs `LHS && !RHS`, and similarly for VMORNOT.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D102606
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-select-int.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-logic.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
Commit d017d12f126ee9045f58f9300078d805e3bcc763 by Raphael Isemann
[lldb][NFC] Cleanup IRForTarget member initializers

Note that the FunctionCallee members aren't pointer, so the nullptr was just
an alternative way to call the default constructor.
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/IRForTarget.h
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
Commit e89b60fcfc7ff776e93a94a54421850cc104a6df by david.spickett
Update MSVC version number in preprocessor check

Passing template parameter packs to std::map doesn't work in VS 2017/2019, so this updates the preprocessor version check to use an alternate version in VS2019, as well.

Reviewed By: DavidSpickett

Differential Revision: https://reviews.llvm.org/D102260
The file was modifiedllvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
Commit 3f3642a7631e28e44c248a46703e381d389958a1 by benny.kra
[CodeGen] Avoid unused variable warning in Release builds. NFCI.
The file was modifiedclang/lib/CodeGen/CGCleanup.cpp
Commit 092a3ce5699e5e2ddeb7b640bab0a70db73040d8 by jay.foad
[AMDGPU] Fix typo in comment
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUUnifyDivergentExitNodes.cpp
Commit fa765a09440253fd16e92376b4cf132873afe84e by akuegel
[mlir] Add folder for complex.ReOp and complex.ImOp.

Now that complex constants are supported, we can also fold.

Differential Revision: https://reviews.llvm.org/D102616
The file was modifiedmlir/include/mlir/Dialect/Complex/IR/ComplexOps.td
The file was addedmlir/test/Dialect/Complex/canonicalize.mlir
The file was modifiedmlir/lib/Dialect/Complex/IR/ComplexOps.cpp
Commit a1e6565855784988aa6302d6672705baf2a84ff2 by james.henderson
[lit] Stop using PATH to lookup clang/lld/lldb unless requested

This patch stops lit from looking on the PATH for clang, lld and other
users of use_llvm_tool (currently only the debuginfo-tests) unless the
call explicitly requests to opt into using the PATH. When not opting in,
tests will only look in the build directory.

See the mailing list thread starting from
https://lists.llvm.org/pipermail/llvm-dev/2021-May/150421.html.

See the review for details of why decisions were made about when still
to use the PATH.

Reviewed by: thopre

Differential Revision: https://reviews.llvm.org/D102630
The file was modifiedlldb/test/Shell/helper/toolchain.py
The file was modifiedllvm/utils/lit/lit/llvm/config.py
Commit 20e1577d13ce8622b1ef709f7bc1c397df98e7e2 by james.henderson
[lld] Add a feature for each lld variant when use_lld is called

This allows tests to detect whether to run or not, dependent on which
LLD version is required for the test.

Reviewed by: thopre

Differential Revision: https://reviews.llvm.org/D101997
The file was addedllvm/utils/lit/tests/Inputs/lld-features/ld.lld.txt
The file was addedllvm/utils/lit/tests/Inputs/lld-features/lld-link
The file was modifiedllvm/utils/lit/lit/llvm/config.py
The file was addedllvm/utils/lit/tests/Inputs/lld-features/lit.cfg
The file was addedllvm/utils/lit/tests/Inputs/lld-features/ld.lld.exe
The file was addedllvm/utils/lit/tests/Inputs/lld-features/lld-link.exe
The file was addedllvm/utils/lit/tests/Inputs/lld-features/ld64.lld.exe
The file was addedllvm/utils/lit/tests/Inputs/lld-features/ld.lld
The file was addedllvm/utils/lit/tests/Inputs/lld-features/ld64.lld
The file was addedllvm/utils/lit/tests/Inputs/lld-features/ld64.lld.txt
The file was addedllvm/utils/lit/tests/Inputs/lld-features/wasm-ld.exe
The file was addedllvm/utils/lit/tests/Inputs/lld-features/wasm-ld.txt
The file was addedllvm/utils/lit/tests/Inputs/lld-features/lld-link.txt
The file was addedllvm/utils/lit/tests/Inputs/lld-features/wasm-ld
The file was addedllvm/utils/lit/tests/lld-features.py
Commit 642d2f000b26821010793ea1ea6a38a6695fc864 by olemarius.strohm
[OpenCL] Fix initialization of __constant constructors without arguments

This fixes the initialization of objects in the __constant
address space that occurs when declaring the object.

Fixes part of PR42566

Reviewed By: Anastasia

Differential Revision: https://reviews.llvm.org/D102248
The file was addedclang/test/SemaOpenCLCXX/addrspace-constructors.clcpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was addedclang/test/CodeGenOpenCLCXX/addrspace-constructors.clcpp
Commit f8dbd61074176bae92ec360a093ac7bc498c9321 by nicolas.vasilache
[mlir][Linalg] Drop spuriously long matmul_column_major benchmark
The file was removedmlir/test/Integration/Dialect/Linalg/CPU/benchmark_matmul_column_major.mlir
Commit 2ab513cd3e0648806db7ed1f8170ad4a3d4e7749 by alexey.bader
[SYCL] Enable `opencl_global_[host,device]` attributes for SYCL

Differential Revision: https://reviews.llvm.org/D100396
The file was modifiedclang/lib/Basic/Targets/NVPTX.h
The file was modifiedclang/include/clang/Sema/ParsedAttr.h
The file was modifiedclang/lib/AST/TypePrinter.cpp
The file was modifiedclang/lib/Basic/Targets/TCE.h
The file was modifiedclang/lib/Basic/Targets/AMDGPU.cpp
The file was modifiedclang/docs/SYCLSupport.rst
The file was modifiedclang/test/SemaTemplate/address_space-dependent.cpp
The file was modifiedclang/lib/AST/ItaniumMangle.cpp
The file was modifiedclang/test/SemaSYCL/address-space-conversions.cpp
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was modifiedclang/include/clang/Basic/AddressSpaces.h
The file was modifiedclang/test/CodeGenSYCL/address-space-conversions.cpp
The file was modifiedclang/include/clang/AST/Type.h
The file was modifiedclang/lib/Basic/Targets/SPIR.h
The file was modifiedclang/lib/Basic/Targets/X86.h
Commit d70cbd1ce9b426f2c7e0e0f900769bbcbb300a95 by llvm-dev
[AMDGPU] Regenerate wave32.ll tests

Keep the manual GFX10DEFWAVE checks for VGPRBlocks
The file was modifiedllvm/test/CodeGen/AMDGPU/wave32.ll
Commit 81606ab8562ca643a4b5a44c7a62e18fe6d8e7e1 by llvm-dev
Revert rGd70cbd1ce9b426f2c7e0e0f900769bbcbb300a95 "[AMDGPU] Regenerate wave32.ll tests"

This is failing on buildbots but not locally - not sure why
The file was modifiedllvm/test/CodeGen/AMDGPU/wave32.ll
Commit 07fea1ef2d906e4def171c4e99d3a00923e02a91 by llvm-dev
[CostModel][X86] Add missing check prefixes from cast.ll

We have checks for these but no actual RUNs were using them
The file was modifiedllvm/test/Analysis/CostModel/X86/cast.ll
Commit f79f04ac0c681deefbd4794266b031913a398c0c by llvm-dev
[CostModel][X86] Add scalar truncation cost checks

Ensure these are all zero
The file was modifiedllvm/test/Analysis/CostModel/X86/trunc.ll
Commit fff84d3a2e661b0de19a2cfbb17fc19eca148830 by flo
[LV] Add test which sinks a load a across an aliasing store.
The file was modifiedllvm/test/Transforms/LoopVectorize/if-pred-stores.ll
Commit 095c520fb436103c9800de0ac15fed83a86f3a43 by thakis
[lld/mac] Propagate -(un)exported_symbol(s_list) to privateExtern in Driver

That way, it's done only once instead of every time shouldExportSymbol() is
called.

Possibly a bit faster:

    % ministat at_main at_symtodo
    x at_main
    + at_symtodo
        N           Min           Max        Median           Avg        Stddev
    x  30     3.9732189      4.114846      4.024621     4.0304692   0.037022865
    +  30       3.93766     4.0510042     3.9973931      3.991469   0.028472565
    Difference at 95.0% confidence
            -0.0390002 +/- 0.0170714
            -0.967635% +/- 0.423559%
            (Student's t, pooled s = 0.0330256)

In other runs with n=30 it makes no perf difference, so maybe it's just noise.
But being able to quickly and conveniently answer "is this symbol exported?"
is useful for fixing PR50373 and for implementing -dead_strip, so this seems
like a good change regardless.

No behavior change.

Differential Revision: https://reviews.llvm.org/D102661
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/MachO/SyntheticSections.cpp
Commit 560b709abedc76d7944be38d2f38b7bc8d40e32d by llvm-dev
[X86][AVX] Cleanup AVX2 vector integer truncation costs

Noticed while investigating PR50364, the truncation costs for v4i64->v4i16/v4i8 and v8i32->v8i8 were way too optimistic for a shuffle sequence that usually matches the AVX1 codegen (they matched AVX512 numbers which have actual truncation instructions!).
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
The file was modifiedllvm/test/Analysis/CostModel/X86/cast.ll
The file was modifiedllvm/test/Analysis/CostModel/X86/trunc.ll
Commit dd7575ba44f0e255e3d3c04bc60648a8d41a18d4 by martin
[LLD] [MinGW] Pass the canExitEarly parameter through properly

The MinGW driver passed a hardcoded true to this parameter
since 6f4e255219f2a7878d3, but when the MinGW driver got the
canExitEarly parameter for consistency in b11386f9be9b2dc7276, this
call was missed so it wasn't passed on properly.
The file was modifiedlld/MinGW/Driver.cpp
Commit 38e2359a11e9be500b38245737e47324d54fe0b4 by david.sherwood
[NFC] Removed unused VFInfo comparison operator
The file was modifiedllvm/include/llvm/Analysis/VectorUtils.h
Commit 9f4f012c10266c2117f80b7c7eb699aadef0589d by kbessonova
[libcxx][test] Attempt to make debug mode tests more bulletproof

The problem with debug mode tests is that it isn't known which particular
_LIBCPP_ASSERT causes the test to exit, and as shown by
https://reviews.llvm.org/D100029 and 2908eb20ba7 it might be not the
expected one.

The patch adds TEST_LIBCPP_ASSERT_FAILURE macro that allows checking
_LIBCPP_ASSERT message to ensure we caught an expected failure.

Reviewed By: Quuxplusone, ldionne

Differential Revision: https://reviews.llvm.org/D100595
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multimap/db_iterators_9.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.access/db_index.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_9.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.modifiers/erase_pop_back_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_2.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/unord.map.modifiers/erase_iter_db2.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/pop_back_empty.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/db_iterators_7.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/max_load_factor.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multimap/db_local_iterators_8.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multiset/bucket_size.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/list/list.ops/db_splice_pos_list.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.set/db_iterators_10.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.set/db_iterators_9.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.access/index.const.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multiset/db_local_iterators_9.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db2.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multimap/db_local_iterators_9.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_index.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.set/db_insert_hint_const_lvalue.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/list/list.cons/db_copy.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_iterators_11.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.set/erase_iter_db2.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/db_insert_hint_rvalue.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multimap/unord.multimap.modifiers/erase_iter_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/utilities/optional/optional.object/optional.object.observe/dereference_const_rvalue.pass.cpp
The file was modifiedlibcxx/test/libcxx/utilities/optional/optional.object/optional.object.observe/dereference.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multiset/erase_iter_db2.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_front.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.modifiers/erase_iter_iter_db5.pass.cpp
The file was modifiedlibcxx/test/libcxx/utilities/optional/optional.object/optional.object.observe/op_arrow.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.modifiers/erase_iter_iter_db4.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.access/index.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.modifiers/erase_iter_db4.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_10.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multiset/bucket.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_cindex_2.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.set/db_swap_1.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_3.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_5.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multimap/db_insert_hint_const_lvalue.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.access/db_back.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.set/db_local_iterators_7.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.set/db_local_iterators_8.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multimap/bucket.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/db_swap_1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multimap/db_iterators_7.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multimap/db_local_iterators_10.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.access/db_cback_2.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_4.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multimap/db_local_iterators_7.pass.cpp
The file was modifiedlibcxx/test/libcxx/utilities/optional/optional.object/optional.object.observe/op_arrow_const.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_iterators_7.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.modifiers/erase_iter_iter_db6.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_iterators_14.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multiset/db_iterators_10.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.set/db_local_iterators_10.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.set/db_iterators_7.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_db2.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_cback_2.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multiset/db_local_iterators_10.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_iterators_5.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_iterators_2.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multimap/unord.multimap.modifiers/erase_iter_db2.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multiset/max_load_factor.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multiset/erase_iter_iter_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/list/list.ops/db_splice_pos_list_iter.pass.cpp
The file was modifiedlibcxx/test/libcxx/utilities/optional/optional.object/optional.object.observe/dereference_rvalue.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_iter_iter_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/db_insert_hint_const_lvalue.pass.cpp
The file was modifiedlibcxx/test/libcxx/utilities/optional/optional.object/optional.object.observe/dereference_const.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_7.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_iterators_10.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.set/erase_iter_iter_db3.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/list/list.ops/db_splice_pos_list_iter_iter.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/unord.map.modifiers/erase_iter_iter_db2.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.access/db_cfront.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/deque/pop_back_empty.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_back.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_iterators_3.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.access/db_cback.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/db_local_iterators_9.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/list/list.modifiers/pop_back_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.set/max_load_factor.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multimap/bucket_size.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db3.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/db_iterators_8.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/unord.map.modifiers/erase_iter_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multiset/erase_iter_iter_db4.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.set/erase_iter_iter_db2.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_value_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.set/erase_iter_iter_db4.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.access/db_back_2.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_iterators_13.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.modifiers/erase_iter_db2.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_index_2.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multimap/db_swap_1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/unord.map.modifiers/erase_iter_iter_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.access/db_front.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_cback.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_15.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/unord.map.modifiers/erase_iter_iter_db3.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.modifiers/erase_iter_iter_db7.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multimap/db_iterators_10.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multiset/erase_iter_iter_db2.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.access/db_cindex.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.access/front.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/db_bucket.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.access/db_cfront_2.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/db_local_iterators_10.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.access/front.const.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_cindex.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multimap/unord.multimap.modifiers/erase_iter_iter_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.access/db_index_2.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/db_iterators_9.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.set/bucket.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_13.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.modifiers/insert_iter_char_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.set/db_iterators_8.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_cfront.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multiset/db_local_iterators_8.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/list/list.modifiers/erase_iter_iter_db4.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multiset/db_iterators_8.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multimap/max_load_factor.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.set/db_local_iterators_9.pass.cpp
The file was addedlibcxx/test/support/debug_macros.h
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multimap/db_insert_hint_rvalue.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multimap/unord.multimap.modifiers/erase_iter_iter_db4.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.modifiers/insert_iter_iter_iter_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_iterators_6.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multimap/db_iterators_8.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.modifiers/erase_iter_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_iterators_12.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multiset/erase_iter_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_12.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_rvalue_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/db_local_iterators_7.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multiset/db_insert_hint_const_lvalue.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.modifiers/erase_iter_iter_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multimap/unord.multimap.modifiers/erase_iter_iter_db3.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.modifiers/erase_iter_iter_db8.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multiset/db_swap_1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/bucket_size.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multiset/erase_iter_iter_db3.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.access/back.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.modifiers/insert_iter_size_char_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/list/list.modifiers/insert_iter_size_value_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.modifiers/erase_iter_db3.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_iterators_9.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_back_2.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.access/back.const.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multiset/db_local_iterators_7.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/unord.map.modifiers/erase_iter_iter_db4.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multiset/db_iterators_9.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.modifiers/erase_iter_iter_db2.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_11.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_8.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.modifiers/erase_iter_iter_db3.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/list/list.modifiers/emplace_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/db_local_iterators_8.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.set/erase_iter_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multimap/unord.multimap.modifiers/erase_iter_iter_db2.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_iterators_4.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_front_2.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.set/erase_iter_iter_db1.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.set/bucket_size.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.access/db_front_2.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_cfront_2.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_14.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.map/db_iterators_10.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.multiset/db_iterators_7.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.access/db_cindex_2.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_iterators_15.pass.cpp
The file was modifiedlibcxx/test/libcxx/containers/sequences/vector/db_iterators_8.pass.cpp
The file was modifiedlibcxx/test/libcxx/strings/basic.string/string.iterators/db_iterators_6.pass.cpp
Commit 3cc39607668d6f942458a37e7a9111294d9373bd by lebedev.ri
[X86] AMD Zen 3: cap LoopMicroOpBufferSize to workaround PR50384 (quadratic IndVars runtime)

While i would like to keep the right value here,
i would also like to be able to actually compile
e.g. vanilla test-suite.

256 is a pretty random guess, it should be pretty good enough
for serious loops, but small enough to result in tolerant
compile times for certain edge cases.

https://bugs.llvm.org/show_bug.cgi?id=50384
The file was modifiedllvm/lib/Target/X86/X86ScheduleZnver3.td
Commit 82f248d234a3363886600e239ff86aab4f76090d by Raphael Isemann
[ADT] Remove StringRef::withNullAsEmpty

A long time ago LLDB wanted to start using StringRef instead of
C-Strings/ConstString but was blocked by the StringRef(const char *) ctor
asserting that the C-string isn't a nullptr. To workaround this, D24697
introduced a special function called withNullAsEmpty and that's what LLDB (and
only LLDB) started to use to build StringRefs from C-strings.

A bit later it seems that withNullAsEmpty was declared too awkward to use and
instead the assert in the StringRef constructor got removed (see D24904). The
rest of LLDB was then converted to StringRef by just calling the now perfectly
usable implicit constructor.

However, it seems that the original approach with withNullAsEmpty was never
touched again since then and now just exists as a function in StringRef that
is only used in a few places in LLDB.

I removed the few uses of withNullAsEmpty in D102597 and this patch removes
the function itself. Calling the implicit StringRef(const char *) constructor
is the preferred way of doing this today.

Reviewed By: lattner

Differential Revision: https://reviews.llvm.org/D102599
The file was modifiedllvm/include/llvm/ADT/StringRef.h
Commit 7d6449322ecba2fa34090ca8ed610328febee108 by Jinsong Ji
[DebugInfo][test] Check specific func name to ignore codegen differences

We use `CHECK-LABEL: define` to divide input stream into functions,
this works well on most platforms.

But there are cases that some platforms (eg: AIX) may have different
codegen , especially for global constructor and descructors.

On AIX, the codegen will have two more functions: __dtor_b,
__finalize_b, which will fail the test.

The fix is to use specific function name so that we can safely ignore
those unrelated codegen differences.

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D102654
The file was modifiedclang/test/CodeGenCXX/debug-info-line.cpp
Commit ba1509da7b89c850c89f0f98afbab375794cd3c8 by Tim Northover
Recommit X86: support Swift Async context

This adds support to the X86 backend for the newly committed swiftasync
function parameter. If such a (pointer) parameter is present it gets stored
into an augmented frame record (populated in IR, but generally containing
enhanced backtrace for coroutines using lots of tail calls back and forth).

The context frame is identical to AArch64 (primarily so that unwinders etc
don't get extra complexity). Specfically, the new frame record is [AsyncCtx,
%rbp, ReturnAddr], and its presence is signalled by bit 60 of the stored %rbp
being set to 1. %rbp still points to the frame pointer in memory for backwards
compatibility (only partial on x86, but OTOH the weird AsyncCtx before the rest
of the record is because of x86).

Recommited with a fix for unwind info when i386 pc-rel thunks are
adjacent to a prologue.
The file was modifiedllvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
The file was addedllvm/test/CodeGen/X86/swift-async.ll
The file was modifiedllvm/lib/Target/X86/X86FastISel.cpp
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was addedllvm/test/CodeGen/X86/swift-async-reg.ll
The file was modifiedllvm/lib/Target/X86/X86MachineFunctionInfo.h
The file was modifiedllvm/lib/Target/X86/X86FrameLowering.cpp
Commit 6381664580080f015bc0c2ec647853f697cf744a by aaron
Introduce SYCL 2020 mode

Currently, we have support for SYCL 1.2.1 (also known as SYCL 2017).
This patch introduces the start of support for SYCL 2020 mode, which is
the latest SYCL standard available at (https://www.khronos.org/registry/SYCL/specs/sycl-2020/html/sycl-2020.html).
This sets the default SYCL to be 2020 in the driver, and introduces the
notion of a "default" version (set to 2020) when cc1 is in SYCL mode
but there was no explicit -sycl-std= specified on the command line.
The file was modifiedclang/include/clang/Basic/LangOptions.def
The file was modifiedclang/include/clang/Driver/Options.td
The file was modifiedclang/lib/Frontend/CompilerInvocation.cpp
The file was modifiedclang/lib/Frontend/InitPreprocessor.cpp
The file was modifiedclang/test/Driver/sycl.c
The file was modifiedclang/test/Preprocessor/sycl-macro.cpp
The file was modifiedclang/unittests/Frontend/CompilerInvocationTest.cpp
The file was modifiedclang/include/clang/Basic/LangOptions.h
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
Commit c42580bf2076607220c2c9c59ab7293a9b202aca by Lang Hames
[ORC] Don't try to obtain a ref to a non-existent buffer.
The file was modifiedllvm/lib/ExecutionEngine/Orc/ObjectLinkingLayer.cpp
Commit bd6c93c00432ee62a238934ba0e0078ebfb63cca by Lang Hames
[ORC-RT] Add compiler abstraction header for the ORC runtime.

This header provides helper macros to insulate the rest of the ORC runtime from
compiler specifics.
The file was addedcompiler-rt/lib/orc/compiler.h
Commit 9e5f3dd9dbb0c4eb0d2d341329a780b828f70fb0 by Lang Hames
[ORC-RT] Add apply_tuple utility.

This is a substitute for std::apply, which we can't use until we move to c++17.

apply_tuple will be used in upcoming the upcoming wrapper-function utils code.
The file was addedcompiler-rt/lib/orc/stl_extras.h
The file was addedcompiler-rt/lib/orc/unittests/stl_extras_test.cpp
The file was modifiedcompiler-rt/lib/orc/unittests/CMakeLists.txt
Commit 8998a8aa97f81c758403615ec897ce79c1ccdcad by serguei.n.dmitriev
[clang-offload-bundler] Add sections and set section flags using one llvm-objcopy invocation

llvm-objcopy has been changed to support adding a section and updating section flags
in one run (D90438), so we can now change clang-offload-bundler to run llvm-objcopy
tool only once when creating fat object.

Reviewed By: ABataev

Differential Revision: https://reviews.llvm.org/D102670
The file was modifiedclang/tools/clang-offload-bundler/ClangOffloadBundler.cpp
The file was modifiedclang/test/Driver/clang-offload-bundler.c
Commit 892497c806306a4b7185ead16d60b0ebcca0a304 by Jessica Paquette
[GlobalISel] Simplify G_ICMP to true/false when the result is known

Use existing KnownBits helpers from KnownBits.h to simplify G_ICMPs.

E.g.

x == x -> true
x != x -> false
load(x) > 1 -> true (when the load is known to be greater than 1)

And so on.

Differential Revision: https://reviews.llvm.org/D102542
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
The file was modifiedllvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/cvt_f32_ubyte.ll
The file was modifiedllvm/test/CodeGen/AArch64/fold-global-offsets.ll
The file was modifiedllvm/include/llvm/Target/GlobalISel/Combine.td
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/prelegalizer-combiner-icmp-to-true-false-known-bits.mir
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i64.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64Combine.td
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/urem.i64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/srem.i64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
Commit ccbac06a072b86ea3b46479e478a1abee8520ef8 by aaron
Speculatively fix failing tests from 6381664580080f015bc0c2ec647853f697cf744a

This was causing some Mac-specific build failures:
http://45.33.8.238/macm1/9739/step_7.txt
http://45.33.8.238/mac/31615/step_7.txt

As best I can tell with psychic debugging, the /Users/blah path to the
source file is being treated as a macro undef with the clang-cl driver.
This splits the filename off explicitly so hopefully the rest of the
command line arguments will be read properly.
The file was modifiedclang/test/Driver/sycl.c
Commit a3917d36709755df52386bcf01324a98a068f29d by uday
[MLIR][Affine] Privatize certain escaping memrefs

During affine loop fusion, create private memrefs for escaping memrefs
too under the conditions that:
-- the source is not removed after fusion, and
-- the destination does not write to the memref.

This creates more fusion opportunities as illustrated in the test case.

Reviewed By: bondhugula, ayzhuang

Differential Revision: https://reviews.llvm.org/D102604
The file was modifiedmlir/lib/Transforms/LoopFusion.cpp
The file was modifiedmlir/test/Transforms/loop-fusion.mlir
Commit 75ea0abaae4547574aa887650b09b98832384fc5 by lebedev.ri
[X86] AMD Zen 3: fix MULX modelling - don't forget about WriteIMulH (PR50387)

Otherwise lack thereof will be caught by a defensive check during
scheduling, and we'll crash.

I've literally never seen this syntax before..
The file was modifiedllvm/lib/Target/X86/X86ScheduleZnver3.td
Commit 58c57e1b5f5fbc489b95f3b3a387451632c60eea by Jessica Paquette
[AArch64][GlobalISel] Prefer mov for s32->s64 G_ZEXT

We can use an ORRWrs (mov) + SUBREG_TO_REG rather than a UBFX for G_ZEXT on
s32->s64.

This closer matches what SDAG does, and is likely more power efficient etc.

(Also fixed up arm64-rev.ll which had a fallback check line which was entirely
useless.)

Simple example: https://godbolt.org/z/h1jKKdx5c

Differential Revision: https://reviews.llvm.org/D102656
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/opt-fold-ext-tbz-tbnz.mir
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-int-ext.mir
The file was modifiedllvm/test/CodeGen/AArch64/arm64-rev.ll
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-cmp.mir
The file was modifiedllvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/select-redundant-zext.mir
Commit 85f8698eb96f5e74844c839b9da579239bc0854d by aeubanks
[gn build] Add target for PassesBindingsTest
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/Passes/BUILD.gn
Commit 5c291482ec8bcd686044ebc0d4cffe7bf769521c by aeubanks
[test] Speculative fix for bots

Bot has error "Failed to create target from default triple: Unable to
find target for this triple (no targets are registered)", likely because
we only initialized the native target, not the registered target if it's
different.

https://lab.llvm.org/buildbot/#/builders/86/builds/13664
The file was modifiedllvm/unittests/Passes/PassBuilderBindingsTest.cpp
Commit 99c0f16ea406a99d2cfc063ffdd1d5d7a3825277 by llvm-dev
[X86] Use Skylake Server model for x86-64-v4 so we have full instruction coverage

The x86-64-v4 generic cpu arch supports AVX512BW/DQ/CD/VLX which isn't covered by the Haswell model, use the SkylakeServer model instead which is a lot closer to what the arch represents.

Differential Revision: https://reviews.llvm.org/D102553
The file was modifiedllvm/lib/Target/X86/X86.td
Commit c3530e75cee121b665f3d960934dda00a23522ec by aeubanks
Revert "[test] Speculative fix for bots"

This reverts commit 5c291482ec8bcd686044ebc0d4cffe7bf769521c.

unittests/Passes/CMakeFiles/PassesBindingsTests.dir/PassBuilderBindingsTest.cpp.o: In function `PassBuilderCTest::SetUp()':
PassBuilderBindingsTest.cpp:(.text._ZN16PassBuilderCTest5SetUpEv[_ZN16PassBuilderCTest5SetUpEv]+0x28): undefined reference to `LLVMInitializeARMTargetInfo'
The file was modifiedllvm/unittests/Passes/PassBuilderBindingsTest.cpp
Commit 3043be9d2db4d0cdf079adb5e1bdff032405e941 by clattner
[IR] Add a Location to BlockArgument.

This adds the ability to specify a location when creating BlockArguments.
Notably Value::getLoc() will return this correctly, which makes diagnostics
more precise (e.g. the example in test-legalize-type-conversion.mlir).

This is currently optional to avoid breaking any existing code - if
absent, the BlockArgument defaults to using the location of its enclosing
operation (preserving existing behavior).

The bulk of this change is plumbing location tracking through the parser
and printer to make sure it can round trip (in -mlir-print-debuginfo
mode).  This is complete for generic operations, but requires manual
adoption for custom ops.

I added support for function-like ops to round trip their argument
locations - they print correctly, but when parsing the locations are
dropped on the floor.  I intend to fix this, but it will require more
invasive plumbing through "function_like_impl" stuff so I think it
best to split it out to its own patch.

Differential Revision: https://reviews.llvm.org/D102567
The file was modifiedmlir/lib/IR/FunctionImplementation.cpp
The file was modifiedmlir/test/Transforms/test-legalize-type-conversion.mlir
The file was modifiedmlir/lib/IR/Value.cpp
The file was modifiedmlir/lib/Parser/Parser.cpp
The file was modifiedmlir/lib/IR/Builders.cpp
The file was modifiedmlir/include/mlir/IR/Value.h
The file was modifiedmlir/include/mlir/IR/Builders.h
The file was modifiedmlir/test/IR/locations.mlir
The file was modifiedmlir/include/mlir/IR/OpImplementation.h
The file was modifiedmlir/lib/IR/Block.cpp
The file was modifiedmlir/lib/IR/AsmPrinter.cpp
The file was modifiedmlir/test/mlir-tblgen/pattern.mlir
The file was modifiedmlir/include/mlir/IR/Block.h
Commit e81f09f8f880dc54ab6a460aa7591e9615bac222 by spatel
[InstCombine] add tests for funnel shift miscompile; NFC
The file was modifiedllvm/test/Transforms/InstCombine/rotate.ll
The file was modifiedllvm/test/Transforms/InstCombine/funnel.ll
Commit 16cbc80e72d9d60df6c18d4c524bfce343e2a755 by aeubanks
[gn build] Rename PassesBindingsTests and add it to unittests
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/Passes/BUILD.gn
Commit 0b031eeefa8f510f78a4b63d52ce12bab28bf54c by aeubanks
[test] Speculative fix for bots (round 2)

Bot has error "Failed to create target from default triple: Unable to
find target for this triple (no targets are registered)", likely because
we only initialized the native target, not the registered target if it's
different.

https://lab.llvm.org/buildbot/#/builders/86/builds/13664
The file was modifiedllvm/unittests/Passes/PassBuilderBindingsTest.cpp
The file was modifiedllvm/unittests/Passes/CMakeLists.txt
Commit 6d949a9c8fa440b0b91c9a96a30a9b7c1b7cf1e1 by spatel
[InstCombine] restrict funnel shift match to avoid miscompile

As noted in the post-commit discussion for:
https://reviews.llvm.org/rGabd7529625a73f405e40a63dcc446c41d51a219e

...that change exposed a logic hole that allows a miscompile
if the shift amount could exceed the narrow width:
https://alive2.llvm.org/ce/z/-i_CiM
https://alive2.llvm.org/ce/z/NaYz28

The restriction isn't necessary for a rotate (same operand for
both shifts), so we should adjust the matching for the shift
value as a follow-up enhancement:
https://alive2.llvm.org/ce/z/ahuuQb
The file was modifiedllvm/test/Transforms/InstCombine/rotate.ll
The file was modifiedllvm/test/Transforms/InstCombine/funnel.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
Commit 5781f9a7434267bf15a94f4210d3abca3bf773e2 by aeubanks
[NFC] Format PassesBindingsTests CMake like other unittests
The file was modifiedllvm/unittests/Passes/CMakeLists.txt
Commit 855b42ddd0117055477546e9cc16667a62ffdedf by clattner
[IntegerAttr] Add helpers for working with LLVM's APSInt type.

The FIRRTL dialect in CIRCT uses inherently signful types, and APSInt
is the best way to model that.  Add a couple of helpers that make it
easier to work with an IntegerAttr that carries a sign.

This follows the example of getZExt() and getSExt() which assert when
the underlying type of the attribute is unexpected.  In this case
we assert fail when the underlying type of the attribute is signless.

This is strictly additive, so it is NFC.  It is tested in the CIRCT
repo.

Differential Revision: https://reviews.llvm.org/D102701
The file was modifiedmlir/include/mlir/IR/BuiltinAttributes.td
The file was modifiedmlir/include/mlir/Support/LLVM.h
The file was modifiedmlir/lib/IR/BuiltinAttributes.cpp
Commit b4ead2c37bcbb1f81919c68e2a2a227aac90f07c by thakis
[lld/mac] Correctly set nextdefsym

In LC_DYSYMTAB, private externs were still emitted as exported symbols instead
of as locals.

Fixes PR50373. See bug for details.

Differential Revision: https://reviews.llvm.org/D102662
The file was modifiedlld/MachO/SyntheticSections.cpp
The file was modifiedlld/test/MachO/symtab.s
Commit 2919222d8017f2425a85765b95e4b7c6f8e70ca4 by i
[Driver] Delete -mimplicit-it=

This is a GNU as and Clang cc1as option, not a GCC option.
Users should specify `-Wa,-mimplicit-it=` instead.

Note: mixing the -m option and the -Wa, option doesn't work
`-Wa,-mimplicit-it=never -mimplicit-it=always` =>
`clang (LLVM option parsing): for the --arm-implicit-it option: may only occur zero or one times!`

Reviewed By: nickdesaulniers, raj.khem

Differential Revision: https://reviews.llvm.org/D102568
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was modifiedclang/test/Driver/as-options.s
The file was modifiedclang/include/clang/Driver/Options.td
The file was removedclang/test/Driver/arm-implicit-it.s
The file was modifiedclang/test/Driver/arm-target-as-mimplicit-it.s
Commit 5e1421b22f642a6b34690d0d724e691ba3984836 by pklausler
[flang] Implement MATMUL in the runtime

Define an API for the transformational intrinsic function MATMUL,
implement it, and add some basic unit tests.  The large number of
possible argument type combinations are covered by a set of
generalized templates that are instantiated for each valid
pair of possible argument types.

Places where BLAS-2/3 routines could be called for acceleration
are marked with TODOs.  Handling for other special cases (e.g.,
known-shape 3x3 matrices and vectors) are deferred.

Some minor tweaks were made to the recent related implementation
of DOT_PRODUCT to reflect lessons learned.

Differential Revision: https://reviews.llvm.org/D102652
The file was modifiedflang/runtime/dot-product.cpp
The file was modifiedflang/unittests/RuntimeGTest/CMakeLists.txt
The file was modifiedflang/runtime/CMakeLists.txt
The file was modifiedflang/runtime/reduction.h
The file was addedflang/runtime/matmul.cpp
The file was addedflang/runtime/matmul.h
The file was addedflang/unittests/RuntimeGTest/Matmul.cpp
Commit e81334a75401f3af3b10f64e307d705d97637a03 by nikita.ppv
[LICM] Remove MaybePromotable set (PR50367)

The MaybePromotable set keeps track of loads/stores for which
promotion was not attempted yet. Normally, any load/stores that
are promoted in the current iteration will be removed from this
set, because they naturally MustAlias with the promoted value.
However, if the source program has UB with metadata claiming that
a store is NoAlias, while it is actually MustAlias, and multiple
different pointers are promoted in the same iteration, it can
happen that a store is removed that is still in the MaybePromotable
set, causing a use-after-free.

While this could be fixed by explicitly invalidating values in
MaybePromotable in the LoopPromoter, I'm going with the more
radical option of dropping the set entirely here and check all
load/stores on each promotion iteration. As promotion, and especially
repeated promotion, are quite rare, this doesn't seem to have any
impact on compile-time.

Fixes https://bugs.llvm.org/show_bug.cgi?id=50367.
The file was addedllvm/test/Transforms/LICM/pr50367.ll
The file was modifiedllvm/lib/Transforms/Scalar/LICM.cpp
Commit 8cd199b85f907a7349bc5cb1b3d3562e0e79b72c by pklausler
[flang] Accept OPEN(ACCESS='APPEND') legacy extension even without warnings enabled

My earlier patch to accept ACCESS='APPEND' only worked when warnings
were enabled; fix it.

Differential Revision: https://reviews.llvm.org/D102653
The file was modifiedflang/lib/Semantics/check-io.cpp
Commit a33687ec584d18dc0d092853d583d7116808459c by rafaelauler
[RuntimeDyld] Add allowStubs/allowZeroSyms

This patch introduces functionality used by BOLT when
re-linking the final binary. It adds to MemoryManager a new member
function allowStubAllocation to control whether this MemoryManager
supports increasing code size with stubs or not. Since BOLT can
rewrite some files in-place, it needs to avoid stub insertion done
by the linker. This patch also introduces allowsZeroSymbols to the
JITSymbolResolver class, enabling us to finish a link successfully
even when some symbols resolve to the value zero. When rewriting a
binary, sometimes we do need to resolve a target to zero in case
the input binary calls address zero and we want to be bug
compatible. We also expose reassignSectionAddress as it is used by
BOLT.

Reviewed By: lhames

Differential Revision: https://reviews.llvm.org/D97898
The file was modifiedllvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
The file was modifiedllvm/include/llvm/ExecutionEngine/JITSymbol.h
The file was modifiedllvm/include/llvm/ExecutionEngine/RuntimeDyld.h
The file was modifiedllvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
Commit c7f46423900f358c07c9e6fe945a1ad2e0412299 by llvm-dev
[X86][AVX] Add variable-permute test case from PR50356
The file was modifiedllvm/test/CodeGen/X86/var-permute-256.ll
Commit 0f544be244e31d3988b2024dfbfe4b91f8e909e1 by kzhuravl_dev
AMDGPU/NFC: Replace EF_AMDGPU_MACH_AMDGCN_RESERVED_0X3E with EF_AMDGPU_MACH_AMDGCN_GFX1034

Differential Revision: https://reviews.llvm.org/D102708
The file was modifiedllvm/include/llvm/BinaryFormat/ELF.h
Commit 8dd5ef01ef13e402784bba47f7a24175f5f00325 by v.g.vassilev
[clang-repl] Better match the underlying architecture.

In cases where -fno-integrated-as is specified we should overwrite the
EmitAssembly action as well.

We also should rely on the target triple from the process at least until we
implement out-of-process execution.

This patch should improve clang-repl on AIX.

Discussion available at: https://reviews.llvm.org/D96033

Differential revision: https://reviews.llvm.org/D102688
The file was modifiedclang/lib/Interpreter/Interpreter.cpp
The file was modifiedclang/lib/Interpreter/IncrementalParser.cpp
Commit 45b7cf995551a0c0743e5d69f611bba7e4072ddf by sbc
[lld][WebAssembly] Enable string tail merging in debug sections

This is a followup to https://reviews.llvm.org/D97657 which
applied string tail merging to data segments.

Fixes: https://bugs.llvm.org/show_bug.cgi?id=48828

Differential Revision: https://reviews.llvm.org/D102436
The file was addedlld/test/wasm/merge-string-debug.s
The file was modifiedlld/wasm/InputFiles.h
The file was modifiedlld/wasm/InputFiles.cpp
The file was modifiedllvm/lib/MC/MCObjectFileInfo.cpp
The file was modifiedlld/wasm/OutputSections.cpp
The file was modifiedlld/wasm/Writer.cpp
The file was modifiedllvm/include/llvm/MC/MCContext.h
The file was modifiedlld/wasm/Driver.cpp
The file was modifiedlld/wasm/OutputSections.h
The file was addedlld/test/wasm/Inputs/merge-string-debug2.s
The file was modifiedlld/wasm/OutputSegment.cpp
The file was modifiedlld/wasm/Symbols.h
The file was modifiedlld/wasm/Symbols.cpp
The file was modifiedlld/wasm/InputChunks.cpp
The file was modifiedlld/wasm/InputChunks.h
Commit d0902a8665b1e158fb78df7fc5008e3af862939c by llvm-dev
[X86][AVX] createVariablePermute - correctly extend same-sized-vector indices (PR50356)

D101838 incorrectly handled indices vectors of the same size but with higher element counts to just bitcast to the target indices type instead of performing a ZERO_EXTEND_VECTOR_INREG
The file was modifiedllvm/test/CodeGen/X86/var-permute-128.ll
The file was modifiedllvm/lib/Target/X86/X86ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/X86/var-permute-256.ll
Commit 876d49baad63d14b61ba6134828497512eb668b3 by sbc
[lld][WebAssembly] Convert test to assembly. NFC.

Differential Revision: https://reviews.llvm.org/D102704
The file was addedlld/test/wasm/name-section-mangling.s
The file was removedlld/test/wasm/cxx-mangling.ll
Commit f9ea3ebef2289e64d9df00e58ad57b331244c054 by riddleriver
[mlir-lsp-server] Add support for recording text document versions

The version is used by LSP clients to ignore stale diagnostics, and can be used in a followup to help verify incremental changes.

Differential Revision: https://reviews.llvm.org/D102644
The file was modifiedmlir/lib/Tools/mlir-lsp-server/MLIRServer.h
The file was modifiedmlir/lib/Tools/mlir-lsp-server/lsp/Transport.cpp
The file was modifiedmlir/lib/Tools/mlir-lsp-server/lsp/Protocol.cpp
The file was modifiedmlir/test/mlir-lsp-server/diagnostics.test
The file was modifiedmlir/lib/Tools/mlir-lsp-server/lsp/Protocol.h
The file was modifiedmlir/lib/Tools/mlir-lsp-server/MLIRServer.cpp
The file was modifiedmlir/lib/Tools/mlir-lsp-server/lsp/Transport.h
The file was modifiedmlir/lib/Tools/mlir-lsp-server/LSPServer.cpp
Commit ac2226b0f573226620e8aecdcc079f74612dfe48 by rnk
[PDB] Improve error handling when writes fail

Handle PDB writing errors like any other error in LLD: emit an error and
continue. This allows the linker to print timing data and summary data
after linking, which can be helpful for finding PDB size problems. Also
report how large the file would have been.

Example output:

lld-link: error: Output data is larger than 4 GiB. File size would have been 6,937,108,480
lld-link: error: failed to write PDB file ./chrome.dll.pdb
                                    Summary
--------------------------------------------------------------------------------
          33282 Input OBJ files (expanded from all cmd-line inputs)
              4 PDB type server dependencies
              0 Precomp OBJ dependencies
       33396931 Input type records
... snip ...
  Input File Reading:           59756 ms ( 45.5%)
  GC:                            7500 ms (  5.7%)
  ICF:                           3336 ms (  2.5%)
  Code Layout:                   6329 ms (  4.8%)
  PDB Emission (Cumulative):    46192 ms ( 35.2%)
    Add Objects:                27609 ms ( 21.0%)
      Type Merging:             16740 ms ( 12.8%)
      Symbol Merging:           10761 ms (  8.2%)
    Publics Stream Layout:       9383 ms (  7.1%)
    TPI Stream Layout:           1678 ms (  1.3%)
    Commit to Disk:              3461 ms (  2.6%)
--------------------------------------------------
Total Link Time:               131244 ms (100.0%)

Differential Revision: https://reviews.llvm.org/D102713
The file was modifiedllvm/lib/DebugInfo/MSF/MSFBuilder.cpp
The file was modifiedllvm/lib/DebugInfo/MSF/MSFError.cpp
The file was modifiedlld/COFF/PDB.cpp
The file was modifiedllvm/include/llvm/DebugInfo/MSF/MSFError.h
Commit 832f7af2832ed4c059e2fc2c1b7663b5d0ff9494 by phosek
[CMake] Use -O0 for unittests under full LTO as well

We already use -O0 for unittests under ThinLTO, do the same for full LTO
where the compile time costs to runtime benefits tradeoff is even worse.

Differential Revision: https://reviews.llvm.org/D102718
The file was modifiedllvm/cmake/modules/AddLLVM.cmake
Commit 6013d84392fa1b7683921f9d3b6aedb357233e06 by aeubanks
[OpaquePtr] Make loads and stores work with opaque pointers

Don't check that types match when the pointer operand is an opaque
pointer.

I would separate the Assembler and Verifier changes, but
verify-uselistorder in the Assembler test ends up running the verifier.

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D102450
The file was modifiedllvm/test/Assembler/opaque-ptr.ll
The file was modifiedllvm/include/llvm/IR/DerivedTypes.h
The file was addedllvm/test/Verifier/opaque-ptr.ll
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was modifiedllvm/lib/IR/Instructions.cpp
The file was modifiedllvm/lib/Bitcode/Reader/BitcodeReader.cpp
Commit fd5e79ff12204b5850cca364fc669fa10eb9a1a5 by martin
[MinGW] Fix the cmake condition for -mbig-obj

This is a correction to D102419, fixing the condition to the
form that actually works as intended.
The file was modifiedllvm/cmake/modules/HandleLLVMOptions.cmake
Commit 6b9524a05bab21c6b0ba4fe025864cb613605b99 by aeubanks
[NewPM] Don't mark AA analyses as preserved

Currently all AA analyses marked as preserved are stateless, not taking
into account their dependent analyses. So there's no need to mark them
as preserved, they won't be invalidated unless their analyses are.

SCEVAAResults was the one exception to this, it was treated like a
typical analysis result. Make it like the others and don't invalidate
unless SCEV is invalidated.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D102032
The file was modifiedllvm/lib/Transforms/Scalar/ADCE.cpp
The file was modifiedllvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
The file was modifiedllvm/lib/Transforms/Scalar/JumpThreading.cpp
The file was modifiedllvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
The file was modifiedllvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
The file was modifiedllvm/lib/Transforms/Scalar/EarlyCSE.cpp
The file was modifiedllvm/lib/Transforms/Scalar/NewGVN.cpp
The file was modifiedllvm/lib/Transforms/Scalar/GVNSink.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopDistribute.cpp
The file was modifiedllvm/lib/Analysis/LoopAnalysisManager.cpp
The file was modifiedllvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
The file was modifiedllvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
The file was modifiedllvm/lib/Transforms/Scalar/Reassociate.cpp
The file was modifiedllvm/lib/Transforms/Utils/LoopSimplify.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp
The file was modifiedllvm/lib/Transforms/Scalar/GVN.cpp
The file was modifiedllvm/lib/Transforms/Scalar/ConstraintElimination.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LowerConstantIntrinsics.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/VectorCombine.cpp
The file was modifiedllvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
The file was modifiedllvm/lib/Transforms/Scalar/GVNHoist.cpp
The file was modifiedllvm/lib/Transforms/Scalar/SROA.cpp
The file was modifiedllvm/lib/Transforms/Scalar/BDCE.cpp
The file was modifiedllvm/lib/Transforms/Scalar/MergeICmps.cpp
The file was modifiedllvm/lib/CodeGen/ReplaceWithVeclib.cpp
The file was modifiedllvm/lib/Transforms/Utils/LibCallsShrinkWrap.cpp
The file was modifiedllvm/lib/Transforms/Utils/LCSSA.cpp
The file was modifiedllvm/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp
The file was modifiedllvm/unittests/Transforms/Scalar/LoopPassManagerTest.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp
The file was modifiedllvm/lib/Transforms/Scalar/Float2Int.cpp
The file was modifiedllvm/lib/Transforms/Scalar/SCCP.cpp
The file was modifiedllvm/lib/Analysis/ScalarEvolutionAliasAnalysis.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopPassManager.cpp
The file was modifiedllvm/lib/Transforms/Scalar/DivRemPairs.cpp
The file was modifiedllvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp
The file was modifiedllvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
The file was modifiedllvm/include/llvm/Analysis/ScalarEvolutionAliasAnalysis.h
Commit 9f57675e5274934a85c43fdb50e2a77328f64a28 by martin
[compiler-rt] [builtins] Provide a SEH specific __gcc_personality_seh0

This matches how __gxx_personality_seh0 is hooked up in libcxxabi.

Differential Revision: https://reviews.llvm.org/D102530
The file was modifiedcompiler-rt/lib/builtins/gcc_personality_v0.c
Commit ec4706be8e72d171b36fb19e0dba1e7be5929c4c by kai.nacke
[SystemZ] [z/OS] Add XPLINK64 Calling Convention to SystemZ

This patch adds the XPLINK64 calling convention to the SystemZ
backend. It specifies and implements the argument passing and
return value conventions.

Reviewed By: uweigand

Differential Revision: https://reviews.llvm.org/D101010
The file was modifiedllvm/lib/Target/SystemZ/SystemZCallingConv.h
The file was modifiedllvm/lib/Target/SystemZ/SystemZCallingConv.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZCallingConv.td
Commit 4e297dcd18daacd16076ee523e200061f757a0d9 by kzhuravl_dev
AMDGPU/Docs: Remove reserved MACH 0x3E (it is no longer reserved), sort MACHs by value
The file was modifiedllvm/docs/AMDGPUUsage.rst
Commit b86302e500791481da5f446c700a63693b355024 by aeubanks
[MSan] Set zeroext on call arguments to msan functions with zeroext parameter attribute

ABI attributes need to match between the caller and callee.

Reviewed By: rnk

Differential Revision: https://reviews.llvm.org/D102667
The file was modifiedllvm/test/Instrumentation/MemorySanitizer/instrumentation-with-call-threshold.ll
The file was modifiedllvm/test/Instrumentation/MemorySanitizer/with-call-type-size.ll
The file was modifiedllvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
Commit 1c7f32334d4becc725b9025fd32291a0e5729acd by aeubanks
[TargetLowering] Only inspect attributes in the arguments for ArgListEntry

Parameter attributes are considered part of the function [1], and like
mismatched calling conventions [2], we can't have the verifier check for
mismatched parameter attributes.

This is a reland after fixing MSan issues in D102667.

[1] https://llvm.org/docs/LangRef.html#parameter-attributes
[2] https://llvm.org/docs/FAQ.html#why-does-instcombine-simplifycfg-turn-a-call-to-a-function-with-a-mismatched-calling-convention-into-unreachable-why-not-make-the-verifier-reject-it

Reviewed By: rnk

Differential Revision: https://reviews.llvm.org/D101806
The file was modifiedllvm/test/CodeGen/AArch64/tailcall-explicit-sret.ll
The file was modifiedllvm/test/CodeGen/ARM/returned-ext.ll
The file was addedllvm/test/CodeGen/X86/mismatched-byval.ll
The file was modifiedllvm/test/CodeGen/X86/fast-cc-pass-in-regs.ll
The file was modifiedllvm/test/CodeGen/SPARC/64abi.ll
The file was modifiedllvm/test/CodeGen/X86/movtopush.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/callee-special-input-vgprs-packed.ll
The file was modifiedllvm/test/CodeGen/SystemZ/args-03.ll
The file was modifiedllvm/test/CodeGen/AArch64/arm64-this-return.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/tail-call-amdgpu-gfx.ll
The file was modifiedllvm/test/CodeGen/X86/preallocated.ll
The file was modifiedllvm/test/CodeGen/SystemZ/args-02.ll
The file was modifiedllvm/test/CodeGen/AArch64/bitfield-extract.ll
The file was modifiedllvm/test/CodeGen/X86/pop-stack-cleanup.ll
The file was modifiedllvm/test/CodeGen/ARM/ipra-r0-returned.ll
The file was modifiedllvm/test/CodeGen/AMDGPU/call-argument-types.ll
The file was modifiedllvm/test/CodeGen/X86/fast-cc-merge-stack-adj.ll
The file was modifiedllvm/test/CodeGen/X86/tailcall-msvc-conventions.ll
The file was modifiedllvm/test/CodeGen/ARM/this-return.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/gfx-callable-argument-types.ll
The file was modifiedllvm/docs/ReleaseNotes.rst
Commit bc7d15c61da78864b35e3c114294d6e4db645611 by aeubanks
[NFC] Use ArgListEntry indirect types more in ISel lowering

For opaque pointers, we're trying to avoid uses of
PointerType::getElementType().

A couple of ISel places use PointerType::getElementType(). Some of these
are easy to fix by using ArgListEntry's indirect types.

The inalloca type wasn't stored there, as opposed to preallocated and
byval which have their indirect types available, so add it and use it.

This is a reland after an MSan fix in D102667.

Differential Revision: https://reviews.llvm.org/D101713
The file was modifiedllvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLowering.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
The file was modifiedllvm/include/llvm/IR/InstrTypes.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/FastISel.cpp
Commit b9d25cc9213887a36d987b7d0057b8aafa6adee4 by aeubanks
[docs] Fix broken docs after 1c7f32334
The file was modifiedllvm/docs/ReleaseNotes.rst
Commit 93cb71a4649ac71b9aca48ba5496f11ffbc4b26d by riddleriver
[mlir-docs] Add a blurb on recursion during pattern application

We currently do not document how the pattern rewriter infra treats recursion when it gets detected. This revision adds a blurb on recursion in patterns, and how patterns can signal that they are equipped to handle it.

Differential Revision: https://reviews.llvm.org/D102439
The file was modifiedmlir/docs/PatternRewriter.md
Commit 2257e4a70e4aabe7255161f3a54922d7dcf1c059 by riddleriver
[mlir] Allow derived rewrite patterns to define a non-virtual `initialize` hook

This is a hook that allows for providing custom initialization of the pattern, e.g. if it has bounded recursion, setting the debug name, etc., without needing to define a custom constructor. A non-virtual hook was chosen to avoid polluting the vtable with code that we really just want to be inlined when constructing the pattern. The alternative to this would be to just define a constructor for each pattern, this unfortunately creates a lot of otherwise unnecessary boiler plate for a lot of patterns and a hook provides a much simpler/cleaner interface for the very common case.

Differential Revision: https://reviews.llvm.org/D102440
The file was modifiedmlir/test/lib/Dialect/Test/TestPatterns.cpp
The file was modifiedmlir/include/mlir/IR/PatternMatch.h
The file was modifiedmlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
The file was modifiedmlir/docs/PatternRewriter.md
Commit 7d15c4941499b1454432d63604dc6bbe56e32ce7 by spatel
[x86] trim zeros from constants for readability; NFC
The file was modifiedllvm/test/CodeGen/X86/fma-fneg-combine.ll
Commit 62eec33616a462c5860cd980450d53c632b123e8 by spatel
[x86] add FMF propagation test for target-specific intrinsic; NFC
The file was modifiedllvm/test/CodeGen/X86/fmf-propagation.ll
Commit 8e93d10633d751a3e9169bf9fa68326925ffa097 by peter
scudo: Test realloc on increasing size buffers.

While developing a change to the allocator I ended up breaking
realloc on secondary allocations with increasing sizes. That didn't
cause any of the unit tests to fail, which indicated that we're
missing some test coverage here. Add a unit test for that case.

Differential Revision: https://reviews.llvm.org/D102716
The file was modifiedcompiler-rt/lib/scudo/standalone/tests/combined_test.cpp
Commit 068332978c672afb7504b2d2856d0df9010f27bf by tomasz.miasko
[Demangle][Rust] Parse named types

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D102571
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 b42400ccf3be9c8a422f175e16109e358298973c by tomasz.miasko
[Demangle][Rust] Parse array type

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D102573
The file was modifiedllvm/test/Demangle/rust.test
The file was modifiedllvm/lib/Demangle/RustDemangle.cpp
Commit a84c65c204ccbd2647eb567d1f7a9dca4ded977f by tomasz.miasko
[Demangle][Rust] Parse slice type

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D102578
The file was modifiedllvm/lib/Demangle/RustDemangle.cpp
The file was modifiedllvm/test/Demangle/rust.test
Commit 774de7a09bee2e21f3cd7d8f8a001d83e2654483 by tomasz.miasko
[Demangle][Rust] Parse tuples

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D102579
The file was modifiedllvm/test/Demangle/rust.test
The file was modifiedllvm/lib/Demangle/RustDemangle.cpp
Commit 5f2b27666797c6462641434fee7ee010c77d22c0 by dschuff
Default stack alignment of x86 NaCl to 16 bytes

X86 NaCl generally requires the stack to be aligned to 16 bytes.
This change was already implemented in two downstream NaCl compilers
based on llvm.

Reviewed By: dschuff

Differential Revision: https://reviews.llvm.org/D102610
The file was modifiedllvm/test/CodeGen/X86/stack-align2.ll
The file was modifiedllvm/lib/Target/X86/X86Subtarget.cpp
Commit 4fedb3a613a3ebfb91f42b454e476c29cd05b8f5 by aorlov
[symbolizer] Added StartAddress for the resolved function.

In many cases it is helpful to know at what address the resolved function starts.
This patch adds a new StartAddress member to the DILineInfo structure.

Reviewed By: jhenderson, dblaikie

Differential Revision: https://reviews.llvm.org/D102316
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFContext.cpp
The file was modifiedllvm/test/tools/llvm-symbolizer/output-style-json-code.test
The file was modifiedllvm/docs/CommandGuide/llvm-symbolizer.rst
The file was modifiedllvm/lib/DebugInfo/Symbolize/DIPrinter.cpp
The file was modifiedllvm/test/tools/llvm-symbolizer/sym-verbose.test
The file was modifiedllvm/include/llvm/DebugInfo/Symbolize/DIPrinter.h
The file was modifiedllvm/include/llvm/DebugInfo/DIContext.h
The file was modifiedllvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp
Commit 57f408861d423ead3fc408dbb203778938eb2fe3 by tomasz.miasko
[Demangle][Rust] Speculative fix for bot build failure

> error: ‘InType’ is not a class, namespace, or enumeration
The file was modifiedllvm/lib/Demangle/RustDemangle.cpp
Commit ff99fdf63f9939d5205c0c0df85f28c5509eac0f by michael.p.rice
[OpenMP] Stabilize OpenMP/parallel_for_codegen.cpp test (NFC)

Revert recent commit to require x86-registered-target (e4b790c5e3653053819182a67c593bc65de860ac).
Remove -O1 from the run lines so they are less dependent on backend passes.
Update the CHECK6 and CHECK10 lines with script.

Differential Revision: https://reviews.llvm.org/D102720
The file was modifiedclang/test/OpenMP/parallel_for_codegen.cpp
Commit 886629a8c9e58752627d8ae7abf6fa93191a3df8 by xur
[SampleFDO] New hierarchical discriminator for Flow Sensitive SampleFDO

This patch implements first part of Flow Sensitive SampleFDO (FSAFDO).
It has the following changes:
(1) disable current discriminator encoding scheme,
(2) new hierarchical discriminator for FSAFDO.

For this patch, option "-enable-fs-discriminator=true" turns on the new
functionality. Option "-enable-fs-discriminator=false" (the default)
keeps the current SampleFDO behavior. When the fs-discriminator is
enabled, we insert a flag variable, namely, llvm_fs_discriminator, to
the object. This symbol will checked by create_llvm_prof tool, and used
to generate a profile with FS-AFDO discriminators enabled. If this
happens, for an extbinary format profile, create_llvm_prof tool
will add a flag to profile summary section.

Differential Revision: https://reviews.llvm.org/D102246
The file was modifiedllvm/lib/LTO/LTOBackend.cpp
The file was modifiedllvm/include/llvm/IR/DebugInfoMetadata.h
The file was modifiedllvm/include/llvm/CodeGen/Passes.h
The file was modifiedllvm/include/llvm/InitializePasses.h
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was addedllvm/lib/CodeGen/MIRFSDiscriminator.cpp
The file was modifiedllvm/lib/CodeGen/CMakeLists.txt
The file was modifiedllvm/include/llvm/LTO/Config.h
The file was modifiedllvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
The file was addedllvm/include/llvm/CodeGen/MIRFSDiscriminator.h
The file was modifiedllvm/lib/Transforms/Utils/LoopUnroll.cpp
The file was addedllvm/test/CodeGen/X86/fsafdo_test1.ll
The file was modifiedllvm/lib/CodeGen/TargetPassConfig.cpp
The file was modifiedllvm/lib/IR/DebugInfoMetadata.cpp
The file was addedllvm/include/llvm/Support/Discriminator.h
The file was addedllvm/test/CodeGen/X86/fsafdo_test2.ll
Commit 09ac3523b6729c9300e044081c442c304602cfd9 by llvmgnsyncbot
[gn build] Port 886629a8c9e5
The file was modifiedllvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
Commit a32e39a75b8137ee20c623887cbc1b4865e49b94 by xur
Fix a buildbot failure from commit 886629a8
The file was modifiedllvm/lib/CodeGen/MIRFSDiscriminator.cpp
Commit e130fbe24e5801feba4526ef5b190acbefba7d91 by arthur.j.odwyer
[libc++] Some fixes to the <bit> utilities.

Fix __bitop_unsigned_integer and rename to __libcpp_is_unsigned_integer.
There are only five unsigned integer types, so we should just list them out.
Also provide `__libcpp_is_signed_integer`, even though the Standard doesn't
consume that trait anywhere yet.

Notice that `concept uniform_random_bit_generator` is specifically specified
to rely on `concept unsigned_integral` and *not* `__is_unsigned_integer`.
Instantiating `std::ranges::sample` with a type `U` satisfying
`uniform_random_bit_generator` where `unsigned_integral<U::result_type>`
and not `__is_unsigned_integer<U::result_type>` is simply IFNDR.

Orthogonally, fix an undefined behavior in std::countr_zero(__uint128_t).

Orthogonally, improve tests for the <bit> manipulation functions.
It was these new tests that detected the bug in countr_zero.

Differential Revision: https://reviews.llvm.org/D102328
The file was modifiedlibcxx/test/std/numerics/bit/bit.pow.two/has_single_bit.pass.cpp
The file was modifiedlibcxx/include/type_traits
The file was modifiedlibcxx/test/std/numerics/bit/bitops.rot/rotr.pass.cpp
The file was modifiedlibcxx/test/std/numerics/bit/bit.pow.two/bit_width.pass.cpp
The file was modifiedlibcxx/test/std/numerics/bit/bitops.count/countl_one.pass.cpp
The file was modifiedlibcxx/test/std/numerics/bit/bitops.count/countr_zero.pass.cpp
The file was modifiedlibcxx/test/std/numerics/bit/bit.pow.two/bit_ceil.pass.cpp
The file was modifiedlibcxx/test/std/numerics/bit/bitops.count/countl_zero.pass.cpp
The file was modifiedlibcxx/include/bit
The file was modifiedlibcxx/test/std/numerics/bit/bitops.rot/rotl.pass.cpp
The file was modifiedlibcxx/test/std/numerics/bit/bitops.count/popcount.pass.cpp
The file was modifiedlibcxx/test/std/numerics/bit/bitops.count/countr_one.pass.cpp
The file was modifiedlibcxx/test/std/numerics/bit/bit.pow.two/bit_floor.pass.cpp
Commit 06b40e80aefc9a7ccf2efbf7717037bd103a779c by arthur.j.odwyer
[libc++] Alphabetize header inclusions and include-what-you-use <__debug>. NFCI.
The file was modifiedlibcxx/include/fstream
The file was modifiedlibcxx/include/numeric
The file was modifiedlibcxx/include/span
The file was modifiedlibcxx/include/__node_handle
The file was modifiedlibcxx/include/deque
The file was modifiedlibcxx/include/regex
The file was modifiedlibcxx/include/set
The file was modifiedlibcxx/include/bit
The file was modifiedlibcxx/include/future
The file was modifiedlibcxx/include/map
The file was modifiedlibcxx/include/functional
Commit 7c2f58278e664d336e9d0ef0687bdd6c3837dc03 by akhuang
Apply [[standalone_debug]] to some types in the STL.

Add this attribute to some types to ensure that they have
debug info.
The debug info for these classes are required for debuggers to display
some STL types. With constructor homing (a new debug info optimization)
their debug info isn't emitted because their constructors are never
called.

The list of types with the attribute added are __hash_value_type,
__value_type, __tree_node_base, __tree_node, __hash_node, __list_node,
and __forward_list_node.

Differential Revision: https://reviews.llvm.org/D98750
The file was modifiedlibcxx/include/__tree
The file was modifiedlibcxx/include/unordered_map
The file was modifiedlibcxx/include/forward_list
The file was modifiedlibcxx/include/__config
The file was modifiedlibcxx/include/map
The file was modifiedlibcxx/include/list
The file was modifiedlibcxx/include/__hash_table
Commit 861d69a5259653f60d59795597493a7939b794fe by riddleriver
[mlir] Speed up Lexer::getEncodedSourceLocation

We currently use SourceMgr::getLineAndColumn to get the line and column for an SMLoc, but this includes a call to StringRef::find_last_of that ends up dominating compile time. In D102567, we start creating locations from the input file for block arguments which resulted in an extreme performance regression for modules with very large amounts of block arguments. This revision switches to just using a pointer offset from the beginning of the line to calculate the column(all MLIR files are simple ascii), resulting in a compile time reduction from 4700 seconds (1 hour and 18 minutes) to 8 seconds.

Differential Revision: https://reviews.llvm.org/D102734
The file was modifiedmlir/lib/Parser/Lexer.cpp
Commit 58369fce30af484889356f225d89cb0b32009206 by joker.eph
Add a helper function to convert LogicalResult to int for return from main

At present, a lot of code contains main function bodies like "return failed(mlir::MlirOptMain(...);". This is unfortunate for two reasons: a) it uses ADL, which is maybe not what the free "failed" function was designed for; and b) it is a bit awkward to read, requring the reader to both understand the boolean nature of the value and the semantics of main's return value. (And it's also not portable, since 1 is not a portable success value.)

The replacement code, `return mlir::AsMainReturnCode(mlir::MlirOptMain(...))` is a bit more self-explanatory.

The change applies the new function to a few internal uses of MlirOptMain, too.

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D102641
The file was modifiedmlir/examples/standalone/standalone-opt/standalone-opt.cpp
The file was modifiedmlir/tools/mlir-opt/mlir-opt.cpp
The file was modifiedmlir/include/mlir/Support/MlirOptMain.h
Commit 528bc10e95d5f9d6a338f9bab5e91d7265d1cf05 by carrot
[X86FixupLEAs] Transform the sequence LEA/SUB to SUB/SUB

This patch transforms the sequence

    lea (reg1, reg2), reg3
    sub reg3, reg4

to two sub instructions

    sub reg1, reg4
    sub reg2, reg4

Similar optimization can also be applied to LEA/ADD sequence.
The modifications to TwoAddressInstructionPass is to ensure the operands of ADD
instruction has expected order (the dest register of LEA should be src register
of ADD).

Differential Revision: https://reviews.llvm.org/D101970
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.h
The file was modifiedllvm/test/CodeGen/X86/2009-03-23-MultiUseSched.ll
The file was modifiedllvm/include/llvm/CodeGen/TargetInstrInfo.h
The file was modifiedllvm/test/CodeGen/X86/lea-opt2.ll
The file was modifiedllvm/lib/CodeGen/TwoAddressInstructionPass.cpp
The file was modifiedllvm/test/CodeGen/X86/vp2intersect_multiple_pairs.ll
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.cpp
The file was modifiedllvm/lib/Target/X86/X86FixupLEAs.cpp
Commit 68abc3d26429ddc16af691c7895220b47819c869 by huberjn
[Attributor] Change AAExecutionDomain to only accept intrinsics

Summary:
The OpenMP runtime functions don't always provide unique thread ID's to
determine if a basic block is truly single-threaded. Change the implementation
to only check NVPTX intrinsics for now.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D102700
The file was modifiedllvm/test/Transforms/OpenMP/single_threaded_execution.ll
The file was modifiedllvm/lib/Transforms/IPO/OpenMPOpt.cpp
Commit 80d981eda69f1ada6d944ed89571456cad13b850 by richard
Revert "[IR] Add a Location to BlockArgument." and follow-on commit
"[mlir] Speed up Lexer::getEncodedSourceLocation"

This reverts commit 3043be9d2db4d0cdf079adb5e1bdff032405e941 and commit
861d69a5259653f60d59795597493a7939b794fe.

This change resulted in printing textual MLIR that can't be parsed; see
review thread https://reviews.llvm.org/D102567 for details.
The file was modifiedmlir/test/mlir-tblgen/pattern.mlir
The file was modifiedmlir/include/mlir/IR/Builders.h
The file was modifiedmlir/lib/IR/Value.cpp
The file was modifiedmlir/lib/IR/Builders.cpp
The file was modifiedmlir/include/mlir/IR/Block.h
The file was modifiedmlir/lib/IR/AsmPrinter.cpp
The file was modifiedmlir/lib/Parser/Parser.cpp
The file was modifiedmlir/test/Transforms/test-legalize-type-conversion.mlir
The file was modifiedmlir/lib/Parser/Lexer.cpp
The file was modifiedmlir/include/mlir/IR/OpImplementation.h
The file was modifiedmlir/lib/IR/Block.cpp
The file was modifiedmlir/test/IR/locations.mlir
The file was modifiedmlir/include/mlir/IR/Value.h
The file was modifiedmlir/lib/IR/FunctionImplementation.cpp
Commit 851d02f61e945d335021858111416f444139e2b2 by joker.eph
Enhance InferShapedTypeOpInterface to make it accessible during dialect conversion

Original interfaces are not safe to be called during dialect conversion.
This is because some ops (e.g. `dynamic_reshape(input, target_shape)`)
depend on the values of their operands to calculate the output shape.
However the operands may be out of reach during dialect conversion (e.g.
converting from tensor world to buffer world). This patch provides a new
kind of interface which accpets user-provided operands to solve this
problem.

Reviewed By: herhut

Differential Revision: https://reviews.llvm.org/D102317
The file was modifiedmlir/test/lib/Dialect/Test/TestPatterns.cpp
The file was modifiedmlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
The file was modifiedmlir/test/lib/Dialect/Test/TestDialect.cpp
The file was modifiedmlir/include/mlir/Interfaces/InferTypeOpInterface.td
Commit b5a80a0f370ca218d935991fe2bec0d19ca3ba51 by vvereschaka
[CMake] Update Cmake cache file for Win to ARM Linux cross builds. NFC

Parametrize the cache file with TARGET_TRIPLE parameter. Normalize
the target triple to follow the runtime library installation directory.

Explicity enable LLVM_ENABLE_PER_TARGET_RUNTIME_DIR option.
The file was modifiedclang/cmake/caches/CrossWinToARMLinux.cmake
Commit 7faabe5fc91ef18b95780dabbc3dcdc906c961ea by code
[Utils][vim] Highlight CHECK-EMPTY: & CHECK-COUNT: directives

Reviewed By: porglezomp

Differential Revision: https://reviews.llvm.org/D101135
The file was modifiedllvm/utils/vim/syntax/llvm.vim
Commit 0c509dbc7e29cbd03f161513b8d335f768c7cc2b by aeubanks
[NewPM] Add options to PrintPassInstrumentation

To bring D99599's implementation in line with the existing
PrintPassInstrumentation, and to fix a FIXME, add more customizability
to PrintPassInstrumentation.

Introduce three new options. The first takes over the existing
"-debug-pass-manager-verbose" cl::opt.

The second and third option are specific to -fdebug-pass-structure. They
allow indentation, and also don't print analysis queries.

To avoid more golden file tests than necessary, prune down the
-fdebug-pass-structure tests.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D102196
The file was modifiedllvm/test/Other/new-pass-manager-cgscc-fct-proxy.ll
The file was modifiedllvm/tools/opt/NewPMDriver.cpp
The file was modifiedclang/test/Driver/debug-pass-structure.c
The file was modifiedllvm/include/llvm/Passes/StandardInstrumentations.h
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedllvm/test/Other/pass-pipeline-parsing.ll
The file was modifiedllvm/test/Other/opt-O3-pipeline.ll
The file was modifiedllvm/lib/Passes/StandardInstrumentations.cpp

Summary

  1. [sanitizer] Fix "set -e in subshell" in QEMU checkout (details)
  2. [scudo] Remove HWCAP2_MTE workaround (details)
  3. [scudo] Fix "set -e in subsell" issue (details)
  4. [scudo] Combine cmake/ninja steps (details)
  5. [scudo] Print executed tests (details)
  6. [scudo] Install cross compiled libs into STAGE1 (details)
  7. Update configuration for Arm/Aarch64 cross Windows to Linux toolchan builders. (details)
  8. Run only 1 build at a time for heavily loaded workers. (details)
  9. Fixed undefined runtime_projects in OpenMPBuilder. (details)
  10. [sanitizer] Prepare for D102543 (details)
Commit b7d044fe8aebce30d254a874c77c1a4242e2899a by Vitaly Buka
[sanitizer] Fix "set -e in subshell" in QEMU checkout
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_qemu.sh
Commit 649236a0b9147a8d248d3199d64658f4849bbf96 by Vitaly Buka
[scudo] Remove HWCAP2_MTE workaround

It's not needed after https://patches.linaro.org/patch/433102/
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_qemu.sh
Commit 02976f40d5f7b0f044b5c6e23536fb5d5de92b31 by Vitaly Buka
[scudo] Fix "set -e in subsell" issue
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_qemu.sh
Commit 409d93787e66564154499721a6ccd4057a7fb36f by Vitaly Buka
[scudo] Combine cmake/ninja steps
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_qemu.sh
Commit 43acf06e868448cb510edb1a38fa3303856685dd by Vitaly Buka
[scudo] Print executed tests
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_qemu.sh
Commit 73b441c5f00a417b58ec16551519afca2198053b by Vitaly Buka
[scudo] Install cross compiled libs into STAGE1

We need this for LIT future lit tests.
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_qemu.sh
Commit 1a389eb42b96c65d408ddceef0d298f34aa6b9a2 by vvereschaka
Update configuration for Arm/Aarch64 cross Windows to Linux toolchan builders.

Those builders:
* llvm-clang-win-x-armv7l
* llvm-clang-win-x-aarch64

Differential Revision: https://reviews.llvm.org/D102741
The file was modifiedbuildbot/osuosl/master/config/builders.py
Commit 6ca77ac1f51211eeedb25a00857125455c157e68 by gkistanova
Run only 1 build at a time for heavily loaded workers.
The file was modifiedbuildbot/osuosl/master/config/workers.py
Commit 69e37a9fe8b7f999648f8c040a5472694fe486f0 by gkistanova
Fixed undefined runtime_projects in OpenMPBuilder.
The file was modifiedzorg/buildbot/builders/OpenMPBuilder.py
Commit 910833b342290804b635943cb4e3d35df32665a3 by Vitaly Buka
[sanitizer] Prepare for D102543

Mips requires special handling
The file was modifiedzorg/buildbot/builders/sanitizers/buildbot_qemu.sh