Changes

Summary

  1. fix job name (details)
The file was modifiedzorg/jenkins/jobs/jobs/lldb-cmake (diff)

Summary

  1. [SystemZ] Support symbolic displacements. (details)
  2. [InstSimplify] Fold A|B | (A^B) --> A|B (details)
  3. [JITLink] Fix splitBlock if there are symbols span across the boundary (details)
  4. [clang] retain type sugar in auto / template argument deduction (details)
  5. [NewPM] Only invalidate modified functions' analyses in CGSCC passes + turn on eagerly invalidate analyses (details)
  6. [mlir][tosa] Add tosa.mul by one canonicalization (details)
  7. [llvm-reduce] Don't reuse SmallVector across calls to getAllMetadata() (details)
  8. Add `isInitCapture` and `forEachLambdaCapture` matchers. (details)
  9. Revert "[InstSimplify] Fold A|B | (A^B) --> A|B" (details)
Commit 1c3ef9ef4a4dc84f36e9282b9cd1c7313a3d4a08 by paulsson
[SystemZ] Support symbolic displacements.

This patch adds support for symbolic displacements, e.g. like 'lg %r0,
sym(%r1)', which is done using relocations. This is needed to compile the
kernel without disabling the integrated assembler.

Review: Ulrich Weigand

Differential Revision: https://reviews.llvm.org/D113341
The file was modifiedllvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
The file was modifiedllvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinter.h
The file was modifiedllvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp
The file was addedllvm/test/MC/SystemZ/fixups-out-of-range.s
The file was modifiedllvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
The file was modifiedllvm/lib/Target/SystemZ/SystemZInstrInfo.h
The file was addedllvm/test/MC/SystemZ/reloc-absolute.s
The file was modifiedllvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCObjectWriter.cpp
The file was modifiedllvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinter.cpp
The file was modifiedllvm/test/MC/SystemZ/reloc-directive.s
The file was modifiedllvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCCodeEmitter.cpp
The file was modifiedllvm/test/MC/SystemZ/fixups.s
The file was modifiedllvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCFixups.h
Commit 193c40e9667ca2b173232b393fc72ea9e4944aa3 by Stanislav.Mekhanoshin
[InstSimplify] Fold A|B | (A^B) --> A|B

This patch adds the following fold opportunity:
A|B | (A^B) --> A|B

that is reported here : https://bugs.llvm.org/show_bug.cgi?id=52479

https://alive2.llvm.org/ce/z/33-My-

Test cases with base results are added in D113860

(authored by MehrHeidar, committed by rampitec).

Differential Revision:  https://reviews.llvm.org/D113861
The file was modifiedllvm/test/Transforms/InstSimplify/or.ll
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
Commit fcd07f810781c1754c2e7e9641fd18b95fa1368c by Steven Wu
[JITLink] Fix splitBlock if there are symbols span across the boundary

Fix `splitBlock` so that it can handle the case when the block being
split has symbols span across the split boundary. This is an error
case in general but for EHFrame splitting on macho platforms, there is an
anonymous symbol that marks the entire block. Current implementation
will leave a symbol that is out of bound of the underlying block. Fix
the problem by dropping such symbols when the block is split.

Reviewed By: lhames

Differential Revision: https://reviews.llvm.org/D113912
The file was modifiedllvm/lib/ExecutionEngine/JITLink/JITLink.cpp
The file was modifiedllvm/unittests/ExecutionEngine/JITLink/LinkGraphTests.cpp
Commit c9e46219f38da5c3fbfe41012173dc893516826e by mizvekov
[clang] retain type sugar in auto / template argument deduction

This implements the following changes:
* AutoType retains sugared deduced-as-type.
* Template argument deduction machinery analyses the sugared type all the way
down. It would previously lose the sugar on first recursion.
* Undeduced AutoType will be properly canonicalized, including the constraint
template arguments.
* Remove the decltype node created from the decltype(auto) deduction.

As a result, we start seeing sugared types in a lot more test cases,
including some which showed very unfriendly `type-parameter-*-*` types.

Signed-off-by: Matheus Izvekov <mizvekov@gmail.com>

Reviewed By: rsmith, #libc, ldionne

