struct AANoSync

Declaration

struct AANoSync : public IRAttribute { /* full declaration omitted */ };

Description

Helper class that provides common functionality to manifest IR attributes.

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

Inherits from: IRAttribute

Member Variables

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

Method Overview

Methods

AANoSync(const llvm::IRPosition& IRP,
         llvm::Attributor& A)

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

Parameters

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

static bool classof(
    const llvm::AbstractAttribute* AA)

Description

This function should return true if the type of the \p AA is AANoSync

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

Parameters

const llvm::AbstractAttribute* AA

static llvm::AANoSync& 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:3164

Parameters

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

const char* getIdAddr() const

Description

See AbstractAttribute::getIdAddr()

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

const std::string getName() const

Description

See AbstractAttribute::getName()

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

bool isAssumedNoSync() const

Description

Returns true if "nosync" is assumed.

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

bool isKnownNoSync() const

Description

Returns true if "nosync" is known.

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

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

Description

Helper function specific for intrinsics which are potentially volatile.

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

Parameters

const llvm::Instruction* I

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

Description

Helper function used to determine whether an instruction is non-relaxed atomic. In other words, if an atomic instruction does not have unordered or monotonic ordering

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

Parameters

const llvm::Instruction* I