struct IROutliner::InstructionAllowed

Declaration

struct IROutliner::InstructionAllowed : public InstVisitor { /* full declaration omitted */ };

Description

Custom InstVisitor to classify different instructions for whether it can be analyzed for similarity. This is needed as there may be instruction we can identify as having similarity, but are more complicated to outline.

Declared at: llvm/include/llvm/Transforms/IPO/IROutliner.h:354

Inherits from: InstVisitor

Member Variables

public bool EnableBranches = false
public bool EnableIndirectCalls = true
public bool EnableIntrinsics = false
public bool EnableMustTailCalls = false

Method Overview

Methods

InstructionAllowed()

Declared at: llvm/include/llvm/Transforms/IPO/IROutliner.h:355

bool IntrinsicInst(llvm::IntrinsicInst& II)

Declared at: llvm/include/llvm/Transforms/IPO/IROutliner.h:375

Parameters

llvm::IntrinsicInst& II

bool visitAllocaInst(llvm::AllocaInst& AI)

Declared at: llvm/include/llvm/Transforms/IPO/IROutliner.h:360

Parameters

llvm::AllocaInst& AI

bool visitBranchInst(llvm::BranchInst& BI)

Declared at: llvm/include/llvm/Transforms/IPO/IROutliner.h:357

Parameters

llvm::BranchInst& BI

bool visitCallBrInst(llvm::CallBrInst& CBI)

Declared at: llvm/include/llvm/Transforms/IPO/IROutliner.h:418

Parameters

llvm::CallBrInst& CBI

bool visitCallInst(llvm::CallInst& CI)

Declared at: llvm/include/llvm/Transforms/IPO/IROutliner.h:378

Parameters

llvm::CallInst& CI

bool visitDbgInfoIntrinsic(
    llvm::DbgInfoIntrinsic& DII)

Declared at: llvm/include/llvm/Transforms/IPO/IROutliner.h:372

Parameters

llvm::DbgInfoIntrinsic& DII

bool visitFreezeInst(llvm::FreezeInst& CI)

Declared at: llvm/include/llvm/Transforms/IPO/IROutliner.h:414

Parameters

llvm::FreezeInst& CI

bool visitFuncletPadInst(
    llvm::FuncletPadInst& FPI)

Declared at: llvm/include/llvm/Transforms/IPO/IROutliner.h:368

Parameters

llvm::FuncletPadInst& FPI

bool visitInstruction(llvm::Instruction& I)

Declared at: llvm/include/llvm/Transforms/IPO/IROutliner.h:421

Parameters

llvm::Instruction& I

bool visitInvokeInst(llvm::InvokeInst& II)

Declared at: llvm/include/llvm/Transforms/IPO/IROutliner.h:416

Parameters

llvm::InvokeInst& II

bool visitLandingPadInst(
    llvm::LandingPadInst& LPI)

Declared at: llvm/include/llvm/Transforms/IPO/IROutliner.h:367

Parameters

llvm::LandingPadInst& LPI

bool visitPHINode(llvm::PHINode& PN)

Declared at: llvm/include/llvm/Transforms/IPO/IROutliner.h:358

Parameters

llvm::PHINode& PN

bool visitTerminator(llvm::Instruction& I)

Declared at: llvm/include/llvm/Transforms/IPO/IROutliner.h:420

Parameters

llvm::Instruction& I

bool visitVAArgInst(llvm::VAArgInst& VI)

Declared at: llvm/include/llvm/Transforms/IPO/IROutliner.h:364

Parameters

llvm::VAArgInst& VI