SuccessChanges

Summary

  1. [NFC][MLInliner] Set up the logger outside the development mode advisor (details)
  2. [NFC][MLInliner] remove curly braces for a few sinle-line loops (details)
  3. [lldb] Fix NSArray0 data formatter and add test (details)
  4. [clangd] Fix crash-bug in preamble indexing when using modules. (details)
  5. [mlir][spirv] Add OpGroupBroadcast (details)
  6. [lldb] Skip TestSimulatorPlatform with out-of-tree debugserver (details)
  7. [MLIR][TableGen] Fix ambiguous build methods when inferring result types. (details)
  8. [ELF] Avoid creating a 2.1GB output file in arm-exidx-range.s (details)
  9. [WebAssembly] wasm64: fix memory.init operand types (details)
  10. [clangd] Have template template arguments target their referenced template decl (details)
  11. [MLIR] Make gpu.launch_func rewrite pattern part of the LLVM lowering pass. (details)
  12. [BreakFalseDeps][X86] Move operand loop out of X86's getUndefRegClearance and put in the pass. (details)
  13. Re-Re-land: [CodeView] Add full repro to LF_BUILDINFO record (details)
  14. AMDGPU: Fix visiting physreg dest users when folding immediate copies (details)
  15. AMDGPU: Fix assertion in performSHLPtrCombine for 64-bit pointers (details)
  16. [lldb] tab completion for `platform target-install` (details)
  17. [flang] Fix edge case with Hollerith (details)
Commit d5c81be3ca2504e32a99b57711ae101e02d810fa by mtrofin
[NFC][MLInliner] Set up the logger outside the development mode advisor

This allows us to subsequently configure the logger for the case when we
use a model evaluator and want to log additional outputs.

Differential Revision: https://reviews.llvm.org/D85577
The file was modifiedllvm/lib/Analysis/DevelopmentModeInlineAdvisor.cpp
Commit 211117b66029f974c059366003c236713adfcfcb by mtrofin
[NFC][MLInliner] remove curly braces for a few sinle-line loops
The file was modifiedllvm/lib/Analysis/DevelopmentModeInlineAdvisor.cpp
Commit b8ff0daeac0752689ffca9345686845d1b7cfed8 by Jonas Devlieghere
[lldb] Fix NSArray0 data formatter and add test

Fixes PR47089
The file was modifiedlldb/test/API/functionalities/data-formatter/nsarraysynth/main.m
The file was modifiedlldb/source/Plugins/Language/ObjC/NSArray.cpp
The file was modifiedlldb/test/API/functionalities/data-formatter/nsarraysynth/TestNSArraySynthetic.py
Commit 4061d9e42cff621462931ac7df9666806c77a237 by adamcz
[clangd] Fix crash-bug in preamble indexing when using modules.

Summary:
When preamble contains #undef, indexing code finds the matching #define
and uses that during indexing. However, it would only look for local
definitions. If the macro was defined in a module, MacroInfo
would be nullptr and clangd would crash.

This change makes clangd ignore any #undef without a matching #define
inside the same TU.

The indexing of macros happens for preamble only, so then #undef must be
in the preamble, which is why we need two .h files in a test.

Note that clangd is currently not ready for module support, but this
brings us one step closer.

Reviewers: sammccall

Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D80525
The file was modifiedclang-tools-extra/clangd/unittests/TestFS.h
The file was modifiedclang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
The file was modifiedclang-tools-extra/clangd/unittests/TestTU.cpp
The file was modifiedclang-tools-extra/clangd/unittests/TestTU.h
The file was modifiedclang/lib/Index/IndexingAction.cpp
Commit a8fe40d9732721ed9a083cb917650f8f12b787b3 by thomasraoux
[mlir][spirv] Add OpGroupBroadcast

OpGroupBroadcast added to SPIRV dialect

Differential Revision: https://reviews.llvm.org/D85435
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVGroupOps.td
The file was modifiedmlir/lib/Dialect/SPIRV/SPIRVOps.cpp
The file was modifiedmlir/test/Dialect/SPIRV/Serialization/group-ops.mlir
The file was modifiedmlir/include/mlir/Dialect/SPIRV/SPIRVBase.td
The file was modifiedmlir/test/Dialect/SPIRV/group-ops.mlir
Commit 3162c6aa4587d5161008d2b9729b5f2873b0fff9 by Jonas Devlieghere
[lldb] Skip TestSimulatorPlatform with out-of-tree debugserver
The file was modifiedlldb/test/API/macosx/simulator/TestSimulatorPlatform.py
Commit 13d05787d0d2dfdfd81939c2e5c41b6a913f5619 by jurahul
[MLIR][TableGen] Fix ambiguous build methods when inferring result types.

