class UndefValue

Declaration

class UndefValue : public ConstantData { /* full declaration omitted */ };

Description

'undef' values are things that do not have specified contents. These are used for a variety of purposes, including global variable initializers and operands to instructions. 'undef' values can occur with any first-class type. Undef values aren't exactly constants; if they have multiple uses, they can appear to have different bit patterns at each use. See LangRef.html#undefvalues for details.

Declared at: llvm/include/llvm/IR/Constants.h:1364

Inherits from: ConstantData

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

Inherited from ConstantData:

Inherited from Constant:

Inherited from User:

Inherited from Value:

Methods

UndefValue(llvm::Type* T)

Declared at: llvm/include/llvm/IR/Constants.h:1367

Parameters

llvm::Type* T

UndefValue(llvm::Type* T,
           llvm::Value::ValueTy vty)

Declared at: llvm/include/llvm/IR/Constants.h:1372

Parameters

llvm::Type* T
llvm::Value::ValueTy vty

UndefValue(const llvm::UndefValue&)

Declared at: llvm/include/llvm/IR/Constants.h:1375

Parameters

const llvm::UndefValue&

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

Description

Methods for support type inquiry through isa, cast, and dyn_cast:

Declared at: llvm/include/llvm/IR/Constants.h:1399

Parameters

const llvm::Value* V

void destroyConstantImpl()

Declared at: llvm/include/llvm/IR/Constants.h:1369

static llvm::UndefValue* get(llvm::Type* T)

Description

Static factory methods - Return an 'undef' object of the specified type.

Declared at: llvm/include/llvm/IR/Constants.h:1378

Parameters

llvm::Type* T

llvm::UndefValue* getElementValue(
    llvm::Constant* C) const

Description

Return an undef of the right value for the specified GEP index if we can, otherwise return null (e.g. if C is a ConstantExpr).

Declared at: llvm/include/llvm/IR/Constants.h:1390

Parameters

llvm::Constant* C

llvm::UndefValue* getElementValue(
    unsigned int Idx) const

Description

Return an undef of the right value for the specified GEP index.

Declared at: llvm/include/llvm/IR/Constants.h:1393

Parameters

unsigned int Idx

unsigned int getNumElements() const

Description

Return the number of elements in the array, vector, or struct.

Declared at: llvm/include/llvm/IR/Constants.h:1396

llvm::UndefValue* getSequentialElement() const

Description

If this Undef has array or vector type, return a undef with the right element type.

Declared at: llvm/include/llvm/IR/Constants.h:1382

llvm::UndefValue* getStructElement(
    unsigned int Elt) const

Description

If this undef has struct type, return a undef with the right element type for the specified element.

Declared at: llvm/include/llvm/IR/Constants.h:1386

Parameters

unsigned int Elt