Skip to content

[SR-9235] RedundantLoadElimination is slow with a large static array. #51723

@swift-ci

Description

@swift-ci
Previous ID SR-9235
Radar None
Original Reporter andreasw (JIRA User)
Type Bug
Status Resolved
Resolution Duplicate

Attachment: Download

Environment

Makefile

Additional Detail from JIRA
Votes 0
Component/s Compiler
Labels Bug, Performance
Assignee None
Priority Medium

md5: 68468fc66829b4d2a218088ed7f66a10

duplicates:

Issue Description:

A large array with 5.000 or 10.000 elements massively slows down compilation.

Here is a Makefile to generate such an array and a stack trace.

+ 60,00% 0,01% swift swift [.] (anonymous namespace)::RedundantLoadElimination::run ◆
+ 51,24% 4,69% swift swift [.] (anonymous namespace)::BlockState::processStoreInst ▒
+ 41,50% 26,75% swift swift [.] llvm::DenseMapBase<llvm::SmallDenseMap<swift::LSLocation, unsigned int, 32u, llvm::DenseMapInfo<swift::L▒
+ 32,74% 3,33% swift swift [.] swift::LSLocation::isMayAliasLSLocation ▒
+ 29,62% 0,15% swift swift [.] swift::LSLocation::enumerateLSLocations ▒
+ 29,49% 0,08% swift swift [.] swift::LSLocation::enumerateLSLocation ▒
+ 19,92% 0,00% swift swift [.] swift::SILPassManager::runFunctionPasses ▒
+ 19,83% 0,01% swift swift [.] swift::SILPassManager::runPassOnFunction ▒
+ 19,12% 5,04% swift swift [.] swift::AliasAnalysis::alias ▒
+ 14,57% 14,52% swift swift [.] swift::ProjectionPath::computeSubSeqRelation ▒
+ 10,29% 10,29% swift swift [.] swift::ProjectionPath::hasNonEmptySymmetricDifference ▒
+ 9,06% 0,00% swift swift [.] swift::SILPassManager::execute ▒
+ 7,26% 7,26% swift swift [.] swift::ValueEnumerator<swift::ValueBase*, unsigned long>::getIndex ▒
+ 6,83% 6,82% swift swift [.] llvm::DenseMapBase<llvm::DenseMap<(anonymous namespace)::AliasKeyTy, swift::AliasAnalysis::AliasResult, ▒
+ 5,97% 0,02% swift swift [.] llvm::DenseMapBase<llvm::SmallDenseMap<swift::LSLocation, unsigned int, 32u, llvm::DenseMapInfo<swift::L▒
+ 5,96% 0,00% swift swift [.] llvm::SmallDenseMap<swift::LSLocation, unsigned int, 32u, llvm::DenseMapInfo<swift::LSLocation>, llvm::d

Metadata

Metadata

Assignees

No one assigned

    Labels

    SILOptimizerArea → compiler: SIL optimization passescompilerThe Swift compiler itselfexpressionsFeature: expressionsliteralsFeature → expressions: Literals such as an integer or string literaloptimized onlyFlag: An issue whose reproduction requires optimized compilationperformance

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions