Go to the source code of this file.
◆ DEBUG_TYPE
| #define DEBUG_TYPE "jump-table-to-switch" |
◆ expandToSwitch()
Definition at line 94 of file JumpTableToSwitch.cpp.
References llvm::all_of(), llvm::any_of(), llvm::GenericDomTreeUpdater< DerivedT, DomTreeT, PostDomTreeT >::applyUpdates(), assert(), B(), C(), Call, llvm::cast(), llvm::Instruction::clone(), llvm::BasicBlock::Create(), llvm::UncondBrInst::Create(), llvm::IRBuilderBase::CreatePHI(), llvm::IRBuilderBase::CreateUnreachable(), DEBUG_TYPE, llvm::DominatorTreeBase< BasicBlock, false >::Delete, llvm::downscaleWeights(), llvm::OptimizationRemarkEmitter::emit(), llvm::enumerate(), llvm::Instruction::eraseFromParent(), F, G, llvm::Value::getContext(), llvm::Instruction::getMetadata(), llvm::Value::getName(), llvm::BasicBlock::getParent(), llvm::ilist_detail::node_parent_access< NodeTy, ParentTy >::getParent(), llvm::BasicBlock::getTerminator(), llvm::Value::getType(), llvm::getValueProfDataFromInst(), llvm::Type::getVoidTy(), llvm::DominatorTreeBase< BasicBlock, false >::Insert, llvm::DenseMapBase< StorageT, KeyT, ValueT, KeyInfoT, BucketT >::insert(), llvm::isValueProfileMD(), llvm::DenseMapBase< StorageT, KeyT, ValueT, KeyInfoT, BucketT >::lookup_or(), llvm::not_equal_to(), PHI, llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::Value::replaceAllUsesWith(), llvm::SmallVectorImpl< T >::reserve(), llvm::setBranchWeights(), llvm::setExplicitlyUnknownBranchWeights(), llvm::SplitBlock(), and uint64_t.
Referenced by llvm::JumpTableToSwitchPass::run().
◆ parseJumpTable()
Definition at line 41 of file JumpTableToSwitch.cpp.
References llvm::BitWidth, C(), llvm::ConstantFoldLoadFromConst(), DL, llvm::dyn_cast(), llvm::dyn_cast_or_null(), F, llvm::MapVector< KeyT, ValueT, MapType, VectorType, N >::front(), GEP, llvm::GlobalVariable::getGlobalSize(), llvm::GlobalVariable::getInitializer(), llvm::APInt::getZExtValue(), llvm::GlobalVariable::hasDefinitiveInitializer(), llvm::GlobalVariable::isConstant(), llvm::APInt::isZero(), N, llvm::Offset, llvm::MapVector< KeyT, ValueT, MapType, VectorType, N >::size(), and uint64_t.
Referenced by llvm::JumpTableToSwitchPass::run().
◆ STATISTIC() [1/2]
| STATISTIC |
( |
NumEligibleJumpTables | , |
|
|
"The number of jump tables seen by the pass " "that can be converted if deemed profitable." | ) |
◆ STATISTIC() [2/2]
| STATISTIC |
( |
NumJumpTablesConverted | , |
|
|
"The number of jump tables converted into switches." | ) |