class MemoryWriteTracking
Declaration
class MemoryWriteTracking : public InstructionPrecedenceTracking { /* full declaration omitted */ };
Declared at: llvm/include/llvm/Analysis/InstructionPrecedenceTracking.h:122
Inherits from: InstructionPrecedenceTracking
Method Overview
- public MemoryWriteTracking(llvm::DominatorTree * DT)
- public const llvm::Instruction * getFirstMemoryWrite(const llvm::BasicBlock * BB)
- public bool isDominatedByMemoryWriteFromSameBlock(const llvm::Instruction * Insn)
- public virtual bool isSpecialInstruction(const llvm::Instruction * Insn) const
- public bool mayWriteToMemory(const llvm::BasicBlock * BB)
Inherited from InstructionPrecedenceTracking:
- public clear
- protected getFirstSpecialInstruction
- protected hasSpecialInstructions
- public insertInstructionTo
- protected isPreceededBySpecialInstruction
- protected isSpecialInstruction
- public removeInstruction
Methods
¶MemoryWriteTracking(llvm::DominatorTree* DT)
MemoryWriteTracking(llvm::DominatorTree* DT)
Declared at: llvm/include/llvm/Analysis/InstructionPrecedenceTracking.h:124
Parameters
¶const llvm::Instruction* getFirstMemoryWrite(
const llvm::BasicBlock* BB)
const llvm::Instruction* getFirstMemoryWrite(
const llvm::BasicBlock* BB)
Description
Returns the topmost instruction that may write memory from the given basic block. Returns nullptr if there is no such instructions in the block.
Declared at: llvm/include/llvm/Analysis/InstructionPrecedenceTracking.h:128
Parameters
- const llvm::BasicBlock* BB
¶bool isDominatedByMemoryWriteFromSameBlock(
const llvm::Instruction* Insn)
bool isDominatedByMemoryWriteFromSameBlock(
const llvm::Instruction* Insn)
Description
Returns true if the first memory writing instruction of Insn's block exists and dominates Insn.
Declared at: llvm/include/llvm/Analysis/InstructionPrecedenceTracking.h:140
Parameters
- const llvm::Instruction* Insn
¶virtual bool isSpecialInstruction(
const llvm::Instruction* Insn) const
virtual bool isSpecialInstruction(
const llvm::Instruction* Insn) const
Description
A predicate that defines whether or not the instruction \p Insn is considered special and needs to be tracked. Implementing this method in children classes allows to implement tracking of implicit control flow, memory writing instructions or any other kinds of instructions we might be interested in.
Declared at: llvm/include/llvm/Analysis/InstructionPrecedenceTracking.h:144
Parameters
- const llvm::Instruction* Insn
¶bool mayWriteToMemory(const llvm::BasicBlock* BB)
bool mayWriteToMemory(const llvm::BasicBlock* BB)
Description
Returns true if at least one instruction from the given basic block may write memory.
Declared at: llvm/include/llvm/Analysis/InstructionPrecedenceTracking.h:134
Parameters
- const llvm::BasicBlock* BB