Page MenuHomePhabricator

[MemCpyOpt] Enable MemorySSA by default
Needs ReviewPublic

Authored by nikic on Sun, Jan 10, 12:11 PM.
This revision needs review, but there are no reviewers specified.



This enables use of MemorySSA instead of MemDep in MemCpyOpt. To allow this without significant compile-time impact, the MemCpyOpt pass is moved directly before DSE (in the cases where this was not already the case) in order to avoid a duplicate MemorySSA construction.

With that done, this change is compile-time positive:

Run-time impact is to be determined...

Diff Detail

Event Timeline

nikic created this revision.Sun, Jan 10, 12:11 PM
nikic requested review of this revision.Sun, Jan 10, 12:11 PM
Herald added a project: Restricted Project. · View Herald TranscriptSun, Jan 10, 12:11 PM

A larger than expected codesize and runtime regression of Bullet benchmark (2.3%) for LTO. Maybe worth to analyse?

Could you test clang as well, and update test?

nikic updated this revision to Diff 316520.Wed, Jan 13, 2:41 PM

Fix clang tests. Don't disable MemCpyOpt at O1 (previous version disabled it by accident).