This is just moving code around to make it easy to follow and prepare
for the next change to reduce number of live values.
BasicBlockUtils: Add a new way for CreateControlFlowHub()
The existing way of creating the predicate in the guard blocks is using
a boolean value per outgoing block. This would be increase the number of
live booleans as we are having more outgoing blocks. The new way added in
this change is to store one integer to represent the outgoing block we
want to branch to, then at each guard block, an integer equality check
will be performed to decide which a specific outgoing block will be
taken.