class OrderedBasicBlock

Declaration

class OrderedBasicBlock { /* full declaration omitted */ };

Declared at: llvm/include/llvm/Analysis/OrderedBasicBlock.h:33

Method Overview

Methods

OrderedBasicBlock(const llvm::BasicBlock* BasicB)

Declared at: llvm/include/llvm/Analysis/OrderedBasicBlock.h:54

Parameters

const llvm::BasicBlock* BasicB

bool dominates(const llvm::Instruction* A,
               const llvm::Instruction* B)

Description

Find out whether \p A dominates \p B, meaning whether \p A comes before \p B in \p BB. This is a simplification that considers cached instruction positions and ignores other basic blocks, being only relevant to compare relative instructions positions inside \p BB. Returns false for A == B.

Declared at: llvm/include/llvm/Analysis/OrderedBasicBlock.h:61

Parameters

const llvm::Instruction* A
const llvm::Instruction* B

void eraseInstruction(const llvm::Instruction* I)

Description

Remove \p from the ordering, if it is present.

Declared at: llvm/include/llvm/Analysis/OrderedBasicBlock.h:64

Parameters

const llvm::Instruction* I

void replaceInstruction(
    const llvm::Instruction* Old,
    const llvm::Instruction* New)

Description

Replace \p Old with \p New in the ordering. \p New is assigned the numbering of \p Old, so it must be inserted at the same position in the IR.

Declared at: llvm/include/llvm/Analysis/OrderedBasicBlock.h:69

Parameters

const llvm::Instruction* Old
const llvm::Instruction* New