class SelectInst

Declaration

class SelectInst : public Instruction { /* full declaration omitted */ };

Description

This class represents the LLVM 'select' instruction.

Declared at: llvm/include/llvm/IR/Instructions.h:1737

Inherits from: Instruction

Member Variables

Inherited from Value:

protected SubclassOptionalData
protected NumUserOperands
protected IsUsedByMD
protected HasName
protected HasMetadata
protected HasHungOffUses
protected HasDescriptor
public static MaxAlignmentExponent = 32
public static MaximumAlignment = 1ULL << MaxAlignmentExponent

Method Overview

  • public static llvm::SelectInst * Create(llvm::Value * C, llvm::Value * S1, llvm::Value * S2, const llvm::Twine & NameStr = "", llvm::Instruction * InsertBefore = nullptr, llvm::Instruction * MDFrom = nullptr)
  • public static llvm::SelectInst * Create(llvm::Value * C, llvm::Value * S1, llvm::Value * S2, const llvm::Twine & NameStr, llvm::BasicBlock * InsertAtEnd)
  • private SelectInst(llvm::Value * C, llvm::Value * S1, llvm::Value * S2, const llvm::Twine & NameStr, llvm::BasicBlock * InsertAtEnd)
  • private SelectInst(llvm::Value * C, llvm::Value * S1, llvm::Value * S2, const llvm::Twine & NameStr, llvm::Instruction * InsertBefore)
  • public static const char * areInvalidOperands(llvm::Value * Cond, llvm::Value * True, llvm::Value * False)
  • public static bool classof(const llvm::Value * V)
  • public static bool classof(const llvm::Instruction * I)
  • protected llvm::SelectInst * cloneImpl() const
  • public llvm::Value * getCondition()
  • public const llvm::Value * getCondition() const
  • public const llvm::Value * getFalseValue() const
  • public llvm::Value * getFalseValue()
  • public llvm::Instruction::OtherOps getOpcode() const
  • public const llvm::Value * getTrueValue() const
  • public llvm::Value * getTrueValue()
  • private void init(llvm::Value * C, llvm::Value * S1, llvm::Value * S2)
  • public void setCondition(llvm::Value * V)
  • public void setFalseValue(llvm::Value * V)
  • public void setTrueValue(llvm::Value * V)
  • public void swapValues()

Inherited from Instruction:

Inherited from User:

Inherited from Value:

Methods

static llvm::SelectInst* Create(
    llvm::Value* C,
    llvm::Value* S1,
    llvm::Value* S2,
    const llvm::Twine& NameStr = "",
    llvm::Instruction* InsertBefore = nullptr,
    llvm::Instruction* MDFrom = nullptr)

Declared at: llvm/include/llvm/IR/Instructions.h:1768

Parameters

llvm::Value* C
llvm::Value* S1
llvm::Value* S2
const llvm::Twine& NameStr = ""
llvm::Instruction* InsertBefore = nullptr
llvm::Instruction* MDFrom = nullptr

static llvm::SelectInst* Create(
    llvm::Value* C,
    llvm::Value* S1,
    llvm::Value* S2,
    const llvm::Twine& NameStr,
    llvm::BasicBlock* InsertAtEnd)

Declared at: llvm/include/llvm/IR/Instructions.h:1778

Parameters

llvm::Value* C
llvm::Value* S1
llvm::Value* S2
const llvm::Twine& NameStr
llvm::BasicBlock* InsertAtEnd

SelectInst(llvm::Value* C,
           llvm::Value* S1,
           llvm::Value* S2,
           const llvm::Twine& NameStr,
           llvm::BasicBlock* InsertAtEnd)

Declared at: llvm/include/llvm/IR/Instructions.h:1746

Parameters

llvm::Value* C
llvm::Value* S1
llvm::Value* S2
const llvm::Twine& NameStr
llvm::BasicBlock* InsertAtEnd

SelectInst(llvm::Value* C,
           llvm::Value* S1,
           llvm::Value* S2,
           const llvm::Twine& NameStr,
           llvm::Instruction* InsertBefore)

Declared at: llvm/include/llvm/IR/Instructions.h:1738

Parameters

llvm::Value* C
llvm::Value* S1
llvm::Value* S2
const llvm::Twine& NameStr
llvm::Instruction* InsertBefore

static const char* areInvalidOperands(
    llvm::Value* Cond,
    llvm::Value* True,
    llvm::Value* False)

Description

Return a string if the specified operands are invalid for a select operation, otherwise return null.

Declared at: llvm/include/llvm/IR/Instructions.h:1801

Parameters

llvm::Value* Cond
llvm::Value* True
llvm::Value* False

static bool classof(const llvm::Value* V)

Declared at: llvm/include/llvm/IR/Instructions.h:1814

Parameters

const llvm::Value* V

static bool classof(const llvm::Instruction* I)

Declared at: llvm/include/llvm/IR/Instructions.h:1811

Parameters

const llvm::Instruction* I

llvm::SelectInst* cloneImpl() const

Declared at: llvm/include/llvm/IR/Instructions.h:1765

llvm::Value* getCondition()

Declared at: llvm/include/llvm/IR/Instructions.h:1787

const llvm::Value* getCondition() const

Declared at: llvm/include/llvm/IR/Instructions.h:1784

const llvm::Value* getFalseValue() const

Declared at: llvm/include/llvm/IR/Instructions.h:1786

llvm::Value* getFalseValue()

Declared at: llvm/include/llvm/IR/Instructions.h:1789

llvm::Instruction::OtherOps getOpcode() const

Declared at: llvm/include/llvm/IR/Instructions.h:1806

const llvm::Value* getTrueValue() const

Declared at: llvm/include/llvm/IR/Instructions.h:1785

llvm::Value* getTrueValue()

Declared at: llvm/include/llvm/IR/Instructions.h:1788

void init(llvm::Value* C,
          llvm::Value* S1,
          llvm::Value* S2)

Declared at: llvm/include/llvm/IR/Instructions.h:1754

Parameters

llvm::Value* C
llvm::Value* S1
llvm::Value* S2

void setCondition(llvm::Value* V)

Declared at: llvm/include/llvm/IR/Instructions.h:1791

Parameters

llvm::Value* V

void setFalseValue(llvm::Value* V)

Declared at: llvm/include/llvm/IR/Instructions.h:1793

Parameters

llvm::Value* V

void setTrueValue(llvm::Value* V)

Declared at: llvm/include/llvm/IR/Instructions.h:1792

Parameters

llvm::Value* V

void swapValues()

Description

Swap the true and false values of the select instruction. This doesn't swap prof metadata.

Declared at: llvm/include/llvm/IR/Instructions.h:1797