SuccessChanges

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

Summary

  1. [ValueTracking] add range limits for ctpop (details)
  2. [clang-tidy] Fix redefinition of module in the same module.modulemap file (details)
  3. [clangd] Migrate to proto2 syntax (details)
  4. [CMake] generate_grpc_protos -> generate_protos(... GRPC). NFC (details)
  5. [CMake] Fix hardcoding of protobuf output basename. NFC (details)
  6. [clangd] NFC: Add using directives to avoid spelling out llvm::sys::path (details)
  7. [InstSimplify] add tests for ctlz constant range; NFC (details)
  8. [InstSimplify] add tests for cttz constant range; NFC (details)
  9. [ValueTracking] add range limits for ctlz (details)
  10. [ValueTracking] add range limits for cttz (details)
  11. [clang] Split remote index service definition into a separate file. (details)
  12. [MLIR] Extract buffer alias analysis for reuse (details)
  13. [PowerPC][LLD] Support for PC Relative TLS for Local Dynamic (details)
  14. [clangd] Drop version from remote index proto names, fix clangd-index-server (details)
  15. [LSR] ignore profitable chain when reg num is not major cost. (details)
  16. [runtimes] Revert the libc++ __config_site change (details)
  17. [gn build] port 48e4b0f (__config_site revert) (details)
  18. [DebugInstrRef] Convert DBG_INSTR_REFs into variable locations (details)
  19. [llvm-mca] Extend cortex-a57 memory instructions test (details)
  20. [MLIR] Fix bad merge with buffer alias analysis. (details)
  21. Export TemplateArgumentMatcher so clients defining custom matchers don't need to use the internal namespace (details)
  22. [flang][openacc] Fix semantic check for wait and atomic directives (details)
  23. AMDGPU: Increase branch size estimate with offset bug (details)
  24. AMDGPU: Don't query for TII in TII (details)
  25. [TableGen] Change !getop and !setop to !getdagop and !setdagop. (details)
  26. [InstCombine] Add initial bitreverse test coverage (details)
  27. [InstCombine] Add 8/16/32/64 bitreverse test coverage (details)
  28. [InstCombine] Add i8 bitreverse by multiplication test patterns (details)
  29. [flang][OpenMP] Upstream lowering of `ParallelOp` clauses (details)
  30. CfgInterface: rename interface() to getInterface() (details)
  31. Revert "[Statepoints] Allow deopt GC pointer on VReg if gc-live bundle is empty." (details)
  32. [AMDGPU] Add simplification/combines for llvm.amdgcn.fma.legacy (details)
  33. [DebugInstrRef] Handle DBG_INSTR_REFs use-before-defs in LiveDebugValues (details)
  34. [flang][OpenMP] Upstream lowering of OpenMP `Flush` construct (details)
  35. [WebAssembly] Implementation of (most) table instructions (details)
  36. [clangd] Fix remote-server build and add it to check-clangd (details)
  37. [AMDGPU] Fix access beyond the end of the basic block in execMayBeModifiedBeforeAnyUse. (details)
  38. [gn build] Port 00255f41929 (details)
  39. [PowerPC] Fix the Predicates for enabling pcrelative-memops and PLXVP/PSTXVP definitions (details)
  40. SourceManager: Clarify that FileInfo always has a ContentCache, NFC (details)
  41. [AArch64][SVE] Fix umin/umax lowering to handle out of range imm. (details)
  42. Re-apply "[JITLink][ELF] Add support for ELF::R_X86_64_REX_GOTPCRELX relocation" (details)
  43. Added utility to launch tests on a target remotely. (details)
  44. Revert "[CGSCC] Detect devirtualization in more cases" (details)
  45. SourceManager: Encapsulate line number mapping into SrcMgr::LineOffsetMapping (details)
  46. These compiler-rt tests should be UNSUPPORTED instead of XFAIL. (details)
  47. [lldb] Redesign Target::GetUtilityFunctionForLanguage API (details)
  48. [CUDA] Improve clang's ability to detect recent CUDA versions. (details)
  49. [CUDA] Extract CUDA version from cuda.h if version.txt is not found (details)
  50. [gn build] Port dbbc4f4e226 (details)
  51. [AArch64][GlobalISel] Introduce a new post-isel optimization pass. (details)
  52. SourceManager: Make LastLineNoContentCache and ContentCache::SourceLineCache mutable, NFC (details)
  53. [MLInliner] Disable always inliner in bounds tests (details)
  54. [ELF] Don't error on R_PPC64_REL24/R_PPC64_REL24_NOTOC referencing __tls_get_addr for missing R_PPC64_TLSGD/R_PPC64_TLSLD (details)
  55. [mlir] Add FuncOp::eraseResults (details)
  56. [PhiValues] Use SetVector to avoid non-determinism (details)
  57. [PowerPC] Add intrinsics for MMA (details)
  58. [NFC] Use [MC]Register in RegAllocGreedy (details)
  59. [BasicAA] Add additional phi cycle test (NFC) (details)
  60. [MemProf] XFAIL test on avr until issue can be debugged (details)
  61. [AIX][cmake] Adjust management of `-G` for linking (details)
  62. [AMDGPU] Fixed isLegalRegOperand() with physregs (details)
  63. [AIX] Let alloca return 16 bytes alignment (details)
  64. [lldb] Fix use of undefined type 'lldb_private::UtilityFunction' (details)
  65. [IR] add fn attr for no_stack_protector; prevent inlining on mismatch (details)
  66. SourceManager: Simplify by inlining what remains of ComputeLineNumbers, NFC (details)
  67. [gn build] Add missing comma (details)
  68. [mlir][vector] Add folding for ExtractOp with ShapeCastOp source (details)
  69. [libc++] Refactor the run-buildbot script to make it more modular, and run the benchmarks (details)
  70. Unconditionally #include <future> (details)
  71. [mlir][vector] Add folder for ExtractStridedSliceOp (details)
  72. [libc++] Clean up unused CI files (details)
  73. [lldb] Move copying of files into reproducer out of process (details)
  74. [AArch64] Add vector compare/select cost-model tests. (details)
  75. [libc++] NFC: Remove unused includes from the test suite (details)
  76. [mlir] Link with pthreads in AsyncRuntime (details)
  77. Fix shared build. NFC. (details)
  78. [Asan][Windows] Fix asan stack traces on Windows. (details)
  79. Fix typo in diagnostic name. (details)
  80. Remove global dialect registration (details)
  81. [mlir][Vector] Introduce UnrollVectorOptions to control vector unrolling. (details)
  82. [flang] An erroneous type bound procedure was causing a call to CHECK() (details)
  83. GC-parseable element atomic memcpy/memmove (details)
  84. Add a mlir natvis file for debugging with Visual Studio (details)
  85. [SVE] Lower fixed length VECREDUCE_SEQ_FADD operation (details)
  86. Revert "Remove global dialect registration" (details)
  87. PR47954 / DR2126: permit temporary objects that are lifetime-extended by (details)
  88. [RISCV] Use the commercial name for scheduling model (NFC) (details)
  89. [CodeGen] Emit destructor calls to destruct non-trivial C struct (details)
  90. [llvm-install-name-tool] Add -prepend_rpath option (details)
  91. [test] Simplify pr33641_remove_arg_dbgvalue.ll (details)
  92. [Inliner][NPM] Properly pass callee AAResults (details)
  93. [StructurizeCFG][NewPM] Port -structurizecfg to NPM (details)
  94. [MemProf] Attempt to debug avr bot failure (details)
  95. [libFuzzer] Added -print_full_coverage flag. (details)
  96. [Hexagon] Handle selection between HVX vector predicates (details)
  97. Don't allow structured binding declarations to decompose a (details)
  98. [intel-pt] Disable/Enable tracing to guarantee the trace is correct (details)
  99. Fix a few warnings from GCC (NFC) (details)
  100. Topologically sort the library to link to mlir-cpu-runner which is required with some linkers like BFD (NFC) (details)
  101. Remove global dialect registration (details)
  102. Remove unused verifyRegStateMapping() function in RegAllocFast (NFC) (details)
  103. [AutoFDO] Remove a broken assert in merging inlinee samples (details)
  104. FileManager: Reorder declarations of FileEntry and FileEntryRef, NFC (details)
  105. Add CMake dependency from MLIRJitRunner on all dialects (details)
  106. clangd: Stop calling FileEntryRef::FileEntryRef (details)
  107. llvm-dwarfdump: Support verbose printing DW_OP_convert to print the CU local offset before the resolved absolute offset (details)
  108. HeaderSearch: Simplify use of FileEntryRef in HeaderSearch::LookupFile, NFC (details)
  109. [NFC][UBSAN] Avoid "not FileCheck" in tests (details)
  110. fix lldb for recent libDebugInfoDWARF API change (details)
  111. [llvm-cov] don't include all source files when provided source files are filtered out (details)
  112. [flang][windows] Support platform-specific path separator. (details)
  113. [flang][msvc] Fix lambda capture ambiguity. NFC. (details)
  114. hwasan: Disable operator {new,delete} interceptors when interceptors are disabled. (details)
  115. [NFC][UBSAN] Refine CHECK pattern in test (details)
  116. [llvm/DebugInfo] Emit DW_OP_implicit_value when tuning for LLDB (details)
Commit 748ecc6b326082c72f5d0866fd7cae499516c079 by spatel
[ValueTracking] add range limits for ctpop

As discussed in D89952,
instcombine can sometimes find a way to reduce similar patterns,
but it is incomplete.
InstSimplify uses the computeConstantRange() ValueTracking analysis
via simplifyICmpWithConstant(), so we just need to fill in the max
value of ctpop to process any "icmp pred ctpop(X), C" pattern (the
min value is initialized to zero automatically).

Differential Revision: https://reviews.llvm.org/D89976
The file was modifiedllvm/test/Transforms/InstSimplify/compare.ll
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
Commit 55a2deed075b87646db62abc7bcd476541eda403 by dpolukhin
[clang-tidy] Fix redefinition of module in the same module.modulemap file

In memory VFS cannot handle aceesssing the same file with different paths.
This diff just stops using VFS for modulemap files.

Fixes PR47839

Differential Revision: https://reviews.llvm.org/D89886
The file was modifiedclang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
Commit 421a2a0dbbd691abeb86dee150cf710a6122e269 by kbobyrev
[clangd] Migrate to proto2 syntax

This allows us to check whether enum field is actually sent over the wire or missing.

Reviewed By: sammccall

Differential Revision: https://reviews.llvm.org/D89882
The file was modifiedclang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp
The file was modifiedclang-tools-extra/clangd/index/remote/Index.proto
Commit 81f7b2ac0fdc84906d31f6824e34103798d3306c by sam.mccall
[CMake] generate_grpc_protos -> generate_protos(... GRPC). NFC

Differential Revision: https://reviews.llvm.org/D90027
The file was modifiedclang-tools-extra/clangd/index/remote/CMakeLists.txt
The file was modifiedllvm/cmake/modules/FindGRPC.cmake
Commit 2d25004a137223a02aa06e8bfd512a648f3b3f94 by sam.mccall
[CMake] Fix hardcoding of protobuf output basename. NFC

Differential Revision: https://reviews.llvm.org/D90030
The file was modifiedllvm/cmake/modules/FindGRPC.cmake
Commit e6c4d880fa8c1fdb55850cccd5d56050b7f3ecc5 by kbobyrev
[clangd] NFC: Add using directives to avoid spelling out llvm::sys::path

`llvm::sys::path` is used a lot in the remote index marshalling code. We can save space by avoiding spelling it out explicitly for most functions and times.

Reviewed By: kadircet

Differential Revision: https://reviews.llvm.org/D90016
The file was modifiedclang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp
Commit 9bcb437f46fedbf4f56262ab50721e87fdfc3589 by spatel
[InstSimplify] add tests for ctlz constant range; NFC

This is a search-and-replace of f6cb7f3.
The file was modifiedllvm/test/Transforms/InstSimplify/compare.ll
Commit 0351bd959faefe54456b43933b2f628ea14efb0d by spatel
[InstSimplify] add tests for cttz constant range; NFC

