Changes in directory llvm/lib/Bytecode/Reader:
Reader.cpp updated: 1.210 -> 1.211 --- Log message: For PR950: http://llvm.org/PR950 : Implement read/write of ICmp and FCmp constant expressions --- Diffs of the changes: (+10 -6) Reader.cpp | 16 ++++++++++------ 1 files changed, 10 insertions(+), 6 deletions(-) Index: llvm/lib/Bytecode/Reader/Reader.cpp diff -u llvm/lib/Bytecode/Reader/Reader.cpp:1.210 llvm/lib/Bytecode/Reader/Reader.cpp:1.211 --- llvm/lib/Bytecode/Reader/Reader.cpp:1.210 Sun Dec 3 11:17:02 2006 +++ llvm/lib/Bytecode/Reader/Reader.cpp Sun Dec 3 23:23:49 2006 @@ -1355,14 +1355,18 @@ return Result; } else if (Opcode == Instruction::ICmp) { if (ArgVec.size() != 2) - error("Invalid ICmp constant expr arguments"); - unsigned short pred = read_vbr_uint(); - return ConstantExpr::getICmp(pred, ArgVec[0], ArgVec[1]); + error("Invalid ICmp constant expr arguments."); + unsigned predicate = read_vbr_uint(); + Constant *Result = ConstantExpr::getICmp(predicate, ArgVec[0], ArgVec[1]); + if (Handler) Handler->handleConstantExpression(Opcode, ArgVec, Result); + return Result; } else if (Opcode == Instruction::FCmp) { if (ArgVec.size() != 2) - error("Invalid FCmp constant expr arguments"); - unsigned short pred = read_vbr_uint(); - return ConstantExpr::getFCmp(pred, ArgVec[0], ArgVec[1]); + error("Invalid FCmp constant expr arguments."); + unsigned predicate = read_vbr_uint(); + Constant *Result = ConstantExpr::getFCmp(predicate, ArgVec[0], ArgVec[1]); + if (Handler) Handler->handleConstantExpression(Opcode, ArgVec, Result); + return Result; } else { // All other 2-operand expressions Constant* Result = ConstantExpr::get(Opcode, ArgVec[0], ArgVec[1]); if (Handler) Handler->handleConstantExpression(Opcode, ArgVec, Result); _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits