Skip to content

[SR-7702] SILVerifier ist still very slow with large arrays. #50242

@swift-ci

Description

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

Attachment: Download

Additional Detail from JIRA
Votes 0
Component/s Compiler
Labels Bug
Assignee @eeckstein
Priority Medium

md5: 67d071791112b24d8587652a110980c4

Issue Description:

Commit 6529787 by @eeckstein fixed quadratic behaviour in basic blocks for the SILVerifier reported in #50173.

But performance is still under par. For 10.000 Int elements it takes more than 4 seconds and gets unusable for matrix sizes of 50.000 elements.

See attached Makefile.

+ 76,33% 0,54% swift swift [.] swift::SILInstructionVisitor<(anonymous namespace)::SILVerifier, void>::visit
+ 76,11% 73,23% swift swift [.] (anonymous namespace)::SILVerifier::visitSILInstruction
+ 51,63% 0,31% swift swift [.] (anonymous namespace)::SILVerifier::visitSILBasicBlock
+ 14,17% 0,25% swift swift [.] (anonymous namespace)::SILVerifier::visitSILFunction
+ 7,58% 0,00% swift swift [.] swift::SILFunction::verify
+ 7,52% 0,00% swift swift [.] swift::SILModule::verify
+ 6,07% 0,03% swift swift [.] (anonymous namespace)::CallEmission::apply
+ 5,67% 0,03% swift swift [.] swift::Lowering::SILGenFunction::emitApply
+ 5,52% 5,43% swift swift [.] llvm::StringRef::find_last_of
+ 5,41% 0,01% swift swift [.] swift::SILLocation::decode
+ 5,39% 0,01% swift swift [.] llvm::SourceMgr::getLineAndColumn

Metadata

Metadata

Assignees

Labels

SILbugA deviation from expected or documented behavior. Also: expected but undesirable behavior.compilerThe Swift compiler itselfexpressionsFeature: expressionsliteralsFeature → expressions: Literals such as an integer or string literalperformanceswift 5.2verifier

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions