SuccessChanges

Summary

  1. Revert "[Fuchsia] Use libc++abi on Windows in Fuchsia toolchain" (details)
  2. [clang][clangd] Use reverse header map lookup in suggestPathToFileForDiagnostics (details)
  3. [ValueTypes] Fix scalable-vector changeExtendedVectorTypeToInteger (details)
  4. [clang][ARM] Remove arm2/3/6/7m CPU names (details)
  5. Add -fno-visibility-inlines-hidden option (details)
  6. [lldb][NFC] Remove unused 'using ArrayRef' in RegisterValueTest (details)
  7. [CodeGen] Fix a scalable-vector crash in VSELECT legalization (details)
  8. [mlir] Split linalg reshape ops into expand/collapse. (details)
  9. [mlir][linalg] Cleanup LinalgOp usage in generalization. (details)
  10. [RISCV] Reserve an emergency spill slot for any RVV spills (details)
  11. [LLDB] Skip TestDataFormatterStdUniquePtr.py on arm/linux (details)
  12. [LLDB] Skip TestDataFormatterStdUniquePtr.py on arm/linux (details)
  13. [mlir][linalg] Cleanup LinalgOp usage in promotion. (details)
Commit e237168341ed9688ee70277465a488b6f4b8ba03 by phosek
Revert "[Fuchsia] Use libc++abi on Windows in Fuchsia toolchain"

This reverts commit b5dd421a3afa02907777fddf61073274e2a4aa9a which
broke Fuchsia downstream builders.
The file was modifiedclang/cmake/caches/Fuchsia-stage2.cmake
Commit 178ad93e3f1f2381f05baea300873ee5998ac288 by dmitry.polukhin
[clang][clangd] Use reverse header map lookup in suggestPathToFileForDiagnostics

Summary:
suggestPathToFileForDiagnostics is actively used in clangd for converting
an absolute path to a header file to a header name as it should be spelled
in the sources. Current approach converts absolute path to relative path.
This diff implements missing logic that makes a reverse lookup from the
relative path to the key in the header map that should be used in the sources.

Prerequisite diff: https://reviews.llvm.org/D103229

Test Plan: check-clang

Reviewers: dexonsmith, bruno, rsmith

Subscribers: cfe-commits

Tasks:

Tags: #clang

Differential Revision: https://reviews.llvm.org/D103142
The file was modifiedclang/include/clang/Lex/HeaderMap.h
The file was modifiedclang/lib/Lex/HeaderSearch.cpp
The file was modifiedclang/lib/Lex/HeaderMap.cpp
The file was modifiedclang/unittests/Lex/HeaderSearchTest.cpp
Commit 2dd20a31f27e3123f5f324c3a80092ad3f80ef05 by fraser
[ValueTypes] Fix scalable-vector changeExtendedVectorTypeToInteger

The attached tests check for the regression in DAGCombiner's
`visitVSELECT`, which may call this method.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D103534
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vselect-fp-rv64.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vselect-fp-rv32.ll
The file was modifiedllvm/lib/CodeGen/ValueTypes.cpp
Commit f4543dce5db585f2b37f39145ad3fa34b6c75b0e by david.spickett
[clang][ARM] Remove arm2/3/6/7m CPU names

These legacy CPUs are known to clang but not llvm.
Their use was ignored by llvm and it would print a
warning saying it did not recognise them.

However because some of them are default CPUs for their
architecture, you would get those warnings even if you didn't
choose a cpu explicitly.
(now those architectures will default to a "generic" CPU)

Information is thin on the ground for these older chips
so this is the best I could find:
https://en.wikichip.org/wiki/acorn/microarchitectures/arm2
https://en.wikichip.org/wiki/acorn/microarchitectures/arm3
https://en.wikichip.org/wiki/arm_holdings/microarchitectures/arm6
https://en.wikichip.org/wiki/arm_holdings/microarchitectures/arm7

Final part of fixing https://bugs.llvm.org/show_bug.cgi?id=50454.

Reviewed By: efriedma

Differential Revision: https://reviews.llvm.org/D103028
The file was modifiedllvm/unittests/Support/TargetParserTest.cpp
The file was modifiedclang/test/Misc/target-invalid-cpu-note.c
The file was modifiedllvm/include/llvm/Support/ARMTargetParser.def
Commit dcd7664f92d30f93a4c7d48314d653e044093784 by yikong
Add -fno-visibility-inlines-hidden option

This allows overriding -fvisibility-inlines-hidden.

Differential Revision: https://reviews.llvm.org/D103537
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
The file was addedclang/test/Driver/visibility-inlines-hidden.cpp
The file was modifiedclang/include/clang/Driver/Options.td
Commit e149c8e8ccce3c3f2fe23e008afdbd99ab33e558 by Raphael Isemann
[lldb][NFC] Remove unused 'using ArrayRef' in RegisterValueTest
The file was modifiedlldb/unittests/Utility/RegisterValueTest.cpp
Commit 1de1887f5f18cdd2cffb756afcbfb5274b4fd92f by fraser
[CodeGen] Fix a scalable-vector crash in VSELECT legalization