Differential Revision: https://reviews.llvm.org/D110216
The file was modifiedclang-tools-extra/clangd/unittests/HoverTests.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines-owning-memory.cpp
The file was modifiedclang/lib/Sema/SemaStmt.cpp
The file was modifiedclang/test/SemaTemplate/deduction.cpp
The file was modifiedclang-tools-extra/clangd/unittests/ASTTests.cpp
The file was modifiedclang/lib/AST/ASTImporter.cpp
The file was modifiedclang/lib/AST/Type.cpp
The file was modifiedclang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp
The file was modifiedclang/test/SemaCXX/cxx1z-decomposition.cpp
The file was modifiedclang/include/clang/AST/Type.h
The file was modifiedclang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.cpp
The file was modifiedclang/lib/Sema/SemaExprCXX.cpp
The file was addedclang/test/SemaCXX/sugared-auto.cpp
The file was modifiedclang/lib/Sema/SemaTemplate.cpp
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/OwningMemoryCheck.cpp
The file was modifiedclang/lib/Sema/SemaType.cpp
The file was modifiedclang/test/SemaTemplate/friend.cpp
The file was modifiedclang/test/CXX/over/over.match/over.match.funcs/over.match.class.deduct/p2.cpp
The file was modifiedclang/lib/Sema/SemaLambda.cpp
The file was modifiedclang-tools-extra/clangd/FindTarget.cpp
The file was modifiedclang/test/CXX/stmt.stmt/stmt.iter/stmt.ranged/p1.cpp
The file was modifiedclang/test/SemaCXX/recovery-expr-type.cpp
The file was modifiedclang/test/Index/print-type.cpp
The file was addedlibcxx/test/std/utilities/any/any.nonmembers/any.cast/const_correctness.verify.cpp
The file was modifiedclang-tools-extra/clangd/InlayHints.cpp
The file was modifiedclang/test/SemaCXX/sizeless-1.cpp
The file was modifiedclang/test/SemaCXX/deduced-return-type-cxx14.cpp
The file was modifiedlldb/test/Shell/SymbolFile/NativePDB/function-types-builtins.cpp
The file was modifiedclang/lib/Sema/SemaTemplateDeduction.cpp
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchersInternal.h
The file was modifiedclang/test/SemaTemplate/attributes.cpp
The file was modifiedclang/include/clang/AST/ASTContext.h
The file was modifiedclang/lib/Sema/SemaCXXScopeSpec.cpp
The file was modifiedclang/test/SemaCXX/friend.cpp
The file was modifiedclang/lib/Sema/TreeTransform.h
The file was modifiedclang-tools-extra/clang-tidy/cppcoreguidelines/ProBoundsPointerArithmeticCheck.cpp
The file was modifiedclang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/p1-0x.cpp
The file was removedlibcxx/test/std/utilities/any/any.nonmembers/any.cast/const_correctness.fail.cpp
The file was modifiedclang/test/CXX/temp/temp.decls/temp.variadic/multi-level-substitution.cpp
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/SemaDecl.cpp
The file was modifiedclang/lib/AST/ASTContext.cpp
The file was removedlibcxx/test/std/utilities/any/any.nonmembers/any.cast/not_copy_constructible.fail.cpp
The file was modifiedclang/test/SemaTemplate/operator-template.cpp
The file was modifiedclang-tools-extra/clangd/unittests/InlayHintTests.cpp
The file was addedlibcxx/test/std/utilities/any/any.nonmembers/any.cast/not_copy_constructible.verify.cpp
The file was modifiedclang-tools-extra/clangd/unittests/tweaks/ExpandAutoTypeTests.cpp
The file was modifiedclang/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/p4.cpp
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/lib/Sema/SemaInit.cpp
Commit 19867de9e79327207796a16c1c24ac5d2cafecf9 by aeubanks
[NewPM] Only invalidate modified functions' analyses in CGSCC passes + turn on eagerly invalidate analyses

Previously, any change in any function in an SCC would cause all
analyses for all functions in the SCC to be invalidated. With this
change, we now manually invalidate analyses for functions we modify,
then let the pass manager know that all function analyses should be
preserved since we've already handled function analysis invalidation.

So far this only touches the inliner, argpromotion, function-attrs, and
updateCGAndAnalysisManager(), since they are the most used.

This is part of an effort to investigate running the function
simplification pipeline less on functions we visit multiple times in the
inliner pipeline.

However, this causes major memory regressions especially on larger IR.
To counteract this, turn on the option to eagerly invalidate function
analyses. This invalidates analyses on functions immediately after
they're processed in a module or scc to function adaptor for specific
parts of the pipeline.

