FailedChanges

Summary

  1. Change comments about order of classes in superclass list. (details)
  2. DWARFEmitter.cpp - use auto const& iterators in for-range loops to avoid copies. NFCI. (details)
  3. [ASTImporter] Refactor IsStructurallyEquivalent's Decl overloads to be more consistent (details)
  4. [AIX][Clang][Driver] Add handling of nostartfiles option (details)
  5. [SLP] Allow reordering of vectorization trees with reused instructions. (details)
  6. [analyzer][solver] Fix issue with symbol non-equality tracking (details)
  7. Update update_analyze_test_checks.py to support API changes from D83004 (details)
  8. [CostModel][X86] Add some select shuffle costs tests for D87884 (details)
  9. [mlir][openacc] Add attributes to parallel op async, wait and self clauses (details)
  10. [LoopSimplifyCFG][NewPM] Rename simplify-cfg -> loop-simplifycfg (details)
  11. [PowerPC] Add vector pair load/store instructions and vector pair register class (details)
  12. [LLD][ELF][test] Fix CHECKs in map-file test (details)
  13. [TextAPI] clean up auto usages in tests, NFC (details)
  14. [SVE][CodeGen] Mark ptrue/pfalse instructions as rematerializable (details)
  15. ProfileSummary.cpp - use auto const& iterator in for-range loop to avoid copies. NFCI. (details)
  16. Fix Wdocumentation unknown parameter warnings. NFCI. (details)
  17. MachineCSE.cpp - use auto const& iterator in for-range loop to avoid copies. NFCI. (details)
  18. [clang] Fix a misleading variable name. NFC. (details)
  19. [Sema] Split special builtin type lookups into a separate function (details)
  20. SLPVectorizer.cpp - fix include ordering. NFCI. (details)
  21. TargetPassConfig.cpp - use auto const& iterator in for-range loop to avoid copies. NFCI. (details)
  22. [ARM][CMSE] Issue an error if passing arguments through memory across (details)
Commit bd55d5b2a11030dc7a93008275c533bbdb748c72 by paul
Change comments about order of classes in superclass list.
The file was modifiedllvm/lib/TableGen/Record.cpp
The file was modifiedllvm/include/llvm/TableGen/Record.h
Commit 2ef2abdec20e7275ae719fa8be920482f08da1f0 by llvm-dev
DWARFEmitter.cpp - use auto const& iterators in for-range loops to avoid copies. NFCI.
The file was modifiedllvm/lib/ObjectYAML/DWARFEmitter.cpp
Commit 7c4575e15f065312ad40ebe0d1ec1e1ffa4c6628 by Raphael Isemann
[ASTImporter] Refactor IsStructurallyEquivalent's Decl overloads to be more consistent

There are several `::IsStructurallyEquivalent` overloads for Decl subclasses
that are used for comparing declarations. There is also one overload that takes
just two Decl pointers which ends up queuing the passed Decls to be later
compared in `CheckKindSpecificEquivalence`.

`CheckKindSpecificEquivalence` implements the dispatch logic for the different
Decl subclasses. It is supposed to hand over the queued Decls to the
subclass-specific `::IsStructurallyEquivalent` overload that will actually
compare the Decl instance. It also seems to implement a few pieces of actual
node comparison logic inbetween the dispatch code.

This implementation causes that the different overloads of
`::IsStructurallyEquivalent` do different (and sometimes no) comparisons
depending on which overload of `::IsStructurallyEquivalent` ends up being
called.

For example, if I want to compare two FieldDecl instances, then I could either
call the `::IsStructurallyEquivalent` with `Decl *` or with `FieldDecl *`
parameters. The overload that takes FieldDecls is doing a correct comparison.
However, the `Decl *` overload just queues the Decl pair.
`CheckKindSpecificEquivalence` has no dispatch logic for `FieldDecl`, so it
always returns true and never does any actual comparison.

On the other hand, if I try to compare two FunctionDecl instances the two
possible overloads of `::IsStructurallyEquivalent` have the opposite behaviour:
The overload that takes `FunctionDecl` pointers isn't comparing the names of the
FunctionDecls while the overload taking a plain `Decl` ends up comparing the
function names (as the comparison logic for that is implemented in
`CheckKindSpecificEquivalence`).

This patch tries to make this set of functions more consistent by making
`CheckKindSpecificEquivalence` a pure dispatch function without any
subclass-specific comparison logic. Also the dispatch logic is now autogenerated
so it can no longer miss certain subclasses.

The comparison code from `CheckKindSpecificEquivalence` is moved to the
respective `::IsStructurallyEquivalent` overload so that the comparison result
no longer depends if one calls the `Decl *` overload or the overload for the
specific subclass. The only difference is now that the `Decl *` overload is
queuing the parameter while the subclass-specific overload is directly doing the
comparison.

