SuccessChanges

Summary

  1. [RISCV][NFC] Add '+mattr=+experimental-v' to RVV test (details)
  2. [mlir][linalg] Cleanup LinalgOp usage in fusion on tensors (NFC). (details)
  3. [mlir][linalg] Update result position calculation in the Structured Op Interface (NFC). (details)
  4. [compiler-rt][asan] Enable unwind-tables for Arm Linux (details)
  5. [TTI] NFC: Change getIntImmCodeSizeCost to return InstructionCost. (details)
  6. [LV] NFC: Replace custom getMemInstValueType by llvm::getLoadStoreType. (details)
  7. [LV] NFC: Remove redundant isLegalMasked(Gather|Scatter) functions. (details)
  8. [PowerPC][AIX} FIx AIX bootstrap build. (details)
  9. [compiler-rt][lsan] Increase libdl_deadlock test timeout (details)
  10. [LV] Build and cost VPlans for scalable VFs. (details)
  11. [AArch64][NFC] Fix failing cost-model test (details)
  12. Add getDemandedBits for uses. (details)
  13. Fix comments in test cuda-kernel-call.cu (details)
  14. [clangd] Add support for the `defaultLibrary` semantic token modifier (details)
  15. [clang] Implement the using_if_exists attribute (details)
Commit 1cea1189c200fcee00be4262bf6915998531989e by fraser
[RISCV][NFC] Add '+mattr=+experimental-v' to RVV test
The file was modifiedllvm/test/CodeGen/RISCV/rvv/zvlsseg-copy.mir
Commit f84b908f89af76002112acbf915ab0677b99c01c by gysit
[mlir][linalg] Cleanup LinalgOp usage in fusion on tensors (NFC).

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

Differential Revision: https://reviews.llvm.org/D103471
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/FusionOnTensors.cpp
Commit e1a150846d373f547e6b81c737333da27c4d29d7 by gysit
[mlir][linalg] Update result position calculation in the Structured Op Interface (NFC).

Remove two unused methods and replace the implementation of getResultsPositionInLoopsToShapeMap. The patch is based on https://reviews.llvm.org/D103394.

Differential Revision: https://reviews.llvm.org/D103397
The file was modifiedmlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td
Commit ba99359796bae116d2bd6b2ac828f3e1e664031f by david.spickett
[compiler-rt][asan] Enable unwind-tables for Arm Linux

Since https://reviews.llvm.org/D102046 some tests have
been falling back to fast unwinding on our Thumb bot.

This fails because fast unwinding does not work on Thumb.
By adding the extra information we ensure this does not happen
during testing, but the built library can still fast unwind
as a last resort.

Since there are some situations it can work in, like if
eveything is built with clang. During testing we've got gcc
built system libs and clang built tests.

The same change was made for sanitizer-common in
https://reviews.llvm.org/D96337.

Reviewed By: zatrazz

Differential Revision: https://reviews.llvm.org/D103463
The file was modifiedcompiler-rt/test/asan/CMakeLists.txt
Commit 0195e594feccaffc483a3780e6d65daeb72922a4 by daniil.fukalov
[TTI] NFC: Change getIntImmCodeSizeCost to return InstructionCost.

This patch migrates the TTI cost interfaces to return an InstructionCost.

See this patch for the introduction of the type: https://reviews.llvm.org/D91174
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2020-November/146408.html

Reviewed By: sdesmalen

Differential Revision: https://reviews.llvm.org/D102915
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfoImpl.h
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.h
The file was modifiedllvm/include/llvm/Analysis/TargetTransformInfo.h
Commit 3472d3fd9d4a5e55f9435dcb27a100d3efb2d484 by sander.desmalen
[LV] NFC: Replace custom getMemInstValueType by llvm::getLoadStoreType.

llvm::getLoadStoreType was added recently and has the same implementation
as 'getMemInstValueType' in LoopVectorize.cpp. Since there is no
value in having two implementations, this patch removes the custom LV
implementation in favor of the generic one defined in Instructions.h.
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit 034503e9d2d66ab75679ab5d2ee0848f4de3cac7 by sander.desmalen
[LV] NFC: Remove redundant isLegalMasked(Gather|Scatter) functions.

This NFC change follows from conversation in D102437, where it was discussed
to remove these functions as a separate patch.
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Commit 81f7607f7c7dadc9da2345455fa8e6f5eb9788f1 by sd.fertile
[PowerPC][AIX} FIx AIX bootstrap build.

A recent patch:
https://reviews.llvm.org/rGe0921655b1ff8d4ba7c14be59252fe05b705920e
changed clangs AIX bitfield handling to use 4-byte bitfield containers,
matching XLs behavior. This change triggers static assert failures when
bootstrapping. Change the macro we check to enable bitfield packing on
AIX to `__clang__` which is defined by both xlclang and clang.

Differential Revision: https://reviews.llvm.org/D103474
The file was modifiedllvm/include/llvm/IR/BasicBlock.h
The file was modifiedllvm/include/llvm/CodeGen/SelectionDAGNodes.h
Commit 8c363efecc5686055c19ef44941322a2c26b07cf by david.spickett
[compiler-rt][lsan] Increase libdl_deadlock test timeout

