This is an archive of the discontinued LLVM Phabricator instance.

[llvm][Inline] Add FunctionSimplificationPipeline to module inliner pipeline
ClosedPublic

Authored by taolq on Nov 29 2021, 5:57 AM.

Details

Summary

The FunctionSimplificationPipeline could effectively reduce the size of .text section when module inliner is enabled.

Diff Detail

Event Timeline

taolq created this revision.Nov 29 2021, 5:57 AM
taolq requested review of this revision.Nov 29 2021, 5:57 AM
Herald added a project: Restricted Project. · View Herald TranscriptNov 29 2021, 5:57 AM
taolq retitled this revision from add FunctionSimplificationPipeline to module inliner pipeline to [llvm][Inline] Add FunctionSimplificationPipeline to module inliner pipeline.Nov 29 2021, 6:01 AM
taolq added reviewers: kazu, mtrofin, teemperor.
taolq updated this revision to Diff 390322.Nov 29 2021, 6:03 AM
  • add necessary file
taolq edited the summary of this revision. (Show Details)Nov 29 2021, 6:06 AM
kazu accepted this revision.Nov 29 2021, 11:15 AM

Please be sure to address the clang-format issues pointed out by "Pre-merge checks".

This revision is now accepted and ready to land.Nov 29 2021, 11:15 AM

Tests?
Presumably this is default-off?

taolq updated this revision to Diff 390690.Nov 30 2021, 6:29 AM
taolq edited the summary of this revision. (Show Details)
  • address clang-format
taolq added a comment.Nov 30 2021, 6:40 AM

Tests?
Presumably this is default-off?

Sorry for forgetting to paste the tests.

I compiled clang to test this patch.

GCC 9.4		                              150746981	
clang -O3 default inliner		      115624552	    0.0%
clang -O3 module inliner	              253852361	 119.55%
clang -O3 module inliner + this patch         114116650	  -4.33%