- Fix ODS framework to suppress build methods that infer result types and are
  ambiguous with collective variants. This applies to operations with a single variadic
  inputs whose result types can be inferred.
- Extended OpBuildGenTest to test these kinds of ops.

Differential Revision: https://reviews.llvm.org/D85060
The file was modifiedmlir/unittests/TableGen/OpBuildGen.cpp
The file was modifiedmlir/include/mlir/TableGen/Operator.h
The file was modifiedmlir/test/lib/Dialect/Test/TestOps.td
The file was modifiedmlir/test/mlir-tblgen/op-result.td
The file was modifiedmlir/lib/TableGen/Operator.cpp
The file was modifiedmlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Commit e912fffd3a8c6c9f6e09d2eac4c1ee3a32800a22 by Alexander.Richardson
[ELF] Avoid creating a 2.1GB output file in arm-exidx-range.s

Currently both sections will be placed in the same PT_LOAD and therefore
lld generates a contiguous output file containing both sections.
By using AT(0xffff0000) the .vectors is placed a separate PT_LOAD and the
resulting file is now only a few kilobytes.

Reviewed By: psmith

Differential Revision: https://reviews.llvm.org/D85661
The file was modifiedlld/test/ELF/arm-exidx-range.s
Commit 582fd474ddc0318ca23ade8e22de20df85c492cc by aardappel
[WebAssembly] wasm64: fix memory.init operand types

I had assumed they would all become in i64, but this is not necessary as long as data segments stay 32-bit, see:
https://github.com/WebAssembly/memory64/blob/master/proposals/memory64/Overview.md

Differential Revision: https://reviews.llvm.org/D85552
The file was modifiedlld/wasm/InputChunks.cpp
The file was modifiedlld/wasm/OutputSections.cpp
The file was modifiedlld/wasm/SymbolTable.cpp
The file was modifiedlld/wasm/SymbolTable.h
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyInstrBulkMemory.td
The file was modifiedlld/wasm/OutputSegment.h
The file was modifiedlld/wasm/Writer.cpp
Commit 70d583ad12872ef8714b15f1d1e982f1db6d9a15 by zeratul976
[clangd] Have template template arguments target their referenced template decl

Fixes https://github.com/clangd/clangd/issues/473

Differential Revision: https://reviews.llvm.org/D85503
The file was modifiedclang-tools-extra/clangd/unittests/FindTargetTests.cpp
The file was modifiedclang-tools-extra/clangd/unittests/SelectionTests.cpp
The file was modifiedclang-tools-extra/clangd/FindTarget.cpp
The file was modifiedclang-tools-extra/clangd/Selection.cpp
Commit 0d4b7adb8220f68f5eca08bb53d8af0b0d139c5d by csigg
[MLIR] Make gpu.launch_func rewrite pattern part of the LLVM lowering pass.

Reviewed By: herhut

Differential Revision: https://reviews.llvm.org/D85073
The file was modifiedmlir/tools/mlir-cuda-runner/mlir-cuda-runner.cpp
The file was modifiedmlir/include/mlir/Conversion/Passes.td
The file was modifiedmlir/include/mlir/Conversion/GPUCommon/GPUCommonPass.h
The file was modifiedmlir/tools/mlir-rocm-runner/mlir-rocm-runner.cpp
The file was modifiedmlir/lib/Conversion/GPUCommon/ConvertLaunchFuncToRuntimeCalls.cpp
The file was modifiedmlir/test/Conversion/GPUCommon/lower-launch-func-to-gpu-runtime-calls.mlir
Commit 96dfc783b2bf2eca9b01c6b2161a375cc3ea704d by craig.topper
[BreakFalseDeps][X86] Move operand loop out of X86's getUndefRegClearance and put in the pass.

