LLVM 20.0.0git
|
#include "llvm/ADT/SmallVector.h"
#include "llvm/CodeGen/ISDOpcodes.h"
#include "llvm/CodeGen/SelectionDAGNodes.h"
#include "llvm/IR/InstrTypes.h"
#include "llvm/Support/BranchProbability.h"
#include <vector>
Go to the source code of this file.
Classes | |
struct | llvm::SwitchCG::CaseCluster |
A cluster of case labels. More... | |
struct | llvm::SwitchCG::CaseBits |
struct | llvm::SwitchCG::CaseBlock |
This structure is used to communicate between SelectionDAGBuilder and SDISel for the code generation of additional basic blocks needed by multi-case switch statements. More... | |
struct | llvm::SwitchCG::CaseBlock::PredInfoPair |
struct | llvm::SwitchCG::JumpTable |
struct | llvm::SwitchCG::JumpTableHeader |
struct | llvm::SwitchCG::BitTestCase |
struct | llvm::SwitchCG::BitTestBlock |
struct | llvm::SwitchCG::SwitchWorkListItem |
class | llvm::SwitchCG::SwitchLowering |
struct | llvm::SwitchCG::SwitchLowering::SplitWorkItemInfo |
Namespaces | |
namespace | llvm |
This is an optimization pass for GlobalISel generic memory operations. | |
namespace | llvm::SwitchCG |
Typedefs | |
using | llvm::SwitchCG::CaseClusterVector = std::vector< CaseCluster > |
using | llvm::SwitchCG::CaseClusterIt = CaseClusterVector::iterator |
using | llvm::SwitchCG::CaseBitsVector = std::vector< CaseBits > |
using | llvm::SwitchCG::JumpTableBlock = std::pair< JumpTableHeader, JumpTable > |
using | llvm::SwitchCG::BitTestInfo = SmallVector< BitTestCase, 3 > |
using | llvm::SwitchCG::SwitchWorkList = SmallVector< SwitchWorkListItem, 4 > |
Enumerations | |
enum | llvm::SwitchCG::CaseClusterKind { llvm::SwitchCG::CC_Range , llvm::SwitchCG::CC_JumpTable , llvm::SwitchCG::CC_BitTests } |
Functions | |
void | llvm::SwitchCG::sortAndRangeify (CaseClusterVector &Clusters) |
Sort Clusters and merge adjacent cases. | |
uint64_t | llvm::SwitchCG::getJumpTableRange (const CaseClusterVector &Clusters, unsigned First, unsigned Last) |
Return the range of values within a range. | |
uint64_t | llvm::SwitchCG::getJumpTableNumCases (const SmallVectorImpl< unsigned > &TotalCases, unsigned First, unsigned Last) |
Return the number of cases within a range. | |