This is an archive of the discontinued LLVM Phabricator instance.

[Clang][BinaryOperator] memoize ICEKind for BinaryOperator Exprs
AbandonedPublic

Authored by justinstitt on Aug 8 2022, 2:54 PM.

Details

Reviewers
None
Summary

When building the Linux Kernel (x86_64) CheckICE is a particularly slow
method which results in 0.815% of all cpu cycles (~63 million cycles).
Much of this is due to repeat checks regarding the ICEKind of binary
expressions.

Storing ICEKind information within BinaryOperator and stopping future
CheckICE calls before they do repeat work shows a net speed increase of
~80% for CheckICE (~14 million cycles).

Diff Detail

Event Timeline

justinstitt created this revision.Aug 8 2022, 2:54 PM
Herald added a project: Restricted Project. · View Herald TranscriptAug 8 2022, 2:54 PM
Herald added a subscriber: pengfei. · View Herald Transcript
justinstitt requested review of this revision.Aug 8 2022, 2:54 PM
Herald added a project: Restricted Project. · View Herald TranscriptAug 8 2022, 2:54 PM
Herald added a subscriber: cfe-commits. · View Herald Transcript
justinstitt abandoned this revision.Aug 8 2022, 2:55 PM