This is a search-and-replace of f6cb7f3
The file was modifiedllvm/test/Transforms/InstSimplify/compare.ll
Commit 3fb0d6b0d55b52a214a3e5118dda3c7d3422782a by spatel
[ValueTracking] add range limits for ctlz

As discussed in D89952,
instcombine can sometimes find a way to reduce similar patterns,
but it is incomplete.
InstSimplify uses the computeConstantRange() ValueTracking analysis
via simplifyICmpWithConstant(), so we just need to fill in the max
value of ctlz to process any "icmp pred ctlz(X), C" pattern (the
min value is initialized to zero automatically).

Follow-up to D89976.
The file was modifiedllvm/test/Transforms/InstSimplify/compare.ll
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
Commit c72198079df60e73948fe4744b1c0ef7231803fd by spatel
[ValueTracking] add range limits for cttz

As discussed in D89952,
instcombine can sometimes find a way to reduce similar patterns,
but it is incomplete.
InstSimplify uses the computeConstantRange() ValueTracking analysis
via simplifyICmpWithConstant(), so we just need to fill in the max
value of cttz to process any "icmp pred cttz(X), C" pattern (the
min value is initialized to zero automatically).

https://alive2.llvm.org/ce/z/Z_SLWZ

Follow-up to D89976.
The file was modifiedllvm/test/Transforms/InstCombine/ctpop-cttz.ll
The file was modifiedllvm/lib/Analysis/ValueTracking.cpp
The file was modifiedllvm/test/Transforms/InstSimplify/compare.ll
Commit e6c1c3f97f13b7d973fa786a3f2da883fa31bdf6 by sam.mccall
[clang] Split remote index service definition into a separate file.

This allows it to have a separate namespace (grpc versioned service) without
putting versioning info on all of the other protos (before we need it).

clang-index-server is still broken (from 81e5f298c431555).

Differential Revision: https://reviews.llvm.org/D90031
The file was modifiedclang-tools-extra/clangd/index/remote/Client.cpp
The file was modifiedclang-tools-extra/clangd/index/remote/Index.proto
The file was modifiedclang-tools-extra/clangd/index/remote/marshalling/CMakeLists.txt
The file was addedclang-tools-extra/clangd/index/remote/Service.proto
The file was modifiedclang-tools-extra/clangd/index/remote/server/Server.cpp
The file was modifiedclang-tools-extra/clangd/index/remote/server/CMakeLists.txt
The file was modifiedclang-tools-extra/clangd/index/remote/CMakeLists.txt
Commit 6d83e3b443358ca735c40b6edcba0c6b095dd4f2 by frgossen
[MLIR] Extract buffer alias analysis for reuse

Extract buffer alias analysis from buffer placement.

Differential Revision: https://reviews.llvm.org/D89902
The file was addedmlir/include/mlir/Analysis/BufferAliasAnalysis.h
The file was addedmlir/lib/Analysis/BufferAliasAnalysis.cpp
The file was modifiedmlir/include/mlir/Transforms/Bufferize.h
The file was modifiedmlir/include/mlir/Interfaces/ControlFlowInterfaces.td
The file was modifiedmlir/lib/Analysis/CMakeLists.txt
The file was modifiedmlir/lib/Transforms/BufferDeallocation.cpp
Commit c6561ccfd982f03fc9f572c6c27ddab336158e18 by stefanp
[PowerPC][LLD] Support for PC Relative TLS for Local Dynamic

Add support to LLD for PC Relative Thread Local Storage for Local Dynamic.
This patch adds support for two relocations: R_PPC64_GOT_TLSLD_PCREL34 and
R_PPC64_DTPREL34.

The Local Dynamic code is:
```
pla r3, x@got@tlsld@pcrel        R_PPC64_GOT_TLSLD_PCREL34
bl __tls_get_addr@notoc(x@tlsld) R_PPC64_TLSLD
                                 R_PPC64_REL24_NOTOC
...
paddi r9, r3, x@dtprel           R_PPC64_DTPREL34
```

After relaxation to Local Exec:
```
paddi r3, r13, 0x1000
nop
...
paddi r9, r3, x@dtprel          R_PPC64_DTPREL34
```

Reviewed By: NeHuang, sfertile

Differential Revision: https://reviews.llvm.org/D87504
The file was modifiedlld/ELF/Relocations.cpp
The file was addedlld/test/ELF/ppc64-tls-pcrel-ld.s
The file was modifiedlld/ELF/Arch/PPC64.cpp
Commit ce63383e45f4c833dbff6a89b242bfd1d188786e by sam.mccall
[clangd] Drop version from remote index proto names, fix clangd-index-server

We only need to version these messages if they actually diverge.
Unlike the service, the namespace name isn't part of the wire format.

clangd-index-server was broken by 81e5f298c431555d809f898c196945ca879c1150
as the namespace names weren't updated there, this fixes it (by adding
them for the service, and not requiring them elsewhere).
The file was modifiedclang-tools-extra/clangd/index/remote/marshalling/Marshalling.h
The file was modifiedclang-tools-extra/clangd/unittests/remote/MarshallingTests.cpp
The file was modifiedclang-tools-extra/clangd/index/remote/server/Server.cpp
The file was modifiedclang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp
The file was modifiedclang-tools-extra/clangd/index/remote/Index.proto
Commit 1e0b6c1df0f2cf8b056244d6ecd5041f7f9ad7a6 by czhengsz
[LSR] ignore profitable chain when reg num is not major cost.

Reviewed By: samparker

Differential Revision: https://reviews.llvm.org/D89665
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
The file was modifiedllvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
The file was modifiedllvm/include/llvm/CodeGen/BasicTTIImpl.h
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was modifiedllvm/test/CodeGen/PowerPC/lsr-profitable-chain.ll
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp
Commit 48e4b0fd3a3d68cc9774699964cf4c6c2be38cf3 by Louis Dionne
[runtimes] Revert the libc++ __config_site change

This is a massive revert of the following commits (from most revent to oldest):

2b9b7b5775a1d8fcd7aa5abaa8fc0bc303434f1a.
529ac33197f6408952ae995075ac5e2dc5287e81
28270234f1478047e35879f4ba8838b47edfcc14
69c2087283cf7b17ca75f69daebf4ffc158b754a
b5aa67446e01bd277727b05710a42e69ac41e74b
5d796645d6c8cadeb003715c33e231a8ba05b6de

After checking-in the __config_site change, a lot of things started breaking
due to widespread reliance on various aspects of libc++'s build, notably the
fact that we can include the headers from the source tree, but also reliance
on various "internal" CMake variables used by the runtimes build and compiler-rt.

These were unintended consequences of the change, and after two days, we
still haven't restored all the bots to being green. Instead, now that I
understand what specific areas this will blow up in, I should be able to
chop up the patch into smaller ones that are easier to digest.

See https://reviews.llvm.org/D89041 for more details on this adventure.
The file was modifiedlibcxxabi/CMakeLists.txt
The file was modifiedllvm/runtimes/CMakeLists.txt
The file was modifiedlibcxx/docs/TestingLibcxx.rst
The file was modifiedlibcxx/utils/libcxx/test/config.py
The file was modifiedlibcxx/CMakeLists.txt
The file was modifiedlibcxxabi/src/CMakeLists.txt
The file was modifiedlibunwind/test/libunwind/test/config.py
The file was modifiedlibcxx/test/configs/legacy.cfg.in
The file was modifiedlibcxx/include/CMakeLists.txt
The file was modifiedlibcxx/benchmarks/CMakeLists.txt
The file was modifiedlibcxx/include/__config
The file was modifiedlibcxx/cmake/Modules/HandleLibCXXABI.cmake
The file was modifiedlibcxxabi/test/libcxxabi/test/config.py
Commit 13aff21f0da7007c42d407b4ec5c1f6b24cb6831 by thakis
[gn build] port 48e4b0f (__config_site revert)

This reverts commit b3ca53e14274642274be8fe7db8b43dc3c146366.
This reverts commit 8b7dac81d378c339d3e55f6f51cd0c42803903ad.
This reverts commit 37c030f81a9fdd7a7e1b6fa5407b277c1ab1afa1.
The file was modifiedllvm/utils/gn/secondary/clang/tools/driver/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/libcxx/src/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/libcxxabi/src/BUILD.gn
The file was modifiedllvm/utils/gn/secondary/libcxx/include/BUILD.gn
Commit 68f47157164e0513fb5bf3a4639884c85b8a1308 by jeremy.morse
[DebugInstrRef] Convert DBG_INSTR_REFs into variable locations

Handle DBG_INSTR_REF instructions in LiveDebugValues, to determine and
propagate variable locations. The logic is fairly straight forwards:
Collect a map of debug-instruction-number to the machine value numbers
generated in the first walk through the function. When building the
variable value transfer function and we see a DBG_INSTR_REF, look up the
instruction it refers to, and pick the machine value number it generates,
That's it; the rest of LiveDebugValues continues as normal.

Awkwardly, there are two kinds of instruction numbering happening here: the
offset into the block (which is how machine value numbers are determined),
and the numbers that we label instructions with when generating
DBG_INSTR_REFs.

I've also restructured the TransferTracker redefVar code a little, to
separate some DBG_VALUE specific operations into its own method. The
changes around redefVar should be largely NFC, while allowing
DBG_INSTR_REFs to specify a value number rather than just a location.

Differential Revision: https://reviews.llvm.org/D85771
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
The file was addedllvm/test/DebugInfo/MIR/InstrRef/livedebugvalues_instrref_tolocs.mir
Commit b651ecfb726f06752590122054f5bf19c9407537 by eleviant
[llvm-mca] Extend cortex-a57 memory instructions test

Patch adds few/load store instructions which have custom sched
classes in cortex-a57 model.
The file was modifiedllvm/test/tools/llvm-mca/ARM/cortex-a57-memory-instructions.s
Commit 8039b3f966804c6578f8265d5eb7bdde8dec3ddd by frgossen
[MLIR] Fix bad merge with buffer alias analysis.
The file was modifiedmlir/lib/Transforms/BufferOptimizations.cpp
Commit f55eeea4024cb05bff2c9f72968f23183e992a32 by sam.mccall
Export TemplateArgumentMatcher so clients defining custom matchers don't need to use the internal namespace

This change adds another export, `using TemplateArgumentMatcher = internal::Matcher<TemplateArgument>;`, to the collection of exports that put instantiations of the `clang::ast_matchers::internal::Matcher` into the `clang::ast_matchers` namespace. This makes it possible to define custom TemplateArgument matchers without reaching into the `internal` namespace.

Reviewed By: klimek

Differential Revision: https://reviews.llvm.org/D89920
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchers.h
Commit 676ff75d60792d98161f95460e7f982664f39603 by clementval
[flang][openacc] Fix semantic check for wait and atomic directives

wait and atomic directives are represented by OpenACCWaitConstruct, OpenACCAtmicConstruct in the parser. Those contrsuct were
not taken into account in the semantic check so far.

Reviewed By: kiranchandramohan

Differential Revision: https://reviews.llvm.org/D88628
The file was modifiedflang/include/flang/Parser/parse-tree.h
The file was modifiedflang/test/Semantics/acc-clause-validity.f90
The file was modifiedflang/lib/Semantics/check-acc-structure.cpp
The file was modifiedflang/lib/Semantics/check-acc-structure.h
The file was modifiedflang/lib/Parser/openacc-parsers.cpp
Commit d61996473dd9481da9ffc40cea608a5e6eaacf06 by Matthew.Arsenault
AMDGPU: Increase branch size estimate with offset bug

This will be relaxed to insert a nop if the offset hits the bad value,
so over estimate branch instruction sizes.
The file was modifiedllvm/lib/Target/AMDGPU/SOPInstructions.td
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
The file was addedllvm/test/CodeGen/AMDGPU/branch-relaxation-gfx10-branch-offset-bug.ll
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Commit 8a59d4b654e486d9f8f8dbc6da40a4d7ad93ee68 by Matthew.Arsenault
AMDGPU: Don't query for TII in TII
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Commit 876af264c118c6ebcb8d79ab1a25d061f98fde82 by paul
[TableGen] Change !getop and !setop to !getdagop and !setdagop.

