LLVM: llvm::sandboxir::Instruction Class Reference (original) (raw)
A sandboxir::User with operands, opcode and linked with previous/next instructions in an instruction list. More...
#include "[llvm/SandboxIR/Instruction.h](SandboxIR%5F2Instruction%5F8h%5Fsource.html)"
| Public Member Functions |
|
| virtual unsigned |
getNumOfIRInstrs () const =0 |
|
This is used by BasicBlock::iterator. |
| LLVM_ABI BBIterator |
getIterator () const |
|
\Returns a BasicBlock::iterator for this Instruction. |
| LLVM_ABI Instruction * |
getNextNode () const |
|
\Returns the next sandboxir::Instruction in the block, or nullptr if at the end of the block. |
| LLVM_ABI Instruction * |
getPrevNode () const |
|
\Returns the previous sandboxir::Instruction in the block, or nullptr if at the beginning of the block. |
| Opcode |
getOpcode () const |
|
\Returns this Instruction's opcode. |
| const char * |
getOpcodeName () const |
| const DataLayout & |
getDataLayout () const |
| bool |
isTerminator () const |
| bool |
isUnaryOp () const |
| bool |
isBinaryOp () const |
| bool |
isIntDivRem () const |
| bool |
isShift () const |
| bool |
isCast () const |
| bool |
isFuncletPad () const |
| bool |
isSpecialTerminator () const |
| bool |
isOnlyUserOfAnyOperand () const |
| bool |
isLogicalShift () const |
| bool |
hasMetadata () const |
|
Return true if the instruction has any metadata attached to it. |
| bool |
hasMetadataOtherThanDebugLoc () const |
|
Return true if this instruction has metadata attached to it other than a debug location. |
| bool |
hasMetadata (unsigned KindID) const |
|
Return true if this instruction has the given type of metadata attached. |
| LLVM_ABI void |
removeFromParent () |
|
Detach this from its parent BasicBlock without deleting it. |
| LLVM_ABI void |
eraseFromParent () |
|
Detach this Value from its parent and delete it. |
| LLVM_ABI void |
insertBefore (Instruction *BeforeI) |
|
Insert this detached instruction before BeforeI. |
| LLVM_ABI void |
insertAfter (Instruction *AfterI) |
|
Insert this detached instruction after AfterI. |
| LLVM_ABI void |
insertInto (BasicBlock *BB, const BBIterator &WhereIt) |
|
Insert this detached instruction into BB at WhereIt. |
| LLVM_ABI void |
moveBefore (BasicBlock &BB, const BBIterator &WhereIt) |
|
Move this instruction to WhereIt. |
| void |
moveBefore (Instruction *Before) |
|
Move this instruction before Before. |
| void |
moveAfter (Instruction *After) |
|
Move this instruction after After. |
| bool |
comesBefore (const Instruction *Other) const |
|
Given an instruction Other in the same basic block as this instruction, return true if this instruction comes before Other. |
| LLVM_ABI BasicBlock * |
getParent () const |
|
\Returns the BasicBlock containing this Instruction, or null if it is detached. |
| bool |
hasNoUnsignedWrap () const |
|
Determine whether the no signed wrap flag is set. |
| LLVM_ABI void |
setHasNoUnsignedWrap (bool B=true) |
|
Set or clear the nuw flag on this instruction, which must be an operator which supports this flag. |
| bool |
hasNoSignedWrap () const |
|
Determine whether the no signed wrap flag is set. |
| LLVM_ABI void |
setHasNoSignedWrap (bool B=true) |
|
Set or clear the nsw flag on this instruction, which must be an operator which supports this flag. |
| bool |
isFast () const |
|
Determine whether all fast-math-flags are set. |
| LLVM_ABI void |
setFast (bool B) |
|
Set or clear all fast-math-flags on this instruction, which must be an operator which supports this flag. |
| bool |
hasAllowReassoc () const |
|
Determine whether the allow-reassociation flag is set. |
| LLVM_ABI void |
setHasAllowReassoc (bool B) |
|
Set or clear the reassociation flag on this instruction, which must be an operator which supports this flag. |
| bool |
isExact () const |
|
Determine whether the exact flag is set. |
| LLVM_ABI void |
setIsExact (bool B=true) |
|
Set or clear the exact flag on this instruction, which must be an operator which supports this flag. |
| bool |
hasNoNaNs () const |
|
Determine whether the no-NaNs flag is set. |
| LLVM_ABI void |
setHasNoNaNs (bool B) |
|
Set or clear the no-nans flag on this instruction, which must be an operator which supports this flag. |
| bool |
hasNoInfs () const |
|
Determine whether the no-infs flag is set. |
| LLVM_ABI void |
setHasNoInfs (bool B) |
|
Set or clear the no-infs flag on this instruction, which must be an operator which supports this flag. |
| bool |
hasNoSignedZeros () const |
|
Determine whether the no-signed-zeros flag is set. |
| LLVM_ABI void |
setHasNoSignedZeros (bool B) |
|
Set or clear the no-signed-zeros flag on this instruction, which must be an operator which supports this flag. |
| bool |
hasAllowReciprocal () const |
|
Determine whether the allow-reciprocal flag is set. |
| LLVM_ABI void |
setHasAllowReciprocal (bool B) |
|
Set or clear the allow-reciprocal flag on this instruction, which must be an operator which supports this flag. |
| bool |
hasAllowContract () const |
|
Determine whether the allow-contract flag is set. |
| LLVM_ABI void |
setHasAllowContract (bool B) |
|
Set or clear the allow-contract flag on this instruction, which must be an operator which supports this flag. |
| bool |
hasApproxFunc () const |
|
Determine whether the approximate-math-functions flag is set. |
| LLVM_ABI void |
setHasApproxFunc (bool B) |
|
Set or clear the approximate-math-functions flag on this instruction, which must be an operator which supports this flag. |
| FastMathFlags |
getFastMathFlags () const |
|
Convenience function for getting all the fast-math flags, which must be an operator which supports these flags. |
| LLVM_ABI void |
setFastMathFlags (FastMathFlags FMF) |
|
Convenience function for setting multiple fast-math flags on this instruction, which must be an operator which supports these flags. |
| LLVM_ABI void |
copyFastMathFlags (FastMathFlags FMF) |
|
Convenience function for transferring all fast-math flag values to this instruction, which must be an operator which supports these flags. |
| bool |
isAssociative () const |
| bool |
isCommutative () const |
| bool |
isIdempotent () const |
| bool |
isNilpotent () const |
| bool |
mayWriteToMemory () const |
| bool |
mayReadFromMemory () const |
| bool |
mayReadOrWriteMemory () const |
| bool |
isAtomic () const |
| bool |
hasAtomicLoad () const |
| bool |
hasAtomicStore () const |
| bool |
isVolatile () const |
| LLVM_ABI Type * |
getAccessType () const |
| bool |
mayThrow (bool IncludePhaseOneUnwind=false) const |
| bool |
isFenceLike () const |
| bool |
mayHaveSideEffects () const |
| void |
dumpOS (raw_ostream &OS) const override |
| Public Member Functions inherited from llvm::sandboxir::User |
|
| virtual op_iterator |
op_begin () |
| virtual op_iterator |
op_end () |
| virtual const_op_iterator |
op_begin () const |
| virtual const_op_iterator |
op_end () const |
| op_range |
operands () |
| const_op_range |
operands () const |
| Value * |
getOperand (unsigned OpIdx) const |
| Use |
getOperandUse (unsigned OpIdx) const |
|
\Returns the operand edge for OpIdx. |
| virtual unsigned |
getNumOperands () const |
| virtual void |
setOperand (unsigned OperandIdx, Value *Operand) |
| bool |
replaceUsesOfWith (Value *FromV, Value *ToV) |
|
Replaces any operands that match FromV with ToV. |
| void |
verify () const override |
|
Should crash if there is something wrong with the instruction. |
| void |
dumpCommonHeader (raw_ostream &OS) const final |
| void |
dumpOS (raw_ostream &OS) const override |
| Public Member Functions inherited from llvm::sandboxir::Value |
|
| virtual |
~Value ()=default |
| ClassID |
getSubclassID () const |
| LLVM_ABI use_iterator |
use_begin () |
| const_use_iterator |
use_begin () const |
| use_iterator |
use_end () |
| const_use_iterator |
use_end () const |
| iterator_range< use_iterator > |
uses () |
| iterator_range< const_use_iterator > |
uses () const |
| LLVM_ABI user_iterator |
user_begin () |
| user_iterator |
user_end () |
| const_user_iterator |
user_begin () const |
| const_user_iterator |
user_end () const |
| iterator_range< user_iterator > |
users () |
| iterator_range< const_user_iterator > |
users () const |
| LLVM_ABI unsigned |
getNumUses () const |
|
\Returns the number of user edges (not necessarily to unique users). |
| bool |
hasNUsesOrMore (unsigned Num) const |
|
Return true if this value has N uses or more. |
| bool |
hasNUses (unsigned Num) const |
|
Return true if this Value has exactly N uses. |
| LLVM_ABI Type * |
getType () const |
| Context & |
getContext () const |
| LLVM_ABI void |
replaceUsesWithIf (Value *OtherV, llvm::function_ref< bool(const Use &)> ShouldReplace) |
| LLVM_ABI void |
replaceAllUsesWith (Value *Other) |
| StringRef |
getName () const |
|
\Returns the LLVM IR name of the bottom-most LLVM value. |
| std::string |
getUid () const |
|
Returns the unique id in the form 'SB.' like 'SB1.'. |
| void |
dumpCommonFooter (raw_ostream &OS) const |
| void |
dumpCommonPrefix (raw_ostream &OS) const |
| void |
dumpCommonSuffix (raw_ostream &OS) const |
| void |
printAsOperandCommon (raw_ostream &OS) const |
| LLVM_DUMP_METHOD void |
dump () const |
| Protected Member Functions |
|
|
Instruction (ClassID ID, Opcode Opc, llvm::Instruction *I, sandboxir::Context &SBCtx) |
| LLVM_ABI llvm::Instruction * |
getTopmostLLVMInstruction () const |
|
A SandboxIR Instruction may map to multiple LLVM IR Instruction. |
| virtual SmallVector< llvm::Instruction *, 1 > |
getLLVMInstrs () const =0 |
|
\Returns the LLVM IR Instructions that this SandboxIR maps to in program order. |
| Protected Member Functions inherited from llvm::sandboxir::User |
|
|
User (ClassID ID, llvm::Value *V, Context &Ctx) |
| Use |
getOperandUseDefault (unsigned OpIdx, bool Verify) const |
|
\Returns the Use edge that corresponds to OpIdx. |
| virtual Use |
getOperandUseInternal (unsigned OpIdx, bool Verify) const =0 |
|
\Returns the Use for the OpIdx'th operand. |
| unsigned |
getUseOperandNoDefault (const Use &Use) const |
|
The default implementation works only for single-LLVMIR-instruction Users and only if they match exactly the LLVM instruction. |
| virtual unsigned |
getUseOperandNo (const Use &Use) const =0 |
|
\Returns the operand index of Use. |
| void |
swapOperandsInternal (unsigned OpIdxA, unsigned OpIdxB) |
| void |
verifyUserOfLLVMUse (const llvm::Use &Use) const |
| Protected Member Functions inherited from llvm::sandboxir::Value |
|
| void |
clearValue () |
| LLVM_ABI |
Value (ClassID SubclassID, llvm::Value *Val, Context &Ctx) |
|
Value (const Value &)=delete |
|
Disable copies. |
| Value & |
operator= (const Value &)=delete |
A sandboxir::User with operands, opcode and linked with previous/next instructions in an instruction list.
Definition at line 43 of file Instruction.h.
◆ Opcode
Definition at line 53 of file Instruction.h.
References I, Opc, and llvm::sandboxir::User::User().
Referenced by comesBefore(), getNextNode(), getNumOfIRInstrs(), getPrevNode(), getTopmostLLVMInstruction(), insertAfter(), insertInto(), moveAfter(), and moveBefore().
◆ classof()
◆ comesBefore()
◆ copyFastMathFlags()
| void llvm::sandboxir::Instruction::copyFastMathFlags |
( |
FastMathFlags |
FMF |
) |
Convenience function for transferring all fast-math flag values to this instruction, which must be an operator which supports these flags.
See LangRef.html for the meaning of these flags.
Definition at line 264 of file Instruction.cpp.
Referenced by setFastMathFlags().
◆ dumpOS()
| void llvm::sandboxir::Instruction::dumpOS ( raw_ostream & OS) const |
overridevirtual |
Implements llvm::sandboxir::Value.
Reimplemented in llvm::sandboxir::SingleLLVMInstructionImpl< LLVMT >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::AtomicCmpXchgInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::AtomicRMWInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::BinaryOperator >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::BranchInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::CallBase >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::CatchReturnInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::CatchSwitchInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::CleanupReturnInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::CmpInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::ExtractElementInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::FenceInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::FuncletPadInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::GetElementPtrInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::InsertElementInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::InsertValueInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::Instruction >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::LandingPadInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::PHINode >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::ResumeInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::ReturnInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::SelectInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::ShuffleVectorInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::StoreInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::SwitchInst >, and llvm::sandboxir::SingleLLVMInstructionImpl< llvm::UnaryInstruction >.
Definition at line 283 of file Instruction.cpp.
◆ eraseFromParent()
| void llvm::sandboxir::Instruction::eraseFromParent |
( |
) |
◆ getAccessType()
| Type * llvm::sandboxir::Instruction::getAccessType |
( |
) |
const |
◆ getDataLayout()
| const DataLayout & llvm::sandboxir::Instruction::getDataLayout ( ) const |
inline |
◆ getFastMathFlags()
| FastMathFlags llvm::sandboxir::Instruction::getFastMathFlags ( ) const |
inline |
◆ getIterator()
| BBIterator llvm::sandboxir::Instruction::getIterator |
( |
) |
const |
◆ getLLVMInstrs()
◆ getNextNode()
| Instruction * llvm::sandboxir::Instruction::getNextNode |
( |
) |
const |
◆ getNumOfIRInstrs()
| virtual unsigned llvm::sandboxir::Instruction::getNumOfIRInstrs ( ) const |
pure virtual |
This is used by BasicBlock::iterator.
Implemented in llvm::sandboxir::SingleLLVMInstructionImpl< LLVMT >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::AtomicCmpXchgInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::AtomicRMWInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::BinaryOperator >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::BranchInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::CallBase >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::CatchReturnInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::CatchSwitchInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::CleanupReturnInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::CmpInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::ExtractElementInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::FenceInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::FuncletPadInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::GetElementPtrInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::InsertElementInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::InsertValueInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::Instruction >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::LandingPadInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::PHINode >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::ResumeInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::ReturnInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::SelectInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::ShuffleVectorInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::StoreInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::SwitchInst >, llvm::sandboxir::SingleLLVMInstructionImpl< llvm::UnaryInstruction >, and llvm::sandboxir::UnreachableInst.
References Instruction(), and LLVM_ABI.
◆ getOpcode()
| Opcode llvm::sandboxir::Instruction::getOpcode ( ) const |
inline |
◆ getOpcodeName() [1/2]
| const char * llvm::sandboxir::Instruction::getOpcodeName ( ) const |
inline |
◆ getOpcodeName() [2/2]
| const char * llvm::sandboxir::Instruction::getOpcodeName ( Opcode Opc) |
static |
◆ getParent()
| BasicBlock * llvm::sandboxir::Instruction::getParent |
( |
) |
const |
\Returns the BasicBlock containing this Instruction, or null if it is detached.
Definition at line 161 of file Instruction.cpp.
References llvm::sandboxir::BasicBlock(), llvm::cast(), llvm::sandboxir::Value::Ctx, llvm::BasicBlock::getParent(), and llvm::sandboxir::Value::Val.
Referenced by getNextNode(), getPrevNode(), getTopmostLLVMInstruction(), insertAfter(), llvm::sandboxir::VecUtils::matchPack(), moveAfter(), and moveBefore().
◆ getPrevNode()
| Instruction * llvm::sandboxir::Instruction::getPrevNode |
( |
) |
const |
◆ getTopmostLLVMInstruction()
| llvm::Instruction * llvm::sandboxir::Instruction::getTopmostLLVMInstruction ( ) const |
protected |
◆ hasAllowContract()
| bool llvm::sandboxir::Instruction::hasAllowContract ( ) const |
inline |
◆ hasAllowReassoc()
| bool llvm::sandboxir::Instruction::hasAllowReassoc ( ) const |
inline |
◆ hasAllowReciprocal()
| bool llvm::sandboxir::Instruction::hasAllowReciprocal ( ) const |
inline |
◆ hasApproxFunc()
| bool llvm::sandboxir::Instruction::hasApproxFunc ( ) const |
inline |
◆ hasAtomicLoad()
| bool llvm::sandboxir::Instruction::hasAtomicLoad ( ) const |
inline |
◆ hasAtomicStore()
| bool llvm::sandboxir::Instruction::hasAtomicStore ( ) const |
inline |
| bool llvm::sandboxir::Instruction::hasMetadata ( ) const |
inline |
| bool llvm::sandboxir::Instruction::hasMetadata ( unsigned KindID) const |
inline |
| bool llvm::sandboxir::Instruction::hasMetadataOtherThanDebugLoc ( ) const |
inline |
◆ hasNoInfs()
| bool llvm::sandboxir::Instruction::hasNoInfs ( ) const |
inline |
◆ hasNoNaNs()
| bool llvm::sandboxir::Instruction::hasNoNaNs ( ) const |
inline |
◆ hasNoSignedWrap()
| bool llvm::sandboxir::Instruction::hasNoSignedWrap ( ) const |
inline |
◆ hasNoSignedZeros()
| bool llvm::sandboxir::Instruction::hasNoSignedZeros ( ) const |
inline |
◆ hasNoUnsignedWrap()
| bool llvm::sandboxir::Instruction::hasNoUnsignedWrap ( ) const |
inline |
◆ insertAfter()
| void llvm::sandboxir::Instruction::insertAfter |
( |
Instruction * |
AfterI |
) |
◆ insertBefore()
| void llvm::sandboxir::Instruction::insertBefore |
( |
Instruction * |
BeforeI |
) |
Insert this detached instruction before BeforeI.
Definition at line 125 of file Instruction.cpp.
◆ insertInto()
| void llvm::sandboxir::Instruction::insertInto |
( |
BasicBlock * |
BB, |
| const BBIterator & |
WhereIt ) |
|
|
◆ isAssociative()
| bool llvm::sandboxir::Instruction::isAssociative ( ) const |
inline |
◆ isAtomic()
| bool llvm::sandboxir::Instruction::isAtomic ( ) const |
inline |
◆ isBinaryOp()
| bool llvm::sandboxir::Instruction::isBinaryOp ( ) const |
inline |
◆ isCast()
| bool llvm::sandboxir::Instruction::isCast ( ) const |
inline |
◆ isCommutative()
| bool llvm::sandboxir::Instruction::isCommutative ( ) const |
inline |
◆ isExact()
| bool llvm::sandboxir::Instruction::isExact ( ) const |
inline |
◆ isFast()
| bool llvm::sandboxir::Instruction::isFast ( ) const |
inline |
◆ isFenceLike()
| bool llvm::sandboxir::Instruction::isFenceLike ( ) const |
inline |
◆ isFuncletPad()
| bool llvm::sandboxir::Instruction::isFuncletPad ( ) const |
inline |
◆ isIdempotent()
| bool llvm::sandboxir::Instruction::isIdempotent ( ) const |
inline |
◆ isIntDivRem()
| bool llvm::sandboxir::Instruction::isIntDivRem ( ) const |
inline |
◆ isLogicalShift()
| bool llvm::sandboxir::Instruction::isLogicalShift ( ) const |
inline |
◆ isNilpotent()
| bool llvm::sandboxir::Instruction::isNilpotent ( ) const |
inline |
◆ isOnlyUserOfAnyOperand()
| bool llvm::sandboxir::Instruction::isOnlyUserOfAnyOperand ( ) const |
inline |
◆ isShift()
| bool llvm::sandboxir::Instruction::isShift ( ) const |
inline |
◆ isSpecialTerminator()
| bool llvm::sandboxir::Instruction::isSpecialTerminator ( ) const |
inline |
◆ isTerminator()
| bool llvm::sandboxir::Instruction::isTerminator ( ) const |
inline |
◆ isUnaryOp()
| bool llvm::sandboxir::Instruction::isUnaryOp ( ) const |
inline |
◆ isVolatile()
| bool llvm::sandboxir::Instruction::isVolatile ( ) const |
inline |
◆ mayHaveSideEffects()
| bool llvm::sandboxir::Instruction::mayHaveSideEffects ( ) const |
inline |
◆ mayReadFromMemory()
| bool llvm::sandboxir::Instruction::mayReadFromMemory ( ) const |
inline |
◆ mayReadOrWriteMemory()
| bool llvm::sandboxir::Instruction::mayReadOrWriteMemory ( ) const |
inline |
◆ mayThrow()
| bool llvm::sandboxir::Instruction::mayThrow ( bool IncludePhaseOneUnwind = false) const |
inline |
◆ mayWriteToMemory()
| bool llvm::sandboxir::Instruction::mayWriteToMemory ( ) const |
inline |
◆ moveAfter()
| void llvm::sandboxir::Instruction::moveAfter ( Instruction * After) |
inline |
◆ moveBefore() [1/2]
| void llvm::sandboxir::Instruction::moveBefore |
( |
BasicBlock & |
BB, |
| const BBIterator & |
WhereIt ) |
|
|
◆ moveBefore() [2/2]
| void llvm::sandboxir::Instruction::moveBefore ( Instruction * Before) |
inline |
◆ removeFromParent()
| void llvm::sandboxir::Instruction::removeFromParent |
( |
) |
◆ setFast()
| void llvm::sandboxir::Instruction::setFast |
( |
bool |
B |
) |
Set or clear all fast-math-flags on this instruction, which must be an operator which supports this flag.
See LangRef.html for the meaning of this flag.
Definition at line 196 of file Instruction.cpp.
◆ setFastMathFlags()
| void llvm::sandboxir::Instruction::setFastMathFlags |
( |
FastMathFlags |
FMF |
) |
◆ setHasAllowContract()
| void llvm::sandboxir::Instruction::setHasAllowContract |
( |
bool |
B |
) |
◆ setHasAllowReassoc()
| void llvm::sandboxir::Instruction::setHasAllowReassoc |
( |
bool |
B |
) |
◆ setHasAllowReciprocal()
| void llvm::sandboxir::Instruction::setHasAllowReciprocal |
( |
bool |
B |
) |
◆ setHasApproxFunc()
| void llvm::sandboxir::Instruction::setHasApproxFunc |
( |
bool |
B |
) |
◆ setHasNoInfs()
| void llvm::sandboxir::Instruction::setHasNoInfs |
( |
bool |
B |
) |
Set or clear the no-infs flag on this instruction, which must be an operator which supports this flag.
See LangRef.html for the meaning of this flag.
Definition at line 225 of file Instruction.cpp.
References B(), and llvm::sandboxir::Value::Ctx.
◆ setHasNoNaNs()
| void llvm::sandboxir::Instruction::setHasNoNaNs |
( |
bool |
B |
) |
◆ setHasNoSignedWrap()
| void llvm::sandboxir::Instruction::setHasNoSignedWrap |
( |
bool |
B = true |
) |
◆ setHasNoSignedZeros()
| void llvm::sandboxir::Instruction::setHasNoSignedZeros |
( |
bool |
B |
) |
◆ setHasNoUnsignedWrap()
| void llvm::sandboxir::Instruction::setHasNoUnsignedWrap |
( |
bool |
B = true |
) |
◆ setInsertPos()
Helper function for create().
It sets the builder's insert position according to Pos.
Definition at line 104 of file Instruction.h.
References llvm::cast(), llvm::sandboxir::Value::Ctx, llvm::sandboxir::InsertPosition::getBasicBlock(), and llvm::sandboxir::InsertPosition::getIterator().
Referenced by llvm::Instruction::copyMetadata(), llvm::sandboxir::AllocaInst::create(), llvm::sandboxir::BinaryOperator::create(), llvm::sandboxir::BranchInst::create(), llvm::sandboxir::BranchInst::create(), llvm::sandboxir::CallInst::create(), llvm::sandboxir::CastInst::create(), llvm::sandboxir::CatchPadInst::create(), llvm::sandboxir::CatchReturnInst::create(), llvm::sandboxir::CleanupPadInst::create(), llvm::sandboxir::CleanupReturnInst::create(), llvm::sandboxir::CmpInst::create(), llvm::sandboxir::ExtractElementInst::create(), llvm::sandboxir::ExtractValueInst::create(), llvm::sandboxir::FenceInst::create(), llvm::sandboxir::FreezeInst::create(), llvm::sandboxir::GetElementPtrInst::create(), llvm::sandboxir::InsertElementInst::create(), llvm::sandboxir::InsertValueInst::create(), llvm::sandboxir::LandingPadInst::create(), llvm::sandboxir::PHINode::create(), llvm::sandboxir::ResumeInst::create(), llvm::sandboxir::ReturnInst::create(), llvm::sandboxir::SelectInst::create(), llvm::sandboxir::ShuffleVectorInst::create(), llvm::sandboxir::ShuffleVectorInst::create(), llvm::sandboxir::SwitchInst::create(), llvm::sandboxir::UnreachableInst::create(), llvm::sandboxir::VAArgInst::create(), llvm::Instruction::dropPoisonGeneratingReturnAttributes(), llvm::Instruction::hasNonNeg(), llvm::Instruction::mayThrow(), llvm::Instruction::mayWriteToMemory(), llvm::Instruction::replaceSuccessorWith(), and llvm::Instruction::setIsExact().
◆ setIsExact()
| void llvm::sandboxir::Instruction::setIsExact |
( |
bool |
B = true |
) |
◆ AllocaInst
◆ AtomicCmpXchgInst
◆ AtomicRMWInst
◆ BinaryOperator
◆ BranchInst
◆ CallBrInst
◆ CallInst
◆ CastInst
◆ CatchPadInst
◆ CatchReturnInst
◆ CatchSwitchInst
◆ CleanupPadInst
◆ CleanupReturnInst
◆ CmpInst
◆ EraseFromParent
◆ FenceInst
◆ FreezeInst
◆ GetElementPtrInst
◆ InsertElementInst
◆ InsertValueInst
◆ InvokeInst
◆ LandingPadInst
◆ LoadInst
◆ PHINode
◆ ResumeInst
◆ ReturnInst
◆ SelectInst
◆ ShuffleVectorInst
◆ StoreInst
◆ SwitchInst
◆ UnaryOperator
◆ UnreachableInst
◆ VAArgInst
◆ Opc
| Opcode llvm::sandboxir::Instruction::Opc |
protected |
The documentation for this class was generated from the following files: