OSDN Git Service

Fixed GEP visitor in the InstCombine pass.
authorElena Demikhovsky <elena.demikhovsky@intel.com>
Sun, 15 Nov 2015 08:19:35 +0000 (08:19 +0000)
committerElena Demikhovsky <elena.demikhovsky@intel.com>
Sun, 15 Nov 2015 08:19:35 +0000 (08:19 +0000)
commitf79c5ce90bae0f60ffa44491a6eccf5af18deb60
tree47f73ca44f2bc2258780db264a2540b4afaa1482
parent42aedb294949876394da4a517b457f706bb90011
Fixed GEP visitor in the InstCombine pass.
The current implementation of GEP visitor in InstCombine fails with assertion on Vector GEP with mix of scalar and vector types, like this:

getelementptr double, double* %a, <8 x i32> %i
(It fails to create a "sext" from <8 x i32> to <8 x i64>)

I fixed it and added some tests.

Differential Revision: http://reviews.llvm.org/D14485

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253162 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/InstCombine/InstructionCombining.cpp
test/Transforms/InstCombine/vector_gep2.ll