Trace scheduling
In fib performance test python3 -m mubench local ./example/test_mu_fib.yml
, code generated by Zebu is significantly slower than clang. The main reason seems to be that we are generating awful trace for the code, which causes 3 extra jumps(unconditional or conditional).
fib-zebu.sfib-c_O1.s
Currently Zebu generates basic block trace based on probability. When the branching probability is 50% (by default), it pretty randomly picks blocks. We should have a pass with certain heuristics to generate trace.