Within an SCC, if a pass only modifies one function, other functions in
the SCC do not have their analyses invalidated, so in later function
passes in the SCC pass manager the analyses may still be cached. It is
only after the function passes that the eager invalidation takes effect.
For the default pipelines this makes sense because the inliner pipeline
runs the function simplification pipeline after all other SCC passes
(except CoroSplit which doesn't request any analyses).

Overall this has mostly positive effects on compile time and positive effects on memory usage.
https://llvm-compile-time-tracker.com/compare.php?from=7f627596977624730f9298a1b69883af1555765e&to=39e824e0d3ca8a517502f13032dfa67304841c90&stat=instructions
https://llvm-compile-time-tracker.com/compare.php?from=7f627596977624730f9298a1b69883af1555765e&to=39e824e0d3ca8a517502f13032dfa67304841c90&stat=max-rss

D113196 shows that we slightly regressed compile times in exchange for
some memory improvements when turning on eager invalidation.  D100917
shows that we slightly improved compile times in exchange for major
memory regressions in some cases when invalidating less in SCC passes.
Turning these on at the same time keeps the memory improvements while
keeping compile times neutral/slightly positive.

Reviewed By: asbirlea, nikic

Differential Revision: https://reviews.llvm.org/D113304
The file was modifiedllvm/test/Other/new-pm-thinlto-defaults.ll
The file was addedllvm/test/Transforms/FunctionAttrs/invalidate.ll
The file was modifiedllvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
The file was modifiedclang/test/CodeGen/thinlto-distributed-newpm.ll
The file was modifiedllvm/lib/Transforms/IPO/ArgumentPromotion.cpp
The file was modifiedllvm/lib/Transforms/IPO/Inliner.cpp
The file was modifiedllvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
The file was modifiedllvm/test/Other/new-pm-pgo-preinline.ll
The file was addedllvm/test/Transforms/Inline/analysis-invalidation.ll
The file was modifiedllvm/test/Other/new-pm-defaults.ll
The file was modifiedllvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
The file was modifiedllvm/lib/Transforms/IPO/FunctionAttrs.cpp
The file was modifiedllvm/test/Transforms/Inline/cgscc-incremental-invalidate.ll
The file was modifiedllvm/lib/Passes/PassBuilderPipelines.cpp
The file was modifiedllvm/test/Other/new-pm-lto-defaults.ll
The file was modifiedllvm/lib/Analysis/CGSCCPassManager.cpp
The file was modifiedllvm/test/Other/new-pm-eager-invalidate.ll
The file was modifiedllvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
Commit cdb0623ad82751c87d9c7d4b2c6eaf0c5ccf3719 by rob.suderman
[mlir][tosa] Add tosa.mul by one canonicalization

Multiply by one can be removed during canonicalization. This optimizes away unneeded operations.

Differential Revision: https://reviews.llvm.org/D113807
The file was modifiedmlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
The file was modifiedmlir/lib/Dialect/Tosa/IR/TosaOps.cpp
The file was modifiedmlir/test/Dialect/Tosa/canonicalize.mlir
Commit 0b5051cedec487f2e611ec2b582df6c23f90a046 by aeubanks
[llvm-reduce] Don't reuse SmallVector across calls to getAllMetadata()

The SmallVector is not cleared in calls to getAllMetadata().

Reviewed By: Meinersbur

Differential Revision: https://reviews.llvm.org/D113808
The file was modifiedllvm/tools/llvm-reduce/deltas/ReduceMetadata.cpp
Commit 9809c6c61cebbfcd100a3afd30fc9009f68d4678 by yitzhakm
Add `isInitCapture` and `forEachLambdaCapture` matchers.

This contributes follow-up work from https://reviews.llvm.org/D112491, which
allows for increased control over the matching of lambda captures. This also
updates the documentation for the `lambdaCapture` matcher.

Reviewed By: ymandel, aaron.ballman

Differential Revision: https://reviews.llvm.org/D113575
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
The file was modifiedclang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
The file was modifiedclang/include/clang/ASTMatchers/ASTMatchers.h
The file was modifiedclang/docs/LibASTMatchersReference.html
The file was modifiedclang/lib/ASTMatchers/Dynamic/Registry.cpp
Commit 833cdb0a079d26c39fe2a76c353427afbac84917 by Stanislav.Mekhanoshin
Revert "[InstSimplify] Fold A|B | (A^B) --> A|B"

This reverts commit 193c40e9667ca2b173232b393fc72ea9e4944aa3.
The file was modifiedllvm/lib/Analysis/InstructionSimplify.cpp
The file was modifiedllvm/test/Transforms/InstSimplify/or.ll

Summary

  1. fix job name (details)
Commit 5d20a0c7d833619a471547f3a12519ae1f3c469e by Adrian Prantl
fix job name
The file was modifiedzorg/jenkins/jobs/jobs/lldb-cmake