Check in some patches for better assertions

llvm-svn: 18500
This commit is contained in:
Chris Lattner 2004-12-04 21:28:47 +00:00
parent a27dd47e7a
commit 8145bd5006
2 changed files with 4 additions and 0 deletions

View File

@ -691,6 +691,9 @@ int SlotCalculator::getOrCreateSlot(const Value *V) {
int SlotNo = getSlot(V); // Check to see if it's already in!
if (SlotNo != -1) return SlotNo;
if (const GlobalValue *GV = dyn_cast<GlobalValue>(V))
assert(GV->getParent() != 0 && "Global not embedded into a module!");
if (!isa<GlobalValue>(V)) // Initializers for globals are handled explicitly
if (const Constant *C = dyn_cast<Constant>(V)) {
assert(CompactionNodeMap.empty() &&

View File

@ -295,6 +295,7 @@ void BytecodeWriter::outputConstant(const Constant *CPV) {
if (const ConstantExpr *CE = dyn_cast<ConstantExpr>(CPV)) {
// FIXME: Encoding of constant exprs could be much more compact!
assert(CE->getNumOperands() > 0 && "ConstantExpr with 0 operands");
assert(CE->getNumOperands() != 1 || CE->getOpcode() == Instruction::Cast);
output_vbr(1+CE->getNumOperands()); // flags as an expr
output_vbr(CE->getOpcode()); // flags as an expr