Home | History | Annotate | Download | only in IR

Lines Matching full:instruction

35 //  * It is illegal to have a ret instruction that returns a value that does not
38 // * A landing pad is defined by a landingpad instruction, and can be jumped to
39 // only by the unwind edge of an invoke instruction.
40 // * A landingpad instruction must be the first non-PHI instruction in the
139 /// dominance checks for the case when an instruction has an operand that is
140 /// an instruction in the same block.
141 SmallPtrSet<Instruction*, 16> InstsInThisBlock;
268 void visit(Instruction &I);
295 void verifyDominatesUse(Instruction &I, unsigned i);
296 void visitInstruction(Instruction &I);
303 void visitUserOp1(Instruction &I);
304 void visitUserOp2(Instruction &I) { visitUserOp1(I); }
335 if (isa<Instruction>(V)) {
401 void Verifier::visit(Instruction &I) {
544 (CE->getOpcode() == Instruction::BitCast ||
545 CE->getOpcode() == Instruction::GetElementPtr) &&
550 if (CE->getOpcode() == Instruction::BitCast) {
599 // If this was an instruction, bb, or argument, verify that it is in the
602 if (Instruction *I = dyn_cast<Instruction>(Op))
941 if (CE->getOpcode() == Instruction::BitCast) {
1062 Assert1(0, "Invalid user of intrinsic instruction!", U);
1152 // Check to make sure that all of the constants in the switch instruction
1194 "Invalid operands for select instruction!", &SI);
1197 "Select values must have same type as select instruction!", &SI);
1204 void Verifier::visitUserOp1(Instruction &I) {
1442 // This can be tested by checking whether the instruction before this is
1444 // then there is some other instruction before a PHI.
1463 Instruction *I = CS.getInstruction();
1562 // Verify that there is a landingpad instruction as the first non-PHI
1563 // instruction of the 'unwind' destination.
1565 "The unwind destination does not have a landingpad instruction!",&II);
1580 case Instruction::Add:
1581 case Instruction::Sub:
1582 case Instruction::Mul:
1583 case Instruction::SDiv:
1584 case Instruction::UDiv:
1585 case Instruction::SRem:
1586 case Instruction::URem:
1595 case Instruction::FAdd:
1596 case Instruction::FSub:
1597 case Instruction::FMul:
1598 case Instruction::FDiv:
1599 case Instruction::FRem:
1608 case Instruction::And:
1609 case Instruction::Or:
1610 case Instruction::Xor:
1617 case Instruction::Shl:
1618 case Instruction::LShr:
1619 case Instruction::AShr:
1637 "Both operands to ICmp instruction are not of the same type!", &IC);
1640 "Invalid operand types for ICmp instruction", &IC);
1644 "Invalid predicate in ICmp instruction!", &IC);
1654 "Both operands to FCmp instruction are not of the same type!", &FC);
1657 "Invalid operand types for FCmp instruction", &FC);
1661 "Invalid predicate in FCmp instruction!", &FC);
1833 "Allocation instruction pointer not in the generic address space!",
1920 // The landingpad instruction is ill-formed if it doesn't have any clauses and
1925 // The landingpad instruction defines its parent as a landing pad block. The
1934 // The landingpad instruction must be the first non-PHI instruction in the
1937 "LandingPadInst not the first non-PHI instruction in the block.",
1966 void Verifier::verifyDominatesUse(Instruction &I, unsigned i) {
1967 Instruction *Op = cast<Instruction>(I.getOperand(i));
1978 "Instruction does not dominate all uses!", Op, &I);
1981 /// verifyInstruction - Verify that an instruction is well formed.
1983 void Verifier::visitInstruction(Instruction &I) {
1985 Assert1(BB, "Instruction not embedded in basic block!", &I);
1996 "Instruction has a name, but provides a void value!", &I);
1998 // Check that the return value of the instruction is either void or a legal
2002 "Instruction returns a non-scalar type!", &I);
2004 // Check that the instruction doesn't produce metadata. Calls are already
2010 // Check that all uses of the instruction, if they are instructions
2012 // instruction, it is an error!
2015 if (Instruction *Used = dyn_cast<Instruction>(*UI))
2016 Assert2(Used->getParent() != 0, "Instruction referencing instruction not"
2019 CheckFailed("Use of instruction is not an instruction!", *UI);
2025 Assert1(I.getOperand(i) != 0, "Instruction has null operand!", &I);
2030 Assert1(0, "Instruction operands must be first-class values!", &I);
2052 } else if (isa<Instruction>(I.getOperand(i))) {