IRValue

public protocol IRValue

An IRValue is a type that is capable of lowering itself to an LLVMValueRef object for use with LLVM’s C API.

  • Retrieves the underlying LLVM value object.

    Declaration

    Swift

    func asLLVM() -> LLVMValueRef
  • isAArgument Extension method

    Whether or not the underlying LLVM value is an Argument

    Declaration

    Swift

    var isAArgument: Bool { get }
  • isABasicBlock Extension method

    Whether or not the underlying LLVM value is a BasicBlock

    Declaration

    Swift

    var isABasicBlock: Bool { get }
  • isAInlineAsm Extension method

    Whether or not the underlying LLVM value is InlineAsm

    Declaration

    Swift

    var isAInlineAsm: Bool { get }
  • isAUser Extension method

    Whether or not the underlying LLVM value is a User

    Declaration

    Swift

    var isAUser: Bool { get }
  • isAConstant Extension method

    Whether or not the underlying LLVM value is a Constant

    Declaration

    Swift

    var isAConstant: Bool { get }
  • isABlockAddress Extension method

    Whether or not the underlying LLVM value is a BlockAddress

    Declaration

    Swift

    var isABlockAddress: Bool { get }
  • isAConstantAggregateZero Extension method

    Whether or not the underlying LLVM value is a ConstantAggregateZero

    Declaration

    Swift

    var isAConstantAggregateZero: Bool { get }
  • isAConstantArray Extension method

    Whether or not the underlying LLVM value is a ConstantArray

    Declaration

    Swift

    var isAConstantArray: Bool { get }
  • isAConstantDataSequential Extension method

    Whether or not the underlying LLVM value is a ConstantDataSequential

    Declaration

    Swift

    var isAConstantDataSequential: Bool { get }
  • isAConstantDataArray Extension method

    Whether or not the underlying LLVM value is a ConstantDataArray

    Declaration

    Swift

    var isAConstantDataArray: Bool { get }
  • isAConstantDataVector Extension method

    Whether or not the underlying LLVM value is a ConstantDataVector

    Declaration

    Swift

    var isAConstantDataVector: Bool { get }
  • isAConstantExpr Extension method

    Whether or not the underlying LLVM value is a ConstantExpr

    Declaration

    Swift

    var isAConstantExpr: Bool { get }
  • isAConstantFP Extension method

    Whether or not the underlying LLVM value is a ConstantFP

    Declaration

    Swift

    var isAConstantFP: Bool { get }
  • isAConstantInt Extension method

    Whether or not the underlying LLVM value is a ConstantInt

    Declaration

    Swift

    var isAConstantInt: Bool { get }
  • isAConstantPointerNull Extension method

    Whether or not the underlying LLVM value is a ConstantPointerNull

    Declaration

    Swift

    var isAConstantPointerNull: Bool { get }
  • isAConstantStruct Extension method

    Whether or not the underlying LLVM value is a ConstantStruct

    Declaration

    Swift

    var isAConstantStruct: Bool { get }
  • isAConstantTokenNone Extension method

    Whether or not the underlying LLVM value is a ConstantTokenNone

    Declaration

    Swift

    var isAConstantTokenNone: Bool { get }
  • isAConstantVector Extension method

    Whether or not the underlying LLVM value is a ConstantVector

    Declaration

    Swift

    var isAConstantVector: Bool { get }
  • isAGlobalValue Extension method

    Whether or not the underlying LLVM value is a GlobalValue

    Declaration

    Swift

    var isAGlobalValue: Bool { get }
  • isAGlobalAlias Extension method

    Whether or not the underlying LLVM value is a GlobalAlias

    Declaration

    Swift

    var isAGlobalAlias: Bool { get }
  • isAGlobalObject Extension method

    Whether or not the underlying LLVM value is a GlobalObject

    Declaration

    Swift

    var isAGlobalObject: Bool { get }
  • isAFunction Extension method

    Whether or not the underlying LLVM value is a Function

    Declaration

    Swift

    var isAFunction: Bool { get }
  • isAGlobalVariable Extension method

    Whether or not the underlying LLVM value is a GlobalVariable

    Declaration

    Swift

    var isAGlobalVariable: Bool { get }
  • isAUndefValue Extension method

    Whether or not the underlying LLVM value is an UndefValue

    Declaration

    Swift

    var isAUndefValue: Bool { get }
  • isAInstruction Extension method

    Whether or not the underlying LLVM value is an Instruction

    Declaration

    Swift

    var isAInstruction: Bool { get }
  • isABinaryOperator Extension method

    Whether or not the underlying LLVM value is a BinaryOperator

    Declaration

    Swift

    var isABinaryOperator: Bool { get }
  • isACallInst Extension method

    Whether or not the underlying LLVM value is a CallInst

    Declaration

    Swift

    var isACallInst: Bool { get }
  • isAIntrinsicInst Extension method

    Whether or not the underlying LLVM value is an IntrinsicInst

    Declaration

    Swift

    var isAIntrinsicInst: Bool { get }
  • isADbgInfoIntrinsic Extension method

    Whether or not the underlying LLVM value is a DbgInfoIntrinsic

    Declaration

    Swift

    var isADbgInfoIntrinsic: Bool { get }
  • isADbgDeclareInst Extension method

    Whether or not the underlying LLVM value is a DbgDeclareInst

    Declaration

    Swift

    var isADbgDeclareInst: Bool { get }
  • isAMemIntrinsic Extension method

    Whether or not the underlying LLVM value is a MemIntrinsic

    Declaration

    Swift

    var isAMemIntrinsic: Bool { get }
  • isAMemCpyInst Extension method

    Whether or not the underlying LLVM value is a MemCpyInst

    Declaration

    Swift

    var isAMemCpyInst: Bool { get }
  • isAMemMoveInst Extension method

    Whether or not the underlying LLVM value is a MemMoveInst

    Declaration

    Swift

    var isAMemMoveInst: Bool { get }
  • isAMemSetInst Extension method

    Whether or not the underlying LLVM value is a MemSetInst

    Declaration

    Swift

    var isAMemSetInst: Bool { get }
  • isACmpInst Extension method

    Whether or not the underlying LLVM value is a CmpInst

    Declaration

    Swift

    var isACmpInst: Bool { get }
  • isAFCmpInst Extension method

    Whether or not the underlying LLVM value is a FCmpInst

    Declaration

    Swift

    var isAFCmpInst: Bool { get }
  • isAICmpInst Extension method

    Whether or not the underlying LLVM value is an ICmpInst

    Declaration

    Swift

    var isAICmpInst: Bool { get }
  • isAExtractElementInst Extension method

    Whether or not the underlying LLVM value is an ExtractElementInst

    Declaration

    Swift

    var isAExtractElementInst: Bool { get }
  • isAGetElementPtrInst Extension method

    Whether or not the underlying LLVM value is a GetElementPtrInst

    Declaration

    Swift

    var isAGetElementPtrInst: Bool { get }
  • isAInsertElementInst Extension method

    Whether or not the underlying LLVM value is an InsertElementInst

    Declaration

    Swift

    var isAInsertElementInst: Bool { get }
  • isAInsertValueInst Extension method

    Whether or not the underlying LLVM value is an InsertValueInst

    Declaration

    Swift

    var isAInsertValueInst: Bool { get }
  • isALandingPadInst Extension method

    Whether or not the underlying LLVM value is a LandingPadInst

    Declaration

    Swift

    var isALandingPadInst: Bool { get }
  • isAPHINode Extension method

    Whether or not the underlying LLVM value is a PHINode

    Declaration

    Swift

    var isAPHINode: Bool { get }
  • isASelectInst Extension method

    Whether or not the underlying LLVM value is a SelectInst

    Declaration

    Swift

    var isASelectInst: Bool { get }
  • isAShuffleVectorInst Extension method

    Whether or not the underlying LLVM value is a ShuffleVectorInst

    Declaration

    Swift

    var isAShuffleVectorInst: Bool { get }
  • isAStoreInst Extension method

    Whether or not the underlying LLVM value is a StoreInst

    Declaration

    Swift

    var isAStoreInst: Bool { get }
  • isATerminatorInst Extension method

    Whether or not the underlying LLVM value is a TerminatorInst

    Declaration

    Swift

    var isATerminatorInst: Bool { get }
  • isABranchInst Extension method

    Whether or not the underlying LLVM value is a BranchInst

    Declaration

    Swift

    var isABranchInst: Bool { get }
  • isAIndirectBrInst Extension method

    Whether or not the underlying LLVM value is an IndirectBrInst

    Declaration

    Swift

    var isAIndirectBrInst: Bool { get }
  • isAInvokeInst Extension method

    Whether or not the underlying LLVM value is an InvokeInst

    Declaration

    Swift

    var isAInvokeInst: Bool { get }
  • isAReturnInst Extension method

    Whether or not the underlying LLVM value is a ReturnInst

    Declaration

    Swift

    var isAReturnInst: Bool { get }
  • isASwitchInst Extension method

    Whether or not the underlying LLVM value is a SwitchInst

    Declaration

    Swift

    var isASwitchInst: Bool { get }
  • isAUnreachableInst Extension method

    Whether or not the underlying LLVM value is an UnreachableInst

    Declaration

    Swift

    var isAUnreachableInst: Bool { get }
  • isAResumeInst Extension method

    Whether or not the underlying LLVM value is a ResumeInst

    Declaration

    Swift

    var isAResumeInst: Bool { get }
  • isACleanupReturnInst Extension method

    Whether or not the underlying LLVM value is a CleanupReturnInst

    Declaration

    Swift

    var isACleanupReturnInst: Bool { get }
  • isACatchReturnInst Extension method

    Whether or not the underlying LLVM value is a CatchReturnInst

    Declaration

    Swift

    var isACatchReturnInst: Bool { get }
  • isAFuncletPadInst Extension method

    Whether or not the underlying LLVM value is a FuncletPadInst

    Declaration

    Swift

    var isAFuncletPadInst: Bool { get }
  • isACatchPadInst Extension method

    Whether or not the underlying LLVM value is a CatchPadInst

    Declaration

    Swift

    var isACatchPadInst: Bool { get }
  • isACleanupPadInst Extension method

    Whether or not the underlying LLVM value is a CleanupPadInst

    Declaration

    Swift

    var isACleanupPadInst: Bool { get }
  • isAUnaryInstruction Extension method

    Whether or not the underlying LLVM value is a UnaryInstruction

    Declaration

    Swift

    var isAUnaryInstruction: Bool { get }
  • isAAllocaInst Extension method

    Whether or not the underlying LLVM value is an AllocaInst

    Declaration

    Swift

    var isAAllocaInst: Bool { get }
  • isACastInst Extension method

    Whether or not the underlying LLVM value is a CastInst

    Declaration

    Swift

    var isACastInst: Bool { get }
  • isAAddrSpaceCastInst Extension method

    Whether or not the underlying LLVM value is an AddrSpaceCastInst

    Declaration

    Swift

    var isAAddrSpaceCastInst: Bool { get }
  • isABitCastInst Extension method

    Whether or not the underlying LLVM value is a BitCastInst

    Declaration

    Swift

    var isABitCastInst: Bool { get }
  • isAFPExtInst Extension method

    Whether or not the underlying LLVM value is a FPExtInst

    Declaration

    Swift

    var isAFPExtInst: Bool { get }
  • isAFPToSIInst Extension method

    Whether or not the underlying LLVM value is a FPToSIInst

    Declaration

    Swift

    var isAFPToSIInst: Bool { get }
  • isAFPToUIInst Extension method

    Whether or not the underlying LLVM value is a FPToUIInst

    Declaration

    Swift

    var isAFPToUIInst: Bool { get }
  • isAFPTruncInst Extension method

    Whether or not the underlying LLVM value is a FPTruncInst

    Declaration

    Swift

    var isAFPTruncInst: Bool { get }
  • isAIntToPtrInst Extension method

    Whether or not the underlying LLVM value is an IntToPtrInst

    Declaration

    Swift

    var isAIntToPtrInst: Bool { get }
  • isAPtrToIntInst Extension method

    Whether or not the underlying LLVM value is a PtrToIntInst

    Declaration

    Swift

    var isAPtrToIntInst: Bool { get }
  • isASExtInst Extension method

    Whether or not the underlying LLVM value is a SExtInst

    Declaration

    Swift

    var isASExtInst: Bool { get }
  • isASIToFPInst Extension method

    Whether or not the underlying LLVM value is a SIToFPInst

    Declaration

    Swift

    var isASIToFPInst: Bool { get }
  • isATruncInst Extension method

    Whether or not the underlying LLVM value is a TruncInst

    Declaration

    Swift

    var isATruncInst: Bool { get }
  • isAUIToFPInst Extension method

    Whether or not the underlying LLVM value is a UIToFPInst

    Declaration

    Swift

    var isAUIToFPInst: Bool { get }
  • isAZExtInst Extension method

    Whether or not the underlying LLVM value is a ZExtInst

    Declaration

    Swift

    var isAZExtInst: Bool { get }
  • isAExtractValueInst Extension method

    Whether or not the underlying LLVM value is a ExtractValueInst

    Declaration

    Swift

    var isAExtractValueInst: Bool { get }
  • isALoadInst Extension method

    Whether or not the underlying LLVM value is a LoadInst

    Declaration

    Swift

    var isALoadInst: Bool { get }
  • isAVAArgInst Extension method

    Whether or not the underlying LLVM value is a VAArgInst

    Declaration

    Swift

    var isAVAArgInst: Bool { get }
  • type Extension method

    Retrieves the type of this value.

    Declaration

    Swift

    var type: IRType { get }
  • isConstant Extension method

    Returns whether this value is a constant.

    Declaration

    Swift

    var isConstant: Bool { get }
  • isInstruction Extension method

    Returns whether this value is an instruction.

    Declaration

    Swift

    var isInstruction: Bool { get }
  • isUndef Extension method

    Returns whether this value has been initialized with the special undef value.

    The undef value can be used anywhere a constant is expected, and indicates that the user of the value may receive an unspecified bit-pattern.

    Declaration

    Swift

    var isUndef: Bool { get }
  • name Extension method

    Gets and sets the name for this value.

    Declaration

    Swift

    var name: String { get set }
  • replaceAllUses(with:) Extension method

    Replaces all uses of this value with the specified value.

    Declaration

    Swift

    func replaceAllUses(with value: IRValue)

    Parameters

    value

    The new value to swap in.

  • dump() Extension method

    Dumps a representation of this value to stderr.

    Declaration

    Swift

    func dump()
  • kind Extension method

    The kind of this value.

    Declaration

    Swift

    var kind: IRValueKind { get }