|
LLVM 22.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. | |