| 
    LLVM 22.0.0git
    
   | 
 
#include "llvm/SandboxIR/Instruction.h"
Public Member Functions | |
| bool | isVolatile () const | 
| Return true if this is a load from a volatile memory location.   | |
| LLVM_ABI void | setVolatile (bool V) | 
| Specify whether this is a volatile load or not.   | |
| LLVM_ABI Value * | getPointerOperand () const | 
| Align | getAlign () const | 
| bool | isUnordered () const | 
| bool | isSimple () const | 
| Public Member Functions inherited from llvm::sandboxir::SingleLLVMInstructionImpl< llvm::UnaryInstruction > | |
| unsigned | getUseOperandNo (const Use &Use) const final | 
\Returns the operand index of Use.   | |
| unsigned | getNumOfIRInstrs () const final | 
| This is used by BasicBlock::iterator.   | |
| void | verify () const final | 
| Should crash if there is something wrong with the instruction.   | |
| void | dumpOS (raw_ostream &OS) const override | 
| 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 | 
| 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<number>.' 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 | 
Static Public Member Functions | |
| static LLVM_ABI LoadInst * | create (Type *Ty, Value *Ptr, MaybeAlign Align, InsertPosition Pos, bool IsVolatile, Context &Ctx, const Twine &Name="") | 
| static LoadInst * | create (Type *Ty, Value *Ptr, MaybeAlign Align, InsertPosition Pos, Context &Ctx, const Twine &Name="") | 
| static LLVM_ABI bool | classof (const Value *From) | 
| For isa/dyn_cast.   | |
| Static Public Member Functions inherited from llvm::sandboxir::UnaryInstruction | |
| static bool | classof (const Instruction *I) | 
| static bool | classof (const Value *V) | 
| Static Public Member Functions inherited from llvm::sandboxir::Instruction | |
| static LLVM_ABI const char * | getOpcodeName (Opcode Opc) | 
| static LLVM_ABI bool | classof (const sandboxir::Value *From) | 
| For isa/dyn_cast.   | |
| Static Public Member Functions inherited from llvm::sandboxir::User | |
| static bool | classof (const Value *From) | 
| For isa/dyn_cast.   | |
Definition at line 1197 of file Instruction.h.
For isa/dyn_cast.
Definition at line 413 of file Instruction.cpp.
References llvm::sandboxir::Value::getSubclassID().
      
  | 
  static | 
Definition at line 403 of file Instruction.cpp.
References llvm::sandboxir::Value::Ctx, and Ptr.
Referenced by create().
      
  | 
  inlinestatic | 
Definition at line 1212 of file Instruction.h.
References create(), llvm::sandboxir::Value::Ctx, and Ptr.
      
  | 
  inline | 
Definition at line 1221 of file Instruction.h.
References llvm::cast(), and llvm::sandboxir::Value::Val.
| Value * llvm::sandboxir::LoadInst::getPointerOperand | ( | ) | const | 
Definition at line 417 of file Instruction.cpp.
References llvm::cast(), llvm::sandboxir::Value::Ctx, llvm::getPointerOperand(), and llvm::sandboxir::Value::Val.
      
  | 
  inline | 
Definition at line 1223 of file Instruction.h.
References llvm::cast(), and llvm::sandboxir::Value::Val.
      
  | 
  inline | 
Definition at line 1222 of file Instruction.h.
References llvm::cast(), and llvm::sandboxir::Value::Val.
      
  | 
  inline | 
Return true if this is a load from a volatile memory location.
Definition at line 1205 of file Instruction.h.
References llvm::cast(), and llvm::sandboxir::Value::Val.
| void llvm::sandboxir::LoadInst::setVolatile | ( | bool | V | ) | 
Specify whether this is a volatile load or not.
Definition at line 396 of file Instruction.cpp.
References llvm::sandboxir::Value::Ctx.