SuccessChanges

Summary

  1. [python][tests] Fix string comparison with "is" (details)
  2. [CostModel] fill in arguments as part of intrinsic attribute constructor (details)
  3. [PowerPC] Legalize v256i1 and v512i1 and implement load and store of these types (details)
Commit 0c82fa677f24d8a9656af41ac9cc64ea4f818bc0 by chfast
[python][tests] Fix string comparison with "is"
The file was modifiedclang/bindings/python/tests/cindex/test_cursor_kind.py
Commit 33125cffda96fd5c5d2b80eebfa89fbf4f6b76a6 by spatel
[CostModel] fill in arguments as part of intrinsic attribute constructor

This appears to be an error of code duplication - instead of
one constructor variant calling another, we have N similar
but not identical versions.

I think this is 'NFC' based on the current callers, but it's
hard to tell or guess the intent in all cases.
The file was modifiedllvm/lib/Analysis/TargetTransformInfo.cpp
Commit 0156914275be5b07155ecefe4dc2d58588265abc by baptiste.saleil
[PowerPC] Legalize v256i1 and v512i1 and implement load and store of these types

This patch legalizes the v256i1 and v512i1 types that will be used for MMA.

It implements loads and stores of these types.
v256i1 is a pair of VSX registers, so for this type, we load/store the two
underlying registers. v512i1 is used for MMA accumulators. So in addition to
loading and storing the 4 associated VSX registers, we generate instructions to
prime (copy the VSX registers to the accumulator) after loading and unprime
(copy the accumulator back to the VSX registers) before storing.

This patch also adds the UACC register class that is necessary to implement the
loads and stores. This class represents accumulator in their unprimed form and
allow the distinction between primed and unprimed accumulators to avoid invalid
copies of the VSX registers associated with primed accumulators.

Differential Revision: https://reviews.llvm.org/D84968
The file was modifiedclang/lib/Basic/Targets/PPC.h
The file was modifiedclang/test/CodeGen/target-data.c
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.h
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetMachine.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was addedllvm/test/CodeGen/PowerPC/mma-acc-memops.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCRegisterInfo.td