LLVM 22.0.0git
|
#include "llvm/SandboxIR/Constant.h"
Public Member Functions | |
FixedVectorType * | getType () const |
Specialize the getType() method to always return a FixedVectorType, which reduces the amount of casting needed in parts of the compiler. | |
LLVM_ABI Constant * | getSplatValue (bool AllowPoison=false) const |
If all elements of the vector constant have the same value, return that value. | |
Public Member Functions inherited from llvm::sandboxir::Constant | |
sandboxir::Context & | getParent () const |
unsigned | getUseOperandNo (const Use &Use) const override |
\Returns the operand index of Use . | |
void | verify () const override |
Should crash if there is something wrong with the instruction. | |
void | dumpOS (raw_ostream &OS) const override |
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 |
Static Public Member Functions | |
static LLVM_ABI Constant * | get (ArrayRef< Constant * > V) |
static LLVM_ABI Constant * | getSplat (ElementCount EC, Constant *Elt) |
Return a ConstantVector with the specified constant in each element. | |
static bool | classof (const Value *From) |
For isa/dyn_cast. | |
Static Public Member Functions inherited from llvm::sandboxir::ConstantAggregate | |
static bool | classof (const sandboxir::Value *From) |
For isa/dyn_cast. | |
Static Public Member Functions inherited from llvm::sandboxir::Constant | |
static bool | classof (const sandboxir::Value *From) |
For isa/dyn_cast. | |
Static Public Member Functions inherited from llvm::sandboxir::User | |
static bool | classof (const Value *From) |
For isa/dyn_cast. |
Friends | |
class | Context |
Definition at line 423 of file Constant.h.
For isa/dyn_cast.
Definition at line 444 of file Constant.h.
References llvm::sandboxir::Value::getSubclassID().
Definition at line 176 of file Constant.cpp.
References assert(), llvm::cast(), llvm::sandboxir::Value::Ctx, llvm::ConstantVector::get(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::SmallVectorImpl< T >::reserve().
|
static |
Return a ConstantVector with the specified constant in each element.
Note that this might not return an instance of ConstantVector
Definition at line 186 of file Constant.cpp.
References llvm::cast(), llvm::sandboxir::Value::Ctx, llvm::sandboxir::Value::getContext(), llvm::ConstantVector::getSplat(), and llvm::sandboxir::Value::Val.
If all elements of the vector constant have the same value, return that value.
Otherwise, return nullptr. Ignore poison elements by setting AllowPoison to true.
Definition at line 192 of file Constant.cpp.
References llvm::cast(), llvm::cast_or_null(), llvm::sandboxir::Value::Ctx, getSplatValue(), and llvm::sandboxir::Value::Val.
Referenced by getSplatValue().
|
inline |
Specialize the getType() method to always return a FixedVectorType, which reduces the amount of casting needed in parts of the compiler.
Definition at line 435 of file Constant.h.
References llvm::cast(), and llvm::sandboxir::Value::getType().
|
friend |