forked from OSchip/llvm-project
Check in some patches for better assertions
llvm-svn: 18500
This commit is contained in:
parent
a27dd47e7a
commit
8145bd5006
|
@ -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() &&
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
Loading…
Reference in New Issue