Differential Revision: https://reviews.llvm.org/D89814
The file was modifiedclang/include/clang/Basic/arm_mve.td
The file was modifiedllvm/lib/TableGen/TGParser.cpp
The file was modifiedllvm/lib/Target/ARM/ARMInstrMVE.td
The file was modifiedllvm/lib/TableGen/TGLexer.h
The file was modifiedllvm/lib/TableGen/TGLexer.cpp
The file was modifiedllvm/include/llvm/TableGen/Record.h
The file was modifiedllvm/docs/TableGen/ProgRef.rst
The file was modifiedllvm/lib/TableGen/Record.cpp
The file was modifiedllvm/test/TableGen/getsetop.td
Commit 9e7667e2ad4838cf213fcd73782d5a70a657c058 by llvm-dev
[InstCombine] Add initial bitreverse test coverage
The file was addedllvm/test/Transforms/InstCombine/bitreverse.ll
Commit 61d1847b12a91e148a7f6bc32a7a2d490bc19ffd by llvm-dev
[InstCombine] Add 8/16/32/64 bitreverse test coverage

Use typical codegen for the traditional pairwise lgN bitreverse algorithm
The file was modifiedllvm/test/Transforms/InstCombine/bitreverse.ll
Commit a6ad077f5d3979c0c9decb1d41660a91fe44fe0a by llvm-dev
[InstCombine] Add i8 bitreverse by multiplication test patterns

Pulled from bit twiddling hacks webpage
The file was modifiedllvm/test/Transforms/InstCombine/bitreverse.ll
Commit 1d328446bf92f76f1861d0e5f84d67732d76c8fd by SourabhSingh.Tomar
[flang][OpenMP] Upstream lowering of `ParallelOp` clauses

Note: This patch reflects the work that can be upstreamed from PR's(merged):

1. https://github.com/flang-compiler/f18-llvm-project/pull/456
2. https://github.com/flang-compiler/f18-llvm-project/pull/485

Also replaced TODO with new TODO.

Reviewed By: kiranchandramohan

Differential Revision: https://reviews.llvm.org/D89769
The file was modifiedflang/lib/Lower/OpenMP.cpp
Commit a74fc481588fcea9317cbf1f6c5888a30c9edd2d by nicolai.haehnle
CfgInterface: rename interface() to getInterface()

Apparently there are some Microsoft headers which
`#define interface struct`. This method is only used
in pending changes so far.

Change-Id: Ic68fe8e1958ec9b015f817ee218431f4146b888a
The file was modifiedllvm/include/llvm/Support/CfgTraits.h
Commit 4f7ee55971e7f7a27af69c501e4b395c4079decb by dantrushin
Revert "[Statepoints] Allow deopt GC pointer on VReg if gc-live bundle is empty."

Downstream testing revealed some problems with this patch.
Reverting while investigating.
This reverts commit 2b96dcebfae65485859d956954f10f409abaae79.
The file was modifiedllvm/test/CodeGen/X86/statepoint-vreg-details.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
Commit 958130dfda276304372b54010adfc48f05b13c2c by jay.foad
[AMDGPU] Add simplification/combines for llvm.amdgcn.fma.legacy

This follows on from D89558 which added the new intrinsic and D88955
which added similar combines for llvm.amdgcn.fmul.legacy.

Differential Revision: https://reviews.llvm.org/D90028
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
The file was modifiedllvm/test/Transforms/InstCombine/AMDGPU/fmul_legacy.ll
The file was addedllvm/test/Transforms/InstCombine/AMDGPU/fma_legacy.ll
Commit b1b2c6ab667d50e68a6f945f6b64ce0351c2739c by jeremy.morse
[DebugInstrRef] Handle DBG_INSTR_REFs use-before-defs in LiveDebugValues

Deciding where to place debugging instructions when normal instructions
sink between blocks is difficult -- see PR44117. Dealing with this with
instruction-referencing variable locations is simple: we just tolerate
DBG_INSTR_REFs referring to values that haven't been computed yet. This
patch adds support into InstrRefBasedLDV to record when a variable value
appears in the middle of a block, and should have a DBG_VALUE added when it
appears (a debug use before def).

While described simply, this relies heavily on the value-propagation
algorithm in InstrRefBasedLDV. The implementation doesn't attempt to verify
the location of a value unless something non-trivial occurs to merge
variable values in vlocJoin. This means that a variable with a value that
has no location can retain it across all control flow (including loops).
It's only when another debug instruction specifies a different variable
value that we have to check, and find there's no location.

