LLVM currently doesn't discard likelihood information even when a condition is known to be true in certain cases. e.g.
if (condition) [[likely]]
do_something();
else
do_something_else();
will avoid inlining do_something_else even if condition is known to be false.