SuccessChanges

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. [InstCombine] Fix big-endian miscompile of (bitcast (zext/trunc (details)
Commit a9d6b0e5444741d08ff1df7cf71d1559e7fefc1f by bjorn.a.pettersson
[InstCombine] Fix big-endian miscompile of (bitcast (zext/trunc
(bitcast)))
Summary: optimizeVectorResize is rewriting patterns like:
%1 = bitcast vector %src to integer
%2 = trunc/zext %1
%dst = bitcast %2 to vector
Since bitcasting between integer an vector types gives different integer
values depending on endianness, we need to take endianness into account.
As it happens the old implementation only produced the correct result
for little endian targets.
Fixes: https://bugs.llvm.org/show_bug.cgi?id=44178
Reviewers: spatel, lattner, lebedev.ri
Reviewed By: spatel, lebedev.ri
Subscribers: lebedev.ri, hiraditya, uabelho, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70844
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
The file was modifiedllvm/test/Transforms/InstCombine/cast.ll