Fix PR6503. This turned into a much more interesting and nasty bug. Various
authorChris Lattner <sabre@nondot.org>
Fri, 5 Mar 2010 08:46:26 +0000 (08:46 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 5 Mar 2010 08:46:26 +0000 (08:46 +0000)
commitf34f48c57870cf4eb4d48e23b11e29b95d1950c3
tree9fecd1a9fb8c1a80af885eb1c130568a7a7af330
parent76e70312dbf8fc61ac00e13b00f4996f95f40174
Fix PR6503.  This turned into a much more interesting and nasty bug.  Various
parts of the cmp|cmp and cmp&cmp folding logic wasn't prepared for vectors
(unrelated to the bug but noticed while in the code) and the code was
*definitely* not safe to use by the (cast icmp)|(cast icmp) handling logic
that I added in r95855.  Fix all this up by changing the various routines
to more consistently use IRBuilder and not pass in the I which had the wrong
type.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97801 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/InstCombine/InstCombine.h
lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
lib/Transforms/InstCombine/InstCombineCompares.cpp
test/Transforms/InstCombine/crash.ll