Lines Matching refs:Instruction

25 Instruction::Instruction(Type *ty, unsigned it, Use *Ops, unsigned NumOps,  in Instruction()  function in Instruction
26 Instruction *InsertBefore) in Instruction()
37 Instruction::Instruction(Type *ty, unsigned it, Use *Ops, unsigned NumOps, in Instruction() function in Instruction
46 Instruction::~Instruction() { in ~Instruction()
67 void Instruction::setParent(BasicBlock *P) { in setParent()
71 const Module *Instruction::getModule() const { in getModule()
75 const Function *Instruction::getFunction() const { in getFunction()
79 void Instruction::removeFromParent() { in removeFromParent()
86 void Instruction::handleMarkerRemoval() { in handleMarkerRemoval()
93 BasicBlock::iterator Instruction::eraseFromParent() { in eraseFromParent()
98 void Instruction::insertBefore(Instruction *InsertPos) { in insertBefore()
104 void Instruction::insertBefore(BasicBlock::iterator InsertPos) { in insertBefore()
110 void Instruction::insertAfter(Instruction *InsertPos) { in insertAfter()
121 BasicBlock::iterator Instruction::insertInto(BasicBlock *ParentBB, in insertInto()
132 void Instruction::insertBefore(BasicBlock &BB, in insertBefore()
162 void Instruction::moveBefore(Instruction *MovePos) { in moveBefore()
166 void Instruction::moveBeforePreserving(Instruction *MovePos) { in moveBeforePreserving()
170 void Instruction::moveAfter(Instruction *MovePos) { in moveAfter()
178 void Instruction::moveAfterPreserving(Instruction *MovePos) { in moveAfterPreserving()
186 void Instruction::moveBefore(BasicBlock &BB, InstListType::iterator I) { in moveBefore()
190 void Instruction::moveBeforePreserving(BasicBlock &BB, in moveBeforePreserving()
195 void Instruction::moveBeforeImpl(BasicBlock &BB, InstListType::iterator I, in moveBeforeImpl()
230 Instruction::cloneDebugInfoFrom(const Instruction *From, in cloneDebugInfoFrom()
247 Instruction::getDbgValueRange() const { in getDbgValueRange()
258 std::optional<DPValue::self_iterator> Instruction::getDbgReinsertionPosition() { in getDbgReinsertionPosition()
271 bool Instruction::hasDbgValues() const { return !getDbgValueRange().empty(); } in hasDbgValues()
273 void Instruction::dropDbgValues() { in dropDbgValues()
278 void Instruction::dropOneDbgValue(DPValue *DPV) { in dropOneDbgValue()
282 bool Instruction::comesBefore(const Instruction *Other) const { in comesBefore()
291 std::optional<BasicBlock::iterator> Instruction::getInsertionPointAfterDef() { in getInsertionPointAfterDef()
322 bool Instruction::isOnlyUserOfAnyOperand() { in isOnlyUserOfAnyOperand()
326 void Instruction::setHasNoUnsignedWrap(bool b) { in setHasNoUnsignedWrap()
330 void Instruction::setHasNoSignedWrap(bool b) { in setHasNoSignedWrap()
334 void Instruction::setIsExact(bool b) { in setIsExact()
338 void Instruction::setNonNeg(bool b) { in setNonNeg()
344 bool Instruction::hasNoUnsignedWrap() const { in hasNoUnsignedWrap()
348 bool Instruction::hasNoSignedWrap() const { in hasNoSignedWrap()
352 bool Instruction::hasNonNeg() const { in hasNonNeg()
357 bool Instruction::hasPoisonGeneratingFlags() const { in hasPoisonGeneratingFlags()
361 void Instruction::dropPoisonGeneratingFlags() { in dropPoisonGeneratingFlags()
363 case Instruction::Add: in dropPoisonGeneratingFlags()
364 case Instruction::Sub: in dropPoisonGeneratingFlags()
365 case Instruction::Mul: in dropPoisonGeneratingFlags()
366 case Instruction::Shl: in dropPoisonGeneratingFlags()
371 case Instruction::UDiv: in dropPoisonGeneratingFlags()
372 case Instruction::SDiv: in dropPoisonGeneratingFlags()
373 case Instruction::AShr: in dropPoisonGeneratingFlags()
374 case Instruction::LShr: in dropPoisonGeneratingFlags()
378 case Instruction::Or: in dropPoisonGeneratingFlags()
382 case Instruction::GetElementPtr: in dropPoisonGeneratingFlags()
386 case Instruction::ZExt: in dropPoisonGeneratingFlags()
399 bool Instruction::hasPoisonGeneratingMetadata() const { in hasPoisonGeneratingMetadata()
405 void Instruction::dropPoisonGeneratingMetadata() { in dropPoisonGeneratingMetadata()
411 void Instruction::dropUBImplyingAttrsAndUnknownMetadata( in dropUBImplyingAttrsAndUnknownMetadata()
430 void Instruction::dropUBImplyingAttrsAndMetadata() { in dropUBImplyingAttrsAndMetadata()
440 bool Instruction::isExact() const { in isExact()
444 void Instruction::setFast(bool B) { in setFast()
449 void Instruction::setHasAllowReassoc(bool B) { in setHasAllowReassoc()
454 void Instruction::setHasNoNaNs(bool B) { in setHasNoNaNs()
459 void Instruction::setHasNoInfs(bool B) { in setHasNoInfs()
464 void Instruction::setHasNoSignedZeros(bool B) { in setHasNoSignedZeros()
469 void Instruction::setHasAllowReciprocal(bool B) { in setHasAllowReciprocal()
474 void Instruction::setHasAllowContract(bool B) { in setHasAllowContract()
479 void Instruction::setHasApproxFunc(bool B) { in setHasApproxFunc()
484 void Instruction::setFastMathFlags(FastMathFlags FMF) { in setFastMathFlags()
489 void Instruction::copyFastMathFlags(FastMathFlags FMF) { in copyFastMathFlags()
494 bool Instruction::isFast() const { in isFast()
499 bool Instruction::hasAllowReassoc() const { in hasAllowReassoc()
504 bool Instruction::hasNoNaNs() const { in hasNoNaNs()
509 bool Instruction::hasNoInfs() const { in hasNoInfs()
514 bool Instruction::hasNoSignedZeros() const { in hasNoSignedZeros()
519 bool Instruction::hasAllowReciprocal() const { in hasAllowReciprocal()
524 bool Instruction::hasAllowContract() const { in hasAllowContract()
529 bool Instruction::hasApproxFunc() const { in hasApproxFunc()
534 FastMathFlags Instruction::getFastMathFlags() const { in getFastMathFlags()
539 void Instruction::copyFastMathFlags(const Instruction *I) { in copyFastMathFlags()
543 void Instruction::copyIRFlags(const Value *V, bool IncludeWrapFlags) { in copyIRFlags()
575 void Instruction::andIRFlags(const Value *V) { in andIRFlags()
608 const char *Instruction::getOpcodeName(unsigned OpCode) { in getOpcodeName()
695 bool Instruction::hasSameSpecialState(const Instruction *I2, in hasSameSpecialState()
763 bool Instruction::isIdenticalTo(const Instruction *I) const { in isIdenticalTo()
768 bool Instruction::isIdenticalToWhenDefined(const Instruction *I) const { in isIdenticalToWhenDefined()
795 bool Instruction::isSameOperationAs(const Instruction *I, in isSameOperationAs()
819 bool Instruction::isUsedOutsideOfBlock(const BasicBlock *BB) const { in isUsedOutsideOfBlock()
823 const Instruction *I = cast<Instruction>(U.getUser()); in isUsedOutsideOfBlock()
837 bool Instruction::mayReadFromMemory() const { in mayReadFromMemory()
840 case Instruction::VAArg: in mayReadFromMemory()
841 case Instruction::Load: in mayReadFromMemory()
842 case Instruction::Fence: // FIXME: refine definition of mayReadFromMemory in mayReadFromMemory()
843 case Instruction::AtomicCmpXchg: in mayReadFromMemory()
844 case Instruction::AtomicRMW: in mayReadFromMemory()
845 case Instruction::CatchPad: in mayReadFromMemory()
846 case Instruction::CatchRet: in mayReadFromMemory()
848 case Instruction::Call: in mayReadFromMemory()
849 case Instruction::Invoke: in mayReadFromMemory()
850 case Instruction::CallBr: in mayReadFromMemory()
852 case Instruction::Store: in mayReadFromMemory()
857 bool Instruction::mayWriteToMemory() const { in mayWriteToMemory()
860 case Instruction::Fence: // FIXME: refine definition of mayWriteToMemory in mayWriteToMemory()
861 case Instruction::Store: in mayWriteToMemory()
862 case Instruction::VAArg: in mayWriteToMemory()
863 case Instruction::AtomicCmpXchg: in mayWriteToMemory()
864 case Instruction::AtomicRMW: in mayWriteToMemory()
865 case Instruction::CatchPad: in mayWriteToMemory()
866 case Instruction::CatchRet: in mayWriteToMemory()
868 case Instruction::Call: in mayWriteToMemory()
869 case Instruction::Invoke: in mayWriteToMemory()
870 case Instruction::CallBr: in mayWriteToMemory()
872 case Instruction::Load: in mayWriteToMemory()
877 bool Instruction::isAtomic() const { in isAtomic()
881 case Instruction::AtomicCmpXchg: in isAtomic()
882 case Instruction::AtomicRMW: in isAtomic()
883 case Instruction::Fence: in isAtomic()
885 case Instruction::Load: in isAtomic()
887 case Instruction::Store: in isAtomic()
892 bool Instruction::hasAtomicLoad() const { in hasAtomicLoad()
897 case Instruction::AtomicCmpXchg: in hasAtomicLoad()
898 case Instruction::AtomicRMW: in hasAtomicLoad()
899 case Instruction::Load: in hasAtomicLoad()
904 bool Instruction::hasAtomicStore() const { in hasAtomicStore()
909 case Instruction::AtomicCmpXchg: in hasAtomicStore()
910 case Instruction::AtomicRMW: in hasAtomicStore()
911 case Instruction::Store: in hasAtomicStore()
916 bool Instruction::isVolatile() const { in isVolatile()
920 case Instruction::AtomicRMW: in isVolatile()
922 case Instruction::Store: in isVolatile()
924 case Instruction::Load: in isVolatile()
926 case Instruction::AtomicCmpXchg: in isVolatile()
928 case Instruction::Call: in isVolatile()
929 case Instruction::Invoke: in isVolatile()
946 Type *Instruction::getAccessType() const { in getAccessType()
948 case Instruction::Store: in getAccessType()
950 case Instruction::Load: in getAccessType()
951 case Instruction::AtomicRMW: in getAccessType()
953 case Instruction::AtomicCmpXchg: in getAccessType()
955 case Instruction::Call: in getAccessType()
956 case Instruction::Invoke: in getAccessType()
1004 bool Instruction::mayThrow(bool IncludePhaseOneUnwind) const { in mayThrow()
1006 case Instruction::Call: in mayThrow()
1008 case Instruction::CleanupRet: in mayThrow()
1010 case Instruction::CatchSwitch: in mayThrow()
1012 case Instruction::Resume: in mayThrow()
1014 case Instruction::Invoke: { in mayThrow()
1018 Instruction *Pad = UnwindDest->getFirstNonPHI(); in mayThrow()
1023 case Instruction::CleanupPad: in mayThrow()
1031 bool Instruction::mayHaveSideEffects() const { in mayHaveSideEffects()
1035 bool Instruction::isSafeToRemove() const { in isSafeToRemove()
1040 bool Instruction::willReturn() const { in willReturn()
1050 bool Instruction::isLifetimeStartOrEnd() const { in isLifetimeStartOrEnd()
1058 bool Instruction::isLaunderOrStripInvariantGroup() const { in isLaunderOrStripInvariantGroup()
1067 bool Instruction::isDebugOrPseudoInst() const { in isDebugOrPseudoInst()
1071 const Instruction *
1072 Instruction::getNextNonDebugInstruction(bool SkipPseudoOp) const { in getNextNonDebugInstruction()
1073 for (const Instruction *I = getNextNode(); I; I = I->getNextNode()) in getNextNonDebugInstruction()
1079 const Instruction *
1080 Instruction::getPrevNonDebugInstruction(bool SkipPseudoOp) const { in getPrevNonDebugInstruction()
1081 for (const Instruction *I = getPrevNode(); I; I = I->getPrevNode()) in getPrevNonDebugInstruction()
1087 const DebugLoc &Instruction::getStableDebugLoc() const { in getStableDebugLoc()
1089 if (const Instruction *Next = getNextNonDebugInstruction()) in getStableDebugLoc()
1094 bool Instruction::isAssociative() const { in isAssociative()
1111 bool Instruction::isCommutative() const { in isCommutative()
1118 unsigned Instruction::getNumSuccessors() const { in getNumSuccessors()
1121 case Instruction::OPC: \ in getNumSuccessors()
1130 BasicBlock *Instruction::getSuccessor(unsigned idx) const { in getSuccessor()
1133 case Instruction::OPC: \ in getSuccessor()
1142 void Instruction::setSuccessor(unsigned idx, BasicBlock *B) { in setSuccessor()
1145 case Instruction::OPC: \ in setSuccessor()
1154 void Instruction::replaceSuccessorWith(BasicBlock *OldBB, BasicBlock *NewBB) { in replaceSuccessorWith()
1155 for (unsigned Idx = 0, NumSuccessors = Instruction::getNumSuccessors(); in replaceSuccessorWith()
1161 Instruction *Instruction::cloneImpl() const { in cloneImpl()
1165 void Instruction::swapProfMetadata() { in swapProfMetadata()
1177 void Instruction::copyMetadata(const Instruction &SrcInst, in copyMetadata()
1198 Instruction *Instruction::clone() const { in clone()
1199 Instruction *New = nullptr; in clone()
1204 case Instruction::opc: \ in clone()