Lines Matching refs:Instruction
23 Instruction::Instruction(Type *ty, unsigned it, Use *Ops, unsigned NumOps, in Instruction() function in Instruction
24 Instruction *InsertBefore) in Instruction()
35 Instruction::Instruction(Type *ty, unsigned it, Use *Ops, unsigned NumOps, in Instruction() function in Instruction
44 Instruction::~Instruction() { in ~Instruction()
61 void Instruction::setParent(BasicBlock *P) { in setParent()
65 const Module *Instruction::getModule() const { in getModule()
69 const Function *Instruction::getFunction() const { in getFunction()
73 void Instruction::removeFromParent() { in removeFromParent()
77 iplist<Instruction>::iterator Instruction::eraseFromParent() { in eraseFromParent()
83 void Instruction::insertBefore(Instruction *InsertPos) { in insertBefore()
89 void Instruction::insertAfter(Instruction *InsertPos) { in insertAfter()
96 void Instruction::moveBefore(Instruction *MovePos) { in moveBefore()
100 void Instruction::moveAfter(Instruction *MovePos) { in moveAfter()
104 void Instruction::moveBefore(BasicBlock &BB, in moveBefore()
105 SymbolTableList<Instruction>::iterator I) { in moveBefore()
110 bool Instruction::comesBefore(const Instruction *Other) const { in comesBefore()
119 bool Instruction::isOnlyUserOfAnyOperand() { in isOnlyUserOfAnyOperand()
123 void Instruction::setHasNoUnsignedWrap(bool b) { in setHasNoUnsignedWrap()
127 void Instruction::setHasNoSignedWrap(bool b) { in setHasNoSignedWrap()
131 void Instruction::setIsExact(bool b) { in setIsExact()
135 bool Instruction::hasNoUnsignedWrap() const { in hasNoUnsignedWrap()
139 bool Instruction::hasNoSignedWrap() const { in hasNoSignedWrap()
143 bool Instruction::hasPoisonGeneratingFlags() const { in hasPoisonGeneratingFlags()
147 void Instruction::dropPoisonGeneratingFlags() { in dropPoisonGeneratingFlags()
149 case Instruction::Add: in dropPoisonGeneratingFlags()
150 case Instruction::Sub: in dropPoisonGeneratingFlags()
151 case Instruction::Mul: in dropPoisonGeneratingFlags()
152 case Instruction::Shl: in dropPoisonGeneratingFlags()
157 case Instruction::UDiv: in dropPoisonGeneratingFlags()
158 case Instruction::SDiv: in dropPoisonGeneratingFlags()
159 case Instruction::AShr: in dropPoisonGeneratingFlags()
160 case Instruction::LShr: in dropPoisonGeneratingFlags()
164 case Instruction::GetElementPtr: in dropPoisonGeneratingFlags()
176 void Instruction::dropUndefImplyingAttrsAndUnknownMetadata( in dropUndefImplyingAttrsAndUnknownMetadata()
195 bool Instruction::isExact() const { in isExact()
199 void Instruction::setFast(bool B) { in setFast()
204 void Instruction::setHasAllowReassoc(bool B) { in setHasAllowReassoc()
209 void Instruction::setHasNoNaNs(bool B) { in setHasNoNaNs()
214 void Instruction::setHasNoInfs(bool B) { in setHasNoInfs()
219 void Instruction::setHasNoSignedZeros(bool B) { in setHasNoSignedZeros()
224 void Instruction::setHasAllowReciprocal(bool B) { in setHasAllowReciprocal()
229 void Instruction::setHasAllowContract(bool B) { in setHasAllowContract()
234 void Instruction::setHasApproxFunc(bool B) { in setHasApproxFunc()
239 void Instruction::setFastMathFlags(FastMathFlags FMF) { in setFastMathFlags()
244 void Instruction::copyFastMathFlags(FastMathFlags FMF) { in copyFastMathFlags()
249 bool Instruction::isFast() const { in isFast()
254 bool Instruction::hasAllowReassoc() const { in hasAllowReassoc()
259 bool Instruction::hasNoNaNs() const { in hasNoNaNs()
264 bool Instruction::hasNoInfs() const { in hasNoInfs()
269 bool Instruction::hasNoSignedZeros() const { in hasNoSignedZeros()
274 bool Instruction::hasAllowReciprocal() const { in hasAllowReciprocal()
279 bool Instruction::hasAllowContract() const { in hasAllowContract()
284 bool Instruction::hasApproxFunc() const { in hasApproxFunc()
289 FastMathFlags Instruction::getFastMathFlags() const { in getFastMathFlags()
294 void Instruction::copyFastMathFlags(const Instruction *I) { in copyFastMathFlags()
298 void Instruction::copyIRFlags(const Value *V, bool IncludeWrapFlags) { in copyIRFlags()
322 void Instruction::andIRFlags(const Value *V) { in andIRFlags()
347 const char *Instruction::getOpcodeName(unsigned OpCode) { in getOpcodeName()
435 static bool haveSameSpecialState(const Instruction *I1, const Instruction *I2, in haveSameSpecialState()
502 bool Instruction::isIdenticalTo(const Instruction *I) const { in isIdenticalTo()
507 bool Instruction::isIdenticalToWhenDefined(const Instruction *I) const { in isIdenticalToWhenDefined()
534 bool Instruction::isSameOperationAs(const Instruction *I, in isSameOperationAs()
558 bool Instruction::isUsedOutsideOfBlock(const BasicBlock *BB) const { in isUsedOutsideOfBlock()
562 const Instruction *I = cast<Instruction>(U.getUser()); in isUsedOutsideOfBlock()
576 bool Instruction::mayReadFromMemory() const { in mayReadFromMemory()
579 case Instruction::VAArg: in mayReadFromMemory()
580 case Instruction::Load: in mayReadFromMemory()
581 case Instruction::Fence: // FIXME: refine definition of mayReadFromMemory in mayReadFromMemory()
582 case Instruction::AtomicCmpXchg: in mayReadFromMemory()
583 case Instruction::AtomicRMW: in mayReadFromMemory()
584 case Instruction::CatchPad: in mayReadFromMemory()
585 case Instruction::CatchRet: in mayReadFromMemory()
587 case Instruction::Call: in mayReadFromMemory()
588 case Instruction::Invoke: in mayReadFromMemory()
589 case Instruction::CallBr: in mayReadFromMemory()
591 case Instruction::Store: in mayReadFromMemory()
596 bool Instruction::mayWriteToMemory() const { in mayWriteToMemory()
599 case Instruction::Fence: // FIXME: refine definition of mayWriteToMemory in mayWriteToMemory()
600 case Instruction::Store: in mayWriteToMemory()
601 case Instruction::VAArg: in mayWriteToMemory()
602 case Instruction::AtomicCmpXchg: in mayWriteToMemory()
603 case Instruction::AtomicRMW: in mayWriteToMemory()
604 case Instruction::CatchPad: in mayWriteToMemory()
605 case Instruction::CatchRet: in mayWriteToMemory()
607 case Instruction::Call: in mayWriteToMemory()
608 case Instruction::Invoke: in mayWriteToMemory()
609 case Instruction::CallBr: in mayWriteToMemory()
611 case Instruction::Load: in mayWriteToMemory()
616 bool Instruction::isAtomic() const { in isAtomic()
620 case Instruction::AtomicCmpXchg: in isAtomic()
621 case Instruction::AtomicRMW: in isAtomic()
622 case Instruction::Fence: in isAtomic()
624 case Instruction::Load: in isAtomic()
626 case Instruction::Store: in isAtomic()
631 bool Instruction::hasAtomicLoad() const { in hasAtomicLoad()
636 case Instruction::AtomicCmpXchg: in hasAtomicLoad()
637 case Instruction::AtomicRMW: in hasAtomicLoad()
638 case Instruction::Load: in hasAtomicLoad()
643 bool Instruction::hasAtomicStore() const { in hasAtomicStore()
648 case Instruction::AtomicCmpXchg: in hasAtomicStore()
649 case Instruction::AtomicRMW: in hasAtomicStore()
650 case Instruction::Store: in hasAtomicStore()
655 bool Instruction::isVolatile() const { in isVolatile()
659 case Instruction::AtomicRMW: in isVolatile()
661 case Instruction::Store: in isVolatile()
663 case Instruction::Load: in isVolatile()
665 case Instruction::AtomicCmpXchg: in isVolatile()
667 case Instruction::Call: in isVolatile()
668 case Instruction::Invoke: in isVolatile()
685 bool Instruction::mayThrow() const { in mayThrow()
695 bool Instruction::mayHaveSideEffects() const { in mayHaveSideEffects()
699 bool Instruction::isSafeToRemove() const { in isSafeToRemove()
704 bool Instruction::willReturn() const { in willReturn()
718 bool Instruction::isLifetimeStartOrEnd() const { in isLifetimeStartOrEnd()
726 bool Instruction::isLaunderOrStripInvariantGroup() const { in isLaunderOrStripInvariantGroup()
735 bool Instruction::isDebugOrPseudoInst() const { in isDebugOrPseudoInst()
739 const Instruction *
740 Instruction::getNextNonDebugInstruction(bool SkipPseudoOp) const { in getNextNonDebugInstruction()
741 for (const Instruction *I = getNextNode(); I; I = I->getNextNode()) in getNextNonDebugInstruction()
747 const Instruction *
748 Instruction::getPrevNonDebugInstruction(bool SkipPseudoOp) const { in getPrevNonDebugInstruction()
749 for (const Instruction *I = getPrevNode(); I; I = I->getPrevNode()) in getPrevNonDebugInstruction()
755 bool Instruction::isAssociative() const { in isAssociative()
770 bool Instruction::isCommutative() const { in isCommutative()
777 unsigned Instruction::getNumSuccessors() const { in getNumSuccessors()
780 case Instruction::OPC: \ in getNumSuccessors()
789 BasicBlock *Instruction::getSuccessor(unsigned idx) const { in getSuccessor()
792 case Instruction::OPC: \ in getSuccessor()
801 void Instruction::setSuccessor(unsigned idx, BasicBlock *B) { in setSuccessor()
804 case Instruction::OPC: \ in setSuccessor()
813 void Instruction::replaceSuccessorWith(BasicBlock *OldBB, BasicBlock *NewBB) { in replaceSuccessorWith()
814 for (unsigned Idx = 0, NumSuccessors = Instruction::getNumSuccessors(); in replaceSuccessorWith()
820 Instruction *Instruction::cloneImpl() const { in cloneImpl()
824 void Instruction::swapProfMetadata() { in swapProfMetadata()
841 void Instruction::copyMetadata(const Instruction &SrcInst, in copyMetadata()
862 Instruction *Instruction::clone() const { in clone()
863 Instruction *New = nullptr; in clone()
868 case Instruction::opc: \ in clone()