aboutsummaryrefslogtreecommitdiffstats
path: root/lib/hipe/x86/hipe_x86_postpass.erl
diff options
context:
space:
mode:
authorMagnus Lång <[email protected]>2016-09-16 13:34:24 +0200
committerMagnus Lång <[email protected]>2017-03-16 20:49:42 +0100
commitcf047293ecf6ea108a1e5a412743bfb5fe66e26f (patch)
tree5aa6af45b3d2e20179f4dfc05ad1136f8afa2a3a /lib/hipe/x86/hipe_x86_postpass.erl
parentcc115ebc67a465233c7740efb42e0bc9584ad352 (diff)
downloadotp-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/x86/hipe_x86_postpass.erl')
0 files changed, 0 insertions, 0 deletions