[PATCH 17/35] objtool: Even more complex static block checks

2018-01-18 Thread Peter Zijlstra
I've observed GCC transform: f() { if (!static_branch_unlikely()) return; static_assert(); A; } g() { f(); } Into: f() { static_assert(); A; } g() { if (static_branch_unlikely())

[PATCH 17/35] objtool: Even more complex static block checks

2018-01-18 Thread Peter Zijlstra
I've observed GCC transform: f() { if (!static_branch_unlikely()) return; static_assert(); A; } g() { f(); } Into: f() { static_assert(); A; } g() { if (static_branch_unlikely())