reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
2493 Assert(CBI.isInlineAsm(), "Callbr is currently only used for asm-goto!", 2494 &CBI); 2495 Assert(CBI.getType()->isVoidTy(), "Callbr return value is not supported!", 2496 &CBI); 2497 for (unsigned i = 0, e = CBI.getNumSuccessors(); i != e; ++i) 2498 Assert(CBI.getSuccessor(i)->getType()->isLabelTy(), 2499 "Callbr successors must all have pointer type!", &CBI); 2500 for (unsigned i = 0, e = CBI.getNumOperands(); i != e; ++i) { 2501 Assert(i >= CBI.getNumArgOperands() || !isa<BasicBlock>(CBI.getOperand(i)), 2501 Assert(i >= CBI.getNumArgOperands() || !isa<BasicBlock>(CBI.getOperand(i)), 2502 "Using an unescaped label as a callbr argument!", &CBI); 2503 if (isa<BasicBlock>(CBI.getOperand(i))) 2505 Assert(CBI.getOperand(i) != CBI.getOperand(j), 2505 Assert(CBI.getOperand(i) != CBI.getOperand(j), 2506 "Duplicate callbr destination!", &CBI); 2510 for (Value *V : CBI.args()) 2513 for (BasicBlock *BB : CBI.getIndirectDests()) 2515 "Indirect label missing from arglist.", &CBI); 2518 visitTerminator(CBI);