LLVM 20.0.0git
Functions | Variables
BasicBlockSections.cpp File Reference
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/CodeGen/BasicBlockSectionUtils.h"
#include "llvm/CodeGen/BasicBlockSectionsProfileReader.h"
#include "llvm/CodeGen/MachineDominators.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachinePostDominators.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/CodeGen/TargetInstrInfo.h"
#include "llvm/InitializePasses.h"
#include "llvm/Target/TargetMachine.h"
#include <optional>

Go to the source code of this file.

Functions

 INITIALIZE_PASS_BEGIN (BasicBlockSections, "bbsections-prepare", "Prepares for basic block sections, by splitting functions " "into clusters of basic blocks.", false, false) INITIALIZE_PASS_END(BasicBlockSections
 
bbsections Prepares for basic block by splitting functions into clusters of basic static false void updateBranches (MachineFunction &MF, const SmallVector< MachineBasicBlock * > &PreLayoutFallThroughs)
 
static void assignSections (MachineFunction &MF, const DenseMap< UniqueBBID, BBClusterInfo > &FuncClusterInfo)
 

Variables

static cl::opt< boolBBSectionsDetectSourceDrift ("bbsections-detect-source-drift", cl::desc("This checks if there is a fdo instr. profile hash " "mismatch for this function"), cl::init(true), cl::Hidden)
 
bbsections prepare
 
bbsections Prepares for basic block sections
 
bbsections Prepares for basic block by splitting functions into clusters of basic blocks
 
bbsections Prepares for basic block by splitting functions into clusters of basic false
 

Function Documentation

◆ assignSections()

static void assignSections ( MachineFunction MF,
const DenseMap< UniqueBBID, BBClusterInfo > &  FuncClusterInfo 
)
static

◆ INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( BasicBlockSections  ,
"bbsections-prepare"  ,
"Prepares for basic block  sections,
by splitting functions " "into clusters of basic blocks."  ,
false  ,
false   
)

◆ updateBranches()

bbsections Prepares for basic block by splitting functions into clusters of basic static false void updateBranches ( MachineFunction MF,
const SmallVector< MachineBasicBlock * > &  PreLayoutFallThroughs 
)
static

Variable Documentation

◆ BBSectionsDetectSourceDrift

cl::opt< bool > BBSectionsDetectSourceDrift("bbsections-detect-source-drift", cl::desc("This checks if there is a fdo instr. profile hash " "mismatch for this function"), cl::init(true), cl::Hidden) ( "bbsections-detect-source-drift"  ,
cl::desc("This checks if there is a fdo instr. profile hash " "mismatch for this function")  ,
cl::init(true ,
cl::Hidden   
)
static

◆ blocks

split region exit SPIRV split region exit blocks

◆ false

bbsections Prepares for basic block by splitting functions into clusters of basic false

Definition at line 141 of file BasicBlockSections.cpp.

◆ prepare

bbsections prepare

◆ sections

bbsections Prepares for basic block sections