Fix a bug where ICmpInst objects instantiated directly with a name would
authorReid Spencer <rspencer@reidspencer.com>
Wed, 11 Apr 2007 13:04:48 +0000 (13:04 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Wed, 11 Apr 2007 13:04:48 +0000 (13:04 +0000)
not retain that name. Not noticed because AsmParser always sets name after
construction. However, llvm2cpp noticed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35903 91177308-0d34-0410-b5e6-96231b3b80d8

lib/VMCore/Instructions.cpp

index f9aa3e7b2d25a9c99267c95238a044707f2b4cdf..f6abd85202cb4369d224e34fa8f9b3f7069b20c3 100644 (file)
@@ -2070,6 +2070,7 @@ CmpInst::CmpInst(OtherOps op, unsigned short predicate, Value *LHS, Value *RHS,
     Ops[0].init(LHS, this);
     Ops[1].init(RHS, this);
   SubclassData = predicate;
+  setName(Name);
   if (op == Instruction::ICmp) {
     assert(predicate >= ICmpInst::FIRST_ICMP_PREDICATE &&
            predicate <= ICmpInst::LAST_ICMP_PREDICATE &&
@@ -2093,7 +2094,6 @@ CmpInst::CmpInst(OtherOps op, unsigned short predicate, Value *LHS, Value *RHS,
   // Check that the operands are the right type
   assert(Op0Ty->isFloatingPoint() &&
          "Invalid operand types for FCmp instruction");
-  setName(Name);
 }
   
 CmpInst::CmpInst(OtherOps op, unsigned short predicate, Value *LHS, Value *RHS,
@@ -2102,6 +2102,7 @@ CmpInst::CmpInst(OtherOps op, unsigned short predicate, Value *LHS, Value *RHS,
   Ops[0].init(LHS, this);
   Ops[1].init(RHS, this);
   SubclassData = predicate;
+  setName(Name);
   if (op == Instruction::ICmp) {
     assert(predicate >= ICmpInst::FIRST_ICMP_PREDICATE &&
            predicate <= ICmpInst::LAST_ICMP_PREDICATE &&
@@ -2126,7 +2127,6 @@ CmpInst::CmpInst(OtherOps op, unsigned short predicate, Value *LHS, Value *RHS,
   // Check that the operands are the right type
   assert(Op0Ty->isFloatingPoint() &&
         "Invalid operand types for FCmp instruction");
-  setName(Name);
 }
 
 CmpInst *