You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Original bug ID: 5873 Reporter: gerd Assigned to:@mshinwell Status: resolved (set by @mshinwell on 2016-12-06T21:54:42Z) Resolution: fixed Priority: normal Severity: feature Version: 4.00.1 Fixed in version: 4.03.0 Category: ~DO NOT USE (was: OCaml general) Related to:#5872 Monitored by:@gasche@lefessan@diml@jberdine@alainfrisch
Bug description
I propose to add a feature for controlling inlining, in order to prevent performance bugs like #5872.
There are basically two options: instruct the compiler about inlining, or check inlining afterward:
The compiler could honour a new command-line option [-inline-function name] which would recommend this function for inlining. If it is not inlined, a warning is emitted (and if the warning is fatal, an error).
Extend ocamlobjinfo so that it can check whether a function was inlined. Add switch: [-check-inlining name] which outputs something when the function (identified by an OCaml identifier, not by an asm symbol) is not marked for inlining, and the exit code is non-0 in this case.
Of course, the goal of adding such a feature is to include the recommendations or checks into the build, so that we get automation. This is especially useful because OCaml doesn't define when inlining is possible, and because every OCaml version may behave differently in this respect.
The text was updated successfully, but these errors were encountered:
Original bug ID: 5873
Reporter: gerd
Assigned to: @mshinwell
Status: resolved (set by @mshinwell on 2016-12-06T21:54:42Z)
Resolution: fixed
Priority: normal
Severity: feature
Version: 4.00.1
Fixed in version: 4.03.0
Category: ~DO NOT USE (was: OCaml general)
Related to: #5872
Monitored by: @gasche @lefessan @diml @jberdine @alainfrisch
Bug description
I propose to add a feature for controlling inlining, in order to prevent performance bugs like #5872.
There are basically two options: instruct the compiler about inlining, or check inlining afterward:
The compiler could honour a new command-line option [-inline-function name] which would recommend this function for inlining. If it is not inlined, a warning is emitted (and if the warning is fatal, an error).
Extend ocamlobjinfo so that it can check whether a function was inlined. Add switch: [-check-inlining name] which outputs something when the function (identified by an OCaml identifier, not by an asm symbol) is not marked for inlining, and the exit code is non-0 in this case.
Of course, the goal of adding such a feature is to include the recommendations or checks into the build, so that we get automation. This is especially useful because OCaml doesn't define when inlining is possible, and because every OCaml version may behave differently in this respect.
The text was updated successfully, but these errors were encountered: