File tree 1 file changed +9
-2
lines changed
1 file changed +9
-2
lines changed Original file line number Diff line number Diff line change @@ -66,11 +66,18 @@ pub fn bolt_optimize(path: &Utf8Path, profile: &BoltProfile) -> anyhow::Result<(
66
66
// Split function code into hot and code regions
67
67
. arg ( "-split-functions" )
68
68
// Split as many basic blocks as possible
69
- . arg ( "-split-all-cold" )
70
- // Move jump tables to a separate section
71
69
. arg ( "-jump-tables=move" )
72
70
// Fold functions with identical code
73
71
. arg ( "-icf=1" )
72
+ // Perform indirect call promotion on calls and jump tables
73
+ . arg ( "-indirect-call-promotion=all" )
74
+ // Optimize stack frame accesses
75
+ . arg ( "-frame-opt=hot" )
76
+ // Inline functions smaller than 32 bytes
77
+ . arg ( "-inline-small-functions" )
78
+ . arg ( "-inline-small-functions-bytes=32" )
79
+ // Perform peephole optimizations
80
+ . arg ( "-peepholes=all" )
74
81
// The following flag saves about 50 MiB of libLLVM.so size.
75
82
// However, it succeeds very non-deterministically. To avoid frequent artifact size swings,
76
83
// it is kept disabled for now.
You can’t perform that action at this time.
0 commit comments