struct AAUndefinedBehavior

Declaration

struct AAUndefinedBehavior : public StateWrapper, public IRPosition { /* full declaration omitted */ };

Description

An abstract attribute for undefined behavior.

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:1957

Inherits from: StateWrapper, IRPosition

Member Variables

public static const char ID
Unique ID (due to the unique address)

Inherited from IRPosition:

protected AnchorVal
protected KindOrArgNo
public static EmptyKey
public static TombstoneKey

Method Overview

Inherited from IRPosition:

Methods

AAUndefinedBehavior(const llvm::IRPosition& IRP)

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:1960

Parameters

const llvm::IRPosition& IRP

static llvm::AAUndefinedBehavior&
createForPosition(const llvm::IRPosition& IRP,
                  llvm::Attributor& A)

Description

Create an abstract attribute view for the position \p IRP.

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:1978

Parameters

const llvm::IRPosition& IRP
llvm::Attributor& A

const llvm::IRPosition& getIRPosition() const

Description

Return an IR position, see struct IRPosition.

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:1975

bool isAssumedToCauseUB() const

Description

Return true if "undefined behavior" is assumed.

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:1963

virtual bool isAssumedToCauseUB(
    llvm::Instruction* I) const

Description

Return true if "undefined behavior" is assumed for a specific instruction.

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:1966

Parameters

llvm::Instruction* I

bool isKnownToCauseUB() const

Description

Return true if "undefined behavior" is known.

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:1969

virtual bool isKnownToCauseUB(
    llvm::Instruction* I) const

Description

Return true if "undefined behavior" is known for a specific instruction.

Declared at: llvm/include/llvm/Transforms/IPO/Attributor.h:1972

Parameters

llvm::Instruction* I