LLVM 23.0.0git
BBAddrMap.h File Reference

This file declares common types and utilities for basic-block address maps. More...

#include "llvm/ADT/SmallVector.h"
#include "llvm/Support/BlockFrequency.h"
#include "llvm/Support/BranchProbability.h"
#include "llvm/Support/DataExtractor.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/UniqueBBID.h"
#include "llvm/Object/BBAddrMap.def"

Go to the source code of this file.

Classes

struct  llvm::object::BBAddrMap
struct  llvm::object::BBAddrMap::Features
struct  llvm::object::BBAddrMap::BBEntry
struct  llvm::object::BBAddrMap::BBRangeEntry
struct  llvm::object::PGOAnalysisMap
 A feature extension of BBAddrMap that holds information relevant to PGO. More...
struct  llvm::object::PGOAnalysisMap::PGOBBEntry
 Extra basic block data with fields for block frequency and branch probability. More...
struct  llvm::object::PGOAnalysisMap::PGOBBEntry::SuccessorEntry
 Single successor of a given basic block that contains the tag and branch probability associated with it. More...
class  llvm::object::AddressExtractor
 Extracts addresses from a data stream. More...

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
namespace  llvm::object

Macros

#define HANDLE_BB_ADDR_MAP_FEATURE(Name)
#define HANDLE_BB_ADDR_MAP_FEATURE(Name)
#define HANDLE_BB_ADDR_MAP_FEATURE(Name)
#define HANDLE_BB_ADDR_MAP_FEATURE(Name)
#define HANDLE_BB_ADDR_MAP_BB_METADATA(Name)
#define HANDLE_BB_ADDR_MAP_BB_METADATA(Name)
#define HANDLE_BB_ADDR_MAP_BB_METADATA(Name)
#define HANDLE_BB_ADDR_MAP_BB_METADATA(Name)

Functions

Expected< std::vector< BBAddrMap > > llvm::object::decodeBBAddrMapPayload (AddressExtractor &Extractor, std::vector< PGOAnalysisMap > *PGOAnalyses=nullptr)
 Decodes one BB address map section payload.

Detailed Description

This file declares common types and utilities for basic-block address maps.

Definition in file BBAddrMap.h.

Macro Definition Documentation

◆ HANDLE_BB_ADDR_MAP_BB_METADATA [1/4]

#define HANDLE_BB_ADDR_MAP_BB_METADATA ( Name)
Value:
Name##Bit,

Definition at line 83 of file BBAddrMap.h.

◆ HANDLE_BB_ADDR_MAP_BB_METADATA [2/4]

#define HANDLE_BB_ADDR_MAP_BB_METADATA ( Name)
Value:
bool Name : 1;

Definition at line 83 of file BBAddrMap.h.

◆ HANDLE_BB_ADDR_MAP_BB_METADATA [3/4]

#define HANDLE_BB_ADDR_MAP_BB_METADATA ( Name)
Value:
V |= static_cast<uint32_t>(Name) << Name##Bit;

Definition at line 83 of file BBAddrMap.h.

◆ HANDLE_BB_ADDR_MAP_BB_METADATA [4/4]

#define HANDLE_BB_ADDR_MAP_BB_METADATA ( Name)
Value:
static_cast<bool>(V & (uint32_t{1} << Name##Bit)),

Definition at line 83 of file BBAddrMap.h.

◆ HANDLE_BB_ADDR_MAP_FEATURE [1/4]

#define HANDLE_BB_ADDR_MAP_FEATURE ( Name)
Value:
Name##Bit,

Definition at line 34 of file BBAddrMap.h.

◆ HANDLE_BB_ADDR_MAP_FEATURE [2/4]

#define HANDLE_BB_ADDR_MAP_FEATURE ( Name)
Value:
bool Name : 1;

Definition at line 34 of file BBAddrMap.h.

◆ HANDLE_BB_ADDR_MAP_FEATURE [3/4]

#define HANDLE_BB_ADDR_MAP_FEATURE ( Name)
Value:
V |= static_cast<uint16_t>(Name) << Name##Bit;

Definition at line 34 of file BBAddrMap.h.

◆ HANDLE_BB_ADDR_MAP_FEATURE [4/4]

#define HANDLE_BB_ADDR_MAP_FEATURE ( Name)
Value:
static_cast<bool>(Val & (uint16_t{1} << Name##Bit)),

Definition at line 34 of file BBAddrMap.h.