SuccessChanges

Summary

  1. YAMLTraits.h - fix uninitialized variable warning. NFCI. (details)
  2. raw_ostream - fix static analyzer warnings. NFCI.  - uninitialized (details)
  3. [PowerPC] Remove redundant CRSET/CRUNSET in custom lowering of known CR (details)
  4. [CostModel] Fixed isExtractSubvectorMask for undef index off end (details)
Commit c8f0bb40214c5671e90b91e39c3857357a6ca918 by llvm-dev
YAMLTraits.h - fix uninitialized variable warning. NFCI.
The file was modifiedllvm/include/llvm/Support/YAMLTraits.h
Commit 9ee76ab37f1efa91432ec4efcba05819ccaeb2b1 by llvm-dev
raw_ostream - fix static analyzer warnings. NFCI.  - uninitialized
variables  - make BufferKind a scoped enum class
The file was modifiedllvm/include/llvm/Support/raw_ostream.h
The file was modifiedllvm/lib/Support/raw_ostream.cpp
Commit a3db9c08ebdf1f39ed89f4a7afa09fc153cf98c5 by yi-hong.lyu
[PowerPC] Remove redundant CRSET/CRUNSET in custom lowering of known CR
bit spills
We lower known CR bit spills (CRSET/CRUNSET) to load and spill the known
value but forgot to remove the redundant spills.
e.g., This sequence was used to spill a CRUNSET:
   crclr   4*cr5+lt
   mfocrf  r3,4
   rlwinm  r3,r3,20,0,0
   stw     r3,132(r1)
Custom lowering of known CR bit spills lower it to:
   crxor 4*cr5+lt, 4*cr5+lt, 4*cr5+lt
   li  r3,0
   stw r3,132(r1)
crxor is redundant if there is no use of 4*cr5+lt so we should remove it
Differential revision: https://reviews.llvm.org/D67722
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrInfo.td
The file was modifiedllvm/lib/Target/PowerPC/PPCPreEmitPeephole.cpp
The file was modifiedllvm/test/CodeGen/PowerPC/knowCRBitSpill.ll
The file was modifiedllvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
Commit 0703db39892949ced56590a1ec8586bf20bffdb4 by tpr
[CostModel] Fixed isExtractSubvectorMask for undef index off end
ShuffleVectorInst::isExtractSubvectorMask, introduced in
[CostModel] Add SK_ExtractSubvector handling to
getInstructionThroughput (PR39368)
erroneously thought that
%340 = shufflevector <4 x float> %339, <4 x float> undef, <3 x i32> <i32
2, i32 3, i32 undef>
is a subvector extract, even though it goes off the end of the parent
vector with the undef index. That then caused an assert in
BasicTTIImplBase::getExtractSubvectorOverhead.
This commit fixes that, by not considering the above a subvector
extract.
Differential Revision: https://reviews.llvm.org/D70005
Change-Id: I87b8b00b24bef19ffc9a1b82ef4eca3b8a246eaf
The file was modifiedllvm/lib/IR/Instructions.cpp
The file was modifiedllvm/test/Analysis/CostModel/X86/shuffle-extract_subvector.ll