The `DAGTypeLegalizer::WidenVSELECTMask` function is not (yet) ready for
scalable vector types, and has numerous places in which it tries to grab
either the fixed size or number of elements of its types.

I believe that it should be possible to update this method to properly
account for scalable-vector types, but we don't have test cases for
that; RISC-V bails out early on as it has legal i1 vector masks. As
such, this patch just prevents it from crashing.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D103536
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vselect-fp-rv64.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
The file was modifiedllvm/test/CodeGen/RISCV/rvv/vselect-fp-rv32.ll
Commit 485c21be8ac300209bac0db03bc8f476aa8b9764 by pifon
[mlir] Split linalg reshape ops into expand/collapse.

Differential Revision: https://reviews.llvm.org/D103548
The file was modifiedmlir/lib/Conversion/LinalgToLLVM/LinalgToLLVM.cpp
The file was modifiedmlir/test/Dialect/Linalg/canonicalize.mlir
The file was modifiedmlir/test/Dialect/Linalg/invalid.mlir
The file was modifiedmlir/test/Dialect/Linalg/bufferize.mlir
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
The file was modifiedmlir/test/Dialect/Linalg/detensorize_if.mlir
The file was modifiedmlir/test/Dialect/Linalg/detensorize_trivial.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/FusionOnTensors.cpp
The file was modifiedmlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
The file was modifiedmlir/test/Dialect/Linalg/detensorize_while_failure.mlir
The file was modifiedmlir/test/Dialect/Linalg/fusion-push-reshape.mlir
The file was modifiedmlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Bufferize.cpp
The file was modifiedmlir/test/Dialect/Linalg/reshape_fusion.mlir
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
The file was modifiedmlir/test/Dialect/Linalg/roundtrip.mlir
The file was modifiedmlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp
The file was modifiedmlir/test/Dialect/Linalg/detensorize_0d.mlir
The file was modifiedmlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
The file was modifiedmlir/test/Dialect/Linalg/detensorize_while_pure_cf.mlir
The file was modifiedmlir/test/Dialect/Linalg/llvm.mlir
The file was modifiedmlir/test/Dialect/Linalg/detensorize_while.mlir
The file was modifiedmlir/test/Dialect/Linalg/reshape_linearization_fusion.mlir
Commit ad10d965c838677f8c961aa615cd965f9c5700b0 by gysit
[mlir][linalg] Cleanup LinalgOp usage in generalization.

Replace the uses of deprecated Structured Op Interface methods in Generalization.cpp. This patch is based on https://reviews.llvm.org/D103394.

Differential Revision: https://reviews.llvm.org/D103531
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Generalization.cpp
Commit 8790e85255d088a5247face1123ea1f3864556f5 by fraser
[RISCV] Reserve an emergency spill slot for any RVV spills

This patch addresses an issue in which fixed-length (VLS) vector RVV
code could fail to reserve an emergency spill slot for their frame index
elimination. This is because we were previously only reserving a spill
slot when there were `scalable-vector` frame indices being used.
However, fixed-length codegen uses regular-type frame indices if it
needs to spill.

This patch does the fairly brute-force method of checking ahead of time
whether the function contains any RVV spill instructions, in which case
it reserves one slot. Note that the second RVV slot is still only
reserved for `scalable-vector` frame indices.

This unfortunately causes quite a bit of churn in existing tests, where
we chop and change stack offsets for spill slots.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D103269
The file was modifiedllvm/lib/Target/RISCV/RISCVFrameLowering.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfo.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
The file was addedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-emergency-slot.mir
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-conv.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-unaligned.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-i2fp.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/get-vlen-debugloc.mir
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-i1.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/localvar.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz.ll
The file was modifiedllvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/allocate-lmul-2-4-8.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-calling-conv-fastcc.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-select-fp.ll
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-calling-conv.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfo.h
The file was modifiedllvm/test/CodeGen/RISCV/rvv/fixed-vectors-bswap.ll
Commit f7e591161d375a20719db0de942b797c5c3318f3 by omair.javaid
[LLDB] Skip TestDataFormatterStdUniquePtr.py on arm/linux

TestDataFormatterStdUniquePtr.py fails on lldb arm/aarch64 linux
buildbot but not reproducible on test machine. Skipping for now.
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/unique_ptr/TestDataFormatterStdUniquePtr.py
Commit 8ef23a39ca022afab0bbac3daed539ebde75ef73 by omair.javaid
[LLDB] Skip TestDataFormatterStdUniquePtr.py on arm/linux

TestDataFormatterStdUniquePtr.py fails on lldb arm/aarch64 linux
buildbot but not reproducible on test machine. Skipping for now.
The file was modifiedlldb/test/API/functionalities/data-formatter/data-formatter-stl/libstdcpp/unique_ptr/TestDataFormatterStdUniquePtr.py
Commit e70d2c8e6f7b23cabcb1116b9667c9f0dd21997e by gysit
[mlir][linalg] Cleanup LinalgOp usage in promotion.

Replace the uses of deprecated Structured Op Interface methods in Promotion.cpp. This patch is based on https://reviews.llvm.org/D103394.

Differential Revision: https://reviews.llvm.org/D103450
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/Promotion.cpp