LLVM API Documentation
#include <Instructions.h>


Public Member Functions | |
| const Value * | getCondition () const |
| const Value * | getTrueValue () const |
| const Value * | getFalseValue () const |
| Value * | getCondition () |
| Value * | getTrueValue () |
| Value * | getFalseValue () |
| DECLARE_TRANSPARENT_OPERAND_ACCESSORS (Value) | |
| Transparently provide more efficient getOperand methods. | |
| OtherOps | getOpcode () const |
| getOpcode() returns a member of one of the enums like Instruction::Add. | |
Static Public Member Functions | |
| static SelectInst * | Create (Value *C, Value *S1, Value *S2, const Twine &NameStr="", Instruction *InsertBefore=0) |
| static SelectInst * | Create (Value *C, Value *S1, Value *S2, const Twine &NameStr, BasicBlock *InsertAtEnd) |
| static const char * | areInvalidOperands (Value *Cond, Value *True, Value *False) |
| static bool | classof (const Instruction *I) |
| static bool | classof (const Value *V) |
| Methods for support type inquiry through isa, cast, and dyn_cast: | |
Protected Member Functions | |
| virtual SelectInst * | clone_impl () const |
SelectInst - This class represents the LLVM 'select' instruction.
Definition at line 1424 of file Instructions.h.
areInvalidOperands - Return a string if the specified operands are invalid for a select operation, otherwise return null.
Definition at line 62 of file Instructions.cpp.
References llvm::dyn_cast(), llvm::Value::getContext(), llvm::Type::getInt1Ty(), llvm::VectorType::getNumElements(), and llvm::Value::getType().
Referenced by llvm::ConstantExpr::getSelect().
| static bool llvm::SelectInst::classof | ( | const Instruction * | I | ) | [inline, static] |
Definition at line 1479 of file Instructions.h.
References llvm::Instruction::getOpcode(), and llvm::Select.
Methods for support type inquiry through isa, cast, and dyn_cast:
Reimplemented from llvm::Instruction.
Definition at line 1482 of file Instructions.h.
| SelectInst * SelectInst::clone_impl | ( | ) | const [protected, virtual] |
Implements llvm::Instruction.
Definition at line 3497 of file Instructions.cpp.
References Create(), and llvm::User::getOperand().
| static SelectInst* llvm::SelectInst::Create | ( | Value * | C, |
| Value * | S1, | ||
| Value * | S2, | ||
| const Twine & | NameStr = "", |
||
| Instruction * | InsertBefore = 0 |
||
| ) | [inline, static] |
Definition at line 1449 of file Instructions.h.
Referenced by clone_impl(), llvm::NoFolder::CreateSelect(), llvm::IRBuilder< true, TargetFolder >::CreateSelect(), llvm::ConstantExpr::getAsInstruction(), MatchSelectFromAndOr(), TryToShrinkGlobalToBoolean(), llvm::InstCombiner::visitAdd(), llvm::InstCombiner::visitAnd(), llvm::InstCombiner::visitFAdd(), llvm::InstCombiner::visitFCmpInst(), llvm::InstCombiner::visitICmpInst(), llvm::InstCombiner::visitLoadInst(), llvm::InstCombiner::visitOr(), and llvm::InstCombiner::visitUDiv().
| static SelectInst* llvm::SelectInst::Create | ( | Value * | C, |
| Value * | S1, | ||
| Value * | S2, | ||
| const Twine & | NameStr, | ||
| BasicBlock * | InsertAtEnd | ||
| ) | [inline, static] |
Definition at line 1454 of file Instructions.h.
| llvm::SelectInst::DECLARE_TRANSPARENT_OPERAND_ACCESSORS | ( | Value | ) |
Transparently provide more efficient getOperand methods.
| const Value* llvm::SelectInst::getCondition | ( | ) | const [inline] |
Definition at line 1460 of file Instructions.h.
Referenced by AddReachableCodeToWorklist(), CanSelectOperandBeMappingIntoPredBlock(), ExtractEquivalentCondition(), foldSelectICmpAnd(), foldSelectICmpAndOr(), foldSelectInst(), llvm::InstCombiner::FoldSelectIntoOp(), llvm::InstCombiner::FoldSelectOpOp(), isFormingBranchFromSelectProfitable(), llvm::PatternMatch::MaxMin_match< CmpInst_t, LHS_t, RHS_t, Pred_t >::match(), MatchSelectPattern(), SimplifyIndirectBrOnSelect(), SimplifySwitchOnSelect(), ThreadCmpOverSelect(), llvm::InstCombiner::visitAdd(), llvm::InstCombiner::visitSelectInst(), and llvm::ObjectSizeOffsetEvaluator::visitSelectInst().
| Value* llvm::SelectInst::getCondition | ( | ) | [inline] |
Definition at line 1463 of file Instructions.h.
| const Value* llvm::SelectInst::getFalseValue | ( | ) | const [inline] |
Definition at line 1462 of file Instructions.h.
Referenced by CanEvaluateShifted(), CanEvaluateTruncated(), isSafeSelectToSpeculate(), llvm::PatternMatch::MaxMin_match< CmpInst_t, LHS_t, RHS_t, Pred_t >::match(), MatchSelectPattern(), SimplifyIndirectBrOnSelect(), SimplifySwitchOnSelect(), ThreadBinOpOverSelect(), ThreadCmpOverSelect(), llvm::InstCombiner::visitAdd(), llvm::InstCombiner::visitSelectInst(), llvm::ObjectSizeOffsetVisitor::visitSelectInst(), llvm::ObjectSizeOffsetEvaluator::visitSelectInst(), and llvm::InstCombiner::visitSelectInstWithICmp().
| Value* llvm::SelectInst::getFalseValue | ( | ) | [inline] |
Definition at line 1465 of file Instructions.h.
| OtherOps llvm::SelectInst::getOpcode | ( | ) | const [inline] |
getOpcode() returns a member of one of the enums like Instruction::Add.
Reimplemented from llvm::Instruction.
Definition at line 1474 of file Instructions.h.
References llvm::Instruction::getOpcode().
| const Value* llvm::SelectInst::getTrueValue | ( | ) | const [inline] |
Definition at line 1461 of file Instructions.h.
Referenced by CanEvaluateShifted(), CanEvaluateTruncated(), isSafeSelectToSpeculate(), llvm::PatternMatch::MaxMin_match< CmpInst_t, LHS_t, RHS_t, Pred_t >::match(), MatchSelectPattern(), SimplifyIndirectBrOnSelect(), SimplifySwitchOnSelect(), ThreadBinOpOverSelect(), ThreadCmpOverSelect(), llvm::InstCombiner::visitAdd(), llvm::InstCombiner::visitSelectInst(), llvm::ObjectSizeOffsetVisitor::visitSelectInst(), llvm::ObjectSizeOffsetEvaluator::visitSelectInst(), and llvm::InstCombiner::visitSelectInstWithICmp().
| Value* llvm::SelectInst::getTrueValue | ( | ) | [inline] |
Definition at line 1464 of file Instructions.h.