This is an archive of the discontinued LLVM Phabricator instance.

[DSE,MemorySSA] Split off partial tracking from isOverwite.
ClosedPublic

Authored by fhahn on Aug 20 2020, 4:25 AM.

Details

Summary

When traversing memory uses to look for aliasing reads/writes, we only
care about complete overwrites. This patch splits off the partial
overwrite tracking from isOverwrite This avoids some unnecessary work
when checking for read/write clobbers with MemorySSA-DSE.
isOverwrite, which skips the partial overwrite tracking.

This gives a relatively small improvement
http://llvm-compile-time-tracker.com/compare.php?from=ef2a2f77f87553a0a4a39f518eb9ac86b756bda6&to=658f3905dd96d3415f3782adc712c79fa59a4665&stat=instructions

This is part of the patches to bring down compile-time to the level
referenced in
http://lists.llvm.org/pipermail/llvm-dev/2020-August/144417.html

Diff Detail

Event Timeline

fhahn created this revision.Aug 20 2020, 4:25 AM
Herald added a project: Restricted Project. · View Herald TranscriptAug 20 2020, 4:25 AM
fhahn requested review of this revision.Aug 20 2020, 4:25 AM
asbirlea accepted this revision.Aug 20 2020, 5:22 PM
This revision is now accepted and ready to land.Aug 20 2020, 5:22 PM
fhahn updated this revision to Diff 286964.Aug 21 2020, 1:10 AM

Rebased so it can be applied on trunk ahead of D86275.

This revision was landed with ongoing or failed builds.Aug 21 2020, 1:16 AM
This revision was automatically updated to reflect the committed changes.