summaryrefslogtreecommitdiff
path: root/lib/Bitcode/Reader
diff options
context:
space:
mode:
authorNick Lewycky <nicholas@mxc.ca>2010-01-21 07:03:21 +0000
committerNick Lewycky <nicholas@mxc.ca>2010-01-21 07:03:21 +0000
commit401f3258f6e72cbc3e1f5e17c3976b241feb1c66 (patch)
tree621bde31a1048339d614f39069331c9c700e13fd /lib/Bitcode/Reader
parent1548b863ce316c0b3be81d50d6388147df9aba72 (diff)
downloadllvm-401f3258f6e72cbc3e1f5e17c3976b241feb1c66.tar.gz
llvm-401f3258f6e72cbc3e1f5e17c3976b241feb1c66.tar.bz2
llvm-401f3258f6e72cbc3e1f5e17c3976b241feb1c66.tar.xz
Fix a crasher trying to fold each element in a comparison between two vectors
if one of the vectors didn't have elements (such as undef). Fixes PR 6096. Fix an issue in the constant folder where fcmp (<2 x %ty>, <2 x %ty>) would have <2 x i1> type if constant folding was successful and i1 type if it wasn't. This exposed a related issue in the bitcode reader. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94069 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Bitcode/Reader')
-rw-r--r--lib/Bitcode/Reader/BitcodeReader.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/Bitcode/Reader/BitcodeReader.cpp b/lib/Bitcode/Reader/BitcodeReader.cpp
index aabbc90c8b..2549a5162c 100644
--- a/lib/Bitcode/Reader/BitcodeReader.cpp
+++ b/lib/Bitcode/Reader/BitcodeReader.cpp
@@ -1167,7 +1167,7 @@ bool BitcodeReader::ParseConstants() {
Constant *Op0 = ValueList.getConstantFwdRef(Record[1], OpTy);
Constant *Op1 = ValueList.getConstantFwdRef(Record[2], OpTy);
- if (OpTy->isFloatingPoint())
+ if (OpTy->isFPOrFPVector())
V = ConstantExpr::getFCmp(Record[3], Op0, Op1);
else
V = ConstantExpr::getICmp(Record[3], Op0, Op1);