This property means that if a machine value is defined in a block dominated
by a DBG_INSTR_REF that refers to it, all the successor blocks can
automatically find a location for that value (if it's not clobbered). Thus
in a sense, InstrRefBasedLDV is already supporting and implementing
use-before-defs. This patch allows us to specify a variable location in the
block where it's defined.

When loading live-in variable locations, TransferTracker currently discards
those where it can't find a location for the variable value. However, we
can tell from the machine value number whether the value is defined in this
block. If it is, add it to a set of use-before-def records. Then, once the
relevant instruction has been processed, emit a DBG_VALUE immediately after
it.

Differential Revision: https://reviews.llvm.org/D85775
The file was modifiedllvm/test/DebugInfo/MIR/InstrRef/livedebugvalues_instrref_tolocs.mir
The file was modifiedllvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
Commit e7d37742a2a584fef9002778b33f9453647ab43c by SourabhSingh.Tomar
[flang][OpenMP] Upstream lowering of OpenMP `Flush` construct

Note: This patch reflects the work that can be upstreamed from PR's(merged):

- https://github.com/flang-compiler/f18-llvm-project/pull/476

Reviewed By: kiranchandramohan, clementval

Differential Revision: https://reviews.llvm.org/D90048
The file was modifiedflang/lib/Lower/OpenMP.cpp
Commit 69e2797eaed5b9db969fb4ff5e40530a7122b3a3 by sbc
[WebAssembly] Implementation of (most) table instructions

Implementation of instructions table.get, table.set, table.grow,
table.size, table.fill, table.copy.

Missing instructions are table.init and elem.drop as they deal with
element sections which are not yet implemented.

Added more tests to tables.s

Differential Revision: https://reviews.llvm.org/D89797
The file was modifiedllvm/include/llvm/Object/Wasm.h
The file was modifiedllvm/lib/Object/WasmObjectFile.cpp
The file was modifiedllvm/include/llvm/Support/MachineValueType.h
The file was modifiedllvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h
The file was modifiedllvm/include/llvm/BinaryFormat/WasmRelocs.def
The file was modifiedllvm/lib/Object/RelocationResolver.cpp
The file was modifiedllvm/lib/CodeGen/ValueTypes.cpp
The file was modifiedllvm/lib/MC/WasmObjectWriter.cpp
The file was addedllvm/lib/Target/WebAssembly/WebAssemblyInstrTable.td
The file was modifiedllvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyExplicitLocals.cpp
The file was modifiedllvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
The file was modifiedllvm/include/llvm/CodeGen/ValueTypes.td
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.td
The file was modifiedllvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
The file was modifiedllvm/utils/TableGen/CodeGenTarget.cpp
The file was modifiedllvm/test/MC/WebAssembly/tables.s
Commit 5dd39923a09ec284d30083e5fadaa29e618d4446 by kadircet
[clangd] Fix remote-server build and add it to check-clangd

Differential Revision: https://reviews.llvm.org/D90047
The file was modifiedclang-tools-extra/clangd/index/remote/server/Server.cpp
The file was modifiedclang-tools-extra/clangd/test/CMakeLists.txt
Commit 00255f419298b93c812324a257ff057e57ab5c04 by vpykhtin
[AMDGPU] Fix access beyond the end of the basic block in execMayBeModifiedBeforeAnyUse.

I was wrong in thinking that MRI.use_instructions return unique instructions and mislead Jay in his previous patch D64393.

First loop counted more instructions than it was in reality and the second loop went beyond the basic block with that counter.

I used Jay's previous code that relied on MRI.use_operands to constrain the number of instructions to check among.
modifiesRegister is inlined to reduce the number of passes over instruction operands and added assert on BB end boundary.

Differential Revision: https://reviews.llvm.org/D89386
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
The file was addedllvm/unittests/Target/AMDGPU/ExecMayBeModifiedBeforeAnyUse.cpp
The file was modifiedllvm/unittests/Target/AMDGPU/CMakeLists.txt
Commit 24a1fe754713cfcc00100a02ba59b7d0371aedde by llvmgnsyncbot
[gn build] Port 00255f41929
The file was modifiedllvm/utils/gn/secondary/llvm/unittests/Target/AMDGPU/BUILD.gn
Commit 7a74bb899abe1772a428ec98597d544a637e5551 by wei.huang
[PowerPC] Fix the Predicates for enabling pcrelative-memops and PLXVP/PSTXVP definitions

In this patch, Predicates fix added for the following:
* disable prefix-instrs will disable pcrelative-memops
* set two predicates PairedVectorMemops and PrefixInstrs for PLXVP/PSTXVP definitions

Differential Revision: https://reviews.llvm.org/D89727
Reviewed by: amyk, steven.zhang
The file was modifiedllvm/lib/Target/PowerPC/PPC.td
The file was modifiedllvm/test/CodeGen/PowerPC/p10-splatImm-CPload-pcrel.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
Commit 74a8783480219f5f0e5c4673a6d0e29b4ad99877 by Duncan P. N. Exon Smith
SourceManager: Clarify that FileInfo always has a ContentCache, NFC

It turns out that `FileInfo` *always* has a ContentCache. Clarify that
in the code:
- Update the private version of `SourceManager::createFileID` to take a
  `ContentCache&` instead of `ContentCache*`, and rename it to
  `createFileIDImpl` for clarity.
- Change `FileInfo::getContentCache` to return a reference.

Differential Revision: https://reviews.llvm.org/D89554
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/lib/Lex/ScratchBuffer.cpp
The file was modifiedclang/tools/libclang/CIndexInclusionStack.cpp
The file was modifiedclang/include/clang/Basic/SourceManager.h
The file was modifiedclang/lib/Serialization/ASTWriter.cpp
The file was modifiedclang/lib/Basic/SourceManager.cpp
The file was modifiedclang/lib/Rewrite/Rewriter.cpp
Commit 1e113c078a560ad71e838ab9cf6719a3d4f1ec6d by huihuiz
[AArch64][SVE] Fix umin/umax lowering to handle out of range imm.

Immediate must be in an integer range [0,255] for umin/umax instruction.
Extend pattern matching helper SelectSVEArithImm() to take in value type
bitwidth when checking immediate value is in range or not.

Reviewed By: sdesmalen

Differential Revision: https://reviews.llvm.org/D89831
The file was modifiedllvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-imm.ll
The file was modifiedllvm/lib/Target/AArch64/SVEInstrFormats.td
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
The file was modifiedllvm/test/CodeGen/AArch64/sve-int-arith-imm.ll
Commit 996a8b42aa2d956c1f8fc1b001bcee543e2ef697 by Lang Hames
Re-apply "[JITLink][ELF] Add support for ELF::R_X86_64_REX_GOTPCRELX relocation"

This re-applies e2fceec2fd1 with fixes. Apparently we already *do* support
relaxation for ELF, so we need to make sure the test case allocates a slab at
a fixed address, and that the R_X86_64_REX_GOTPCRELX test references an external
that is guaranteed to be out of range.
The file was modifiedllvm/test/ExecutionEngine/JITLink/X86/ELF_x86-64_relocations.s
The file was modifiedllvm/lib/ExecutionEngine/JITLink/ELF_x86_64.cpp
Commit dc98923a8c09ca66f5f71c5a5f416dc1f91e2ab8 by aorlov
Added utility to launch tests on a target remotely.

Runs an executable on a remote host.
This is meant to be used as an executor when running the LLVM and the Libraries tests on a target.

Reviewed By: vvereschaka

Differential Revision: https://reviews.llvm.org/D89349
The file was addedllvm/utils/remote-exec.py
Commit 5668eda864e36baed92854fd13a89042d978ffa4 by aeubanks
Revert "[CGSCC] Detect devirtualization in more cases"

This reverts commit 3024fe5b55ed72633915f613bd5e2826583c396f.

Causes major compile time regressions:
https://llvm-compile-time-tracker.com/compare.php?from=3b8d8954bf2c192502d757019b9fe434864068e9&to=3024fe5b55ed72633915f613bd5e2826583c396f&stat=instructions
The file was modifiedllvm/test/Transforms/Inline/devirtualize.ll
The file was modifiedllvm/test/Transforms/Inline/devirtualize-3.ll
The file was removedllvm/test/Transforms/Inline/devirtualize-5.ll
The file was modifiedllvm/lib/Analysis/CGSCCPassManager.cpp
The file was modifiedllvm/include/llvm/Analysis/CGSCCPassManager.h
Commit dbbc4f4e226be44e484f448be2d308d205c81038 by Duncan P. N. Exon Smith
SourceManager: Encapsulate line number mapping into SrcMgr::LineOffsetMapping

Put the guts of `ComputeLineNumbers` into `LineOffsetMapping::get` and
`LineOffsetMapping::LineOffsetMapping`.  As a drive-by, store the number
of lines directly in the bump-ptr-allocated array.

Differential Revision: https://reviews.llvm.org/D89913
The file was modifiedclang/include/clang/Basic/SourceManager.h
The file was modifiedclang/unittests/Basic/CMakeLists.txt
The file was modifiedclang/lib/Lex/ScratchBuffer.cpp
The file was addedclang/unittests/Basic/LineOffsetMappingTest.cpp
The file was modifiedclang/lib/Basic/SourceManager.cpp
Commit 9df832d1c3aa014c88ec947df3677da2e7d8bd64 by aorlov
These compiler-rt tests should be UNSUPPORTED instead of XFAIL.

These compiler-rt tests should be UNSUPPORTED instead of XFAIL, which seems to be the real intent of the authors.

Reviewed By: vvereschaka

Differential Revision: https://reviews.llvm.org/D89840
The file was modifiedcompiler-rt/test/builtins/Unit/gcc_personality_test.c
The file was modifiedcompiler-rt/test/crt/dso_handle.cpp
Commit de346cf2ac850be793ee7fc31f99a7671331c289 by Jonas Devlieghere
[lldb] Redesign Target::GetUtilityFunctionForLanguage API

This patch redesigns the Target::GetUtilityFunctionForLanguage API:

- Use a unique_ptr instead of a raw pointer for the return type.
- Wrap the result in an llvm::Expected instead of using a Status object as an I/O parameter.
- Combine the action of "getting" and "installing" the UtilityFunction as they always get called together.
- Pass std::strings instead of const char* and std::move them where appropriate.

There's more room for improvement but I think this tackles the most
prevalent issues with the current API.

Differential revision: https://reviews.llvm.org/D90011
The file was modifiedlldb/source/Target/Target.cpp
The file was modifiedlldb/include/lldb/Symbol/TypeSystem.h
The file was modifiedlldb/source/Plugins/SystemRuntime/MacOSX/AppleGetItemInfoHandler.cpp
The file was modifiedlldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.h
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
The file was modifiedlldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp
The file was modifiedlldb/source/Plugins/SystemRuntime/MacOSX/AppleGetThreadItemInfoHandler.cpp
The file was modifiedlldb/include/lldb/Target/Target.h
The file was modifiedlldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp
The file was modifiedlldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h
The file was modifiedlldb/source/Plugins/SystemRuntime/MacOSX/AppleGetQueuesHandler.cpp
The file was modifiedlldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
The file was modifiedlldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
The file was modifiedlldb/source/Plugins/SystemRuntime/MacOSX/AppleGetPendingItemsHandler.cpp
The file was modifiedlldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.cpp
The file was modifiedlldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.h
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/IRDynamicChecks.cpp
The file was modifiedlldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Commit 65d206484c54177641d4b11d42cab1f1acc8c0c7 by tra
[CUDA] Improve clang's ability to detect recent CUDA versions.

CUDA-11.1 does not carry version.txt which causes clang to assume that it's
CUDA-7.0, which used to be the only CUDA version w/o version.txt.

In order to tell CUDA-7.0 apart from the new versions, clang now probes for the
presence of libdevice.10.bc which is not present in the old CUDA versions.

This should keep Clang working for CUDA-11.1.

PR47332: https://bugs.llvm.org/show_bug.cgi?id=47332

Differential Revision: https://reviews.llvm.org/D89752
The file was addedclang/test/Driver/Inputs/CUDA_111/usr/local/cuda/nvvm/libdevice/libdevice.10.bc
The file was addedclang/test/Driver/Inputs/CUDA_111/usr/local/cuda/lib64/.keep
The file was modifiedclang/test/Driver/cuda-version-check.cu
The file was addedclang/test/Driver/Inputs/CUDA_111/usr/local/cuda/bin/.keep
The file was addedclang/test/Driver/Inputs/CUDA_111/usr/local/cuda/lib/.keep
The file was addedclang/test/Driver/Inputs/CUDA_111/usr/local/cuda/include/.keep
The file was modifiedclang/lib/Driver/ToolChains/Cuda.cpp
Commit e7fe125b776bf08d95e60ff3354a5c836218a0e6 by tra
[CUDA] Extract CUDA version from cuda.h if version.txt is not found

If CUDA version can not be determined based on version.txt file, attempt to find
CUDA_VERSION macro in cuda.h.

This is a follow-up to D89752,

Differntial Revision: https://reviews.llvm.org/D89832
The file was modifiedclang/include/clang/Basic/DiagnosticDriverKinds.td
The file was modifiedclang/test/Driver/cuda-version-check.cu
The file was addedclang/test/Driver/Inputs/CUDA_102/usr/local/cuda/nvvm/libdevice/libdevice.10.bc
The file was modifiedclang/lib/Driver/ToolChains/Cuda.h
The file was addedclang/test/Driver/Inputs/CUDA_102/usr/local/cuda/lib64/.keep
The file was addedclang/test/Driver/Inputs/CUDA_102/usr/local/cuda/version.txt
The file was modifiedclang/lib/Driver/ToolChains/Cuda.cpp
The file was addedclang/test/Driver/Inputs/CUDA_102/usr/local/cuda/include/.keep
The file was addedclang/test/Driver/Inputs/CUDA_102/usr/local/cuda/bin/.keep
The file was addedclang/test/Driver/Inputs/CUDA_111/usr/local/cuda/include/cuda.h
The file was addedclang/test/Driver/Inputs/CUDA_102/usr/local/cuda/lib/.keep
Commit bf44d3689a0b101914e7088b9671c90e72b8a4e8 by llvmgnsyncbot
[gn build] Port dbbc4f4e226
The file was modifiedllvm/utils/gn/secondary/clang/unittests/Basic/BUILD.gn
Commit 0f0fd383b487e004fd616ac941307422bd09c261 by Amara Emerson
[AArch64][GlobalISel] Introduce a new post-isel optimization pass.

There are two optimizations here:

1. Consider the following code:
FCMPSrr %0, %1, implicit-def $nzcv
%sel1:gpr32 = CSELWr %_, %_, 12, implicit $nzcv
%sub:gpr32 = SUBSWrr %_, %_, implicit-def $nzcv
FCMPSrr %0, %1, implicit-def $nzcv
%sel2:gpr32 = CSELWr %_, %_, 12, implicit $nzcv
This kind of code where we have 2 FCMPs each feeding a CSEL can happen
when we have a single IR fcmp being used by two selects. During selection,
to ensure that there can be no clobbering of nzcv between the fcmp and the
csel, we have to generate an fcmp immediately before each csel is
selected.

However, often we can essentially CSE these together later in MachineCSE.
This doesn't work though if there are unrelated flag-setting instructions
in between the two FCMPs. In this case, the SUBS defines NZCV
but it doesn't have any users, being overwritten by the second FCMP.

Our solution here is to try to convert flag setting operations between
a interval of identical FCMPs, so that CSE will be able to eliminate one.

2. SelectionDAG imported patterns for arithmetic ops currently select the
flag-setting ops for CSE reasons, and add the implicit-def $nzcv operand
to those instructions. However if those impdef operands are not marked as
dead, the peephole optimizations are not able to optimize them into non-flag
setting variants. The optimization here is to find these dead imp-defs and
mark them as such.

This pass is only enabled when optimizations are enabled.

Differential Revision: https://reviews.llvm.org/D89415
The file was modifiedllvm/lib/Target/AArch64/CMakeLists.txt
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn
The file was modifiedllvm/test/CodeGen/AArch64/addsub-shifted.ll
The file was modifiedllvm/test/CodeGen/AArch64/addsub_ext.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64.h
The file was addedllvm/lib/Target/AArch64/GISel/AArch64PostSelectOptimize.cpp
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/gisel-commandline-option.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetMachine.cpp
The file was addedllvm/test/CodeGen/AArch64/GlobalISel/postselectopt-dead-cc-defs-in-fcmp.mir
Commit 5431c37b55e2c2952b6b56c9690bd1ce05b23c7e by Duncan P. N. Exon Smith
SourceManager: Make LastLineNoContentCache and ContentCache::SourceLineCache mutable, NFC

Avoid some noisy `const_cast`s by making `ContentCache::SourceLineCache`
and `SourceManager::LastLineNoContentCache` both mutable.

Differential Revision: https://reviews.llvm.org/D89914
The file was modifiedclang/lib/Basic/SourceManager.cpp
The file was modifiedclang/include/clang/Basic/SourceManager.h
The file was modifiedclang/lib/Lex/ScratchBuffer.cpp
Commit 2b8fb5185e4a2087874924468086e3fb6a2ec495 by mtrofin
[MLInliner] Disable always inliner in bounds tests

That changes the threshold calculation.
The file was modifiedllvm/test/Transforms/Inline/ML/bounds-checks.ll
The file was modifiedllvm/test/Transforms/Inline/ML/bounds-checks-rewards.ll
Commit 9267caebfa9209e4ae69517043d008d1b83307aa by i
[ELF] Don't error on R_PPC64_REL24/R_PPC64_REL24_NOTOC referencing __tls_get_addr for missing R_PPC64_TLSGD/R_PPC64_TLSLD

This partially reverts D85994.

In glibc, elf/dl-sym.c calls the raw `__tls_get_addr` by specifying the
tls_index parameter. Such a call does not have a pairing R_PPC64_TLSGD/R_PPC64_TLSLD.
This is legitimate. Since we cannot distinguish the benign case from cases due
to toolchain issues, we have to be permissive.

Acked by Stefan Pintilie
The file was modifiedlld/ELF/Relocations.cpp
The file was modifiedlld/test/ELF/ppc64-tls-missing-gdld.s
Commit 1253c40727d2fae9398fc63c86de75db88fb5124 by silvasean
[mlir] Add FuncOp::eraseResults

I just found I needed this in an upcoming patch, and it seems generally
useful to have.

Differential Revision: https://reviews.llvm.org/D90000
The file was modifiedmlir/test/lib/IR/TestFunc.cpp
The file was modifiedmlir/lib/IR/Function.cpp
The file was addedmlir/test/IR/test-func-erase-result.mlir
The file was modifiedmlir/include/mlir/IR/Function.h
Commit dd887d97ce38bc60f3680d2481fc2d96ce45c4f5 by nikita.ppv
[PhiValues] Use SetVector to avoid non-determinism

I'm not sure whether this can cause actual non-determinism in the
compiler output, but at least it causes non-determinism in the
statistics collected by BasicAA.

Use SetVector to have a predictable iteration order.
The file was modifiedllvm/lib/Analysis/PhiValues.cpp
The file was modifiedllvm/include/llvm/Analysis/PhiValues.h
Commit edb27912a3ec097b5f267941b3b0107b4bb8d997 by saghir
[PowerPC] Add intrinsics for MMA

This patch adds support for MMA intrinsics.

Authored by: Baptiste Saleil

Reviewed By: #powerpc, bsaleil, amyk

Differential Revision: https://reviews.llvm.org/D89345
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
The file was addedllvm/test/CodeGen/PowerPC/mma-outer-product.ll
The file was modifiedllvm/include/llvm/IR/IntrinsicsPowerPC.td
The file was modifiedllvm/test/CodeGen/PowerPC/bfloat16-outer-product.ll
The file was addedllvm/test/CodeGen/PowerPC/mma-integer-based-outer-product.ll
Commit 819044ad2d6a38ee12321d4523b9d980a7afbc18 by mtrofin
[NFC] Use [MC]Register in RegAllocGreedy

This was initiated from the uses of MCRegUnitIterator, so while likely
not exhaustive, it's a step forward.

Differential Revision: https://reviews.llvm.org/D89975
The file was modifiedllvm/lib/CodeGen/AllocationOrder.h
The file was modifiedllvm/lib/CodeGen/RegAllocGreedy.cpp
Commit 1b65a51af80a9375ef85cb8fa6ec9ec3c68b3549 by nikita.ppv
[BasicAA] Add additional phi cycle test (NFC)

This is a variation of the BatchAA problem that also applies
without BatchAA. We may have a cached result from earlier in
the same query.
The file was modifiedllvm/unittests/Analysis/AliasAnalysisTest.cpp
Commit b67a2aef8ac9fd9c10666a05d72d909315140dcb by tejohnson
[MemProf] XFAIL test on avr until issue can be debugged

For unknown reasons, this test started failing only on the
llvm-avr-linux bot after 5c20d7db9f2791367b9311130eb44afecb16829c:
http://lab.llvm.org:8011/#/builders/112/builds/365

The error message is not helpful, and I have an email out to the bot
owner to help with debugging. XFAIL it on avr for now.
The file was modifiedcompiler-rt/test/memprof/TestCases/log_path_test.cpp
Commit 1602c6fd9294494aaa7461e258602d486166b303 by hubert.reinterpretcast
[AIX][cmake] Adjust management of `-G` for linking

The change in 0ba98433971f changed the behaviour of the build when
using an XL build compiler because `-G` is not a pure linker option:
it also implies `-shared`. This was accounted for in the base CMake
configuration, so an analysis of the change from 0ba98433971f in
relation to a build using Clang (where `-shared` is introduced by CMake)
would not identify the issue. This patch resolves this particular issue
by adding `-shared` alongside `-Wl,-G`.

At the same time, the investigation reveals that several aspects of the
various build configurations are not operating in the manner originally
intended.

The other issue related to the `-G` linker option in the build is that
the removal of it (to avoid unnecessary use of run-time linking) is not
effective for the build using the Clang compiler. This patch addresses
this by adjusting the regular expressions used to remove the broadly-
applied `-G`.

Finally, the issue of specifying the export list with `-Wl,` instead of
a compiler option is flagged with a FIXME comment.

Reviewed By: daltenty, amyk

Differential Revision: https://reviews.llvm.org/D90041
The file was modifiedllvm/cmake/modules/AddLLVM.cmake
The file was modifiedllvm/CMakeLists.txt
Commit 2e64ad94948763a4f9a289265dbce4ce1d22591b by Stanislav.Mekhanoshin
[AMDGPU] Fixed isLegalRegOperand() with physregs

This does not change anything at the moment, but needed for
D89170. In that change I am probing a physical SGPR to see if
it is legal. RC is SReg_32, but DRC for scratch instructions
is SReg_32_XEXEC_HI and test fails.

That is sufficient just to check if DRC contains a register
here in case of physreg. Physregs also do not use subregs
so the subreg handling below is irrelevant for these.

Differential Revision: https://reviews.llvm.org/D90064
The file was modifiedllvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Commit 05bef88eb3ecb8519a871ca9aa53caeca5add555 by Xiangling.Liao
[AIX] Let alloca return 16 bytes alignment

On AIX, to support vector types, which should always be 16 bytes aligned,
we set alloca to return 16 bytes aligned memory space.

Differential Revision: https://reviews.llvm.org/D89910
The file was modifiedclang/lib/Basic/Targets/PPC.h
The file was modifiedclang/test/Preprocessor/init-ppc.c
The file was addedclang/test/CodeGen/aix_alloca_align.c
The file was modifiedclang/test/Preprocessor/init-ppc64.c
Commit a4459feca415a757fa0ca3ab4731a17240931a81 by Jonas Devlieghere
[lldb] Fix use of undefined type 'lldb_private::UtilityFunction'

We were returning the default constructed unique_pointer from
TypeSystem.h for which the compiler does not have a definition. Move the
implementation into the cpp file.
The file was modifiedlldb/include/lldb/Symbol/TypeSystem.h
The file was modifiedlldb/source/Symbol/TypeSystem.cpp
Commit b7926ce6d7a83cdf70c68d82bc3389c04009b841 by ndesaulniers
[IR] add fn attr for no_stack_protector; prevent inlining on mismatch

It's currently ambiguous in IR whether the source language explicitly
did not want a stack a stack protector (in C, via function attribute
no_stack_protector) or doesn't care for any given function.

It's common for code that manipulates the stack via inline assembly or
that has to set up its own stack canary (such as the Linux kernel) would
like to avoid stack protectors in certain functions. In this case, we've
been bitten by numerous bugs where a callee with a stack protector is
inlined into an __attribute__((__no_stack_protector__)) caller, which
generally breaks the caller's assumptions about not having a stack
protector. LTO exacerbates the issue.

While developers can avoid this by putting all no_stack_protector
functions in one translation unit together and compiling those with
-fno-stack-protector, it's generally not very ergonomic or as
ergonomic as a function attribute, and still doesn't work for LTO. See also:
https://lore.kernel.org/linux-pm/20200915172658.1432732-1-rkir@google.com/
https://lore.kernel.org/lkml/20200918201436.2932360-30-samitolvanen@google.com/T/#u

Typically, when inlining a callee into a caller, the caller will be
upgraded in its level of stack protection (see adjustCallerSSPLevel()).
By adding an explicit attribute in the IR when the function attribute is
used in the source language, we can now identify such cases and prevent
inlining.  Block inlining when the callee and caller differ in the case that one
contains `nossp` when the other has `ssp`, `sspstrong`, or `sspreq`.

Fixes pr/47479.

Reviewed By: void

Differential Revision: https://reviews.llvm.org/D87956
The file was modifiedllvm/lib/CodeGen/StackProtector.cpp
The file was modifiedclang/lib/CodeGen/CodeGenModule.cpp
The file was modifiedllvm/test/Transforms/Inline/inline_ssp.ll
The file was modifiedllvm/test/CodeGen/X86/stack-protector-2.ll
The file was modifiedllvm/lib/Transforms/Utils/InlineFunction.cpp
The file was addedllvm/test/Verifier/function-attribute-nossp-ssp-sspreq-sspstrong.ll
The file was modifiedllvm/bindings/go/llvm/ir_test.go
The file was modifiedllvm/include/llvm/IR/Attributes.td
The file was modifiedclang/test/CodeGen/stack-protector.c
The file was modifiedllvm/lib/AsmParser/LLLexer.cpp
The file was modifiedllvm/lib/AsmParser/LLToken.h
The file was modifiedllvm/utils/vim/syntax/llvm.vim
The file was modifiedllvm/docs/BitCodeFormat.rst
The file was modifiedllvm/lib/IR/Attributes.cpp
The file was modifiedllvm/lib/Bitcode/Writer/BitcodeWriter.cpp
The file was modifiedllvm/utils/kate/llvm.xml
The file was modifiedllvm/lib/Transforms/IPO/ForceFunctionAttrs.cpp
The file was modifiedllvm/utils/emacs/llvm-mode.el
The file was addedllvm/test/Transforms/Inline/inline_nossp.ll
The file was modifiedllvm/bindings/ocaml/llvm/llvm.ml
The file was modifiedllvm/test/Transforms/CodeExtractor/PartialInlineAttributes.ll
The file was addedclang/test/Frontend/optimization-remark-missed-inline-stack-protectors.c
The file was modifiedllvm/utils/vscode/llvm/syntaxes/ll.tmLanguage.yaml
The file was modifiedllvm/include/llvm/Bitcode/LLVMBitCodes.h
The file was modifiedllvm/lib/IR/Verifier.cpp
The file was modifiedllvm/lib/Transforms/Utils/CodeExtractor.cpp
The file was modifiedllvm/utils/llvm.grm
The file was modifiedclang/include/clang/Basic/AttrDocs.td
The file was modifiedllvm/docs/LangRef.rst
The file was modifiedllvm/lib/AsmParser/LLParser.cpp
Commit cf52a85ddc9be165daca3d32521747c898f4ffd1 by Duncan P. N. Exon Smith
SourceManager: Simplify by inlining what remains of ComputeLineNumbers, NFC

Use `LineOffsetMapping:get` directly and remove/inline the helper
`ComputeLineNumbers`, simplifying the callers.

Differential Revision: https://reviews.llvm.org/D89922
The file was modifiedclang/lib/Basic/SourceManager.cpp
Commit 4b90a253c257cdb23b699eeae126b6687dbf96bf by aeubanks
[gn build] Add missing comma
The file was modifiedllvm/utils/gn/secondary/llvm/lib/Target/AArch64/BUILD.gn
Commit 8c72eea9a04ca8349224f26d1982d838824786a3 by thomasraoux
[mlir][vector] Add folding for ExtractOp with ShapeCastOp source

Differential Revision: https://reviews.llvm.org/D89853
The file was modifiedmlir/lib/Dialect/Vector/VectorOps.cpp
The file was modifiedmlir/test/Dialect/Vector/canonicalize.mlir
Commit 2f8dd2687fa0211ef0c8d2faf74c0e003fe59e7a by Louis Dionne
[libc++] Refactor the run-buildbot script to make it more modular, and run the benchmarks

As a fly-by fix, unbreak the benchmarks on Apple platforms.

Differential Revision: https://reviews.llvm.org/D90043
The file was modifiedlibcxx/utils/ci/buildkite-pipeline.yml
The file was modifiedlibcxxabi/src/CMakeLists.txt
The file was modifiedlibcxx/src/CMakeLists.txt
The file was modifiedlibcxx/test/support/debug_mode_helper.h
The file was modifiedlibcxx/utils/ci/run-buildbot.sh
Commit bfb04aeb85b85cb49c7e630de979ef4d8de6e79a by joker.eph
Unconditionally #include <future>

This unbreaks building with `LLVM_ENABLE_THREADS=0`. Since
https://github.com/llvm/llvm-project/commit/069919c9ba33 usage of
`std::promise` is not guarded by `LLVM_ENABLE_THREADS`, so this header
must be unconditionally included.

Reviewed By: lhames

Differential Revision: https://reviews.llvm.org/D89758
The file was modifiedllvm/lib/ExecutionEngine/Orc/Core.cpp
Commit ea6a60a9a6c18a2a512b066fd8a873ff0db49836 by thomasraoux
[mlir][vector] Add folder for ExtractStridedSliceOp

Add folder for the case where ExtractStridedSliceOp source comes from a chain
of InsertStridedSliceOp. Also add a folder for the trivial case where the
ExtractStridedSliceOp is a no-op.

Differential Revision: https://reviews.llvm.org/D89850
The file was modifiedmlir/test/Dialect/Vector/canonicalize.mlir
The file was modifiedmlir/lib/Dialect/Vector/VectorOps.cpp
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorOps.td
Commit cb9f6c4c8cbaa327b4836cf0fa61015f760f4002 by Louis Dionne
[libc++] Clean up unused CI files

Those were useful during CI experimentation, but are not used anymore.
The file was removedlibcxx/utils/ci/phabricator-report
The file was removedlibcxx/utils/ci/buildkite-pipeline-trigger.sh
Commit 73811d32c72d0760c8c2066e4675dd6f1a7bbef7 by Jonas Devlieghere
[lldb] Move copying of files into reproducer out of process

For performance reasons the reproducers don't copy the files captured by
the file collector eagerly, but wait until the reproducer needs to be
generated.

This is a problematic when LLDB crashes and we have to do all this
signal-unsafe work in the signal handler. This patch uses a similar
trick to clang, which has the driver invoke a new cc1 instance to do all
this work out-of-process.

This patch moves the writing of the mapping file as well as copying over
the reproducers into a separate process spawned when lldb crashes.

Differential revision: https://reviews.llvm.org/D89600
The file was modifiedlldb/source/Commands/CommandObjectReproducer.cpp
The file was modifiedlldb/tools/driver/Driver.cpp
The file was modifiedlldb/include/lldb/Utility/ReproducerProvider.h
The file was modifiedlldb/source/Host/common/FileSystem.cpp
The file was modifiedlldb/test/Shell/Reproducer/TestCaptureEnvOverride.test
The file was modifiedlldb/source/API/SBReproducer.cpp
The file was modifiedlldb/source/Utility/Reproducer.cpp
The file was modifiedlldb/include/lldb/API/SBReproducer.h
The file was modifiedlldb/include/lldb/Utility/Reproducer.h
The file was modifiedlldb/source/Plugins/ExpressionParser/Clang/ModuleDependencyCollector.h
The file was modifiedlldb/source/Utility/ReproducerProvider.cpp
The file was modifiedlldb/include/lldb/Host/FileSystem.h
The file was modifiedlldb/tools/driver/Options.td
The file was addedlldb/test/Shell/Reproducer/TestFinalize.test
Commit 089c1ccd6d26d2cf4067a16dec4c4527c8536039 by flo
[AArch64] Add vector compare/select cost-model tests.
The file was addedllvm/test/Analysis/CostModel/AArch64/vector-select.ll
Commit 9f4b888c32161ac32cd10df3897e35bf66bba396 by Louis Dionne
[libc++] NFC: Remove unused includes from the test suite

- <iostream> include from a <chrono> test
- <regex> include from the filesystem tests
The file was modifiedlibcxx/test/std/utilities/time/time.cal/time.cal.ym/time.cal.ym.nonmembers/minus.pass.cpp
The file was modifiedlibcxx/test/support/filesystem_test_helper.h
Commit b16f6324db21f778aba9cb62452010aab13c2d1f by ezhulenev
[mlir] Link with pthreads in AsyncRuntime

AsyncRuntime must be explicitly linked with LLVM pthreads

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D89983
The file was modifiedmlir/lib/ExecutionEngine/AsyncRuntime.cpp
The file was modifiedmlir/lib/ExecutionEngine/CMakeLists.txt
Commit 9497e2e7d88f6d38005d3c419cf649527cbec5d1 by michael.hliao
Fix shared build. NFC.
The file was modifiedllvm/unittests/Target/AMDGPU/CMakeLists.txt
Commit 3827effe3ab541a3357c417c676939826fc5b4ac by akhuang
[Asan][Windows] Fix asan stack traces on Windows.

While implementing inline stack traces on Windows I noticed that the stack
traces in many asan tests included an inlined frame that shouldn't be there.

Currently we get the PC and then do a stack unwind and use the PC to
find the beginning of the stack trace.
In the failing tests the first thing in the stack trace is inside an inline
call site that shouldn't be in the stack trace, so replace it with the PC.

Differential Revision: https://reviews.llvm.org/D89996
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_unwind_win.cpp
Commit 2b7dfdd319c0e6e3a8934bcf4019f402d63f7539 by richard
Fix typo in diagnostic name.

No functionality change intended.
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticASTKinds.td
Commit b22e2e4c6e420b78a8a4c307f0cf002f51af9590 by joker.eph
Remove global dialect registration

This has been deprecated for >1month now and removal was announced in:

https://llvm.discourse.group/t/rfc-revamp-dialect-registration/1559/11

Differential Revision: https://reviews.llvm.org/D86356
The file was modifiedmlir/include/mlir/IR/Dialect.h
The file was modifiedmlir/test/EDSC/builder-api-test.cpp
The file was modifiedmlir/unittests/Pass/AnalysisManagerTest.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/TranslateRegistration.cpp
The file was modifiedmlir/lib/Translation/Translation.cpp
The file was modifiedmlir/unittests/TableGen/StructsGenTest.cpp
The file was modifiedmlir/tools/mlir-cuda-runner/mlir-cuda-runner.cpp
The file was modifiedmlir/tools/mlir-reduce/mlir-reduce.cpp
The file was modifiedmlir/examples/toy/Ch4/toyc.cpp
The file was modifiedmlir/examples/toy/Ch2/toyc.cpp
The file was modifiedmlir/unittests/Dialect/Quant/QuantizationUtilsTest.cpp
The file was modifiedmlir/tools/mlir-cpu-runner/mlir-cpu-runner.cpp
The file was modifiedmlir/unittests/IR/OperationSupportTest.cpp
The file was modifiedmlir/unittests/IR/AttributeTest.cpp
The file was modifiedmlir/examples/toy/Ch5/toyc.cpp
The file was modifiedmlir/unittests/Dialect/SPIRV/DeserializationTest.cpp
The file was modifiedmlir/include/mlir/InitAllDialects.h
The file was modifiedmlir/examples/toy/Ch3/toyc.cpp
The file was modifiedmlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-gen.cpp
The file was modifiedmlir/examples/standalone/standalone-opt/standalone-opt.cpp
The file was modifiedmlir/unittests/SDBM/SDBMTest.cpp
The file was modifiedmlir/tools/mlir-rocm-runner/mlir-rocm-runner.cpp
The file was modifiedmlir/tools/mlir-vulkan-runner/mlir-vulkan-runner.cpp
The file was modifiedmlir/examples/toy/Ch7/toyc.cpp
The file was modifiedmlir/lib/Support/MlirOptMain.cpp
The file was modifiedmlir/lib/IR/Dialect.cpp
The file was modifiedmlir/lib/IR/MLIRContext.cpp
The file was modifiedmlir/tools/mlir-opt/mlir-opt.cpp
The file was modifiedmlir/lib/CAPI/IR/IR.cpp
The file was modifiedmlir/test/SDBM/sdbm-api-test.cpp
The file was modifiedmlir/unittests/IR/DialectTest.cpp
The file was modifiedmlir/examples/toy/Ch6/toyc.cpp
The file was modifiedmlir/include/mlir/IR/MLIRContext.h
The file was modifiedmlir/unittests/Dialect/SPIRV/SerializationTest.cpp
The file was modifiedmlir/lib/ExecutionEngine/JitRunner.cpp
The file was modifiedmlir/unittests/TableGen/OpBuildGen.cpp
Commit b6204b995eaa2ec771f947a2109bd2ef338e688c by ravishankarm
[mlir][Vector] Introduce UnrollVectorOptions to control vector unrolling.

The current pattern for vector unrolling takes the native shape to
unroll to at pattern instantiation time, but the native shape might
defer based on the types of the operand. Introduce a
UnrollVectorOptions struct which allows for using a function that will
return the native shape based on the operation. Move other options of
unrolling like `filterConstraints` into this struct.

Differential Revision: https://reviews.llvm.org/D89744
The file was modifiedmlir/include/mlir/Dialect/Vector/VectorTransforms.h
The file was modifiedmlir/test/lib/Transforms/TestVectorTransforms.cpp
The file was addedmlir/test/Dialect/Vector/vector-unroll-options.mlir
Commit b6b589ca84841f7ef4ac8c67570ec1e43b29aa76 by psteinfeld
[flang] An erroneous type bound procedure was causing a call to CHECK()

I added a test to verify that the associated symbol did not have errors before
doing the anaylsis of a call to a component ref along with a test that
triggers the original problem.

Differential Revision: https://reviews.llvm.org/D90074
The file was modifiedflang/test/Semantics/bindings01.f90
The file was modifiedflang/lib/Semantics/expression.cpp
Commit 6ec2c5e402a724ba99bce82a9cac7a3006d660f4 by apilipenko
GC-parseable element atomic memcpy/memmove

This change introduces a GC parseable lowering for element atomic
memcpy/memmove intrinsics. This way runtime can provide an
implementation which can take a safepoint during copy operation.

See "GC-parseable element atomic memcpy/memmove" thread on llvm-dev
for the background and details:
https://groups.google.com/g/llvm-dev/c/NnENHzmX-b8/m/3PyN8Y2pCAAJ

Differential Revision: https://reviews.llvm.org/D88861
The file was modifiedllvm/docs/Statepoints.rst
The file was modifiedllvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
The file was addedllvm/test/Transforms/RewriteStatepointsForGC/unordered-atomic-memcpy-no-deopt.ll
The file was addedllvm/test/Transforms/RewriteStatepointsForGC/unordered-atomic-memcpy.ll
The file was modifiedllvm/docs/LangRef.rst
The file was modifiedllvm/lib/Transforms/Utils/Local.cpp
Commit f98bb414f58ee447481e4de19625baff22718343 by aaron.smith
Add a mlir natvis file for debugging with Visual Studio

Differential Revision: https://reviews.llvm.org/D89601
The file was addedmlir/utils/MLIRVisualizers/mlir.natvis
Commit a1cc274cb35fae64399158f059e67a601caa10f1 by mcinally
[SVE] Lower fixed length VECREDUCE_SEQ_FADD operation

Differential Revision: https://reviews.llvm.org/D89162
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/test/CodeGen/AArch64/sve-fixed-length-fp-reduce.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.h
Commit 6a72635881e98dbac458323fe9666af6507a09ec by joker.eph
Revert "Remove global dialect registration"

This reverts commit b22e2e4c6e420b78a8a4c307f0cf002f51af9590.

Investigating broken builds
The file was modifiedmlir/examples/toy/Ch5/toyc.cpp
The file was modifiedmlir/include/mlir/IR/Dialect.h
The file was modifiedmlir/test/EDSC/builder-api-test.cpp
The file was modifiedmlir/unittests/TableGen/StructsGenTest.cpp
The file was modifiedmlir/tools/mlir-reduce/mlir-reduce.cpp
The file was modifiedmlir/unittests/IR/OperationSupportTest.cpp
The file was modifiedmlir/tools/mlir-cuda-runner/mlir-cuda-runner.cpp
The file was modifiedmlir/examples/toy/Ch2/toyc.cpp
The file was modifiedmlir/lib/IR/MLIRContext.cpp
The file was modifiedmlir/include/mlir/IR/MLIRContext.h
The file was modifiedmlir/unittests/Dialect/SPIRV/SerializationTest.cpp
The file was modifiedmlir/tools/mlir-vulkan-runner/mlir-vulkan-runner.cpp
The file was modifiedmlir/examples/toy/Ch3/toyc.cpp
The file was modifiedmlir/unittests/Pass/AnalysisManagerTest.cpp
The file was modifiedmlir/examples/toy/Ch4/toyc.cpp
The file was modifiedmlir/unittests/SDBM/SDBMTest.cpp
The file was modifiedmlir/tools/mlir-opt/mlir-opt.cpp
The file was modifiedmlir/examples/toy/Ch7/toyc.cpp
The file was modifiedmlir/test/SDBM/sdbm-api-test.cpp
The file was modifiedmlir/lib/ExecutionEngine/JitRunner.cpp
The file was modifiedmlir/tools/mlir-cpu-runner/mlir-cpu-runner.cpp
The file was modifiedmlir/lib/Support/MlirOptMain.cpp
The file was modifiedmlir/unittests/TableGen/OpBuildGen.cpp
The file was modifiedmlir/tools/mlir-rocm-runner/mlir-rocm-runner.cpp
The file was modifiedmlir/lib/CAPI/IR/IR.cpp
The file was modifiedmlir/examples/standalone/standalone-opt/standalone-opt.cpp
The file was modifiedmlir/unittests/IR/AttributeTest.cpp
The file was modifiedmlir/include/mlir/InitAllDialects.h
The file was modifiedmlir/unittests/IR/DialectTest.cpp
The file was modifiedmlir/examples/toy/Ch6/toyc.cpp
The file was modifiedmlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-gen.cpp
The file was modifiedmlir/lib/Translation/Translation.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/TranslateRegistration.cpp
The file was modifiedmlir/lib/IR/Dialect.cpp
The file was modifiedmlir/unittests/Dialect/Quant/QuantizationUtilsTest.cpp
The file was modifiedmlir/unittests/Dialect/SPIRV/DeserializationTest.cpp
Commit cb9b9842d31d6082c6a2259a64eb5d47bd680d32 by richard
PR47954 / DR2126: permit temporary objects that are lifetime-extended by
variables that are usable in constant expressions to themselves be
usable in constant expressions.
The file was modifiedclang/test/CXX/drs/dr21xx.cpp
The file was modifiedclang/test/CodeGenCXX/const-init-cxx11.cpp
The file was modifiedclang/test/SemaCXX/constant-expression-cxx11.cpp
The file was modifiedclang/www/cxx_dr_status.html
The file was modifiedclang/include/clang/AST/ExprCXX.h
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/lib/AST/ExprCXX.cpp
Commit fe9a7d962781a15a7823194a3f0e5d841e7af80b by evandro.menezes
[RISCV] Use the commercial name for scheduling model (NFC)

Use the commercial name for the scheduling model for the SiFive 7 Series.
The file was modifiedllvm/lib/Target/RISCV/RISCV.td
The file was removedllvm/lib/Target/RISCV/RISCVSchedBullet.td
The file was addedllvm/lib/Target/RISCV/RISCVSchedSiFive7.td
Commit 71e1a56de153536b9ff655fe740ccbf3f6b1faf0 by Akira
[CodeGen] Emit destructor calls to destruct non-trivial C struct
temporaries created by conditional and assignment operators

rdar://problem/64989559

Differential Revision: https://reviews.llvm.org/D83448
The file was modifiedclang/test/CodeGenObjC/strong-in-c-struct.m
The file was modifiedclang/lib/CodeGen/CGExprAgg.cpp
Commit 77cbf2595331b11018c2cffb76eb5b8db69f4577 by alexshap
[llvm-install-name-tool] Add -prepend_rpath option

This diff adds the option -prepend_rpath which inserts an rpath as
the first rpath in the binary.

Test plan: make check-all

Differential revision: https://reviews.llvm.org/D89605
The file was addedllvm/test/tools/llvm-objcopy/MachO/install-name-tool-prepend-rpath.test
The file was modifiedllvm/tools/llvm-objcopy/CopyConfig.h
The file was modifiedllvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp
The file was modifiedllvm/tools/llvm-objcopy/CopyConfig.cpp
The file was modifiedllvm/tools/llvm-objcopy/InstallNameToolOpts.td
Commit 245d71bae5a9cad472d5ec4cad67a9be0e0d261b by aeubanks
[test] Simplify pr33641_remove_arg_dbgvalue.ll

This makes it pass under the NPM.
The legacy PM pass ran passes on SCCs in a different order, causing
argpromotion to not trigger on @bar().

Reviewed By: rnk

Differential Revision: https://reviews.llvm.org/D89889
The file was modifiedllvm/test/Transforms/ArgumentPromotion/pr33641_remove_arg_dbgvalue.ll
Commit ba22c403b2b316d59902ba55e8774a7a34d2d056 by aeubanks
[Inliner][NPM] Properly pass callee AAResults

Fixes noalias-calls.ll under NPM.

Differential Revision: https://reviews.llvm.org/D89592
The file was modifiedllvm/lib/Transforms/IPO/Inliner.cpp
The file was modifiedllvm/test/Transforms/Inline/noalias-calls.ll
Commit baffd052b0f7c6ce52cf958e39726545d8edddf2 by aeubanks
[StructurizeCFG][NewPM] Port -structurizecfg to NPM

This doesn't support -structurizecfg-skip-uniform-regions since that
would require porting LegacyDivergenceAnalysis.

The NPM doesn't support adding a non-analysis pass as a dependency of
another, so I had to add -lowerswitch to some tests or pin them to the
legacy PM.

This is the only RegionPass in tree, so I simply copied the logic for
finding all Regions from the legacy PM's RGManager into
StructurizeCFG::run().

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D89026
The file was modifiedllvm/test/Transforms/StructurizeCFG/interleaved-loop-order.ll
The file was addedllvm/include/llvm/Transforms/Scalar/StructurizeCFG.h
The file was modifiedllvm/include/llvm/InitializePasses.h
The file was modifiedllvm/lib/Transforms/Scalar/StructurizeCFG.cpp
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedllvm/lib/Transforms/Scalar/Scalar.cpp
The file was modifiedllvm/test/Transforms/StructurizeCFG/AMDGPU/uniform-regions.ll
The file was modifiedllvm/lib/Passes/PassBuilder.cpp
The file was modifiedllvm/test/Transforms/StructurizeCFG/nested-loop-order.ll
The file was modifiedllvm/test/Transforms/StructurizeCFG/switch.ll
Commit eeba325b12c4e40ca1ce09788fc5c7dd115fa904 by tejohnson
[MemProf] Attempt to debug avr bot failure

Reverts the XFAIL added in b67a2aef8ac9fd9c10666a05d72d909315140dcb,
which had no effect.

Adjust the test to make sure all output is dumped to stderr, so that
hopefully I can get a better idea of where/why this is failing.

Remove some redundant checking while here.
The file was modifiedcompiler-rt/test/memprof/TestCases/log_path_test.cpp
Commit dc62d5ec97261429b553f2d6b45d96a137211f14 by mmoroz
[libFuzzer] Added -print_full_coverage flag.

-print_full_coverage=1 produces a detailed branch coverage dump when run on a single file.
Uses same infrastructure as -print_coverage flag, but prints all branches (regardless of coverage status) in an easy-to-parse format.
Usage: For internal use with machine learning fuzzing models which require detailed coverage information on seed files to generate mutations.

Differential Revision: https://reviews.llvm.org/D85928
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerDriver.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerOptions.h
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerLoop.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerFlags.def
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerTracePC.h
The file was addedcompiler-rt/test/fuzzer/dso-cov-input.txt
The file was addedcompiler-rt/test/fuzzer/full-coverage.test
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerTracePC.cpp
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerInternal.h
Commit 1b5baa42bc93432e6ae33e0a0fdce4d3e7c98dcb by kparzysz
[Hexagon] Handle selection between HVX vector predicates

Make sure that (select i1 q0 q1) is handled properly.
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLowering.h
The file was modifiedllvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
The file was addedllvm/test/CodeGen/Hexagon/autohvx/isel-q-legalization-loop.ll
The file was addedllvm/test/CodeGen/Hexagon/autohvx/isel-select-q.ll
The file was modifiedllvm/lib/Target/Hexagon/HexagonPatternsHVX.td
Commit ccca93b5a2cb284dcdfecd34db1ca14632d6a1c1 by richard
Don't allow structured binding declarations to decompose a
lambda-expression's captures.

The built-in structured binding rules for classes require that all
fields can be accessed by name, and the fields introduced for lambda
captures are unnamed, so decomposing a capturing lambda is ill-formed.
The file was modifiedclang/test/SemaCXX/cxx1z-decomposition.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
Commit 48d8af98251613261805891a3476e9fb01932f43 by a20012251
[intel-pt] Disable/Enable tracing to guarantee the trace is correct

As mentioned in the comment inside the code, the Intel documentation
states that the internal CPU buffer is flushed out to RAM only when tracing is
disabled. Otherwise, the buffer on RAM might be stale.

This diff disables tracing when the trace buffer is going to be read. This is a
quite safe operation, as the reading is done when the inferior is paused at a
breakpoint, so we are not losing any packets because there's no code being
executed.

After the reading is finished, tracing is enabled back.

It's a bit hard to write a test for this now, but Greg Clayton and I will
refactor the PT support and writing tests for it will be easier. However
I tested it manually by doing a script that automates
the following flow

```
(lldb) b main
Breakpoint 1: where = a.out`main + 15 at main.cpp:4:7, address = 0x000000000040050f
(lldb) r
Process 3078226 stopped
* thread #1, name = 'a.out', stop reason = breakpoint 1.1
frame #0: 0x000000000040050f a.out`main at main.cpp:4:7
(lldb) processor-trace start
(lldb) b 5
Breakpoint 2: where = a.out`main + 22 at main.cpp:5:12, address = 0x0000000000400516
(lldb) c
Process 3078226 resuming
Process 3078226 stopped
* thread #1, name = 'a.out', stop reason = breakpoint 2.1
frame #0: 0x0000000000400516 a.out`main at main.cpp:5:12
(lldb) processor-trace show-instr-log
thread #1: tid=3078226
0x40050f <+15>: movl $0x0, -0x8(%rbp)

>>> Before, some runs of the script up to this point lead to empty traces

(lldb) b 6
Breakpoint 3: where = a.out`main + 42 at main.cpp:6:14, address = 0x000000000040052a
(lldb) c
Process 3092991 resuming
Process 3092991 stopped
* thread #1, name = 'a.out', stop reason = breakpoint 3.1
frame #0: 0x000000000040052a a.out`main at main.cpp:6:14
(lldb) processor-trace show-instr-log thread #1: tid=3092991
0x40050f <+15>: movl $0x0, -0x8(%rbp)
0x400516 <+22>: movl $0x0, -0xc(%rbp)
0x40051d <+29>: cmpl $0x2710, -0xc(%rbp) ; imm = 0x2710
0x400524 <+36>: jge 0x400546 ; <+70> at main.cpp
0x400524 <+36>: jge 0x400546 ; <+70> at main.cpp

>>> The trace was re-enabled correctly and includes the instruction of the
first reading.
```
Those instructions correspond to these lines
```
3 int main() {
4 int z = 0;
5 for (int i = 0; i < 10000; i++) {
6 z += fun(z)
...
```

Differential Revision: https://reviews.llvm.org/D85241
The file was modifiedlldb/source/Plugins/Process/Linux/ProcessorTrace.cpp
Commit 035a6b95c3125e1b044d1b43f819fac93a56dc5c by joker.eph
Fix a few warnings from GCC (NFC)
The file was modifiedmlir/lib/Transforms/Bufferize.cpp
The file was modifiedmlir/include/mlir/CAPI/IR.h
The file was modifiedmlir/lib/TableGen/TypeDef.cpp
Commit 3a4b832b1ba8a58cfd12d66474ccb0cb322c24c4 by joker.eph
Topologically sort the library to link to mlir-cpu-runner which is required with some linkers like BFD (NFC)
The file was modifiedmlir/tools/mlir-cpu-runner/CMakeLists.txt
Commit e7021232e66f4a8e21f2bcd77d9841d1fb414245 by joker.eph
Remove global dialect registration

This has been deprecated for >1month now and removal was announced in:

https://llvm.discourse.group/t/rfc-revamp-dialect-registration/1559/11

Differential Revision: https://reviews.llvm.org/D86356
The file was modifiedmlir/lib/Support/MlirOptMain.cpp
The file was modifiedmlir/include/mlir/IR/Dialect.h
The file was modifiedmlir/test/EDSC/builder-api-test.cpp
The file was modifiedmlir/examples/toy/Ch6/toyc.cpp
The file was modifiedmlir/examples/toy/Ch3/toyc.cpp
The file was modifiedmlir/tools/mlir-reduce/mlir-reduce.cpp
The file was modifiedmlir/include/mlir/IR/MLIRContext.h
The file was modifiedmlir/tools/mlir-rocm-runner/mlir-rocm-runner.cpp
The file was modifiedmlir/unittests/IR/DialectTest.cpp
The file was modifiedmlir/lib/IR/Dialect.cpp
The file was modifiedmlir/lib/IR/MLIRContext.cpp
The file was modifiedmlir/unittests/TableGen/StructsGenTest.cpp
The file was modifiedmlir/examples/toy/Ch7/toyc.cpp
The file was modifiedmlir/tools/mlir-vulkan-runner/mlir-vulkan-runner.cpp
The file was modifiedmlir/unittests/TableGen/OpBuildGen.cpp
The file was modifiedmlir/include/mlir/InitAllDialects.h
The file was modifiedmlir/tools/mlir-opt/mlir-opt.cpp
The file was modifiedmlir/lib/CAPI/IR/IR.cpp
The file was modifiedmlir/examples/standalone/standalone-opt/standalone-opt.cpp
The file was modifiedmlir/unittests/IR/OperationSupportTest.cpp
The file was modifiedmlir/lib/Translation/Translation.cpp
The file was modifiedmlir/test/SDBM/sdbm-api-test.cpp
The file was modifiedmlir/lib/ExecutionEngine/JitRunner.cpp
The file was modifiedmlir/examples/toy/Ch5/toyc.cpp
The file was modifiedmlir/examples/toy/Ch4/toyc.cpp
The file was modifiedmlir/lib/Dialect/SPIRV/Serialization/TranslateRegistration.cpp
The file was modifiedmlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-gen.cpp
The file was modifiedmlir/unittests/IR/AttributeTest.cpp
The file was modifiedmlir/examples/toy/Ch2/toyc.cpp
The file was modifiedmlir/unittests/Dialect/Quant/QuantizationUtilsTest.cpp
The file was modifiedmlir/unittests/Dialect/SPIRV/SerializationTest.cpp
The file was modifiedmlir/tools/mlir-cpu-runner/mlir-cpu-runner.cpp
The file was modifiedmlir/unittests/SDBM/SDBMTest.cpp
The file was modifiedmlir/tools/mlir-cuda-runner/mlir-cuda-runner.cpp
The file was modifiedmlir/unittests/Dialect/SPIRV/DeserializationTest.cpp
The file was modifiedmlir/unittests/Pass/AnalysisManagerTest.cpp
Commit 8f492f646781ed6c894775f95846520728d9119e by joker.eph
Remove unused verifyRegStateMapping() function in RegAllocFast (NFC)

This fixes compiler warning when building with assertions.
The file was modifiedllvm/lib/CodeGen/RegAllocFast.cpp
Commit a16cbdd676bb40e7f1c0e3f87a61023331002508 by hoy
[AutoFDO] Remove a broken assert in merging inlinee samples

Duplicated callsites share the same callee profile if the original callsite was inlined. The sharing also causes the profile of callee's callee to be shared. This breaks the assert introduced ealier by D84997 in a tricky way.

To illustrate, I'm using an abstract example. Say we have three functions `A`, `B` and `C`. A calls B twice and B calls C once. Some optimize performed prior to the sample profile loader duplicates first callsite to `B` and the program may look like

```
A()
{
  B();  // with nested profile B1 and C1
  B();  // duplicated, with nested profile B1 and C1
  B();  // with nested profile B2 and C2
}
```

For some reason, the sample profile loader inliner then decides to only inline the first callsite in `A` and transforms `A` into

```
A()
{
  C();  // with nested profile C1
  B();  // duplicated, with nested profile B1 and C1
  B();  // with nested profile B2 and C2.
}
```

Here is what happens next:

1. Failing to inline the callsite `C()` results in `C1`'s samples returned to `C`'s base (outlined) profile. In the meantime, `C1`'s head samples are updated to `C1`'s entry sample. This also affects the profile of the middle callsite which shares `C1` with the first callsite.
2. Failing to inline the middle callsite results in `B1` returned to `B`'s base profile, which in turn will cause `C1` merged into `B`'s base profile. Note that the nest `C` profile in `B`'s base has a non-zero head sample count now. The value actually equals to `C1`'s entry count.
3. Failing to inline last callsite results in `B2` returned to `B`'s base profile. Note that the nested `C` profile in `B`'s base now has an entry count equal to the sum of that of `C1` and `C2`, with the head count equal to that of `C1`. This will trigger the assert later on.
        4. Compiling `B` using `B`'s base profile. Failing to inline `C` there triggers the returning of the nested `C` profile. Since the nested `C` profile has a non-zero head count, the returning doesn't go through. Instead, the assert goes off.

It's good that `C1` is only returned once, based on using a non-zero head count to ensure an inline profile is only returned once. However C2 is never returned. While it seems hard to solve this perfectly within the current framework, I'm just removing the broken assert. This should be reasonably fixed by the upcoming CSSPGO work where counts returning is based on context-sensitivity and a distribution factor for callsite probes.

The simple example is extracted from one of our internal services. In reality, why the original callsite `B()` and duplicate one having different inline behavior is a magic. It has to do with imperfect counts in profile and extra complicated inlining that makes the hotness for them different.

Reviewed By: wenlei

Differential Revision: https://reviews.llvm.org/D90056
The file was modifiedllvm/lib/Transforms/IPO/SampleProfile.cpp
Commit 81ac81f8644a7c6ed19bea95385794f7870d0fda by Duncan P. N. Exon Smith
FileManager: Reorder declarations of FileEntry and FileEntryRef, NFC

This reduces noise in a future patch, but shouldn't change anything
otherwise.

Differential Revision: https://reviews.llvm.org/D89521
The file was modifiedclang/include/clang/Basic/FileManager.h
Commit 4bde9aa9644a54e6e650809d8460cff0b9e17c2a by joker.eph
Add CMake dependency from MLIRJitRunner on all dialects

This dependency was already existing indirectly, but is now more direct
since the registration relies on a inline function. This fixes the
link of the tools with BFD.
The file was modifiedmlir/lib/ExecutionEngine/CMakeLists.txt
The file was modifiedmlir/tools/mlir-cpu-runner/CMakeLists.txt
Commit 434f3774f629f5896614e9efb4eda82d813402ed by Duncan P. N. Exon Smith
clangd: Stop calling FileEntryRef::FileEntryRef

In `ReplayPreamble::replay`, use `getFileRef` instead of `getFile`, and
then use that `FileEntryRef` later to avoid needing
`FileEntryRef::FileEntryRef`. The latter is going to become private to
`FileManager` in a later commit.
The file was modifiedclang-tools-extra/clangd/ParsedAST.cpp
Commit 0ec5baa1324d61e79bc21a1307ea52aa43a12352 by dblaikie
llvm-dwarfdump: Support verbose printing DW_OP_convert to print the CU local offset before the resolved absolute offset
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFExpression.h
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
The file was modifiedllvm/unittests/DebugInfo/DWARF/DWARFDebugFrameTest.cpp
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFDie.cpp
The file was modifiedllvm/test/DebugInfo/X86/convert-debugloc.ll
The file was modifiedllvm/tools/llvm-readobj/DwarfCFIEHPrinter.h
The file was modifiedllvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFContext.cpp
The file was modifiedllvm/lib/DebugInfo/DWARF/DWARFExpression.cpp
Commit 74910cbbd8d1df824ab1d5e742c50641d0fee907 by Duncan P. N. Exon Smith
HeaderSearch: Simplify use of FileEntryRef in HeaderSearch::LookupFile, NFC

Simplify `HeaderSearch::LookupFile`. Instead of deconstructing a
`FileEntryRef` into a name and `FileEntry` and then rebuilding it later,
use it as is. This helps to unblock making the constructor of
`FileEntryRef` private to `FileManager`.

Differential Revision:
The file was modifiedclang/lib/Lex/HeaderSearch.cpp
Commit 776a15d8aecad2768f1391092099e9b173b8148b by Vitaly Buka
[NFC][UBSAN] Avoid "not FileCheck" in tests

It's not clear if "not FileCheck" succeeded because
input is empty or because input does not match "CHECK:"
pattern.
The file was modifiedcompiler-rt/test/ubsan/TestCases/ImplicitConversion/signed-integer-truncation-or-sign-change-blacklist.c
The file was modifiedcompiler-rt/test/ubsan/TestCases/ImplicitConversion/integer-sign-change-blacklist.c
The file was modifiedcompiler-rt/test/ubsan/TestCases/ImplicitConversion/unsigned-integer-truncation-blacklist.c
The file was modifiedcompiler-rt/test/ubsan/TestCases/ImplicitConversion/signed-integer-truncation-blacklist.c
The file was modifiedcompiler-rt/test/ubsan/TestCases/ImplicitConversion/unsigned-integer-truncation.c
Commit 0b057320453b90bb409f55f74386b6841546d48a by dblaikie
fix lldb for recent libDebugInfoDWARF API change
The file was modifiedlldb/source/Expression/DWARFExpression.cpp
The file was modifiedlldb/source/Symbol/UnwindPlan.cpp
The file was modifiedlldb/unittests/Symbol/PostfixExpressionTest.cpp
The file was modifiedlldb/unittests/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpressionTests.cpp
Commit e92eeaf3c21923151cf86c706e396b613145f142 by zequanwu
[llvm-cov] don't include all source files when provided source files are filtered out

When all provided source files are filtered out either due to `--ignore-filename-regex` or not part of binary, don't generate coverage reults for all source files. Because if users want to generate coverage results for all source files, they don't even need to provid selected source files or `--ignore-filename-regex`.

Differential Revision: https://reviews.llvm.org/D89359
The file was modifiedllvm/test/tools/llvm-cov/native_separators.c
The file was modifiedllvm/test/tools/llvm-cov/warnings.h
The file was modifiedllvm/tools/llvm-cov/CodeCoverage.cpp
The file was modifiedllvm/test/tools/llvm-cov/universal_bin_wrapping_archives.test
The file was modifiedllvm/test/tools/llvm-cov/sources-specified.test
Commit b57937861f68305068d8a35154811b4303ce52e5 by llvm-project
[flang][windows] Support platform-specific path separator.

Remove the assumption that the path separator is `/`. Use functions from `llvm::sys::path` instead.

Reviewed By: isuruf, klausler

Differential Revision: https://reviews.llvm.org/D89369
The file was modifiedflang/lib/Parser/source.cpp
The file was modifiedflang/test/Semantics/getsymbols02.f90
Commit 0b671a44ad2d606647aa14d5782425b39aed9271 by llvm-project
[flang][msvc] Fix lambda capture ambiguity. NFC.

Patch D88695 introduces a new local variable inside a lambda with the same name as a variable outside of it. In some of the if constexpr regions, msvc prioritizes the outer declaration and emits the error.
```
C:\Users\meinersbur\src\llvm-project\flang\lib\Evaluate\fold-implementation.h(1200): error C3493: 'context' cannot be implicitly captured because no default capture mode has been specified
```

This is fixed by giving the inner variable a different name.

Reviewed By: klausler

Differential Revision: https://reviews.llvm.org/D89367
The file was modifiedflang/lib/Evaluate/fold-implementation.h
Commit fa66bcf4bc9467514dddacdba711a42e0a83cf9d by peter
hwasan: Disable operator {new,delete} interceptors when interceptors are disabled.

Differential Revision: https://reviews.llvm.org/D89827
The file was modifiedcompiler-rt/lib/hwasan/hwasan.h
Commit 21d64c32eca63e98a94675cfc074f82371cadfe7 by Vitaly Buka
[NFC][UBSAN] Refine CHECK pattern in test

As-is it was failed by unrelated linker warning with filename in the
output.
The file was modifiedcompiler-rt/test/ubsan_minimal/TestCases/alignment-assumption.c
Commit 64c4dac60e3af340c0e97ce213206472463c4873 by medismail.bennani
[llvm/DebugInfo] Emit DW_OP_implicit_value when tuning for LLDB

This patch enables emitting DWARF `DW_OP_implicit_value` opcode when
tuning debug information for LLDB (`-debugger-tune=lldb`).

This will also propagate to Darwin platforms, since they use LLDB tuning
as a default.

rdar://67406059

Differential Revision: https://reviews.llvm.org/D90001

Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
The file was modifiedllvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
The file was modifiedllvm/test/DebugInfo/X86/implicit_value-double.ll
The file was modifiedllvm/test/DebugInfo/X86/stack-value-piece.ll
The file was modifiedllvm/test/DebugInfo/X86/implicit_value-float.ll