SuccessChanges

Summary

  1. [InstCombine] Skip scalable vectors in combineLoadToOperationType (details)
  2. [AArch64ExpandPseudos] Preserve renamable state when expanding MOVi64 & (details)
Commit 7f1dcc8952e6a1a4ba918159ab86bd787d584930 by diana.picus
[InstCombine] Skip scalable vectors in combineLoadToOperationType
Don't try to canonicalize loads to scalable vector types to loads of
integers.
This removes one assertion when trying to use a TypeSize as a parameter
to DataLayout::isLegalInteger. It does not handle the second part of the
function (which looks at bitcasts).
This patch also contains a NFC fix for Load Analysis, where a variable
initialization that would cause the same assertion is moved closer to
its use. This allows us to run the new test for InstCombine without
having to teach LocationSize to play nicely with scalable vectors.
Differential Revision: https://reviews.llvm.org/D70075
The file was modifiedllvm/lib/Analysis/Loads.cpp
The file was modifiedllvm/test/Transforms/InstCombine/load.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
Commit 636412bf31fc4285d63faeea67e4d71e44e3799c by flo
[AArch64ExpandPseudos] Preserve renamable state when expanding MOVi64 &
co.
If the MOVi operand was renamable, the operands of the expanded
instructions are also renamable.
Reviewers: thegameg, samparker, zatrazz
Reviewed By: thegameg
Differential Revision: https://reviews.llvm.org/D70061
The file was modifiedllvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
The file was addedllvm/test/CodeGen/AArch64/expand-movi-renamable.mir