aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNate Begeman <natebegeman@mac.com>2008-05-12 20:11:05 +0000
committerNate Begeman <natebegeman@mac.com>2008-05-12 20:11:05 +0000
commit9b228f53540fb039be8f7789bcf0a55def3401aa (patch)
tree5b6c5134dbdd5e7b973e35ce602c0ba43bc1f86a
parentd0bd4d1d82e7fe2b2167678846ff216266769306 (diff)
downloadexternal_llvm-9b228f53540fb039be8f7789bcf0a55def3401aa.zip
external_llvm-9b228f53540fb039be8f7789bcf0a55def3401aa.tar.gz
external_llvm-9b228f53540fb039be8f7789bcf0a55def3401aa.tar.bz2
Pointer comparisons should be handled by icmp, not vicmp :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50994 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/Bitcode/Reader/BitcodeReader.cpp2
-rw-r--r--lib/VMCore/Instructions.cpp4
2 files changed, 3 insertions, 3 deletions
diff --git a/lib/Bitcode/Reader/BitcodeReader.cpp b/lib/Bitcode/Reader/BitcodeReader.cpp
index 2ca7a00..d9936ef 100644
--- a/lib/Bitcode/Reader/BitcodeReader.cpp
+++ b/lib/Bitcode/Reader/BitcodeReader.cpp
@@ -1359,7 +1359,7 @@ bool BitcodeReader::ParseFunctionBody(Function *F) {
OpNum+1 != Record.size())
return Error("Invalid CMP record");
- if (LHS->getType()->isInteger())
+ if (LHS->getType()->isInteger() || isa<PointerType>(LHS->getType()))
I = new ICmpInst((ICmpInst::Predicate)Record[OpNum], LHS, RHS);
else if (LHS->getType()->isFloatingPoint())
I = new FCmpInst((FCmpInst::Predicate)Record[OpNum], LHS, RHS);
diff --git a/lib/VMCore/Instructions.cpp b/lib/VMCore/Instructions.cpp
index 7650ce4..d34aa59 100644
--- a/lib/VMCore/Instructions.cpp
+++ b/lib/VMCore/Instructions.cpp
@@ -2335,7 +2335,7 @@ BitCastInst::BitCastInst(
CmpInst::CmpInst(const Type *ty, OtherOps op, unsigned short predicate,
Value *LHS, Value *RHS, const std::string &Name,
Instruction *InsertBefore)
- : Instruction(Type::Int1Ty, op,
+ : Instruction(ty, op,
OperandTraits<CmpInst>::op_begin(this),
OperandTraits<CmpInst>::operands(this),
InsertBefore) {
@@ -2348,7 +2348,7 @@ CmpInst::CmpInst(const Type *ty, OtherOps op, unsigned short predicate,
CmpInst::CmpInst(const Type *ty, OtherOps op, unsigned short predicate,
Value *LHS, Value *RHS, const std::string &Name,
BasicBlock *InsertAtEnd)
- : Instruction(Type::Int1Ty, op,
+ : Instruction(ty, op,
OperandTraits<CmpInst>::op_begin(this),
OperandTraits<CmpInst>::operands(this),
InsertAtEnd) {