[llvm] [CVP] Check whether the default case is reachable (PR #79993)
via llvm-commits
llvm-commits at lists.llvm.org
Fri Feb 9 06:11:53 PST 2024
alexfh wrote:
A bit longer run under perf gives:
```
- 99.98% 0.00% clang clang [.] clang_main(int, char**, llvm::ToolContext const&) ▒
- clang_main(int, char**, llvm::ToolContext const&) ▒
- 99.98% clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::__u::pair<int, clang::driver::Command const*> >&) ▒
clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::__u::pair<int, clang::driver::Command const*> >&, bool) const ▒
clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const ▒
clang::driver::CC1Command::Execute(llvm::ArrayRef<std::__u::optional<llvm::StringRef> >, std::__u::basic_string<char, std::__u::char_traits<char>, std::__u::allocator<char> >*, bool*) const ▒
llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) ▒
void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::__u::optional<llvm::StringRef> >, std::__u::basic_string<char, std::__u::char_traits<char>, std::__u::allocator<char> >*, bool*) con▒
- ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) ▒
- 99.98% cc1_main(llvm::ArrayRef<char const*>, char const*, void*) ▒
- 99.98% clang::ExecuteCompilerInvocation(clang::CompilerInstance*) ▒
- 99.98% clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) ▒
- 99.98% clang::FrontendAction::Execute() ▒
- clang::CodeGenAction::ExecuteAction() ▒
- 99.95% clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, llvm::Module*, cla▒
- 99.28% llvm::legacy::PassManagerImpl::run(llvm::Module&) ▒
- 99.28% llvm::FPPassManager::runOnModule(llvm::Module&) ▒
- 99.28% llvm::FPPassManager::runOnFunction(llvm::Function&) ▒
- 99.17% llvm::MachineFunctionPass::runOnFunction(llvm::Function&) ▒
- 60.87% (anonymous namespace)::MachineBlockPlacement::runOnMachineFunction(llvm::MachineFunction&) ▒
- 60.87% (anonymous namespace)::MachineBlockPlacement::buildCFGChains() ▒
- 60.79% (anonymous namespace)::MachineBlockPlacement::buildLoopChains(llvm::MachineLoop const&) ▒
55.20% llvm::MachineBranchProbabilityInfo::getEdgeProbability(llvm::MachineBasicBlock const*, llvm::MachineBasicBlock const*) const ▒
- 4.24% (anonymous namespace)::MachineBlockPlacement::TopFallThroughFreq(llvm::MachineBasicBlock const*, llvm::SmallSetVector<llvm::MachineBasicBlock const*, 16u> const&) ▒
0.80% llvm::MachineBasicBlock::getSuccProbability(std::__u::__wrap_iter<llvm::MachineBasicBlock* const*>) const ▒
1.22% llvm::MachineBasicBlock::getSuccProbability(std::__u::__wrap_iter<llvm::MachineBasicBlock* const*>) const ▒
- 12.05% (anonymous namespace)::TailDuplicateBase::runOnMachineFunction(llvm::MachineFunction&) ▒
- 12.05% llvm::TailDuplicator::tailDuplicateBlocks() ▒
10.40% llvm::TailDuplicator::shouldTailDuplicate(bool, llvm::MachineBasicBlock&) ▒
- 1.65% llvm::TailDuplicator::tailDuplicateAndUpdate(bool, llvm::MachineBasicBlock*, llvm::MachineBasicBlock*, llvm::SmallVectorImpl<llvm::MachineBasicBlock*>*, llvm::function_ref<void (llvm::Mach▒
0.91% llvm::MachineBasicBlock::isSuccessor(llvm::MachineBasicBlock const*) const ▒
- 8.89% (anonymous namespace)::BranchFolderPass::runOnMachineFunction(llvm::MachineFunction&) ▒
- llvm::BranchFolder::OptimizeFunction(llvm::MachineFunction&, llvm::TargetInstrInfo const*, llvm::TargetRegisterInfo const*, llvm::MachineLoopInfo*, bool) ▒
4.09% llvm::MachineBasicBlock::hasEHPadSuccessor() const ▒
3.11% llvm::MachineBasicBlock::mayHaveInlineAsmBr() const ▒
- 1.40% llvm::BranchFolder::OptimizeBranches(llvm::MachineFunction&) ▒
- 1.40% llvm::BranchFolder::OptimizeBlock(llvm::MachineBasicBlock*) ▒
+ 1.35% llvm::MachineBasicBlock::canFallThrough() ▒
- 7.91% (anonymous namespace)::PHIElimination::runOnMachineFunction(llvm::MachineFunction&) ▒
7.34% llvm::LiveVariables::isLiveOut(llvm::Register, llvm::MachineBasicBlock const&) ▒
- 5.95% llvm::MachineCycleInfoWrapperPass::runOnMachineFunction(llvm::MachineFunction&) ▒
5.95% llvm::GenericCycleInfoCompute<llvm::GenericSSAContext<llvm::MachineFunction> >::run(llvm::MachineBasicBlock*) ▒
+ 0.93% llvm::MachineBlockFrequencyInfo::runOnMachineFunction(llvm::MachineFunction&) ▒
+ 0.76% (anonymous namespace)::MachineSinking::runOnMachineFunction(llvm::MachineFunction&) ▒
+ 0.67% (anonymous namespace)::EmitAssemblyHelper::RunOptimizationPipeline(clang::BackendAction, std::__u::unique_ptr<llvm::raw_pwrite_stream, std::__u::default_delete<llvm::raw_pwrite_stream> >&, std::__u::unique_▒
```
https://github.com/llvm/llvm-project/pull/79993
More information about the llvm-commits
mailing list