SuccessChanges

Summary

  1. [Remarks][NFC] Move the YAML serializer to its own header
  2. [PowerPC] Remove redundant load immediate instructions Currently PowerPC backend emits code like this: r3 = li 0 std r3, 264(r1) r3 = li 0 std r3, 272(r1) This patch fixes that and other cases where a register already contains a value that is loaded so we will get: r3 = li 0 std r3, 264(r1) std r3, 272(r1) Differential Revision: https://reviews.llvm.org/D64220
  3. gn build: Merge r366832
  4. [X86] In lowerVectorShuffle, instead of creating a new node to canonicalize the shuffle mask by commuting, just commute the mask and swap V1/V2. LegalizeDAG tries to legal the DAG by legalizing nodes before their operands. If we create a new node, we end up legalizing it after its operands. This prevents some of the optimizations that can be done when the operand is a build_vector since the build_vector will have been legalized to something else. Differential Revision: https://reviews.llvm.org/D65132
Revision 366842 by thegameg:
[Remarks][NFC] Move the YAML serializer to its own header
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/include/llvm/Remarks/RemarkSerializer.h (diff)llvm.src/include/llvm/Remarks/RemarkSerializer.h
The file was added/llvm/trunk/include/llvm/Remarks/YAMLRemarkSerializer.hllvm.src/include/llvm/Remarks/YAMLRemarkSerializer.h
The file was modified/llvm/trunk/lib/IR/RemarkStreamer.cpp (diff)llvm.src/lib/IR/RemarkStreamer.cpp
The file was modified/llvm/trunk/lib/Remarks/YAMLRemarkSerializer.cpp (diff)llvm.src/lib/Remarks/YAMLRemarkSerializer.cpp
The file was modified/llvm/trunk/unittests/Remarks/YAMLRemarksSerializerTest.cpp (diff)llvm.src/unittests/Remarks/YAMLRemarksSerializerTest.cpp
Revision 366840 by yi-hong.lyu:
[PowerPC] Remove redundant load immediate instructions

Currently PowerPC backend emits code like this:

  r3 = li 0
  std r3, 264(r1)
  r3 = li 0
  std r3, 272(r1)

This patch fixes that and other cases where a register already contains a value that is loaded so we will get:

  r3 = li 0
  std r3, 264(r1)
  std r3, 272(r1)

Differential Revision: https://reviews.llvm.org/D64220
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/PowerPC/PPCPreEmitPeephole.cpp (diff)llvm.src/lib/Target/PowerPC/PPCPreEmitPeephole.cpp
The file was added/llvm/trunk/test/CodeGen/PowerPC/remove-redundant-load-imm.llllvm.src/test/CodeGen/PowerPC/remove-redundant-load-imm.ll
The file was added/llvm/trunk/test/CodeGen/PowerPC/remove-redundant-load-imm.mirllvm.src/test/CodeGen/PowerPC/remove-redundant-load-imm.mir
Revision 366837 by nico:
gn build: Merge r366832
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/utils/gn/secondary/llvm/unittests/Remarks/BUILD.gn (diff)llvm.src/utils/gn/secondary/llvm/unittests/Remarks/BUILD.gn
Revision 366835 by ctopper:
[X86] In lowerVectorShuffle, instead of creating a new node to canonicalize the shuffle mask by commuting, just commute the mask and swap V1/V2.

LegalizeDAG tries to legal the DAG by legalizing nodes before
their operands.

If we create a new node, we end up legalizing it after its operands.
This prevents some of the optimizations that can be done when the
operand is a build_vector since the build_vector will have been
legalized to something else.

Differential Revision: https://reviews.llvm.org/D65132
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/Target/X86/X86ISelLowering.cpp (diff)llvm.src/lib/Target/X86/X86ISelLowering.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/oddshuffles.ll (diff)llvm.src/test/CodeGen/X86/oddshuffles.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shift-ashr-sub128.ll (diff)llvm.src/test/CodeGen/X86/vector-shift-ashr-sub128.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-shuffle-128-v2.ll (diff)llvm.src/test/CodeGen/X86/vector-shuffle-128-v2.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-zext-widen.ll (diff)llvm.src/test/CodeGen/X86/vector-zext-widen.ll
The file was modified/llvm/trunk/test/CodeGen/X86/vector-zext.ll (diff)llvm.src/test/CodeGen/X86/vector-zext.ll