|
LLVM_ABI void | swapOperands () |
| WRAP_BOTH (getSignedPredicate) |
| WRAP_BOTH (getUnsignedPredicate) |
| WRAP_BOTH (getFlippedSignednessPredicate) |
| WRAP_BOTH (isEquality) |
| WRAP_MEMBER (isCommutative) |
| WRAP_MEMBER (isRelational) |
| WRAP_STATIC_PREDICATE (isGT) |
| WRAP_STATIC_PREDICATE (isLT) |
| WRAP_STATIC_PREDICATE (isGE) |
| WRAP_STATIC_PREDICATE (isLE) |
Public Member Functions inherited from llvm::sandboxir::CmpInst |
LLVM_ABI void | setPredicate (Predicate P) |
LLVM_ABI void | swapOperands () |
| WRAP_MEMBER (getPredicate) |
| WRAP_BOTH (isFPPredicate) |
| WRAP_BOTH (isIntPredicate) |
| WRAP_STATIC_PREDICATE (getPredicateName) |
| WRAP_BOTH (getInversePredicate) |
| WRAP_BOTH (getOrderedPredicate) |
| WRAP_BOTH (getUnorderedPredicate) |
| WRAP_BOTH (getSwappedPredicate) |
| WRAP_BOTH (isStrictPredicate) |
| WRAP_BOTH (isNonStrictPredicate) |
| WRAP_BOTH (getStrictPredicate) |
| WRAP_BOTH (getNonStrictPredicate) |
| WRAP_BOTH (getFlippedStrictnessPredicate) |
| WRAP_MEMBER (isCommutative) |
| WRAP_BOTH (isEquality) |
| WRAP_BOTH (isRelational) |
| WRAP_BOTH (isSigned) |
| WRAP_BOTH (isTrueWhenEqual) |
| WRAP_BOTH (isFalseWhenEqual) |
| WRAP_BOTH (isUnsigned) |
| WRAP_STATIC_PREDICATE (isOrdered) |
| WRAP_STATIC_PREDICATE (isUnordered) |
void | dumpOS (raw_ostream &OS) const override |
LLVM_DUMP_METHOD void | dump () const |
Public Member Functions inherited from llvm::sandboxir::SingleLLVMInstructionImpl< llvm::CmpInst > |
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 |
|
Public Types inherited from llvm::sandboxir::CmpInst |
using | Predicate = llvm::CmpInst::Predicate |
Public Types inherited from llvm::sandboxir::Instruction |
enum class | Opcode |
Public Types inherited from llvm::sandboxir::User |
using | op_iterator = OperandUseIterator |
using | const_op_iterator = OperandUseIterator |
using | op_range = iterator_range<op_iterator> |
using | const_op_range = iterator_range<const_op_iterator> |
Public Types inherited from llvm::sandboxir::Value |
enum class | ClassID : unsigned |
using | use_iterator = UserUseIterator |
using | const_use_iterator = UserUseIterator |
using | user_iterator = mapped_iterator<sandboxir::UserUseIterator, UseToUser> |
using | const_user_iterator = user_iterator |
Protected Types inherited from llvm::sandboxir::CmpInst |
using | LLVMValType = llvm::CmpInst |
Protected Member Functions inherited from llvm::sandboxir::CmpInst |
| CmpInst (llvm::CmpInst *CI, Context &Ctx, ClassID Id, Opcode Opc) |
| Use Context::createCmpInst(). Don't call the constructor directly.
|
Protected Member Functions inherited from llvm::sandboxir::Instruction |
| 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.
|
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 .
|
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.
|
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 |
Static Protected Member Functions inherited from llvm::sandboxir::CmpInst |
static LLVM_ABI Value * | createCommon (Value *Cond, Value *True, Value *False, const Twine &Name, IRBuilder<> &Builder, Context &Ctx) |
Static Protected Member Functions inherited from llvm::sandboxir::Instruction |
static IRBuilder & | setInsertPos (InsertPosition Pos) |
| Helper function for create().
|
Static Protected Member Functions inherited from llvm::sandboxir::Value |
static const char * | getSubclassIDStr (ClassID ID) |
Protected Attributes inherited from llvm::sandboxir::CmpInst |
friend | Context |
Protected Attributes inherited from llvm::sandboxir::Instruction |
Opcode | Opc |
Protected Attributes inherited from llvm::sandboxir::Value |
ClassID | SubclassID |
| For isa/dyn_cast.
|
unsigned | UID |
| A unique ID used for forming the name (used for debugging).
|
llvm::Value * | Val = nullptr |
| The LLVM Value that corresponds to this SandboxIR Value.
|
Context & | Ctx |
| All values point to the context.
|