compiler: remove viral #force(_no)_inline
If a procedure was marked `#force_no_inline`, any procedure calls within it would also implicitly be. This is not expected for multiple reasons: 1. `#force(_no)_inline` on a call expr works differently than on a procedure literal. 2. Adding the attribute on it and every called proc blows up the amount of work for the inliner pass and may increase the time it takes. 3. Putting `#force_no_inline` on a procedure to keep executable size down (like we do for some map procedures), benchmark it, or find it in asm/ir has the added effect of slowing those procedures down significantly and not representing truth.
This commit is contained in:
1 parent
6e1d028861
commit
c8f0d27cee
1 file changed
-4
@@ -1136,10 +1136,6 @@ gb_internal lbValue lb_emit_call(lbProcedure *p, lbValue value, Array<lbValue> c
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (inlining == ProcInlining_none) {
|
|
||||||
inlining = p->inlining;
|
|
||||||
}
|
|
||||||
|
|
||||||
Type *rt = reduce_tuple_to_single_type(results);
|
Type *rt = reduce_tuple_to_single_type(results);
|
||||||
Type *original_rt = rt;
|
Type *original_rt = rt;
|
||||||
if (split_returns) {
|
if (split_returns) {
|
||||||
|
|||||||
Reference in new issue
Block a user