diff options
author | Magnus Lång <[email protected]> | 2016-09-16 13:34:24 +0200 |
---|---|---|
committer | Magnus Lång <[email protected]> | 2017-03-16 20:49:42 +0100 |
commit | cf047293ecf6ea108a1e5a412743bfb5fe66e26f (patch) | |
tree | 5aa6af45b3d2e20179f4dfc05ad1136f8afa2a3a /lib/hipe/regalloc/hipe_restore_reuse.erl | |
parent | cc115ebc67a465233c7740efb42e0bc9584ad352 (diff) | |
download | otp-cf047293ecf6ea108a1e5a412743bfb5fe66e26f.tar.gz otp-cf047293ecf6ea108a1e5a412743bfb5fe66e26f.tar.bz2 otp-cf047293ecf6ea108a1e5a412743bfb5fe66e26f.zip |
hipe: Add module computing basic blocks weights
hipe_bb_weights computes basic block weights by using the branch
probability predictions as the coefficients in a linear equation system.
This linear equation system is then solved using Gauss-Jordan
Elimination.
The equation system representation is picked to be efficient with highly
sparse data. During triangelisation, the remaining equations are
dynamically reordered in order to prevent the equations from growing in
the common case, preserving the benefit of the sparse equation
representation.
In the case that the input is very big, hipe_bb_weights automatically
falls back to a rough approximation in order to keep compile times under
control.
Diffstat (limited to 'lib/hipe/regalloc/hipe_restore_reuse.erl')
0 files changed, 0 insertions, 0 deletions