Move InlineWithControlFlow to Smali based.

D8 tends to split return blocks instead of having a Phi + single return.

Instead of updating the checker assertions to match the dexer, this CL
moves the function into smali.

For reference, this is the D8 output:

.method public static InlineWithControlFlow(Z)I
    .registers 5
    .param p0, "cond"    # Z

    const/4 v0, 0x1

    .local v0, "const1":I
    const/4 v1, 0x3

    .local v1, "const3":I
    const/4 v2, 0x5

    .local v2, "const5":I
    if-eqz p0, :cond_a

    invoke-static {v0, v1}, LMain;->returnAdd(II)I

    move-result v3

    return v3

    :cond_a
    invoke-static {v2, v1}, LMain;->returnSub(II)I

    move-result v3

    .local v3, "x":I
    return v3
.end method

Bug: 65168732
Test: art/test.py -j20 --host -b

Change-Id: Ic89ff89ab0b8a2b057c5d6157f7b7c73764a1071
2 files changed