We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 03a9a10 commit 1f385edCopy full SHA for 1f385ed
1 file changed
crates/revmc-llvm/src/lib.rs
@@ -1963,6 +1963,11 @@ fn init_() -> Result<()> {
1963
// which produce identical codegen at that scale. Small functions still benefit from
1964
// CGP's address sinking and branch optimizations.
1965
c"--cgpp-huge-func=1000".as_ptr(),
1966
+ // Greedy register allocation's global live range splitting is superlinear on large
1967
+ // functions with many long-lived values. Treat smaller live ranges as huge so LLVM uses
1968
+ // the cheaper splitting path; this preserves code size on snailtracer while cutting llc
1969
+ // time by ~3x.
1970
+ c"--huge-size-for-split=64".as_ptr(),
1971
];
1972
args.extend(extra.iter().map(|s| s.as_ptr()));
1973
unsafe {
0 commit comments