| unsigned |
getNumSuccessors () const |
| unsigned |
getUseOperandNo (const Use &Use) const final |
|
\Returns the operand index of Use. |
| unsigned |
getNumOfIRInstrs () const final |
|
This is used by BasicBlock::iterator. |
| Public Member Functions inherited from llvm::sandboxir::Instruction |
|
| 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 |