class SelectInst

Declaration

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

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

Inherits from: Instruction

Member Variables

Inherited from Value:

protected SubclassOptionalData
protected NumUserOperands
protected IsUsedByMD
protected HasName
protected HasHungOffUses
protected HasDescriptor
public static MaxAlignmentExponent = 29
public static MaximumAlignment = 1U << 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)
  • 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 llvm::Value * getTrueValue()
  • public const llvm::Value * getTrueValue() const
  • 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:1752

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:1762

Parameters

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

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:1785

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:1798

Parameters

const llvm::Value* V

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

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

Parameters

const llvm::Instruction* I

llvm::SelectInst* cloneImpl() const

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

llvm::Value* getCondition()

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

const llvm::Value* getCondition() const

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

const llvm::Value* getFalseValue() const

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

llvm::Value* getFalseValue()

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

llvm::Instruction::OtherOps getOpcode() const

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

llvm::Value* getTrueValue()

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

const llvm::Value* getTrueValue() const

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

void setCondition(llvm::Value* V)

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

Parameters

llvm::Value* V

void setFalseValue(llvm::Value* V)

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

Parameters

llvm::Value* V

void setTrueValue(llvm::Value* V)

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

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:1781