SuccessChanges

Summary

  1. [GISel][CombinerHelper] Combine shuffle_vector scalar to build_vector (details)
  2. [Utils] Allow update_test_checks to check function information (details)
  3. [Attributor] Automatically deal with undef values for IRAttributes (details)
  4. [Attributor][NFC] Simplify the IRPosition interface (details)
  5. [Attributor][NFC] Do not record dependences on fixed attributes (details)
  6. [Attributor][NFC] Eagerly mark attributes as fixed. (details)
  7. [AArch64][SVE] Add patterns for some integer vector instructions (details)
Commit f0eeb3c7a7136dd043b792ff2d321ad492db203a by qcolombet
[GISel][CombinerHelper] Combine shuffle_vector scalar to build_vector
Teach the combiner helper how to replace shuffle_vector of scalars into
build_vector. I am not particularly happy about having to add this
combine, but we currently get those from <1 x iN> from the IR.
Bonus: This fixes an assert in the shuffle_vector combines since before
this patch, we were expecting vector types.
The file was modifiedllvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-shuffle-vector.mir
The file was modifiedllvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
Commit 3598b810029dee4abfd5545f02ec256d33f79e71 by johannes
[Utils] Allow update_test_checks to check function information
Summary: This adds a switch to the update_test_checks that triggers
arguments and other function annotations, e.g., personality, to be
present in the check line. If not set, the behavior should be the same
as before. If arguments are recorded, their names are scrubbed from the
IR to allow merging.
This patch includes D68153.
Reviewers: lebedev.ri, greened, spatel, xbolva00, RKSimon, mehdi_amini
Subscribers: bollu, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D68819
The file was modifiedllvm/utils/UpdateTestChecks/common.py
The file was modifiedllvm/utils/update_test_checks.py
The file was modifiedllvm/utils/update_mir_test_checks.py
The file was modifiedllvm/utils/update_analyze_test_checks.py
Commit 4318d3c64ccd0e172c1ac108ff8d646330bfd4b3 by johannes
[Attributor] Automatically deal with undef values for IRAttributes
For (almost) all IRAttribute we can derive whatever we want for undef
values so it makes sense to provide this functionality in the base
class. At the same time, we probably do not want to annotate them.
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
Commit b2083c53824d6465344f831e5dd0302ba2c40668 by johannes
[Attributor][NFC] Simplify the IRPosition interface
We pretended IRPosition came either as mutable or immutable objects
while they are basically always immutable, with a single (existing)
unfortunate exceptions. This patch cleans up the uses to deal with the
immutable version.
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
Commit 12173e60ec430214f4035edd12720f86fe2c9588 by johannes
[Attributor][NFC] Do not record dependences on fixed attributes
Since fixed values cannot change, we do not need to wait for it to
happen, we will never notify the dependent attribute anyway.
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
Commit 2dad729f0c7b8665d362baecd8ff52449b26051d by johannes
[Attributor][NFC] Eagerly mark attributes as fixed.
If an attribute did not query any optimistic (=non-fixed) information to
justify its state, we know the attribute state will not change anymore.
Thus, we can indicate an optimistic fixpoint.
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
Commit ed7bcb2cb1575d26bd9161103fae01d1a5fa4b07 by amehsan
[AArch64][SVE] Add patterns for some integer vector instructions
Add pattern matching for SVE vector instructions:
-- add, sub, and, or, xor instructions
-- sqadd, uqadd, sqsub, uqsub target-independent intrinsics
-- bic intrinsics
-- predicated add, sub, subr intrinsics
Patch Review: https://reviews.llvm.org/D69128 Patch authored by: dancgr
(Danilo Carvalho Grael)
The file was addedllvm/test/CodeGen/AArch64/sve-int-arith-pred.ll
The file was addedllvm/test/CodeGen/AArch64/sve-int-arith.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelLowering.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
The file was modifiedllvm/lib/Target/AArch64/SVEInstrFormats.td
The file was addedllvm/test/CodeGen/AArch64/sve-int-log.ll
The file was modifiedllvm/include/llvm/IR/IntrinsicsAArch64.td