Simplify If/Else lowering
Previously we would append the 'begin' basic block with the conditional
branch only once we know whether or not there's a 'false' block separate
from the 'end' block (namely when executing the Else statement). We can
instead treat the 'false' block as the 'end' block itself when no Else
is encountered and simply continue emitting instructions in this block.
Note this removes the need to explicitly materialize all variables,
because that's taken care of by createCondBr().
Bug: b/180131694
Change-Id: I5c5c4373d1dc02991feffa69d4089b2c12054dc0
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/52988
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Tested-by:
Nicolas Capens <nicolascapens@google.com>
Presubmit-Ready: Nicolas Capens <nicolascapens@google.com>
Reviewed-by:
Alexis Hétu <sugoi@google.com>
Showing
Please
register
or
sign in
to comment