We have been seeing this test fail intermittently on our
2 stage AArch64 bot.

As far back as https://lab.llvm.org/buildbot/#/builders/53/builds/2694

Likely due to a lack of resources at certain times on the
shared machine. Up the time limit to give us some more room.

(this limit only applies to the watchdog thread, so if the
test passes then it won't take 20s)
The file was modifiedcompiler-rt/test/lsan/TestCases/Linux/libdl_deadlock.cpp
Commit d41cb6bb2607fa5c7a9df2b3dab361353657d225 by sander.desmalen
[LV] Build and cost VPlans for scalable VFs.

This patch uses the calculated maximum scalable VFs to build VPlans,
cost them and select a suitable scalable VF.

Reviewed By: paulwalker-arm

Differential Revision: https://reviews.llvm.org/D98722
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/scalable-vectorization.ll
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/test/Transforms/LoopVectorize/AArch64/masked-op-cost.ll
The file was modifiedllvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
Commit ff6fe93f21967bdfb8dd0e818c2207c209aa2eee by irina.dobrescu
[AArch64][NFC] Fix failing cost-model test
The file was modifiedllvm/test/Analysis/CostModel/AArch64/bitreverse.ll
Commit cbde2487367a54355329c5fb942914627e01e598 by jotrem
Add getDemandedBits for uses.

Add getDemandedBits method for uses so we can query demanded bits for each use.  This can help getting better use information. For example, for the code below
define i32 @test_use(i32 %a) {
  %1 = and i32 %a, -256
  %2 = or i32 %1, 1
  %3 = trunc i32 %2 to i8 (didn't optimize this to 1 for illustration purpose)
  ... some use of %3
  ret %2
}
if we look at the demanded bit of %2 (which is all 32 bits because of the return), we would conclude that %a is used regardless of how its return is used. However, if we look at each use separately, we will see that the demanded bit of %2 in trunc only uses the lower 8 bits of %a which is redefined, therefore %a's usage depends on how the function return is used.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D97074
The file was modifiedllvm/include/llvm/Analysis/DemandedBits.h
The file was modifiedllvm/lib/Analysis/DemandedBits.cpp
The file was modifiedllvm/test/Analysis/DemandedBits/basic.ll
Commit 61c65d8e4a29610bd1ab498eba8f892ffc0af023 by Yaxun.Liu
Fix comments in test cuda-kernel-call.cu
The file was modifiedclang/test/Parser/cuda-kernel-call.cu
Commit 2f951ca98b7a12fed7ac4ebf790a0fbabc02d80b by davg
[clangd] Add support for the `defaultLibrary` semantic token modifier

This allows us to differentiate symbols from the system (e.g. system
includes or sysroot) differently than symbols defined in the user's
project, which can be used by editors to display them differently.

This is currently based on `FileCharacteristic`, but we can
consider alternatives such as `Sysroot` and file paths in the future.

Differential Revision: https://reviews.llvm.org/D101554
The file was modifiedclang-tools-extra/clangd/test/semantic-tokens.test
The file was modifiedclang-tools-extra/clangd/test/initialize-params.test
The file was modifiedclang-tools-extra/clangd/SemanticHighlighting.h
The file was modifiedclang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
The file was modifiedclang-tools-extra/clangd/SemanticHighlighting.cpp
Commit 369c64839946d89cf5697550b6feeea031b2f270 by Louis Dionne
[clang] Implement the using_if_exists attribute

This attribute applies to a using declaration, and permits importing a
declaration without knowing if that declaration exists. This is useful
for libc++ C wrapper headers that re-export declarations in std::, in
cases where the base C library doesn't provide all declarations.

This attribute was proposed in http://lists.llvm.org/pipermail/cfe-dev/2020-June/066038.html.

rdar://69313357

Differential Revision: https://reviews.llvm.org/D90188
The file was modifiedclang/lib/CodeGen/CGDecl.cpp
The file was modifiedclang/lib/AST/DeclBase.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modifiedclang/lib/Sema/SemaExpr.cpp
The file was modifiedclang/include/clang/AST/DeclCXX.h
The file was addedclang/test/SemaCXX/using-if-exists.cpp
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
The file was addedclang/test/Parser/using-if-exists-attr.cpp
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/include/clang/Basic/AttrDocs.td
The file was modifiedclang/include/clang/Serialization/ASTBitCodes.h
The file was modifiedclang/lib/Serialization/ASTReaderDecl.cpp
The file was modifiedclang/lib/Serialization/ASTCommon.cpp
The file was modifiedclang/include/clang/Basic/Attr.td
The file was modifiedclang/include/clang/AST/RecursiveASTVisitor.h
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/test/SemaCXX/attr-deprecated.cpp
The file was modifiedclang/lib/Sema/TreeTransform.h
The file was modifiedclang/lib/Serialization/ASTWriterDecl.cpp
The file was modifiedclang/include/clang/Basic/DeclNodes.td
The file was modifiedclang/lib/AST/DeclCXX.cpp
The file was modifiedclang/tools/libclang/CIndex.cpp