class SwitchLowering

Declaration

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

Declared at: llvm/include/llvm/CodeGen/SwitchLoweringUtils.h:244

Member Variables

public int SwitchCases
public int JTCases
public int BitTestCases

Method Overview

  • public SwitchLowering(llvm::FunctionLoweringInfo & funcinfo)
  • public virtual void addSuccessorWithProb(llvm::MachineBasicBlock * Src, llvm::MachineBasicBlock * Dst, llvm::BranchProbability Prob = BranchProbability::getUnknown())
  • public bool buildBitTests(int & Clusters, unsigned int First, unsigned int Last, const llvm::SwitchInst * SI, llvm::SwitchCG::CaseCluster & BTCluster)
  • public bool buildJumpTable(const int & Clusters, unsigned int First, unsigned int Last, const llvm::SwitchInst * SI, llvm::MachineBasicBlock * DefaultMBB, llvm::SwitchCG::CaseCluster & JTCluster)
  • public void findBitTestClusters(int & Clusters, const llvm::SwitchInst * SI)
  • public void findJumpTables(int & Clusters, const llvm::SwitchInst * SI, llvm::MachineBasicBlock * DefaultMBB, llvm::ProfileSummaryInfo * PSI, llvm::BlockFrequencyInfo * BFI)
  • public void init(const llvm::TargetLowering & tli, const llvm::TargetMachine & tm, const llvm::DataLayout & dl)
  • public virtual ~SwitchLowering()

Methods

SwitchLowering(
    llvm::FunctionLoweringInfo& funcinfo)

Declared at: llvm/include/llvm/CodeGen/SwitchLoweringUtils.h:246

Parameters

llvm::FunctionLoweringInfo& funcinfo

virtual void addSuccessorWithProb(
    llvm::MachineBasicBlock* Src,
    llvm::MachineBasicBlock* Dst,
    llvm::BranchProbability Prob =
        BranchProbability::getUnknown())

Declared at: llvm/include/llvm/CodeGen/SwitchLoweringUtils.h:283

Parameters

llvm::MachineBasicBlock* Src
llvm::MachineBasicBlock* Dst
llvm::BranchProbability Prob = BranchProbability::getUnknown()

bool buildBitTests(
    int& Clusters,
    unsigned int First,
    unsigned int Last,
    const llvm::SwitchInst* SI,
    llvm::SwitchCG::CaseCluster& BTCluster)

Declared at: llvm/include/llvm/CodeGen/SwitchLoweringUtils.h:280

Parameters

int& Clusters
unsigned int First
unsigned int Last
const llvm::SwitchInst* SI
llvm::SwitchCG::CaseCluster& BTCluster

bool buildJumpTable(
    const int& Clusters,
    unsigned int First,
    unsigned int Last,
    const llvm::SwitchInst* SI,
    llvm::MachineBasicBlock* DefaultMBB,
    llvm::SwitchCG::CaseCluster& JTCluster)

Declared at: llvm/include/llvm/CodeGen/SwitchLoweringUtils.h:271

Parameters

const int& Clusters
unsigned int First
unsigned int Last
const llvm::SwitchInst* SI
llvm::MachineBasicBlock* DefaultMBB
llvm::SwitchCG::CaseCluster& JTCluster

void findBitTestClusters(
    int& Clusters,
    const llvm::SwitchInst* SI)

Declared at: llvm/include/llvm/CodeGen/SwitchLoweringUtils.h:276

Parameters

int& Clusters
const llvm::SwitchInst* SI

void findJumpTables(
    int& Clusters,
    const llvm::SwitchInst* SI,
    llvm::MachineBasicBlock* DefaultMBB,
    llvm::ProfileSummaryInfo* PSI,
    llvm::BlockFrequencyInfo* BFI)

Declared at: llvm/include/llvm/CodeGen/SwitchLoweringUtils.h:267

Parameters

int& Clusters
const llvm::SwitchInst* SI
llvm::MachineBasicBlock* DefaultMBB
llvm::ProfileSummaryInfo* PSI
llvm::BlockFrequencyInfo* BFI

void init(const llvm::TargetLowering& tli,
          const llvm::TargetMachine& tm,
          const llvm::DataLayout& dl)

Declared at: llvm/include/llvm/CodeGen/SwitchLoweringUtils.h:248

Parameters

const llvm::TargetLowering& tli
const llvm::TargetMachine& tm
const llvm::DataLayout& dl

virtual ~SwitchLowering()

Declared at: llvm/include/llvm/CodeGen/SwitchLoweringUtils.h:287