`::IsStructurallyEquivalent` is an implementation detail and I don't think the
behaviour causes any bugs in the current implementation (as carefully calling
the right overload for the different classes works around the issue), so the
test for this change is that I added some new code for comparing `MemberExpr`.
The new comparison code always calls the dispatching overload and it previously
failed as the dispatch didn't support FieldDecls.

Reviewed By: martong, a_sidorin

Differential Revision: https://reviews.llvm.org/D87619
The file was modifiedclang/lib/AST/ASTStructuralEquivalence.cpp
The file was modifiedclang/unittests/AST/StructuralEquivalenceTest.cpp
Commit 699089f2a9702baa987dc2dbe915a2c845c7027f by daltenty
[AIX][Clang][Driver] Add handling of nostartfiles option

Reviewed By: jasonliu

Differential Revision: https://reviews.llvm.org/D87904
The file was modifiedclang/test/Driver/aix-ld.c
The file was modifiedclang/lib/Driver/ToolChains/AIX.cpp
Commit 3ff07fcd542ebef657bb93fe8ee1750527210b94 by a.bataev
[SLP] Allow reordering of vectorization trees with reused instructions.

If some leaves have the same instructions to be vectorized, we may
incorrectly evaluate the best order for the root node (it is built for the
vector of instructions without repeated instructions and, thus, has less
elements than the root node). In this case we just can not try to reorder
the tree + we may calculate the wrong number of nodes that requre the
same reordering.
For example, if the root node is \<a+b, a+c, a+d, f+e\>, then the leaves
are \<a, a, a, f\> and \<b, c, d, e\>. When we try to vectorize the first
leaf, it will be shrink to \<a, b\>. If instructions in this leaf should
be reordered, the best order will be \<1, 0\>. We need to extend this
order for the root node. For the root node this order should look like
\<3, 0, 1, 2\>. This patch allows extension of the orders of the nodes
with the reused instructions.

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D45263
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/jumbled_store_crash.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/vectorize-reorder-reuse.ll
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/reorder_repeated_ops.ll
Commit 0c4f91f84b2efe8975848a7a13c08d7479abe752 by gabor.marton
[analyzer][solver] Fix issue with symbol non-equality tracking

We should track non-equivalency (disequality) in case of greater-then or
less-then assumptions.

Differential Revision: https://reviews.llvm.org/D88019
The file was modifiedclang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
The file was modifiedclang/test/Analysis/equality_tracking.c
Commit 2174efb10480ac374364eb9eef1a5ae79c7b16e2 by llvm-dev
Update update_analyze_test_checks.py to support API changes from D83004
The file was modifiedllvm/utils/update_analyze_test_checks.py
Commit 18a3ebcd3016d9bd1112d6804654758afabf8a98 by llvm-dev
[CostModel][X86] Add some select shuffle costs tests for D87884
The file was addedllvm/test/Analysis/CostModel/X86/shuffle-select.ll
Commit 2e2bcee05876305cb9b21b6b5e8e48dc6da58ede by clementval
[mlir][openacc] Add attributes to parallel op async, wait and self clauses

Add attributes for the async, wait and self clauses. These clauses can be present without
values. When this is the case they are modelled with an attribute instead of operands.

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D87991
The file was modifiedmlir/test/Dialect/OpenACC/ops.mlir
The file was modifiedmlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
Commit 5249e6f24876ea577de51ad2f9166a2e466171b9 by aeubanks
[LoopSimplifyCFG][NewPM] Rename simplify-cfg -> loop-simplifycfg

This matches the legacy PM name and makes all tests in
Transforms/LoopSimplifyCFG pass under NPM.

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D87948
The file was modifiedllvm/test/Transforms/SimpleLoopUnswitch/trivial-unswitch-iteration.ll
The file was modifiedllvm/test/Transforms/LoopSimplifyCFG/merge-header.ll
The file was modifiedllvm/test/Transforms/LoopSimplifyCFG/phi_with_duplicating_inputs.ll
The file was modifiedllvm/lib/Passes/PassRegistry.def
The file was modifiedllvm/test/Transforms/LoopSimplifyCFG/mssa_update.ll
The file was modifiedllvm/test/Transforms/LoopSimplifyCFG/constant-fold-branch.ll
The file was modifiedllvm/test/Transforms/LICM/hoist-deref-load.ll
The file was modifiedllvm/test/Transforms/LoopSimplifyCFG/lcssa.ll
The file was modifiedllvm/test/Transforms/GVN/preserve-analysis.ll
The file was modifiedllvm/test/Transforms/LoopSimplifyCFG/live_block_marking.ll
The file was modifiedllvm/test/Transforms/LoopSimplifyCFG/irreducible_cfg.ll
The file was modifiedllvm/test/Transforms/LoopSimplifyCFG/update_parents.ll
The file was modifiedllvm/test/Transforms/LICM/hoist-bitcast-load.ll
The file was modifiedllvm/test/Transforms/LoopSimplifyCFG/handle_dead_exits.ll
Commit 1372e23c7d4b25fd23689842246e66f70c949b46 by baptiste.saleil
[PowerPC] Add vector pair load/store instructions and vector pair register class

