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


  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
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.
Reviewers: spatel, lattner, lebedev.ri
Reviewed By: spatel, lebedev.ri
Subscribers: lebedev.ri, hiraditya, uabelho, llvm-commits
Tags: #llvm
Differential Revision:
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
The file was modifiedllvm/test/Transforms/InstCombine/cast.ll