X86 is the only user of this interface in tree. Previously the
X86 pass would loop over operands looking for one undef operand for
the pass to fix. But there could theoretically be multiple operands
to fix. So it makes more sense for the pass to do the looping and
ask the target if an operand needs to be fixed.
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.h
The file was modifiedllvm/lib/CodeGen/BreakFalseDeps.cpp
The file was modifiedllvm/lib/Target/X86/X86InstrInfo.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetInstrInfo.h
Commit a3036b386383f1c1e9d32c2c8dba995087959da3 by alexandre.ganea
Re-Re-land: [CodeView] Add full repro to LF_BUILDINFO record

This patch adds the missing information to the LF_BUILDINFO record, which allows for rebuilding a .CPP without any external dependency but the .OBJ itself (other than the compiler).

Some external tools that we are using (Recode, Live++) are extracting the information to reproduce a build without any knowledge of the build system. The LF_BUILDINFO stores a full path to the compiler, the PWD (CWD at program startup), a relative or absolute path to the TU, and the full CC1 command line. The command line needs to be freestanding (not depend on any environment variables). In the same way, MSVC doesn't store the provided command-line, but an expanded version (somehow their equivalent of CC1) which is also freestanding.

For more information see PR36198 and D43002.

Differential Revision: https://reviews.llvm.org/D80833
The file was modifiedllvm/test/DebugInfo/COFF/global-type-hashes.ll
The file was modifiedclang/cmake/caches/BaremetalARM.cmake
The file was addedclang/test/CodeGen/debug-info-codeview-buildinfo.c
The file was modifiedllvm/test/DebugInfo/COFF/types-data-members.ll
The file was modifiedlld/test/COFF/Inputs/pdb_lines_1_relative.yaml
The file was modifiedlld/test/COFF/pdb-relative-source-lines.test
The file was modifiedllvm/test/DebugInfo/COFF/build-info.ll
The file was modifiedllvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
The file was modifiedclang/cmake/caches/Fuchsia-stage2.cmake
The file was modifiedlld/COFF/PDB.cpp
The file was modifiedclang/cmake/caches/CrossWinToARMLinux.cmake
The file was modifiedllvm/test/DebugInfo/COFF/types-basic.ll
The file was addedlld/test/COFF/pdb-relative-source-lines2.test
The file was modifiedclang/test/CMakeLists.txt
The file was modifiedlld/test/COFF/Inputs/pdb_lines_2_relative.yaml
Commit 68fab44acfc7ce7fecd86ad784fb207f088c5366 by Matthew.Arsenault
AMDGPU: Fix visiting physreg dest users when folding immediate copies

This can fold the immediate into the physical destination, but this
should not look for further users of the register. Fixes regression
introduced by 766cb615a3b96025192707f4670cdf171da84034.
The file was modifiedllvm/lib/Target/AMDGPU/SIFoldOperands.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/fold-imm-copy.mir
The file was addedllvm/test/CodeGen/AMDGPU/visit-physreg-vgpr-imm-folding-bug.ll
Commit 6fe6b29c294e8ad7eb9842e2a5e9b6334ecf9483 by Matthew.Arsenault
AMDGPU: Fix assertion in performSHLPtrCombine for 64-bit pointers
The file was modifiedllvm/lib/Target/AMDGPU/SIISelLowering.cpp
The file was addedllvm/test/CodeGen/AMDGPU/shl_add_ptr_global.ll
Commit e3820570d406f56a25eee681df03a394882febb0 by Raphael Isemann
[lldb] tab completion for `platform target-install`

1. Applied the common completion `eDiskFileCompletion` to the first argument of
the command `platform target-install`.
2. Added a related test case.

Reviewed By: teemperor

Differential Revision: https://reviews.llvm.org/D84179
The file was modifiedlldb/test/API/functionalities/completion/TestCompletion.py
The file was modifiedlldb/source/Commands/CommandObjectPlatform.cpp
Commit 189c0833dfd654f08a8655ca765e11e8890a92ae by pklausler
[flang] Fix edge case with Hollerith

To prevent mistokenization of CHARACTER*2HXY as a Hollerith
literal constant while allowing it in DATA A/2*2HXY/, there's
a little state that tracks whether a / has been seen earlier
in the same statement.  But it was being reset on each line,
not statement, so Hollerith in a DATA statement continuation
line was incorrectly tokenized.  Fixed.

Differential Revision: https://reviews.llvm.org/D85571
The file was modifiedflang/lib/Parser/prescan.cpp
The file was modifiedflang/lib/Parser/prescan.h
The file was addedflang/test/Preprocessing/hollerith.f