This patch adds support for the lxvp, lxvpx, plxvp, stxvp, stxvpx and pstxvp
instructions in the PowerPC backend. These instructions allow loading and
storing VSX register pairs. This patch also adds the VSRp register class
definition needed for these instructions.

Differential Revision: https://reviews.llvm.org/D84359
The file was modifiedllvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.h
The file was modifiedllvm/lib/Target/PowerPC/PPCRegisterInfo.td
The file was modifiedllvm/lib/Target/PowerPC/PPCRegisterInfo.h
The file was modifiedllvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp
The file was modifiedllvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
The file was modifiedllvm/utils/TableGen/CodeGenTarget.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
The file was modifiedllvm/test/MC/Disassembler/PowerPC/ppc64-encoding-ISA31.txt
The file was modifiedllvm/test/MC/PowerPC/ppc64-encoding-ISA31.s
Commit 0a6860521eb8b8d5d2d205f50ea527033056af24 by grimar
[LLD][ELF][test] Fix CHECKs in map-file test

A repeated typo in lld/test/ELF/map-file.s prevented a number of checks from being executed.

CHECk-NEXT -> CHECK-NEXT
    ^             ^

After correcting the typo, a small adjustment was needed to match the size of the synthetic .comment section (which always contains "LLD 1.0" in the test environment).

Differential revision: https://reviews.llvm.org/D88023
The file was modifiedlld/test/ELF/map-file.s
Commit 0b15cb70d318255814c0614a978b6920ba075fa2 by Cyndy Ishida
[TextAPI] clean up auto usages in tests, NFC
The file was modifiedllvm/unittests/TextAPI/TextStubHelpers.h
The file was modifiedllvm/unittests/TextAPI/TextStubV3Tests.cpp
The file was modifiedllvm/unittests/TextAPI/TextStubV4Tests.cpp
Commit 96e52c13640ba60417ebd1d03cee79a2c0089308 by david.sherwood
[SVE][CodeGen] Mark ptrue/pfalse instructions as rematerializable
The file was modifiedllvm/lib/Target/AArch64/SVEInstrFormats.td
Commit 53f1748c131c8d7ff0bb5e5c77132780c5d1fbc7 by llvm-dev
ProfileSummary.cpp - use auto const& iterator in for-range loop to avoid copies. NFCI.
The file was modifiedllvm/lib/IR/ProfileSummary.cpp
Commit 604206b61cb948c01b438dd06b3b7bc837e99455 by llvm-dev
Fix Wdocumentation unknown parameter warnings. NFCI.
The file was modifiedllvm/include/llvm/Analysis/IRSimilarityIdentifier.h
Commit ce294ff8cddf110cefd5955cf30c575c7838b452 by llvm-dev
MachineCSE.cpp - use auto const& iterator in for-range loop to avoid copies. NFCI.
The file was modifiedllvm/lib/CodeGen/MachineCSE.cpp
Commit 474d527c28f4e88ffda7b82e93e351aec2602380 by ikudrin
[clang] Fix a misleading variable name. NFC.

The variable is true when frame pointers should be omitted in leaf
functions, not kept.

Differential Revision: https://reviews.llvm.org/D88021
The file was modifiedclang/lib/Driver/ToolChains/Clang.cpp
Commit f91f28c350df6815d37c521e8f3dc0641a3ca467 by raul
[Sema] Split special builtin type lookups into a separate function

In case further such cases appear in the future we've got a generic function to add them to.
Additionally changed the ObjC special case to check the language and the identifier builtin ID instead of the name.

Addresses the cleanup suggestion from D87917.

Reviewed By: rjmccall

Differential Revision: https://reviews.llvm.org/D87983
The file was modifiedclang/include/clang/Sema/Sema.h
The file was modifiedclang/lib/Sema/SemaLookup.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp
Commit 3ddecfd220079cd37d2d08810c3940ffcde57953 by llvm-dev
SLPVectorizer.cpp - fix include ordering. NFCI.
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit 3ae07b2a33f5541b36913280564420aaa46a54f8 by llvm-dev
TargetPassConfig.cpp - use auto const& iterator in for-range loop to avoid copies. NFCI.
The file was modifiedllvm/lib/CodeGen/TargetPassConfig.cpp
Commit 742250bf62a92647d3462d1e0b75940bc0914fcb by momchil.velikov
[ARM][CMSE] Issue an error if passing arguments through memory across
security boundary

It was never supported and that part was accidentally omitted when
upstreaming D76518.

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

Change-Id: If6ba9506eb0431c87a1d42a38aa60e47ce263039
The file was addedllvm/test/CodeGen/ARM/cmse-errors.ll
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp