Created
April 14, 2022 21:38
-
-
Save saethlin/816e4a47c54654ad15789fc7c5cbab71 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <%0 = block 12 | |
| %1:i1 = phi %0, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 1:i1, 1:i1 | |
| %2:i64 = phi %0, 0:i64, 1:i64, 2:i64, 3:i64, 4:i64, 5:i64, 6:i64, 7:i64, 8:i64, 9:i64, 10:i64, 11:i64 | |
| %3:i64 = addnw 4294967284:i64, %2 | |
| %4:i64 = select %1, %3, %2 | |
| %5:i32 = trunc %4 | |
| %6:i32 = add 2:i32, %5 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 12 | |
| %1:i1 = phi %0, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 1:i1, 1:i1 | |
| %2:i64 = phi %0, 0:i64, 1:i64, 2:i64, 3:i64, 4:i64, 5:i64, 6:i64, 7:i64, 8:i64, 9:i64, 10:i64, 11:i64 | |
| %3:i64 = addnw 4294967284:i64, %2 | |
| %4:i64 = select %1, %3, %2 | |
| %5:i32 = trunc %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 12 | |
| %1:i1 = phi %0, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 1:i1, 1:i1 | |
| %2:i64 = phi %0, 0:i64, 1:i64, 2:i64, 3:i64, 4:i64, 5:i64, 6:i64, 7:i64, 8:i64, 9:i64, 10:i64, 11:i64 | |
| %3:i64 = addnw 4294967284:i64, %2 | |
| %4:i64 = select %1, %3, %2 | |
| infer %4 (demandedBits=0000000000000000000000000000000011111111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 12 | |
| %1:i1 = phi %0, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 1:i1, 1:i1 | |
| %2:i64 = select %1, 1:i64, 0:i64 | |
| infer %2 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 12 | |
| %1:i1 = phi %0, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 1:i1, 1:i1 | |
| infer %1 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 12 | |
| %1:i1 = phi %0, 1:i1, 1:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1 | |
| %2:i64 = phi %0, 10:i64, 11:i64, 9:i64, 8:i64, 7:i64, 6:i64, 5:i64, 4:i64, 3:i64, 2:i64, 1:i64, 0:i64 | |
| %3:i64 = addnw 4294967284:i64, %2 | |
| %4:i64 = select %1, %3, %2 | |
| %5:i32 = trunc %4 | |
| %6:i32 = add 2:i32, %5 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 12 | |
| %1:i1 = phi %0, 1:i1, 1:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1 | |
| %2:i64 = phi %0, 10:i64, 11:i64, 9:i64, 8:i64, 7:i64, 6:i64, 5:i64, 4:i64, 3:i64, 2:i64, 1:i64, 0:i64 | |
| %3:i64 = addnw 4294967284:i64, %2 | |
| %4:i64 = select %1, %3, %2 | |
| %5:i32 = trunc %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 12 | |
| %1:i1 = phi %0, 1:i1, 1:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1 | |
| %2:i64 = phi %0, 10:i64, 11:i64, 9:i64, 8:i64, 7:i64, 6:i64, 5:i64, 4:i64, 3:i64, 2:i64, 1:i64, 0:i64 | |
| %3:i64 = addnw 4294967284:i64, %2 | |
| %4:i64 = select %1, %3, %2 | |
| infer %4 (demandedBits=0000000000000000000000000000000011111111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 12 | |
| %1:i1 = phi %0, 1:i1, 1:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1 | |
| infer %1 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 12 | |
| %1:i32 = phi %0, 0:i32, 0:i32, 2080374784:i32, 1073741824:i32, 0:i32, 1073741824:i32, 0:i32, 0:i32, 704643072:i32, 0:i32, 0:i32, 788529152:i32 | |
| infer %1 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 12 | |
| %1:i32 = phi %0, 0:i32, 0:i32, 65536:i32, 65536:i32, 0:i32, 65536:i32, 0:i32, 0:i32, 65536:i32, 0:i32, 0:i32, 65536:i32 | |
| %2:i32 = phi %0, 0:i32, 0:i32, 2080374784:i32, 1073741824:i32, 0:i32, 1073741824:i32, 0:i32, 0:i32, 704643072:i32, 0:i32, 0:i32, 788529152:i32 | |
| %3:i32 = or %1, %2 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 12 | |
| %1:i32 = phi %0, 0:i32, 0:i32, 65536:i32, 65536:i32, 0:i32, 65536:i32, 0:i32, 0:i32, 65536:i32, 0:i32, 0:i32, 65536:i32 | |
| infer %1 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 12 | |
| %1:i32 = phi %0, 9:i32, 11:i32, 9:i32, 7:i32, 7:i32, 12:i32, 12:i32, 14:i32, 8:i32, 8:i32, 10:i32, 10:i32 | |
| %2:i32 = phi %0, 0:i32, 0:i32, 65536:i32, 65536:i32, 0:i32, 65536:i32, 0:i32, 0:i32, 65536:i32, 0:i32, 0:i32, 65536:i32 | |
| %3:i32 = phi %0, 0:i32, 0:i32, 2080374784:i32, 1073741824:i32, 0:i32, 1073741824:i32, 0:i32, 0:i32, 704643072:i32, 0:i32, 0:i32, 788529152:i32 | |
| %4:i32 = or %2, %3 | |
| %5:i32 = or %1, %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 12 | |
| %1:i32 = phi %0, 9:i32, 11:i32, 9:i32, 7:i32, 7:i32, 12:i32, 12:i32, 14:i32, 8:i32, 8:i32, 10:i32, 10:i32 | |
| infer %1 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 12 | |
| %1:i64 = phi %0, 0:i64, 1:i64, 2:i64, 3:i64, 4:i64, 5:i64, 6:i64, 7:i64, 8:i64, 9:i64, 10:i64, 11:i64 | |
| %2:i64 = addnw 4294967284:i64, %1 | |
| infer %2 (demandedBits=0000000000000000000000000000000011111111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 12 | |
| %1:i64 = phi %0, 0:i64, 1:i64, 2:i64, 3:i64, 4:i64, 5:i64, 6:i64, 7:i64, 8:i64, 9:i64, 10:i64, 11:i64 | |
| infer %1 (demandedBits=0000000000000000000000000000000011111111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 12 | |
| %1:i64 = phi %0, 10:i64, 11:i64, 9:i64, 8:i64, 7:i64, 6:i64, 5:i64, 4:i64, 3:i64, 2:i64, 1:i64, 0:i64 | |
| %2:i64 = addnw 4294967284:i64, %1 | |
| infer %2 (demandedBits=0000000000000000000000000000000011111111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 12 | |
| %1:i64 = phi %0, 10:i64, 11:i64, 9:i64, 8:i64, 7:i64, 6:i64, 5:i64, 4:i64, 3:i64, 2:i64, 1:i64, 0:i64 | |
| infer %1 (demandedBits=0000000000000000000000000000000011111111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 12 | |
| %1:i64 = phi %0, 1:i64, 1:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = add 18446744072757682816:i64, %3 | |
| %5:i64 = add %2, %4 | |
| %6:i64 = sdiv %5, 86400:i64 | |
| %7:i64 = srem %5, 86400:i64 (hasExternalUses) | |
| %8:i1 = slt %7, 0:i64 (hasExternalUses) | |
| %9:i64 = select %8, 18446744073709551615:i64, 0:i64 | |
| %10:i64 = addnsw %6, %9 | |
| %11:i64 = sdiv %10, 146097:i64 | |
| %12:i64 = srem %10, 146097:i64 | |
| %13:i1 = slt %12, 0:i64 | |
| %14:i64 = select %13, 18446744073709551615:i64, 0:i64 | |
| %15:i64 = addnsw %11, %14 | |
| %16:i64 = mulnsw 400:i64, %15 | |
| %17:i64 = addnsw 100:i64, %16 | |
| %18:i64 = addnsw 146097:i64, %12 | |
| %19:i64 = select %13, %18, %12 | |
| %20:i64 = addnsw 18446744073709405520:i64, %19 | |
| %21:i1 = ult %20, 36524:i64 | |
| %22:i32 = trunc %19 | |
| %23:i32 = sdiv %22, 36524:i32 | |
| %24:i64 = sext %23 | |
| %25:i64 = select %21, 3:i64, %24 | |
| %26:i64 = mulnw 100:i64, %25 | |
| %27:i64 = addnsw %17, %26 | |
| %28:i64 = mulnsw 18446744073709515092:i64, %25 | |
| %29:i64 = addnsw %28, %19 | |
| %30:i64 = addnsw 18446744073709515091:i64, %29 | |
| %31:i1 = ult %30, 1461:i64 | |
| %32:i32 = trunc %29 | |
| %33:i32 = sdiv %32, 1461:i32 | |
| %34:i64 = sext %33 | |
| %35:i64 = select %31, 24:i64, %34 | |
| %36:i64 = shlnsw %35, 2:i64 | |
| %37:i64 = addnsw %27, %36 | |
| %38:i64 = mulnsw 18446744073709550155:i64, %35 | |
| %39:i64 = addnsw %29, %38 (hasExternalUses) | |
| %40:i64 = addnsw 18446744073709550156:i64, %39 | |
| %41:i1 = ult %40, 365:i64 | |
| %42:i32 = trunc %39 | |
| %43:i32 = sdiv %42, 365:i32 | |
| %44:i64 = sext %43 | |
| %45:i64 = select %41, 3:i64, %44 (hasExternalUses) | |
| %46:i64 = add %37, %45 | |
| %47:i64 = add %1, %46 | |
| infer %47 | |
| > | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 12 | |
| %1:i64 = phi %0, 1:i64, 1:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = add 18446744072757682816:i64, %3 | |
| %5:i64 = add %2, %4 | |
| %6:i64 = sdiv %5, 86400:i64 | |
| %7:i64 = srem %5, 86400:i64 (hasExternalUses) | |
| %8:i1 = slt %7, 0:i64 (hasExternalUses) | |
| %9:i64 = select %8, 18446744073709551615:i64, 0:i64 | |
| %10:i64 = addnsw %6, %9 | |
| %11:i64 = sdiv %10, 146097:i64 | |
| %12:i64 = srem %10, 146097:i64 | |
| %13:i1 = slt %12, 0:i64 | |
| %14:i64 = select %13, 18446744073709551615:i64, 0:i64 | |
| %15:i64 = addnsw %11, %14 | |
| %16:i64 = mulnsw 400:i64, %15 | |
| %17:i64 = addnsw 100:i64, %16 | |
| %18:i64 = addnsw 146097:i64, %12 | |
| %19:i64 = select %13, %18, %12 | |
| %20:i64 = addnsw 18446744073709405520:i64, %19 | |
| %21:i1 = ult %20, 36524:i64 | |
| %22:i32 = trunc %19 | |
| %23:i32 = sdiv %22, 36524:i32 | |
| %24:i64 = sext %23 | |
| %25:i64 = select %21, 3:i64, %24 | |
| %26:i64 = mulnw 100:i64, %25 | |
| %27:i64 = addnsw %17, %26 | |
| %28:i64 = mulnsw 18446744073709515092:i64, %25 | |
| %29:i64 = addnsw %28, %19 | |
| %30:i64 = addnsw 18446744073709515091:i64, %29 | |
| %31:i1 = ult %30, 1461:i64 | |
| %32:i32 = trunc %29 | |
| %33:i32 = sdiv %32, 1461:i32 | |
| %34:i64 = sext %33 | |
| %35:i64 = select %31, 24:i64, %34 | |
| %36:i64 = shlnsw %35, 2:i64 | |
| %37:i64 = addnsw %27, %36 | |
| %38:i64 = mulnsw 18446744073709550155:i64, %35 | |
| %39:i64 = addnsw %29, %38 (hasExternalUses) | |
| %40:i64 = addnsw 18446744073709550156:i64, %39 | |
| %41:i1 = ult %40, 365:i64 | |
| %42:i32 = trunc %39 | |
| %43:i32 = sdiv %42, 365:i32 | |
| %44:i64 = sext %43 | |
| %45:i64 = select %41, 3:i64, %44 (hasExternalUses) | |
| %46:i64 = add %37, %45 | |
| %47:i64 = add %1, %46 (hasExternalUses) | |
| %48:i1 = slt %47, 18446744071562067968:i64 | |
| %49:i1 = slt 2147483647:i64, %47 | |
| %50:i1 = select %48, 1:i1, %49 | |
| infer %50 | |
| > | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 12 | |
| %1:i64 = phi %0, 1:i64, 1:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = add 18446744072757682816:i64, %3 | |
| %5:i64 = add %2, %4 | |
| %6:i64 = sdiv %5, 86400:i64 | |
| %7:i64 = srem %5, 86400:i64 (hasExternalUses) | |
| %8:i1 = slt %7, 0:i64 (hasExternalUses) | |
| %9:i64 = select %8, 18446744073709551615:i64, 0:i64 | |
| %10:i64 = addnsw %6, %9 | |
| %11:i64 = sdiv %10, 146097:i64 | |
| %12:i64 = srem %10, 146097:i64 | |
| %13:i1 = slt %12, 0:i64 | |
| %14:i64 = select %13, 18446744073709551615:i64, 0:i64 | |
| %15:i64 = addnsw %11, %14 | |
| %16:i64 = mulnsw 400:i64, %15 | |
| %17:i64 = addnsw 100:i64, %16 | |
| %18:i64 = addnsw 146097:i64, %12 | |
| %19:i64 = select %13, %18, %12 | |
| %20:i64 = addnsw 18446744073709405520:i64, %19 | |
| %21:i1 = ult %20, 36524:i64 | |
| %22:i32 = trunc %19 | |
| %23:i32 = sdiv %22, 36524:i32 | |
| %24:i64 = sext %23 | |
| %25:i64 = select %21, 3:i64, %24 | |
| %26:i64 = mulnw 100:i64, %25 | |
| %27:i64 = addnsw %17, %26 | |
| %28:i64 = mulnsw 18446744073709515092:i64, %25 | |
| %29:i64 = addnsw %28, %19 | |
| %30:i64 = addnsw 18446744073709515091:i64, %29 | |
| %31:i1 = ult %30, 1461:i64 | |
| %32:i32 = trunc %29 | |
| %33:i32 = sdiv %32, 1461:i32 | |
| %34:i64 = sext %33 | |
| %35:i64 = select %31, 24:i64, %34 | |
| %36:i64 = shlnsw %35, 2:i64 | |
| %37:i64 = addnsw %27, %36 | |
| %38:i64 = mulnsw 18446744073709550155:i64, %35 | |
| %39:i64 = addnsw %29, %38 (hasExternalUses) | |
| %40:i64 = addnsw 18446744073709550156:i64, %39 | |
| %41:i1 = ult %40, 365:i64 | |
| %42:i32 = trunc %39 | |
| %43:i32 = sdiv %42, 365:i32 | |
| %44:i64 = sext %43 | |
| %45:i64 = select %41, 3:i64, %44 (hasExternalUses) | |
| %46:i64 = add %37, %45 | |
| %47:i64 = add %1, %46 (hasExternalUses) | |
| %48:i1 = slt %47, 18446744071562067968:i64 | |
| %49:i1 = slt 2147483647:i64, %47 | |
| %50:i1 = select %48, 1:i1, %49 (hasExternalUses) | |
| %51:i1 = select %50, 0:i1, 1:i1 | |
| infer %51 | |
| > | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 12 | |
| %1:i64 = phi %0, 1:i64, 1:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = add 18446744072757682816:i64, %3 | |
| %5:i64 = add %2, %4 | |
| %6:i64 = sdiv %5, 86400:i64 | |
| %7:i64 = srem %5, 86400:i64 (hasExternalUses) | |
| %8:i1 = slt %7, 0:i64 (hasExternalUses) | |
| %9:i64 = select %8, 18446744073709551615:i64, 0:i64 | |
| %10:i64 = addnsw %6, %9 | |
| %11:i64 = sdiv %10, 146097:i64 | |
| %12:i64 = srem %10, 146097:i64 | |
| %13:i1 = slt %12, 0:i64 | |
| %14:i64 = select %13, 18446744073709551615:i64, 0:i64 | |
| %15:i64 = addnsw %11, %14 | |
| %16:i64 = mulnsw 400:i64, %15 | |
| %17:i64 = addnsw 100:i64, %16 | |
| %18:i64 = addnsw 146097:i64, %12 | |
| %19:i64 = select %13, %18, %12 | |
| %20:i64 = addnsw 18446744073709405520:i64, %19 | |
| %21:i1 = ult %20, 36524:i64 | |
| %22:i32 = trunc %19 | |
| %23:i32 = sdiv %22, 36524:i32 | |
| %24:i64 = sext %23 | |
| %25:i64 = select %21, 3:i64, %24 | |
| %26:i64 = mulnw 100:i64, %25 | |
| %27:i64 = addnsw %17, %26 | |
| %28:i64 = mulnsw 18446744073709515092:i64, %25 | |
| %29:i64 = addnsw %28, %19 | |
| %30:i64 = addnsw 18446744073709515091:i64, %29 | |
| %31:i1 = ult %30, 1461:i64 | |
| %32:i32 = trunc %29 | |
| %33:i32 = sdiv %32, 1461:i32 | |
| %34:i64 = sext %33 | |
| %35:i64 = select %31, 24:i64, %34 | |
| %36:i64 = shlnsw %35, 2:i64 | |
| %37:i64 = addnsw %27, %36 | |
| %38:i64 = mulnsw 18446744073709550155:i64, %35 | |
| %39:i64 = addnsw %29, %38 (hasExternalUses) | |
| %40:i64 = addnsw 18446744073709550156:i64, %39 | |
| %41:i1 = ult %40, 365:i64 | |
| %42:i32 = trunc %39 | |
| %43:i32 = sdiv %42, 365:i32 | |
| %44:i64 = sext %43 | |
| %45:i64 = select %41, 3:i64, %44 (hasExternalUses) | |
| %46:i64 = add %37, %45 | |
| %47:i64 = add %1, %46 (hasExternalUses) | |
| %48:i1 = slt %47, 18446744071562067968:i64 | |
| %49:i1 = slt 2147483647:i64, %47 | |
| %50:i1 = select %48, 1:i1, %49 (hasExternalUses) | |
| %51:i1 = select %50, 0:i1, 1:i1 | |
| pc %51 1:i1 | |
| %52:i32 = trunc %47 | |
| %53:i32 = select %50, 0:i32, %52 | |
| infer %53 | |
| > | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 12 | |
| %1:i64 = phi %0, 1:i64, 1:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = add 18446744072757682816:i64, %3 | |
| %5:i64 = add %2, %4 | |
| %6:i64 = sdiv %5, 86400:i64 | |
| %7:i64 = srem %5, 86400:i64 (hasExternalUses) | |
| %8:i1 = slt %7, 0:i64 (hasExternalUses) | |
| %9:i64 = select %8, 18446744073709551615:i64, 0:i64 | |
| %10:i64 = addnsw %6, %9 | |
| %11:i64 = sdiv %10, 146097:i64 | |
| %12:i64 = srem %10, 146097:i64 | |
| %13:i1 = slt %12, 0:i64 | |
| %14:i64 = select %13, 18446744073709551615:i64, 0:i64 | |
| %15:i64 = addnsw %11, %14 | |
| %16:i64 = mulnsw 400:i64, %15 | |
| %17:i64 = addnsw 100:i64, %16 | |
| %18:i64 = addnsw 146097:i64, %12 | |
| %19:i64 = select %13, %18, %12 | |
| %20:i64 = addnsw 18446744073709405520:i64, %19 | |
| %21:i1 = ult %20, 36524:i64 | |
| %22:i32 = trunc %19 | |
| %23:i32 = sdiv %22, 36524:i32 | |
| %24:i64 = sext %23 | |
| %25:i64 = select %21, 3:i64, %24 | |
| %26:i64 = mulnw 100:i64, %25 | |
| %27:i64 = addnsw %17, %26 | |
| %28:i64 = mulnsw 18446744073709515092:i64, %25 | |
| %29:i64 = addnsw %28, %19 | |
| %30:i64 = addnsw 18446744073709515091:i64, %29 | |
| %31:i1 = ult %30, 1461:i64 | |
| %32:i32 = trunc %29 | |
| %33:i32 = sdiv %32, 1461:i32 | |
| %34:i64 = sext %33 | |
| %35:i64 = select %31, 24:i64, %34 | |
| %36:i64 = shlnsw %35, 2:i64 | |
| %37:i64 = addnsw %27, %36 | |
| %38:i64 = mulnsw 18446744073709550155:i64, %35 | |
| %39:i64 = addnsw %29, %38 (hasExternalUses) | |
| %40:i64 = addnsw 18446744073709550156:i64, %39 | |
| %41:i1 = ult %40, 365:i64 | |
| %42:i32 = trunc %39 | |
| %43:i32 = sdiv %42, 365:i32 | |
| %44:i64 = sext %43 | |
| %45:i64 = select %41, 3:i64, %44 (hasExternalUses) | |
| %46:i64 = add %37, %45 | |
| %47:i64 = add %1, %46 (hasExternalUses) | |
| %48:i1 = slt %47, 18446744071562067968:i64 | |
| %49:i1 = slt 2147483647:i64, %47 | |
| %50:i1 = select %48, 1:i1, %49 (hasExternalUses) | |
| %51:i1 = select %50, 0:i1, 1:i1 | |
| pc %51 1:i1 | |
| %52:i32 = trunc %47 | |
| infer %52 | |
| > | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 12 | |
| %1:i64 = phi %0, 1:i64, 1:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = add 18446744072757682816:i64, %3 | |
| %5:i64 = add %2, %4 | |
| %6:i64 = sdiv %5, 86400:i64 | |
| %7:i64 = srem %5, 86400:i64 (hasExternalUses) | |
| %8:i1 = slt %7, 0:i64 (hasExternalUses) | |
| %9:i64 = select %8, 18446744073709551615:i64, 0:i64 | |
| %10:i64 = addnsw %6, %9 | |
| %11:i64 = sdiv %10, 146097:i64 | |
| %12:i64 = srem %10, 146097:i64 | |
| %13:i1 = slt %12, 0:i64 | |
| %14:i64 = select %13, 18446744073709551615:i64, 0:i64 | |
| %15:i64 = addnsw %11, %14 | |
| %16:i64 = mulnsw 400:i64, %15 | |
| %17:i64 = addnsw 100:i64, %16 | |
| %18:i64 = addnsw 146097:i64, %12 | |
| %19:i64 = select %13, %18, %12 | |
| %20:i64 = addnsw 18446744073709405520:i64, %19 | |
| %21:i1 = ult %20, 36524:i64 | |
| %22:i32 = trunc %19 | |
| %23:i32 = sdiv %22, 36524:i32 | |
| %24:i64 = sext %23 | |
| %25:i64 = select %21, 3:i64, %24 | |
| %26:i64 = mulnw 100:i64, %25 | |
| %27:i64 = addnsw %17, %26 | |
| %28:i64 = mulnsw 18446744073709515092:i64, %25 | |
| %29:i64 = addnsw %28, %19 | |
| %30:i64 = addnsw 18446744073709515091:i64, %29 | |
| %31:i1 = ult %30, 1461:i64 | |
| %32:i32 = trunc %29 | |
| %33:i32 = sdiv %32, 1461:i32 | |
| %34:i64 = sext %33 | |
| %35:i64 = select %31, 24:i64, %34 | |
| %36:i64 = shlnsw %35, 2:i64 | |
| %37:i64 = addnsw %27, %36 | |
| %38:i64 = mulnsw 18446744073709550155:i64, %35 | |
| %39:i64 = addnsw %29, %38 (hasExternalUses) | |
| %40:i64 = addnsw 18446744073709550156:i64, %39 | |
| %41:i1 = ult %40, 365:i64 | |
| %42:i32 = trunc %39 | |
| %43:i32 = sdiv %42, 365:i32 | |
| %44:i64 = sext %43 | |
| %45:i64 = select %41, 3:i64, %44 (hasExternalUses) | |
| %46:i64 = add %37, %45 | |
| %47:i64 = add %1, %46 (hasExternalUses) | |
| %48:i1 = slt %47, 18446744071562067968:i64 | |
| %49:i1 = slt 2147483647:i64, %47 | |
| %50:i1 = select %48, 1:i1, %49 (hasExternalUses) | |
| %51:i1 = select %50, 0:i1, 1:i1 | |
| pc %51 1:i1 | |
| %52:i64 = addnsw 86400:i64, %7 | |
| %53:i64 = select %8, %52, %7 (hasExternalUses) | |
| %54:i32 = trunc %53 | |
| %55:i32 = udiv %54, 3600:i32 | |
| infer %55 | |
| > | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 12 | |
| %1:i64 = phi %0, 1:i64, 1:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = add 18446744072757682816:i64, %3 | |
| %5:i64 = add %2, %4 | |
| %6:i64 = sdiv %5, 86400:i64 | |
| %7:i64 = srem %5, 86400:i64 (hasExternalUses) | |
| %8:i1 = slt %7, 0:i64 (hasExternalUses) | |
| %9:i64 = select %8, 18446744073709551615:i64, 0:i64 | |
| %10:i64 = addnsw %6, %9 | |
| %11:i64 = sdiv %10, 146097:i64 | |
| %12:i64 = srem %10, 146097:i64 | |
| %13:i1 = slt %12, 0:i64 | |
| %14:i64 = select %13, 18446744073709551615:i64, 0:i64 | |
| %15:i64 = addnsw %11, %14 | |
| %16:i64 = mulnsw 400:i64, %15 | |
| %17:i64 = addnsw 100:i64, %16 | |
| %18:i64 = addnsw 146097:i64, %12 | |
| %19:i64 = select %13, %18, %12 | |
| %20:i64 = addnsw 18446744073709405520:i64, %19 | |
| %21:i1 = ult %20, 36524:i64 | |
| %22:i32 = trunc %19 | |
| %23:i32 = sdiv %22, 36524:i32 | |
| %24:i64 = sext %23 | |
| %25:i64 = select %21, 3:i64, %24 | |
| %26:i64 = mulnw 100:i64, %25 | |
| %27:i64 = addnsw %17, %26 | |
| %28:i64 = mulnsw 18446744073709515092:i64, %25 | |
| %29:i64 = addnsw %28, %19 | |
| %30:i64 = addnsw 18446744073709515091:i64, %29 | |
| %31:i1 = ult %30, 1461:i64 | |
| %32:i32 = trunc %29 | |
| %33:i32 = sdiv %32, 1461:i32 | |
| %34:i64 = sext %33 | |
| %35:i64 = select %31, 24:i64, %34 | |
| %36:i64 = shlnsw %35, 2:i64 | |
| %37:i64 = addnsw %27, %36 | |
| %38:i64 = mulnsw 18446744073709550155:i64, %35 | |
| %39:i64 = addnsw %29, %38 (hasExternalUses) | |
| %40:i64 = addnsw 18446744073709550156:i64, %39 | |
| %41:i1 = ult %40, 365:i64 | |
| %42:i32 = trunc %39 | |
| %43:i32 = sdiv %42, 365:i32 | |
| %44:i64 = sext %43 | |
| %45:i64 = select %41, 3:i64, %44 (hasExternalUses) | |
| %46:i64 = add %37, %45 | |
| %47:i64 = add %1, %46 (hasExternalUses) | |
| %48:i1 = slt %47, 18446744071562067968:i64 | |
| %49:i1 = slt 2147483647:i64, %47 | |
| %50:i1 = select %48, 1:i1, %49 (hasExternalUses) | |
| %51:i1 = select %50, 0:i1, 1:i1 | |
| pc %51 1:i1 | |
| %52:i64 = addnsw 86400:i64, %7 | |
| %53:i64 = select %8, %52, %7 (hasExternalUses) | |
| %54:i32 = trunc %53 | |
| %55:i32 = udiv %54, 60:i32 | |
| %56:i16 = trunc %55 | |
| %57:i16 = srem %56, 60:i16 | |
| %58:i32 = sext %57 | |
| infer %58 | |
| > | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 12 | |
| %1:i64 = phi %0, 1:i64, 1:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = add 18446744072757682816:i64, %3 | |
| %5:i64 = add %2, %4 | |
| %6:i64 = sdiv %5, 86400:i64 | |
| %7:i64 = srem %5, 86400:i64 (hasExternalUses) | |
| %8:i1 = slt %7, 0:i64 (hasExternalUses) | |
| %9:i64 = select %8, 18446744073709551615:i64, 0:i64 | |
| %10:i64 = addnsw %6, %9 | |
| %11:i64 = sdiv %10, 146097:i64 | |
| %12:i64 = srem %10, 146097:i64 | |
| %13:i1 = slt %12, 0:i64 | |
| %14:i64 = select %13, 18446744073709551615:i64, 0:i64 | |
| %15:i64 = addnsw %11, %14 | |
| %16:i64 = mulnsw 400:i64, %15 | |
| %17:i64 = addnsw 100:i64, %16 | |
| %18:i64 = addnsw 146097:i64, %12 | |
| %19:i64 = select %13, %18, %12 | |
| %20:i64 = addnsw 18446744073709405520:i64, %19 | |
| %21:i1 = ult %20, 36524:i64 | |
| %22:i32 = trunc %19 | |
| %23:i32 = sdiv %22, 36524:i32 | |
| %24:i64 = sext %23 | |
| %25:i64 = select %21, 3:i64, %24 | |
| %26:i64 = mulnw 100:i64, %25 | |
| %27:i64 = addnsw %17, %26 | |
| %28:i64 = mulnsw 18446744073709515092:i64, %25 | |
| %29:i64 = addnsw %28, %19 | |
| %30:i64 = addnsw 18446744073709515091:i64, %29 | |
| %31:i1 = ult %30, 1461:i64 | |
| %32:i32 = trunc %29 | |
| %33:i32 = sdiv %32, 1461:i32 | |
| %34:i64 = sext %33 | |
| %35:i64 = select %31, 24:i64, %34 | |
| %36:i64 = shlnsw %35, 2:i64 | |
| %37:i64 = addnsw %27, %36 | |
| %38:i64 = mulnsw 18446744073709550155:i64, %35 | |
| %39:i64 = addnsw %29, %38 (hasExternalUses) | |
| %40:i64 = addnsw 18446744073709550156:i64, %39 | |
| %41:i1 = ult %40, 365:i64 | |
| %42:i32 = trunc %39 | |
| %43:i32 = sdiv %42, 365:i32 | |
| %44:i64 = sext %43 | |
| %45:i64 = select %41, 3:i64, %44 (hasExternalUses) | |
| %46:i64 = add %37, %45 | |
| %47:i64 = add %1, %46 (hasExternalUses) | |
| %48:i1 = slt %47, 18446744071562067968:i64 | |
| %49:i1 = slt 2147483647:i64, %47 | |
| %50:i1 = select %48, 1:i1, %49 (hasExternalUses) | |
| %51:i1 = select %50, 0:i1, 1:i1 | |
| pc %51 1:i1 | |
| %52:i64 = addnsw 86400:i64, %7 | |
| %53:i64 = select %8, %52, %7 (hasExternalUses) | |
| %54:i32 = trunc %53 | |
| %55:i32 = udiv %54, 60:i32 | |
| %56:i16 = trunc %55 | |
| %57:i16 = srem %56, 60:i16 | |
| infer %57 | |
| > | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 12 | |
| %1:i64 = phi %0, 1:i64, 1:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = add 18446744072757682816:i64, %3 | |
| %5:i64 = add %2, %4 | |
| %6:i64 = sdiv %5, 86400:i64 | |
| %7:i64 = srem %5, 86400:i64 (hasExternalUses) | |
| %8:i1 = slt %7, 0:i64 (hasExternalUses) | |
| %9:i64 = select %8, 18446744073709551615:i64, 0:i64 | |
| %10:i64 = addnsw %6, %9 | |
| %11:i64 = sdiv %10, 146097:i64 | |
| %12:i64 = srem %10, 146097:i64 | |
| %13:i1 = slt %12, 0:i64 | |
| %14:i64 = select %13, 18446744073709551615:i64, 0:i64 | |
| %15:i64 = addnsw %11, %14 | |
| %16:i64 = mulnsw 400:i64, %15 | |
| %17:i64 = addnsw 100:i64, %16 | |
| %18:i64 = addnsw 146097:i64, %12 | |
| %19:i64 = select %13, %18, %12 | |
| %20:i64 = addnsw 18446744073709405520:i64, %19 | |
| %21:i1 = ult %20, 36524:i64 | |
| %22:i32 = trunc %19 | |
| %23:i32 = sdiv %22, 36524:i32 | |
| %24:i64 = sext %23 | |
| %25:i64 = select %21, 3:i64, %24 | |
| %26:i64 = mulnw 100:i64, %25 | |
| %27:i64 = addnsw %17, %26 | |
| %28:i64 = mulnsw 18446744073709515092:i64, %25 | |
| %29:i64 = addnsw %28, %19 | |
| %30:i64 = addnsw 18446744073709515091:i64, %29 | |
| %31:i1 = ult %30, 1461:i64 | |
| %32:i32 = trunc %29 | |
| %33:i32 = sdiv %32, 1461:i32 | |
| %34:i64 = sext %33 | |
| %35:i64 = select %31, 24:i64, %34 | |
| %36:i64 = shlnsw %35, 2:i64 | |
| %37:i64 = addnsw %27, %36 | |
| %38:i64 = mulnsw 18446744073709550155:i64, %35 | |
| %39:i64 = addnsw %29, %38 (hasExternalUses) | |
| %40:i64 = addnsw 18446744073709550156:i64, %39 | |
| %41:i1 = ult %40, 365:i64 | |
| %42:i32 = trunc %39 | |
| %43:i32 = sdiv %42, 365:i32 | |
| %44:i64 = sext %43 | |
| %45:i64 = select %41, 3:i64, %44 (hasExternalUses) | |
| %46:i64 = add %37, %45 | |
| %47:i64 = add %1, %46 (hasExternalUses) | |
| %48:i1 = slt %47, 18446744071562067968:i64 | |
| %49:i1 = slt 2147483647:i64, %47 | |
| %50:i1 = select %48, 1:i1, %49 (hasExternalUses) | |
| %51:i1 = select %50, 0:i1, 1:i1 | |
| pc %51 1:i1 | |
| %52:i64 = addnsw 86400:i64, %7 | |
| %53:i64 = select %8, %52, %7 (hasExternalUses) | |
| %54:i32 = trunc %53 | |
| %55:i32 = udiv %54, 60:i32 | |
| %56:i16 = trunc %55 | |
| infer %56 | |
| > | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 12 | |
| %1:i64 = phi %0, 1:i64, 1:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = add 18446744072757682816:i64, %3 | |
| %5:i64 = add %2, %4 | |
| %6:i64 = sdiv %5, 86400:i64 | |
| %7:i64 = srem %5, 86400:i64 (hasExternalUses) | |
| %8:i1 = slt %7, 0:i64 (hasExternalUses) | |
| %9:i64 = select %8, 18446744073709551615:i64, 0:i64 | |
| %10:i64 = addnsw %6, %9 | |
| %11:i64 = sdiv %10, 146097:i64 | |
| %12:i64 = srem %10, 146097:i64 | |
| %13:i1 = slt %12, 0:i64 | |
| %14:i64 = select %13, 18446744073709551615:i64, 0:i64 | |
| %15:i64 = addnsw %11, %14 | |
| %16:i64 = mulnsw 400:i64, %15 | |
| %17:i64 = addnsw 100:i64, %16 | |
| %18:i64 = addnsw 146097:i64, %12 | |
| %19:i64 = select %13, %18, %12 | |
| %20:i64 = addnsw 18446744073709405520:i64, %19 | |
| %21:i1 = ult %20, 36524:i64 | |
| %22:i32 = trunc %19 | |
| %23:i32 = sdiv %22, 36524:i32 | |
| %24:i64 = sext %23 | |
| %25:i64 = select %21, 3:i64, %24 | |
| %26:i64 = mulnw 100:i64, %25 | |
| %27:i64 = addnsw %17, %26 | |
| %28:i64 = mulnsw 18446744073709515092:i64, %25 | |
| %29:i64 = addnsw %28, %19 | |
| %30:i64 = addnsw 18446744073709515091:i64, %29 | |
| %31:i1 = ult %30, 1461:i64 | |
| %32:i32 = trunc %29 | |
| %33:i32 = sdiv %32, 1461:i32 | |
| %34:i64 = sext %33 | |
| %35:i64 = select %31, 24:i64, %34 | |
| %36:i64 = shlnsw %35, 2:i64 | |
| %37:i64 = addnsw %27, %36 | |
| %38:i64 = mulnsw 18446744073709550155:i64, %35 | |
| %39:i64 = addnsw %29, %38 (hasExternalUses) | |
| %40:i64 = addnsw 18446744073709550156:i64, %39 | |
| %41:i1 = ult %40, 365:i64 | |
| %42:i32 = trunc %39 | |
| %43:i32 = sdiv %42, 365:i32 | |
| %44:i64 = sext %43 | |
| %45:i64 = select %41, 3:i64, %44 (hasExternalUses) | |
| %46:i64 = add %37, %45 | |
| %47:i64 = add %1, %46 (hasExternalUses) | |
| %48:i1 = slt %47, 18446744071562067968:i64 | |
| %49:i1 = slt 2147483647:i64, %47 | |
| %50:i1 = select %48, 1:i1, %49 (hasExternalUses) | |
| %51:i1 = select %50, 0:i1, 1:i1 | |
| pc %51 1:i1 | |
| %52:i64 = addnsw 86400:i64, %7 | |
| %53:i64 = select %8, %52, %7 (hasExternalUses) | |
| %54:i32 = trunc %53 | |
| %55:i32 = udiv %54, 60:i32 | |
| infer %55 (demandedBits=00000000000000001111111111111111) | |
| > | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 12 | |
| %1:i64 = phi %0, 1:i64, 1:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = add 18446744072757682816:i64, %3 | |
| %5:i64 = add %2, %4 | |
| %6:i64 = sdiv %5, 86400:i64 | |
| %7:i64 = srem %5, 86400:i64 (hasExternalUses) | |
| %8:i1 = slt %7, 0:i64 (hasExternalUses) | |
| %9:i64 = select %8, 18446744073709551615:i64, 0:i64 | |
| %10:i64 = addnsw %6, %9 | |
| %11:i64 = sdiv %10, 146097:i64 | |
| %12:i64 = srem %10, 146097:i64 | |
| %13:i1 = slt %12, 0:i64 | |
| %14:i64 = select %13, 18446744073709551615:i64, 0:i64 | |
| %15:i64 = addnsw %11, %14 | |
| %16:i64 = mulnsw 400:i64, %15 | |
| %17:i64 = addnsw 100:i64, %16 | |
| %18:i64 = addnsw 146097:i64, %12 | |
| %19:i64 = select %13, %18, %12 | |
| %20:i64 = addnsw 18446744073709405520:i64, %19 | |
| %21:i1 = ult %20, 36524:i64 | |
| %22:i32 = trunc %19 | |
| %23:i32 = sdiv %22, 36524:i32 | |
| %24:i64 = sext %23 | |
| %25:i64 = select %21, 3:i64, %24 | |
| %26:i64 = mulnw 100:i64, %25 | |
| %27:i64 = addnsw %17, %26 | |
| %28:i64 = mulnsw 18446744073709515092:i64, %25 | |
| %29:i64 = addnsw %28, %19 | |
| %30:i64 = addnsw 18446744073709515091:i64, %29 | |
| %31:i1 = ult %30, 1461:i64 | |
| %32:i32 = trunc %29 | |
| %33:i32 = sdiv %32, 1461:i32 | |
| %34:i64 = sext %33 | |
| %35:i64 = select %31, 24:i64, %34 | |
| %36:i64 = shlnsw %35, 2:i64 | |
| %37:i64 = addnsw %27, %36 | |
| %38:i64 = mulnsw 18446744073709550155:i64, %35 | |
| %39:i64 = addnsw %29, %38 (hasExternalUses) | |
| %40:i64 = addnsw 18446744073709550156:i64, %39 | |
| %41:i1 = ult %40, 365:i64 | |
| %42:i32 = trunc %39 | |
| %43:i32 = sdiv %42, 365:i32 | |
| %44:i64 = sext %43 | |
| %45:i64 = select %41, 3:i64, %44 (hasExternalUses) | |
| %46:i64 = add %37, %45 | |
| %47:i64 = add %1, %46 (hasExternalUses) | |
| %48:i1 = slt %47, 18446744071562067968:i64 | |
| %49:i1 = slt 2147483647:i64, %47 | |
| %50:i1 = select %48, 1:i1, %49 (hasExternalUses) | |
| %51:i1 = select %50, 0:i1, 1:i1 | |
| pc %51 1:i1 | |
| %52:i64 = addnsw 86400:i64, %7 | |
| %53:i64 = select %8, %52, %7 (hasExternalUses) | |
| %54:i32 = trunc %53 | |
| infer %54 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 12 | |
| %1:i64 = phi %0, 1:i64, 1:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = add 18446744072757682816:i64, %3 | |
| %5:i64 = add %2, %4 | |
| %6:i64 = sdiv %5, 86400:i64 | |
| %7:i64 = srem %5, 86400:i64 (hasExternalUses) | |
| %8:i1 = slt %7, 0:i64 (hasExternalUses) | |
| %9:i64 = select %8, 18446744073709551615:i64, 0:i64 | |
| %10:i64 = addnsw %6, %9 | |
| %11:i64 = sdiv %10, 146097:i64 | |
| %12:i64 = srem %10, 146097:i64 | |
| %13:i1 = slt %12, 0:i64 | |
| %14:i64 = select %13, 18446744073709551615:i64, 0:i64 | |
| %15:i64 = addnsw %11, %14 | |
| %16:i64 = mulnsw 400:i64, %15 | |
| %17:i64 = addnsw 100:i64, %16 | |
| %18:i64 = addnsw 146097:i64, %12 | |
| %19:i64 = select %13, %18, %12 | |
| %20:i64 = addnsw 18446744073709405520:i64, %19 | |
| %21:i1 = ult %20, 36524:i64 | |
| %22:i32 = trunc %19 | |
| %23:i32 = sdiv %22, 36524:i32 | |
| %24:i64 = sext %23 | |
| %25:i64 = select %21, 3:i64, %24 | |
| %26:i64 = mulnw 100:i64, %25 | |
| %27:i64 = addnsw %17, %26 | |
| %28:i64 = mulnsw 18446744073709515092:i64, %25 | |
| %29:i64 = addnsw %28, %19 | |
| %30:i64 = addnsw 18446744073709515091:i64, %29 | |
| %31:i1 = ult %30, 1461:i64 | |
| %32:i32 = trunc %29 | |
| %33:i32 = sdiv %32, 1461:i32 | |
| %34:i64 = sext %33 | |
| %35:i64 = select %31, 24:i64, %34 | |
| %36:i64 = shlnsw %35, 2:i64 | |
| %37:i64 = addnsw %27, %36 | |
| %38:i64 = mulnsw 18446744073709550155:i64, %35 | |
| %39:i64 = addnsw %29, %38 (hasExternalUses) | |
| %40:i64 = addnsw 18446744073709550156:i64, %39 | |
| %41:i1 = ult %40, 365:i64 | |
| %42:i32 = trunc %39 | |
| %43:i32 = sdiv %42, 365:i32 | |
| %44:i64 = sext %43 | |
| %45:i64 = select %41, 3:i64, %44 (hasExternalUses) | |
| %46:i64 = add %37, %45 | |
| %47:i64 = add %1, %46 (hasExternalUses) | |
| %48:i1 = slt %47, 18446744071562067968:i64 | |
| %49:i1 = slt 2147483647:i64, %47 | |
| %50:i1 = select %48, 1:i1, %49 (hasExternalUses) | |
| %51:i1 = select %50, 0:i1, 1:i1 | |
| pc %51 1:i1 | |
| %52:i64 = mulnsw 18446744073709551251:i64, %45 | |
| %53:i64 = addnsw %39, %52 | |
| %54:i64 = addnsw 18446744073709551310:i64, %53 | |
| %55:i64 = addnsw 18446744073709551279:i64, %53 | |
| %56:i64 = addnsw 18446744073709551341:i64, %53 | |
| %57:i64 = addnsw 18446744073709551371:i64, %53 | |
| %58:i64 = addnsw 18446744073709551402:i64, %53 | |
| %59:i64 = addnsw 18446744073709551432:i64, %53 | |
| %60:i64 = addnsw 18446744073709551463:i64, %53 | |
| %61:i64 = addnsw 18446744073709551494:i64, %53 | |
| %62:i64 = addnsw 18446744073709551524:i64, %53 | |
| %63:i64 = addnsw 18446744073709551555:i64, %53 | |
| %64:i64 = addnsw 18446744073709551585:i64, %53 | |
| %65:i64 = phi %0, %54, %55, %56, %57, %58, %59, %60, %61, %62, %63, %64, %53 | |
| %66:i32 = trunc %65 | |
| %67:i32 = addnsw 1:i32, %66 | |
| infer %67 | |
| > | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 12 | |
| %1:i64 = phi %0, 1:i64, 1:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = add 18446744072757682816:i64, %3 | |
| %5:i64 = add %2, %4 | |
| %6:i64 = sdiv %5, 86400:i64 | |
| %7:i64 = srem %5, 86400:i64 (hasExternalUses) | |
| %8:i1 = slt %7, 0:i64 (hasExternalUses) | |
| %9:i64 = select %8, 18446744073709551615:i64, 0:i64 | |
| %10:i64 = addnsw %6, %9 | |
| %11:i64 = sdiv %10, 146097:i64 | |
| %12:i64 = srem %10, 146097:i64 | |
| %13:i1 = slt %12, 0:i64 | |
| %14:i64 = select %13, 18446744073709551615:i64, 0:i64 | |
| %15:i64 = addnsw %11, %14 | |
| %16:i64 = mulnsw 400:i64, %15 | |
| %17:i64 = addnsw 100:i64, %16 | |
| %18:i64 = addnsw 146097:i64, %12 | |
| %19:i64 = select %13, %18, %12 | |
| %20:i64 = addnsw 18446744073709405520:i64, %19 | |
| %21:i1 = ult %20, 36524:i64 | |
| %22:i32 = trunc %19 | |
| %23:i32 = sdiv %22, 36524:i32 | |
| %24:i64 = sext %23 | |
| %25:i64 = select %21, 3:i64, %24 | |
| %26:i64 = mulnw 100:i64, %25 | |
| %27:i64 = addnsw %17, %26 | |
| %28:i64 = mulnsw 18446744073709515092:i64, %25 | |
| %29:i64 = addnsw %28, %19 | |
| %30:i64 = addnsw 18446744073709515091:i64, %29 | |
| %31:i1 = ult %30, 1461:i64 | |
| %32:i32 = trunc %29 | |
| %33:i32 = sdiv %32, 1461:i32 | |
| %34:i64 = sext %33 | |
| %35:i64 = select %31, 24:i64, %34 | |
| %36:i64 = shlnsw %35, 2:i64 | |
| %37:i64 = addnsw %27, %36 | |
| %38:i64 = mulnsw 18446744073709550155:i64, %35 | |
| %39:i64 = addnsw %29, %38 (hasExternalUses) | |
| %40:i64 = addnsw 18446744073709550156:i64, %39 | |
| %41:i1 = ult %40, 365:i64 | |
| %42:i32 = trunc %39 | |
| %43:i32 = sdiv %42, 365:i32 | |
| %44:i64 = sext %43 | |
| %45:i64 = select %41, 3:i64, %44 (hasExternalUses) | |
| %46:i64 = add %37, %45 | |
| %47:i64 = add %1, %46 (hasExternalUses) | |
| %48:i1 = slt %47, 18446744071562067968:i64 | |
| %49:i1 = slt 2147483647:i64, %47 | |
| %50:i1 = select %48, 1:i1, %49 (hasExternalUses) | |
| %51:i1 = select %50, 0:i1, 1:i1 | |
| pc %51 1:i1 | |
| %52:i64 = mulnsw 18446744073709551251:i64, %45 | |
| %53:i64 = addnsw %39, %52 | |
| %54:i64 = addnsw 18446744073709551310:i64, %53 | |
| %55:i64 = addnsw 18446744073709551279:i64, %53 | |
| %56:i64 = addnsw 18446744073709551341:i64, %53 | |
| %57:i64 = addnsw 18446744073709551371:i64, %53 | |
| %58:i64 = addnsw 18446744073709551402:i64, %53 | |
| %59:i64 = addnsw 18446744073709551432:i64, %53 | |
| %60:i64 = addnsw 18446744073709551463:i64, %53 | |
| %61:i64 = addnsw 18446744073709551494:i64, %53 | |
| %62:i64 = addnsw 18446744073709551524:i64, %53 | |
| %63:i64 = addnsw 18446744073709551555:i64, %53 | |
| %64:i64 = addnsw 18446744073709551585:i64, %53 | |
| %65:i64 = phi %0, %54, %55, %56, %57, %58, %59, %60, %61, %62, %63, %64, %53 | |
| %66:i32 = trunc %65 | |
| infer %66 | |
| > | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 12 | |
| %1:i64 = phi %0, 1:i64, 1:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = add 18446744072757682816:i64, %3 | |
| %5:i64 = add %2, %4 | |
| %6:i64 = sdiv %5, 86400:i64 | |
| %7:i64 = srem %5, 86400:i64 (hasExternalUses) | |
| %8:i1 = slt %7, 0:i64 (hasExternalUses) | |
| %9:i64 = select %8, 18446744073709551615:i64, 0:i64 | |
| %10:i64 = addnsw %6, %9 | |
| %11:i64 = sdiv %10, 146097:i64 | |
| %12:i64 = srem %10, 146097:i64 | |
| %13:i1 = slt %12, 0:i64 | |
| %14:i64 = select %13, 18446744073709551615:i64, 0:i64 | |
| %15:i64 = addnsw %11, %14 | |
| %16:i64 = mulnsw 400:i64, %15 | |
| %17:i64 = addnsw 100:i64, %16 | |
| %18:i64 = addnsw 146097:i64, %12 | |
| %19:i64 = select %13, %18, %12 | |
| %20:i64 = addnsw 18446744073709405520:i64, %19 | |
| %21:i1 = ult %20, 36524:i64 | |
| %22:i32 = trunc %19 | |
| %23:i32 = sdiv %22, 36524:i32 | |
| %24:i64 = sext %23 | |
| %25:i64 = select %21, 3:i64, %24 | |
| %26:i64 = mulnw 100:i64, %25 | |
| %27:i64 = addnsw %17, %26 | |
| %28:i64 = mulnsw 18446744073709515092:i64, %25 | |
| %29:i64 = addnsw %28, %19 | |
| %30:i64 = addnsw 18446744073709515091:i64, %29 | |
| %31:i1 = ult %30, 1461:i64 | |
| %32:i32 = trunc %29 | |
| %33:i32 = sdiv %32, 1461:i32 | |
| %34:i64 = sext %33 | |
| %35:i64 = select %31, 24:i64, %34 | |
| %36:i64 = shlnsw %35, 2:i64 | |
| %37:i64 = addnsw %27, %36 | |
| %38:i64 = mulnsw 18446744073709550155:i64, %35 | |
| %39:i64 = addnsw %29, %38 (hasExternalUses) | |
| %40:i64 = addnsw 18446744073709550156:i64, %39 | |
| %41:i1 = ult %40, 365:i64 | |
| %42:i32 = trunc %39 | |
| %43:i32 = sdiv %42, 365:i32 | |
| %44:i64 = sext %43 | |
| %45:i64 = select %41, 3:i64, %44 (hasExternalUses) | |
| %46:i64 = add %37, %45 | |
| %47:i64 = add %1, %46 (hasExternalUses) | |
| %48:i1 = slt %47, 18446744071562067968:i64 | |
| infer %48 | |
| > | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 12 | |
| %1:i64 = phi %0, 1:i64, 1:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = add 18446744072757682816:i64, %3 | |
| %5:i64 = add %2, %4 | |
| %6:i64 = sdiv %5, 86400:i64 | |
| %7:i64 = srem %5, 86400:i64 (hasExternalUses) | |
| %8:i1 = slt %7, 0:i64 (hasExternalUses) | |
| %9:i64 = select %8, 18446744073709551615:i64, 0:i64 | |
| %10:i64 = addnsw %6, %9 | |
| %11:i64 = sdiv %10, 146097:i64 | |
| %12:i64 = srem %10, 146097:i64 | |
| %13:i1 = slt %12, 0:i64 | |
| %14:i64 = select %13, 18446744073709551615:i64, 0:i64 | |
| %15:i64 = addnsw %11, %14 | |
| %16:i64 = mulnsw 400:i64, %15 | |
| %17:i64 = addnsw 100:i64, %16 | |
| %18:i64 = addnsw 146097:i64, %12 | |
| %19:i64 = select %13, %18, %12 | |
| %20:i64 = addnsw 18446744073709405520:i64, %19 | |
| %21:i1 = ult %20, 36524:i64 | |
| %22:i32 = trunc %19 | |
| %23:i32 = sdiv %22, 36524:i32 | |
| %24:i64 = sext %23 | |
| %25:i64 = select %21, 3:i64, %24 | |
| %26:i64 = mulnw 100:i64, %25 | |
| %27:i64 = addnsw %17, %26 | |
| %28:i64 = mulnsw 18446744073709515092:i64, %25 | |
| %29:i64 = addnsw %28, %19 | |
| %30:i64 = addnsw 18446744073709515091:i64, %29 | |
| %31:i1 = ult %30, 1461:i64 | |
| %32:i32 = trunc %29 | |
| %33:i32 = sdiv %32, 1461:i32 | |
| %34:i64 = sext %33 | |
| %35:i64 = select %31, 24:i64, %34 | |
| %36:i64 = shlnsw %35, 2:i64 | |
| %37:i64 = addnsw %27, %36 | |
| %38:i64 = mulnsw 18446744073709550155:i64, %35 | |
| %39:i64 = addnsw %29, %38 (hasExternalUses) | |
| %40:i64 = addnsw 18446744073709550156:i64, %39 | |
| %41:i1 = ult %40, 365:i64 | |
| %42:i32 = trunc %39 | |
| %43:i32 = sdiv %42, 365:i32 | |
| %44:i64 = sext %43 | |
| %45:i64 = select %41, 3:i64, %44 (hasExternalUses) | |
| %46:i64 = add %37, %45 | |
| %47:i64 = add %1, %46 (hasExternalUses) | |
| %48:i1 = slt 2147483647:i64, %47 | |
| infer %48 | |
| > | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 12 | |
| %1:i64 = phi %0, 1:i64, 1:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64, 0:i64 | |
| infer %1 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 12 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = add 18446744072757682816:i64, %2 | |
| %4:i64 = add %1, %3 | |
| %5:i64 = sdiv %4, 86400:i64 | |
| %6:i64 = srem %4, 86400:i64 (hasExternalUses) | |
| %7:i1 = slt %6, 0:i64 (hasExternalUses) | |
| %8:i64 = select %7, 18446744073709551615:i64, 0:i64 | |
| %9:i64 = addnsw %5, %8 (hasExternalUses) | |
| %10:i64 = srem %9, 146097:i64 | |
| %11:i1 = slt %10, 0:i64 (hasExternalUses) | |
| %12:i64 = addnsw 146097:i64, %10 | |
| %13:i64 = select %11, %12, %10 | |
| %14:i64 = addnsw 18446744073709405520:i64, %13 | |
| %15:i1 = ult %14, 36524:i64 | |
| %16:i32 = trunc %13 | |
| %17:i32 = sdiv %16, 36524:i32 | |
| %18:i64 = sext %17 | |
| %19:i64 = select %15, 3:i64, %18 (hasExternalUses) | |
| %20:i64 = mulnsw 18446744073709515092:i64, %19 | |
| %21:i64 = addnsw %20, %13 | |
| %22:i64 = addnsw 18446744073709515091:i64, %21 | |
| %23:i1 = ult %22, 1461:i64 | |
| %24:i32 = trunc %21 | |
| %25:i32 = sdiv %24, 1461:i32 | |
| %26:i64 = sext %25 | |
| %27:i64 = select %23, 24:i64, %26 (hasExternalUses) | |
| %28:i64 = mulnsw 18446744073709550155:i64, %27 | |
| %29:i64 = addnsw %21, %28 | |
| %30:i64 = addnsw 18446744073709550156:i64, %29 | |
| %31:i1 = ult %30, 365:i64 | |
| %32:i32 = trunc %29 | |
| %33:i32 = sdiv %32, 365:i32 | |
| %34:i64 = sext %33 | |
| %35:i64 = select %31, 3:i64, %34 (hasExternalUses) | |
| %36:i64 = mulnsw 18446744073709551251:i64, %35 | |
| %37:i64 = addnsw %29, %36 (hasExternalUses) | |
| %38:i64 = addnsw 18446744073709551310:i64, %37 | |
| %39:i64 = addnsw 18446744073709551279:i64, %37 | |
| %40:i64 = addnsw 18446744073709551341:i64, %37 | |
| %41:i64 = addnsw 18446744073709551371:i64, %37 | |
| %42:i64 = addnsw 18446744073709551402:i64, %37 | |
| %43:i64 = addnsw 18446744073709551432:i64, %37 | |
| %44:i64 = addnsw 18446744073709551463:i64, %37 | |
| %45:i64 = addnsw 18446744073709551494:i64, %37 | |
| %46:i64 = addnsw 18446744073709551524:i64, %37 | |
| %47:i64 = addnsw 18446744073709551555:i64, %37 | |
| %48:i64 = addnsw 18446744073709551585:i64, %37 | |
| %49:i64 = phi %0, %38, %39, %40, %41, %42, %43, %44, %45, %46, %47, %48, %37 | |
| infer %49 (demandedBits=0000000000000000000000000000000011111111111111111111111111111111) | |
| > | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 12 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = add 18446744072757682816:i64, %2 | |
| %4:i64 = add %1, %3 | |
| %5:i64 = sdiv %4, 86400:i64 | |
| %6:i64 = srem %4, 86400:i64 (hasExternalUses) | |
| %7:i1 = slt %6, 0:i64 (hasExternalUses) | |
| %8:i64 = select %7, 18446744073709551615:i64, 0:i64 | |
| %9:i64 = addnsw %5, %8 (hasExternalUses) | |
| %10:i64 = srem %9, 146097:i64 | |
| %11:i1 = slt %10, 0:i64 (hasExternalUses) | |
| %12:i64 = addnsw 146097:i64, %10 | |
| %13:i64 = select %11, %12, %10 | |
| %14:i64 = addnsw 18446744073709405520:i64, %13 | |
| %15:i1 = ult %14, 36524:i64 | |
| %16:i32 = trunc %13 | |
| %17:i32 = sdiv %16, 36524:i32 | |
| %18:i64 = sext %17 | |
| %19:i64 = select %15, 3:i64, %18 (hasExternalUses) | |
| %20:i64 = mulnsw 18446744073709515092:i64, %19 | |
| %21:i64 = addnsw %20, %13 | |
| %22:i64 = addnsw 18446744073709515091:i64, %21 | |
| %23:i1 = ult %22, 1461:i64 | |
| %24:i32 = trunc %21 | |
| %25:i32 = sdiv %24, 1461:i32 | |
| %26:i64 = sext %25 | |
| %27:i64 = select %23, 24:i64, %26 (hasExternalUses) | |
| %28:i64 = mulnsw 18446744073709550155:i64, %27 | |
| %29:i64 = addnsw %21, %28 | |
| %30:i64 = addnsw 18446744073709550156:i64, %29 | |
| %31:i1 = ult %30, 365:i64 | |
| %32:i32 = trunc %29 | |
| %33:i32 = sdiv %32, 365:i32 | |
| %34:i64 = sext %33 | |
| %35:i64 = select %31, 3:i64, %34 (hasExternalUses) | |
| %36:i64 = mulnsw 18446744073709551251:i64, %35 | |
| %37:i64 = addnsw %29, %36 (hasExternalUses) | |
| %38:i64 = addnsw 18446744073709551585:i64, %37 | |
| %39:i64 = addnsw 18446744073709551555:i64, %37 | |
| %40:i64 = addnsw 18446744073709551524:i64, %37 | |
| %41:i64 = addnsw 18446744073709551494:i64, %37 | |
| %42:i64 = addnsw 18446744073709551463:i64, %37 | |
| %43:i64 = addnsw 18446744073709551432:i64, %37 | |
| %44:i64 = addnsw 18446744073709551402:i64, %37 | |
| %45:i64 = addnsw 18446744073709551371:i64, %37 | |
| %46:i64 = addnsw 18446744073709551341:i64, %37 | |
| %47:i64 = addnsw 18446744073709551310:i64, %37 | |
| %48:i64 = addnsw 18446744073709551279:i64, %37 | |
| %49:i64 = phi %0, %37, %38, %39, %40, %41, %42, %43, %44, %45, %46, %47, %48 | |
| infer %49 (demandedBits=0000000000000000000000000000000011111111111111111111111111111111) | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 13 | |
| %1 = block 2 | |
| %2:i8 = var | |
| %3:i8 = var | |
| %4:i8 = phi %1, %2, %3 | |
| %5:i1 = eq 2:i8, %4 | |
| %6:i32 = select %5, 65536:i32, 0:i32 | |
| %7 = block 2 | |
| %8:i8 = var | |
| %9:i8 = phi %7, %8, %3 | |
| %10:i1 = eq 2:i8, %9 | |
| %11:i32 = select %10, 65536:i32, 0:i32 | |
| %12 = block 2 | |
| %13:i8 = var | |
| %14:i8 = phi %12, %13, %3 | |
| %15:i1 = eq 2:i8, %14 | |
| %16:i32 = select %15, 65536:i32, 0:i32 | |
| %17 = block 2 | |
| %18:i8 = var | |
| %19:i8 = phi %17, %18, %3 | |
| %20:i1 = eq 0:i8, %19 | |
| %21:i32 = select %20, 0:i32, 65536:i32 | |
| %22:i32 = phi %0, 0:i32, 0:i32, 0:i32, 65536:i32, %6, %11, %16, %21, 0:i32, 0:i32, 0:i32, 0:i32, 0:i32 | |
| %23:i32 = select %5, 1073741824:i32, 0:i32 | |
| %24:i32 = select %10, 1073741824:i32, 0:i32 | |
| %25:i32 = select %15, 704643072:i32, 0:i32 | |
| %26:i32 = select %20, 0:i32, 788529152:i32 | |
| %27:i32 = phi %0, 0:i32, 0:i32, 0:i32, 2080374784:i32, %23, %24, %25, %26, 0:i32, 0:i32, 0:i32, 0:i32, 0:i32 | |
| %28:i32 = or %22, %27 | |
| %29 = block 3 | |
| %30 = block 5 | |
| %31:i8 = var | |
| %32:i8 = phi %30, 244:i8, 244:i8, %31, 0:i8, 244:i8 | |
| %33:i8 = phi %29, 0:i8, %32, 0:i8 | |
| %34:i32 = zext %33 | |
| %35:i32 = shlnw %34, 8:i32 | |
| %36:i32 = or %28, %35 | |
| %37:i8 = var (knownBits=0000xxxx) (nonNegative) (signBits=4) (range=[0,14)) | |
| %38:i8 = phi %30, 13:i8, 13:i8, %37, 5:i8, 13:i8 | |
| %39:i8 = phi %0, 9:i8, 11:i8, 14:i8, 9:i8, 7:i8, 12:i8, 8:i8, 10:i8, 14:i8, 14:i8, 14:i8, 14:i8, 14:i8 | |
| %40:i8 = phi %29, 0:i8, %38, %39 | |
| %41:i32 = zext %40 | |
| %42:i32 = or %36, %41 | |
| infer %42 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 13 | |
| %1 = block 2 | |
| %2:i8 = var | |
| %3:i8 = var | |
| %4:i8 = phi %1, %2, %3 | |
| %5:i1 = eq 2:i8, %4 | |
| %6:i32 = select %5, 65536:i32, 0:i32 | |
| %7 = block 2 | |
| %8:i8 = var | |
| %9:i8 = phi %7, %8, %3 | |
| %10:i1 = eq 2:i8, %9 | |
| %11:i32 = select %10, 65536:i32, 0:i32 | |
| %12 = block 2 | |
| %13:i8 = var | |
| %14:i8 = phi %12, %13, %3 | |
| %15:i1 = eq 2:i8, %14 | |
| %16:i32 = select %15, 65536:i32, 0:i32 | |
| %17 = block 2 | |
| %18:i8 = var | |
| %19:i8 = phi %17, %18, %3 | |
| %20:i1 = eq 0:i8, %19 | |
| %21:i32 = select %20, 0:i32, 65536:i32 | |
| %22:i32 = phi %0, 0:i32, 0:i32, 0:i32, 65536:i32, %6, %11, %16, %21, 0:i32, 0:i32, 0:i32, 0:i32, 0:i32 | |
| %23:i32 = select %5, 1073741824:i32, 0:i32 | |
| %24:i32 = select %10, 1073741824:i32, 0:i32 | |
| %25:i32 = select %15, 704643072:i32, 0:i32 | |
| %26:i32 = select %20, 0:i32, 788529152:i32 | |
| %27:i32 = phi %0, 0:i32, 0:i32, 0:i32, 2080374784:i32, %23, %24, %25, %26, 0:i32, 0:i32, 0:i32, 0:i32, 0:i32 | |
| %28:i32 = or %22, %27 | |
| %29 = block 3 | |
| %30 = block 5 | |
| %31:i8 = var | |
| %32:i8 = phi %30, 244:i8, 244:i8, %31, 0:i8, 244:i8 | |
| %33:i8 = phi %29, 0:i8, %32, 0:i8 | |
| %34:i32 = zext %33 | |
| %35:i32 = shlnw %34, 8:i32 | |
| %36:i32 = or %28, %35 | |
| infer %36 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 13 | |
| %1 = block 2 | |
| %2:i8 = var | |
| %3:i8 = var | |
| %4:i8 = phi %1, %2, %3 | |
| %5:i1 = eq 2:i8, %4 | |
| %6:i32 = select %5, 65536:i32, 0:i32 | |
| %7 = block 2 | |
| %8:i8 = var | |
| %9:i8 = phi %7, %8, %3 | |
| %10:i1 = eq 2:i8, %9 | |
| %11:i32 = select %10, 65536:i32, 0:i32 | |
| %12 = block 2 | |
| %13:i8 = var | |
| %14:i8 = phi %12, %13, %3 | |
| %15:i1 = eq 2:i8, %14 | |
| %16:i32 = select %15, 65536:i32, 0:i32 | |
| %17 = block 2 | |
| %18:i8 = var | |
| %19:i8 = phi %17, %18, %3 | |
| %20:i1 = eq 0:i8, %19 | |
| %21:i32 = select %20, 0:i32, 65536:i32 | |
| %22:i32 = phi %0, 0:i32, 0:i32, 0:i32, 65536:i32, %6, %11, %16, %21, 0:i32, 0:i32, 0:i32, 0:i32, 0:i32 | |
| %23:i32 = select %5, 1073741824:i32, 0:i32 | |
| %24:i32 = select %10, 1073741824:i32, 0:i32 | |
| %25:i32 = select %15, 704643072:i32, 0:i32 | |
| %26:i32 = select %20, 0:i32, 788529152:i32 | |
| %27:i32 = phi %0, 0:i32, 0:i32, 0:i32, 2080374784:i32, %23, %24, %25, %26, 0:i32, 0:i32, 0:i32, 0:i32, 0:i32 | |
| %28:i32 = or %22, %27 | |
| infer %28 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 13 | |
| %1 = block 2 | |
| %2:i8 = var | |
| %3:i8 = var | |
| %4:i8 = phi %1, %2, %3 | |
| %5:i1 = eq 2:i8, %4 (hasExternalUses) | |
| %6:i32 = select %5, 1073741824:i32, 0:i32 | |
| %7 = block 2 | |
| %8:i8 = var | |
| %9:i8 = phi %7, %8, %3 | |
| %10:i1 = eq 2:i8, %9 (hasExternalUses) | |
| %11:i32 = select %10, 1073741824:i32, 0:i32 | |
| %12 = block 2 | |
| %13:i8 = var | |
| %14:i8 = phi %12, %13, %3 | |
| %15:i1 = eq 2:i8, %14 (hasExternalUses) | |
| %16:i32 = select %15, 704643072:i32, 0:i32 | |
| %17 = block 2 | |
| %18:i8 = var | |
| %19:i8 = phi %17, %18, %3 | |
| %20:i1 = eq 0:i8, %19 (hasExternalUses) | |
| %21:i32 = select %20, 0:i32, 788529152:i32 | |
| %22:i32 = phi %0, 0:i32, 0:i32, 0:i32, 2080374784:i32, %6, %11, %16, %21, 0:i32, 0:i32, 0:i32, 0:i32, 0:i32 | |
| infer %22 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 13 | |
| %1 = block 2 | |
| %2:i8 = var | |
| %3:i8 = var | |
| %4:i8 = phi %1, %2, %3 | |
| %5:i1 = eq 2:i8, %4 (hasExternalUses) | |
| %6:i32 = select %5, 65536:i32, 0:i32 | |
| %7 = block 2 | |
| %8:i8 = var | |
| %9:i8 = phi %7, %8, %3 | |
| %10:i1 = eq 2:i8, %9 (hasExternalUses) | |
| %11:i32 = select %10, 65536:i32, 0:i32 | |
| %12 = block 2 | |
| %13:i8 = var | |
| %14:i8 = phi %12, %13, %3 | |
| %15:i1 = eq 2:i8, %14 (hasExternalUses) | |
| %16:i32 = select %15, 65536:i32, 0:i32 | |
| %17 = block 2 | |
| %18:i8 = var | |
| %19:i8 = phi %17, %18, %3 | |
| %20:i1 = eq 0:i8, %19 (hasExternalUses) | |
| %21:i32 = select %20, 0:i32, 65536:i32 | |
| %22:i32 = phi %0, 0:i32, 0:i32, 0:i32, 65536:i32, %6, %11, %16, %21, 0:i32, 0:i32, 0:i32, 0:i32, 0:i32 | |
| infer %22 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 13 | |
| %1:i1 = phi %0, 0:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1 | |
| infer %1 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 13 | |
| %1:i1 = phi %0, 1:i1, 1:i1, 0:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1 | |
| %2:i8 = var | |
| %3:i1 = eq 2:i8, %2 (hasExternalUses) | |
| %4:i1 = or %1, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 13 | |
| %1:i1 = phi %0, 1:i1, 1:i1, 0:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 0:i1, 0:i1, 0:i1, 0:i1, 0:i1 | |
| infer %1 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 13 | |
| %1:i8 = phi %0, 9:i8, 11:i8, 14:i8, 9:i8, 7:i8, 12:i8, 8:i8, 10:i8, 14:i8, 14:i8, 14:i8, 14:i8, 14:i8 | |
| infer %1 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 14 | |
| %1:i8 = var (knownBits=00000xxx) (nonNegative) (signBits=5) (range=[0,8)) | |
| %2:i8 = var (knownBits=00000xxx) (nonNegative) (signBits=5) (range=[0,8)) | |
| %3:i8 = var (knownBits=00000xxx) (nonNegative) (signBits=5) (range=[0,8)) | |
| %4:i8 = phi %0, 2:i8, 6:i8, 3:i8, 0:i8, 7:i8, 5:i8, 2:i8, 6:i8, %1, %2, 0:i8, 7:i8, 5:i8, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 19 | |
| %1:i1 = phi %0, 0:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1, 1:i1 | |
| infer %1 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17 = block 2 | |
| %18 = block 2 | |
| %19 = block 2 | |
| %20 = block 2 | |
| %21:i8 = phi %20, 0:i8, 1:i8 | |
| %22:i8 = phi %19, 0:i8, %21 | |
| %23:i8 = phi %18, 0:i8, %22 | |
| %24:i8 = phi %17, 0:i8, %23 | |
| %25:i8 = phi %16, 0:i8, %24 | |
| %26:i8 = phi %15, 0:i8, %25 | |
| %27:i8 = phi %14, 0:i8, %26 | |
| %28:i8 = phi %13, 0:i8, %27 | |
| %29:i8 = phi %12, 0:i8, %28 | |
| %30:i8 = phi %11, 0:i8, %29 | |
| %31:i8 = phi %10, 0:i8, %30 | |
| %32:i8 = phi %9, 0:i8, %31 | |
| %33:i8 = phi %8, 0:i8, %32 | |
| %34:i8 = phi %7, 0:i8, %33 | |
| %35:i8 = phi %6, 0:i8, %34 | |
| %36:i8 = phi %5, 0:i8, %35 | |
| %37:i8 = phi %4, 0:i8, %36 | |
| %38:i8 = phi %3, 0:i8, %37 | |
| %39:i8 = phi %2, 0:i8, %38 | |
| %40:i8 = phi %1, 0:i8, %39 | |
| %41:i8 = phi %0, %40, 0:i8 | |
| %42:i8 = and 1:i8, %41 | |
| %43:i1 = eq 0:i8, %42 | |
| infer %43 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17 = block 2 | |
| %18 = block 2 | |
| %19 = block 2 | |
| %20 = block 2 | |
| %21:i8 = phi %20, 0:i8, 1:i8 | |
| %22:i8 = phi %19, 0:i8, %21 | |
| %23:i8 = phi %18, 0:i8, %22 | |
| %24:i8 = phi %17, 0:i8, %23 | |
| %25:i8 = phi %16, 0:i8, %24 | |
| %26:i8 = phi %15, 0:i8, %25 | |
| %27:i8 = phi %14, 0:i8, %26 | |
| %28:i8 = phi %13, 0:i8, %27 | |
| %29:i8 = phi %12, 0:i8, %28 | |
| %30:i8 = phi %11, 0:i8, %29 | |
| %31:i8 = phi %10, 0:i8, %30 | |
| %32:i8 = phi %9, 0:i8, %31 | |
| %33:i8 = phi %8, 0:i8, %32 | |
| %34:i8 = phi %7, 0:i8, %33 | |
| %35:i8 = phi %6, 0:i8, %34 | |
| %36:i8 = phi %5, 0:i8, %35 | |
| %37:i8 = phi %4, 0:i8, %36 | |
| %38:i8 = phi %3, 0:i8, %37 | |
| %39:i8 = phi %2, 0:i8, %38 | |
| %40:i8 = phi %1, 0:i8, %39 | |
| %41:i8 = phi %0, %40, 0:i8 | |
| %42:i8 = and 1:i8, %41 | |
| infer %42 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17 = block 2 | |
| %18 = block 2 | |
| %19 = block 2 | |
| %20 = block 2 | |
| %21:i8 = phi %20, 0:i8, 1:i8 | |
| %22:i8 = phi %19, 0:i8, %21 | |
| %23:i8 = phi %18, 0:i8, %22 | |
| %24:i8 = phi %17, 0:i8, %23 | |
| %25:i8 = phi %16, 0:i8, %24 | |
| %26:i8 = phi %15, 0:i8, %25 | |
| %27:i8 = phi %14, 0:i8, %26 | |
| %28:i8 = phi %13, 0:i8, %27 | |
| %29:i8 = phi %12, 0:i8, %28 | |
| %30:i8 = phi %11, 0:i8, %29 | |
| %31:i8 = phi %10, 0:i8, %30 | |
| %32:i8 = phi %9, 0:i8, %31 | |
| %33:i8 = phi %8, 0:i8, %32 | |
| %34:i8 = phi %7, 0:i8, %33 | |
| %35:i8 = phi %6, 0:i8, %34 | |
| %36:i8 = phi %5, 0:i8, %35 | |
| %37:i8 = phi %4, 0:i8, %36 | |
| %38:i8 = phi %3, 0:i8, %37 | |
| %39:i8 = phi %2, 0:i8, %38 | |
| %40:i8 = phi %1, 0:i8, %39 | |
| %41:i8 = phi %0, %40, 0:i8 | |
| infer %41 (demandedBits=00000001) | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17 = block 2 | |
| %18 = block 2 | |
| %19 = block 2 | |
| %20:i8 = phi %19, 0:i8, 1:i8 | |
| %21:i8 = phi %18, 0:i8, %20 | |
| %22:i8 = phi %17, 0:i8, %21 | |
| %23:i8 = phi %16, 0:i8, %22 | |
| %24:i8 = phi %15, 0:i8, %23 | |
| %25:i8 = phi %14, 0:i8, %24 | |
| %26:i8 = phi %13, 0:i8, %25 | |
| %27:i8 = phi %12, 0:i8, %26 | |
| %28:i8 = phi %11, 0:i8, %27 | |
| %29:i8 = phi %10, 0:i8, %28 | |
| %30:i8 = phi %9, 0:i8, %29 | |
| %31:i8 = phi %8, 0:i8, %30 | |
| %32:i8 = phi %7, 0:i8, %31 | |
| %33:i8 = phi %6, 0:i8, %32 | |
| %34:i8 = phi %5, 0:i8, %33 | |
| %35:i8 = phi %4, 0:i8, %34 | |
| %36:i8 = phi %3, 0:i8, %35 | |
| %37:i8 = phi %2, 0:i8, %36 | |
| %38:i8 = phi %1, 0:i8, %37 | |
| %39:i8 = phi %0, 0:i8, %38 | |
| %40:i8 = and 1:i8, %39 | |
| %41:i1 = eq 0:i8, %40 | |
| infer %41 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17 = block 2 | |
| %18 = block 2 | |
| %19 = block 2 | |
| %20:i8 = phi %19, 0:i8, 1:i8 | |
| %21:i8 = phi %18, 0:i8, %20 | |
| %22:i8 = phi %17, 0:i8, %21 | |
| %23:i8 = phi %16, 0:i8, %22 | |
| %24:i8 = phi %15, 0:i8, %23 | |
| %25:i8 = phi %14, 0:i8, %24 | |
| %26:i8 = phi %13, 0:i8, %25 | |
| %27:i8 = phi %12, 0:i8, %26 | |
| %28:i8 = phi %11, 0:i8, %27 | |
| %29:i8 = phi %10, 0:i8, %28 | |
| %30:i8 = phi %9, 0:i8, %29 | |
| %31:i8 = phi %8, 0:i8, %30 | |
| %32:i8 = phi %7, 0:i8, %31 | |
| %33:i8 = phi %6, 0:i8, %32 | |
| %34:i8 = phi %5, 0:i8, %33 | |
| %35:i8 = phi %4, 0:i8, %34 | |
| %36:i8 = phi %3, 0:i8, %35 | |
| %37:i8 = phi %2, 0:i8, %36 | |
| %38:i8 = phi %1, 0:i8, %37 | |
| %39:i8 = phi %0, 0:i8, %38 | |
| %40:i8 = and 1:i8, %39 | |
| infer %40 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17 = block 2 | |
| %18 = block 2 | |
| %19 = block 2 | |
| %20:i8 = phi %19, 0:i8, 1:i8 | |
| %21:i8 = phi %18, 0:i8, %20 | |
| %22:i8 = phi %17, 0:i8, %21 | |
| %23:i8 = phi %16, 0:i8, %22 | |
| %24:i8 = phi %15, 0:i8, %23 | |
| %25:i8 = phi %14, 0:i8, %24 | |
| %26:i8 = phi %13, 0:i8, %25 | |
| %27:i8 = phi %12, 0:i8, %26 | |
| %28:i8 = phi %11, 0:i8, %27 | |
| %29:i8 = phi %10, 0:i8, %28 | |
| %30:i8 = phi %9, 0:i8, %29 | |
| %31:i8 = phi %8, 0:i8, %30 | |
| %32:i8 = phi %7, 0:i8, %31 | |
| %33:i8 = phi %6, 0:i8, %32 | |
| %34:i8 = phi %5, 0:i8, %33 | |
| %35:i8 = phi %4, 0:i8, %34 | |
| %36:i8 = phi %3, 0:i8, %35 | |
| %37:i8 = phi %2, 0:i8, %36 | |
| %38:i8 = phi %1, 0:i8, %37 | |
| %39:i8 = phi %0, 0:i8, %38 | |
| infer %39 (demandedBits=00000001) | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17 = block 2 | |
| %18 = block 2 | |
| %19:i8 = phi %18, 0:i8, 1:i8 | |
| %20:i8 = phi %17, 0:i8, %19 | |
| %21:i8 = phi %16, 0:i8, %20 | |
| %22:i8 = phi %15, 0:i8, %21 | |
| %23:i8 = phi %14, 0:i8, %22 | |
| %24:i8 = phi %13, 0:i8, %23 | |
| %25:i8 = phi %12, 0:i8, %24 | |
| %26:i8 = phi %11, 0:i8, %25 | |
| %27:i8 = phi %10, 0:i8, %26 | |
| %28:i8 = phi %9, 0:i8, %27 | |
| %29:i8 = phi %8, 0:i8, %28 | |
| %30:i8 = phi %7, 0:i8, %29 | |
| %31:i8 = phi %6, 0:i8, %30 | |
| %32:i8 = phi %5, 0:i8, %31 | |
| %33:i8 = phi %4, 0:i8, %32 | |
| %34:i8 = phi %3, 0:i8, %33 | |
| %35:i8 = phi %2, 0:i8, %34 | |
| %36:i8 = phi %1, 0:i8, %35 | |
| %37:i8 = phi %0, 0:i8, %36 | |
| %38:i8 = and 1:i8, %37 | |
| %39:i1 = eq 0:i8, %38 | |
| infer %39 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17 = block 2 | |
| %18 = block 2 | |
| %19:i8 = phi %18, 0:i8, 1:i8 | |
| %20:i8 = phi %17, 0:i8, %19 | |
| %21:i8 = phi %16, 0:i8, %20 | |
| %22:i8 = phi %15, 0:i8, %21 | |
| %23:i8 = phi %14, 0:i8, %22 | |
| %24:i8 = phi %13, 0:i8, %23 | |
| %25:i8 = phi %12, 0:i8, %24 | |
| %26:i8 = phi %11, 0:i8, %25 | |
| %27:i8 = phi %10, 0:i8, %26 | |
| %28:i8 = phi %9, 0:i8, %27 | |
| %29:i8 = phi %8, 0:i8, %28 | |
| %30:i8 = phi %7, 0:i8, %29 | |
| %31:i8 = phi %6, 0:i8, %30 | |
| %32:i8 = phi %5, 0:i8, %31 | |
| %33:i8 = phi %4, 0:i8, %32 | |
| %34:i8 = phi %3, 0:i8, %33 | |
| %35:i8 = phi %2, 0:i8, %34 | |
| %36:i8 = phi %1, 0:i8, %35 | |
| %37:i8 = phi %0, 0:i8, %36 | |
| %38:i8 = and 1:i8, %37 | |
| infer %38 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17 = block 2 | |
| %18 = block 2 | |
| %19:i8 = phi %18, 0:i8, 1:i8 | |
| %20:i8 = phi %17, 0:i8, %19 | |
| %21:i8 = phi %16, 0:i8, %20 | |
| %22:i8 = phi %15, 0:i8, %21 | |
| %23:i8 = phi %14, 0:i8, %22 | |
| %24:i8 = phi %13, 0:i8, %23 | |
| %25:i8 = phi %12, 0:i8, %24 | |
| %26:i8 = phi %11, 0:i8, %25 | |
| %27:i8 = phi %10, 0:i8, %26 | |
| %28:i8 = phi %9, 0:i8, %27 | |
| %29:i8 = phi %8, 0:i8, %28 | |
| %30:i8 = phi %7, 0:i8, %29 | |
| %31:i8 = phi %6, 0:i8, %30 | |
| %32:i8 = phi %5, 0:i8, %31 | |
| %33:i8 = phi %4, 0:i8, %32 | |
| %34:i8 = phi %3, 0:i8, %33 | |
| %35:i8 = phi %2, 0:i8, %34 | |
| %36:i8 = phi %1, 0:i8, %35 | |
| %37:i8 = phi %0, 0:i8, %36 | |
| infer %37 (demandedBits=00000001) | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17 = block 2 | |
| %18 = block 3 | |
| %19:i8 = phi %18, 1:i8, 0:i8, 0:i8 | |
| %20:i8 = phi %17, %19, 0:i8 | |
| %21:i8 = phi %16, %20, 0:i8 | |
| %22:i8 = phi %15, %21, 0:i8 | |
| %23:i8 = phi %14, %22, 0:i8 | |
| %24:i8 = phi %13, %23, 0:i8 | |
| %25:i8 = phi %12, %24, 0:i8 | |
| %26:i8 = phi %11, %25, 0:i8 | |
| %27:i8 = phi %10, %26, 0:i8 | |
| %28:i8 = phi %9, 0:i8, %27 | |
| %29:i8 = phi %8, %28, 0:i8 | |
| %30:i8 = phi %7, %29, 0:i8 | |
| %31:i8 = phi %6, %30, 0:i8 | |
| %32:i8 = phi %5, %31, 0:i8 | |
| %33:i8 = phi %4, %32, 0:i8 | |
| %34:i8 = phi %3, %33, 0:i8 | |
| %35:i8 = phi %2, %34, 0:i8 | |
| %36:i8 = phi %1, %35, 0:i8 | |
| %37:i8 = phi %0, %36, 0:i8 | |
| %38:i1 = eq 0:i8, %37 | |
| infer %38 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17 = block 2 | |
| %18 = block 3 | |
| %19:i8 = phi %18, 1:i8, 0:i8, 0:i8 | |
| %20:i8 = phi %17, %19, 0:i8 | |
| %21:i8 = phi %16, %20, 0:i8 | |
| %22:i8 = phi %15, %21, 0:i8 | |
| %23:i8 = phi %14, %22, 0:i8 | |
| %24:i8 = phi %13, %23, 0:i8 | |
| %25:i8 = phi %12, %24, 0:i8 | |
| %26:i8 = phi %11, %25, 0:i8 | |
| %27:i8 = phi %10, %26, 0:i8 | |
| %28:i8 = phi %9, 0:i8, %27 | |
| %29:i8 = phi %8, %28, 0:i8 | |
| %30:i8 = phi %7, %29, 0:i8 | |
| %31:i8 = phi %6, %30, 0:i8 | |
| %32:i8 = phi %5, %31, 0:i8 | |
| %33:i8 = phi %4, %32, 0:i8 | |
| %34:i8 = phi %3, %33, 0:i8 | |
| %35:i8 = phi %2, %34, 0:i8 | |
| %36:i8 = phi %1, %35, 0:i8 | |
| %37:i8 = phi %0, %36, 0:i8 | |
| infer %37 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17 = block 2 | |
| %18:i8 = phi %17, 0:i8, 1:i8 | |
| %19:i8 = phi %16, 0:i8, %18 | |
| %20:i8 = phi %15, 0:i8, %19 | |
| %21:i8 = phi %14, 0:i8, %20 | |
| %22:i8 = phi %13, 0:i8, %21 | |
| %23:i8 = phi %12, 0:i8, %22 | |
| %24:i8 = phi %11, 0:i8, %23 | |
| %25:i8 = phi %10, 0:i8, %24 | |
| %26:i8 = phi %9, 0:i8, %25 | |
| %27:i8 = phi %8, 0:i8, %26 | |
| %28:i8 = phi %7, 0:i8, %27 | |
| %29:i8 = phi %6, 0:i8, %28 | |
| %30:i8 = phi %5, 0:i8, %29 | |
| %31:i8 = phi %4, 0:i8, %30 | |
| %32:i8 = phi %3, 0:i8, %31 | |
| %33:i8 = phi %2, 0:i8, %32 | |
| %34:i8 = phi %1, 0:i8, %33 | |
| %35:i8 = phi %0, %34, 0:i8 | |
| %36:i8 = and 1:i8, %35 | |
| %37:i1 = eq 0:i8, %36 | |
| infer %37 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17 = block 2 | |
| %18:i8 = phi %17, 0:i8, 1:i8 | |
| %19:i8 = phi %16, 0:i8, %18 | |
| %20:i8 = phi %15, 0:i8, %19 | |
| %21:i8 = phi %14, 0:i8, %20 | |
| %22:i8 = phi %13, 0:i8, %21 | |
| %23:i8 = phi %12, 0:i8, %22 | |
| %24:i8 = phi %11, 0:i8, %23 | |
| %25:i8 = phi %10, 0:i8, %24 | |
| %26:i8 = phi %9, 0:i8, %25 | |
| %27:i8 = phi %8, 0:i8, %26 | |
| %28:i8 = phi %7, 0:i8, %27 | |
| %29:i8 = phi %6, 0:i8, %28 | |
| %30:i8 = phi %5, 0:i8, %29 | |
| %31:i8 = phi %4, 0:i8, %30 | |
| %32:i8 = phi %3, 0:i8, %31 | |
| %33:i8 = phi %2, 0:i8, %32 | |
| %34:i8 = phi %1, 0:i8, %33 | |
| %35:i8 = phi %0, %34, 0:i8 | |
| %36:i8 = and 1:i8, %35 | |
| infer %36 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17 = block 2 | |
| %18:i8 = phi %17, 0:i8, 1:i8 | |
| %19:i8 = phi %16, 0:i8, %18 | |
| %20:i8 = phi %15, 0:i8, %19 | |
| %21:i8 = phi %14, 0:i8, %20 | |
| %22:i8 = phi %13, 0:i8, %21 | |
| %23:i8 = phi %12, 0:i8, %22 | |
| %24:i8 = phi %11, 0:i8, %23 | |
| %25:i8 = phi %10, 0:i8, %24 | |
| %26:i8 = phi %9, 0:i8, %25 | |
| %27:i8 = phi %8, 0:i8, %26 | |
| %28:i8 = phi %7, 0:i8, %27 | |
| %29:i8 = phi %6, 0:i8, %28 | |
| %30:i8 = phi %5, 0:i8, %29 | |
| %31:i8 = phi %4, 0:i8, %30 | |
| %32:i8 = phi %3, 0:i8, %31 | |
| %33:i8 = phi %2, 0:i8, %32 | |
| %34:i8 = phi %1, 0:i8, %33 | |
| %35:i8 = phi %0, %34, 0:i8 | |
| infer %35 (demandedBits=00000001) | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17 = block 2 | |
| %18:i8 = phi %17, 0:i8, 1:i8 | |
| %19:i8 = phi %16, 0:i8, %18 | |
| %20:i8 = phi %15, 0:i8, %19 | |
| %21:i8 = phi %14, 0:i8, %20 | |
| %22:i8 = phi %13, 0:i8, %21 | |
| %23:i8 = phi %12, 0:i8, %22 | |
| %24:i8 = phi %11, 0:i8, %23 | |
| %25:i8 = phi %10, 0:i8, %24 | |
| %26:i8 = phi %9, 0:i8, %25 | |
| %27:i8 = phi %8, 0:i8, %26 | |
| %28:i8 = phi %7, 0:i8, %27 | |
| %29:i8 = phi %6, 0:i8, %28 | |
| %30:i8 = phi %5, 0:i8, %29 | |
| %31:i8 = phi %4, 0:i8, %30 | |
| %32:i8 = phi %3, 0:i8, %31 | |
| %33:i8 = phi %2, 0:i8, %32 | |
| %34:i8 = phi %1, 0:i8, %33 | |
| %35:i8 = phi %0, 0:i8, %34 | |
| %36:i8 = and 1:i8, %35 | |
| %37:i1 = eq 0:i8, %36 | |
| infer %37 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17 = block 2 | |
| %18:i8 = phi %17, 0:i8, 1:i8 | |
| %19:i8 = phi %16, 0:i8, %18 | |
| %20:i8 = phi %15, 0:i8, %19 | |
| %21:i8 = phi %14, 0:i8, %20 | |
| %22:i8 = phi %13, 0:i8, %21 | |
| %23:i8 = phi %12, 0:i8, %22 | |
| %24:i8 = phi %11, 0:i8, %23 | |
| %25:i8 = phi %10, 0:i8, %24 | |
| %26:i8 = phi %9, 0:i8, %25 | |
| %27:i8 = phi %8, 0:i8, %26 | |
| %28:i8 = phi %7, 0:i8, %27 | |
| %29:i8 = phi %6, 0:i8, %28 | |
| %30:i8 = phi %5, 0:i8, %29 | |
| %31:i8 = phi %4, 0:i8, %30 | |
| %32:i8 = phi %3, 0:i8, %31 | |
| %33:i8 = phi %2, 0:i8, %32 | |
| %34:i8 = phi %1, 0:i8, %33 | |
| %35:i8 = phi %0, 0:i8, %34 | |
| %36:i8 = and 1:i8, %35 | |
| infer %36 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17 = block 2 | |
| %18:i8 = phi %17, 0:i8, 1:i8 | |
| %19:i8 = phi %16, 0:i8, %18 | |
| %20:i8 = phi %15, 0:i8, %19 | |
| %21:i8 = phi %14, 0:i8, %20 | |
| %22:i8 = phi %13, 0:i8, %21 | |
| %23:i8 = phi %12, 0:i8, %22 | |
| %24:i8 = phi %11, 0:i8, %23 | |
| %25:i8 = phi %10, 0:i8, %24 | |
| %26:i8 = phi %9, 0:i8, %25 | |
| %27:i8 = phi %8, 0:i8, %26 | |
| %28:i8 = phi %7, 0:i8, %27 | |
| %29:i8 = phi %6, 0:i8, %28 | |
| %30:i8 = phi %5, 0:i8, %29 | |
| %31:i8 = phi %4, 0:i8, %30 | |
| %32:i8 = phi %3, 0:i8, %31 | |
| %33:i8 = phi %2, 0:i8, %32 | |
| %34:i8 = phi %1, 0:i8, %33 | |
| %35:i8 = phi %0, 0:i8, %34 | |
| infer %35 (demandedBits=00000001) | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17 = block 3 | |
| %18:i8 = phi %17, 1:i8, 0:i8, 0:i8 | |
| %19:i8 = phi %16, %18, 0:i8 | |
| %20:i8 = phi %15, %19, 0:i8 | |
| %21:i8 = phi %14, %20, 0:i8 | |
| %22:i8 = phi %13, %21, 0:i8 | |
| %23:i8 = phi %12, %22, 0:i8 | |
| %24:i8 = phi %11, %23, 0:i8 | |
| %25:i8 = phi %10, %24, 0:i8 | |
| %26:i8 = phi %9, %25, 0:i8 | |
| %27:i8 = phi %8, 0:i8, %26 | |
| %28:i8 = phi %7, %27, 0:i8 | |
| %29:i8 = phi %6, %28, 0:i8 | |
| %30:i8 = phi %5, %29, 0:i8 | |
| %31:i8 = phi %4, %30, 0:i8 | |
| %32:i8 = phi %3, %31, 0:i8 | |
| %33:i8 = phi %2, %32, 0:i8 | |
| %34:i8 = phi %1, %33, 0:i8 | |
| %35:i8 = phi %0, %34, 0:i8 | |
| %36:i1 = eq 0:i8, %35 | |
| infer %36 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17 = block 3 | |
| %18:i8 = phi %17, 1:i8, 0:i8, 0:i8 | |
| %19:i8 = phi %16, %18, 0:i8 | |
| %20:i8 = phi %15, %19, 0:i8 | |
| %21:i8 = phi %14, %20, 0:i8 | |
| %22:i8 = phi %13, %21, 0:i8 | |
| %23:i8 = phi %12, %22, 0:i8 | |
| %24:i8 = phi %11, %23, 0:i8 | |
| %25:i8 = phi %10, %24, 0:i8 | |
| %26:i8 = phi %9, %25, 0:i8 | |
| %27:i8 = phi %8, 0:i8, %26 | |
| %28:i8 = phi %7, %27, 0:i8 | |
| %29:i8 = phi %6, %28, 0:i8 | |
| %30:i8 = phi %5, %29, 0:i8 | |
| %31:i8 = phi %4, %30, 0:i8 | |
| %32:i8 = phi %3, %31, 0:i8 | |
| %33:i8 = phi %2, %32, 0:i8 | |
| %34:i8 = phi %1, %33, 0:i8 | |
| %35:i8 = phi %0, %34, 0:i8 | |
| infer %35 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17:i8 = phi %16, 0:i8, 1:i8 | |
| %18:i8 = phi %15, 0:i8, %17 | |
| %19:i8 = phi %14, 0:i8, %18 | |
| %20:i8 = phi %13, 0:i8, %19 | |
| %21:i8 = phi %12, 0:i8, %20 | |
| %22:i8 = phi %11, 0:i8, %21 | |
| %23:i8 = phi %10, 0:i8, %22 | |
| %24:i8 = phi %9, 0:i8, %23 | |
| %25:i8 = phi %8, 0:i8, %24 | |
| %26:i8 = phi %7, 0:i8, %25 | |
| %27:i8 = phi %6, 0:i8, %26 | |
| %28:i8 = phi %5, 0:i8, %27 | |
| %29:i8 = phi %4, 0:i8, %28 | |
| %30:i8 = phi %3, 0:i8, %29 | |
| %31:i8 = phi %2, 0:i8, %30 | |
| %32:i8 = phi %1, 0:i8, %31 | |
| %33:i8 = phi %0, 0:i8, %32 | |
| %34:i8 = and 1:i8, %33 | |
| %35:i1 = eq 0:i8, %34 | |
| infer %35 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17:i8 = phi %16, 0:i8, 1:i8 | |
| %18:i8 = phi %15, 0:i8, %17 | |
| %19:i8 = phi %14, 0:i8, %18 | |
| %20:i8 = phi %13, 0:i8, %19 | |
| %21:i8 = phi %12, 0:i8, %20 | |
| %22:i8 = phi %11, 0:i8, %21 | |
| %23:i8 = phi %10, 0:i8, %22 | |
| %24:i8 = phi %9, 0:i8, %23 | |
| %25:i8 = phi %8, 0:i8, %24 | |
| %26:i8 = phi %7, 0:i8, %25 | |
| %27:i8 = phi %6, 0:i8, %26 | |
| %28:i8 = phi %5, 0:i8, %27 | |
| %29:i8 = phi %4, 0:i8, %28 | |
| %30:i8 = phi %3, 0:i8, %29 | |
| %31:i8 = phi %2, 0:i8, %30 | |
| %32:i8 = phi %1, 0:i8, %31 | |
| %33:i8 = phi %0, 0:i8, %32 | |
| %34:i8 = and 1:i8, %33 | |
| infer %34 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17:i8 = phi %16, 0:i8, 1:i8 | |
| %18:i8 = phi %15, 0:i8, %17 | |
| %19:i8 = phi %14, 0:i8, %18 | |
| %20:i8 = phi %13, 0:i8, %19 | |
| %21:i8 = phi %12, 0:i8, %20 | |
| %22:i8 = phi %11, 0:i8, %21 | |
| %23:i8 = phi %10, 0:i8, %22 | |
| %24:i8 = phi %9, 0:i8, %23 | |
| %25:i8 = phi %8, 0:i8, %24 | |
| %26:i8 = phi %7, 0:i8, %25 | |
| %27:i8 = phi %6, 0:i8, %26 | |
| %28:i8 = phi %5, 0:i8, %27 | |
| %29:i8 = phi %4, 0:i8, %28 | |
| %30:i8 = phi %3, 0:i8, %29 | |
| %31:i8 = phi %2, 0:i8, %30 | |
| %32:i8 = phi %1, 0:i8, %31 | |
| %33:i8 = phi %0, 0:i8, %32 | |
| infer %33 (demandedBits=00000001) | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 3 | |
| %17:i8 = phi %16, 1:i8, 0:i8, 0:i8 | |
| %18:i8 = phi %15, %17, 0:i8 | |
| %19:i8 = phi %14, %18, 0:i8 | |
| %20:i8 = phi %13, %19, 0:i8 | |
| %21:i8 = phi %12, %20, 0:i8 | |
| %22:i8 = phi %11, %21, 0:i8 | |
| %23:i8 = phi %10, %22, 0:i8 | |
| %24:i8 = phi %9, %23, 0:i8 | |
| %25:i8 = phi %8, %24, 0:i8 | |
| %26:i8 = phi %7, 0:i8, %25 | |
| %27:i8 = phi %6, %26, 0:i8 | |
| %28:i8 = phi %5, %27, 0:i8 | |
| %29:i8 = phi %4, %28, 0:i8 | |
| %30:i8 = phi %3, %29, 0:i8 | |
| %31:i8 = phi %2, %30, 0:i8 | |
| %32:i8 = phi %1, %31, 0:i8 | |
| %33:i8 = phi %0, %32, 0:i8 | |
| %34:i1 = eq 0:i8, %33 | |
| infer %34 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 3 | |
| %17:i8 = phi %16, 1:i8, 0:i8, 0:i8 | |
| %18:i8 = phi %15, %17, 0:i8 | |
| %19:i8 = phi %14, %18, 0:i8 | |
| %20:i8 = phi %13, %19, 0:i8 | |
| %21:i8 = phi %12, %20, 0:i8 | |
| %22:i8 = phi %11, %21, 0:i8 | |
| %23:i8 = phi %10, %22, 0:i8 | |
| %24:i8 = phi %9, %23, 0:i8 | |
| %25:i8 = phi %8, %24, 0:i8 | |
| %26:i8 = phi %7, 0:i8, %25 | |
| %27:i8 = phi %6, %26, 0:i8 | |
| %28:i8 = phi %5, %27, 0:i8 | |
| %29:i8 = phi %4, %28, 0:i8 | |
| %30:i8 = phi %3, %29, 0:i8 | |
| %31:i8 = phi %2, %30, 0:i8 | |
| %32:i8 = phi %1, %31, 0:i8 | |
| %33:i8 = phi %0, %32, 0:i8 | |
| infer %33 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16:i8 = phi %15, 0:i8, 1:i8 | |
| %17:i8 = phi %14, 0:i8, %16 | |
| %18:i8 = phi %13, 0:i8, %17 | |
| %19:i8 = phi %12, 0:i8, %18 | |
| %20:i8 = phi %11, 0:i8, %19 | |
| %21:i8 = phi %10, 0:i8, %20 | |
| %22:i8 = phi %9, 0:i8, %21 | |
| %23:i8 = phi %8, 0:i8, %22 | |
| %24:i8 = phi %7, 0:i8, %23 | |
| %25:i8 = phi %6, 0:i8, %24 | |
| %26:i8 = phi %5, 0:i8, %25 | |
| %27:i8 = phi %4, 0:i8, %26 | |
| %28:i8 = phi %3, 0:i8, %27 | |
| %29:i8 = phi %2, 0:i8, %28 | |
| %30:i8 = phi %1, 0:i8, %29 | |
| %31:i8 = phi %0, %30, 0:i8 | |
| %32:i8 = and 1:i8, %31 | |
| %33:i1 = eq 0:i8, %32 | |
| infer %33 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16:i8 = phi %15, 0:i8, 1:i8 | |
| %17:i8 = phi %14, 0:i8, %16 | |
| %18:i8 = phi %13, 0:i8, %17 | |
| %19:i8 = phi %12, 0:i8, %18 | |
| %20:i8 = phi %11, 0:i8, %19 | |
| %21:i8 = phi %10, 0:i8, %20 | |
| %22:i8 = phi %9, 0:i8, %21 | |
| %23:i8 = phi %8, 0:i8, %22 | |
| %24:i8 = phi %7, 0:i8, %23 | |
| %25:i8 = phi %6, 0:i8, %24 | |
| %26:i8 = phi %5, 0:i8, %25 | |
| %27:i8 = phi %4, 0:i8, %26 | |
| %28:i8 = phi %3, 0:i8, %27 | |
| %29:i8 = phi %2, 0:i8, %28 | |
| %30:i8 = phi %1, 0:i8, %29 | |
| %31:i8 = phi %0, %30, 0:i8 | |
| %32:i8 = and 1:i8, %31 | |
| infer %32 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16:i8 = phi %15, 0:i8, 1:i8 | |
| %17:i8 = phi %14, 0:i8, %16 | |
| %18:i8 = phi %13, 0:i8, %17 | |
| %19:i8 = phi %12, 0:i8, %18 | |
| %20:i8 = phi %11, 0:i8, %19 | |
| %21:i8 = phi %10, 0:i8, %20 | |
| %22:i8 = phi %9, 0:i8, %21 | |
| %23:i8 = phi %8, 0:i8, %22 | |
| %24:i8 = phi %7, 0:i8, %23 | |
| %25:i8 = phi %6, 0:i8, %24 | |
| %26:i8 = phi %5, 0:i8, %25 | |
| %27:i8 = phi %4, 0:i8, %26 | |
| %28:i8 = phi %3, 0:i8, %27 | |
| %29:i8 = phi %2, 0:i8, %28 | |
| %30:i8 = phi %1, 0:i8, %29 | |
| %31:i8 = phi %0, %30, 0:i8 | |
| infer %31 (demandedBits=00000001) | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16:i8 = phi %15, 0:i8, 1:i8 | |
| %17:i8 = phi %14, 0:i8, %16 | |
| %18:i8 = phi %13, 0:i8, %17 | |
| %19:i8 = phi %12, 0:i8, %18 | |
| %20:i8 = phi %11, 0:i8, %19 | |
| %21:i8 = phi %10, 0:i8, %20 | |
| %22:i8 = phi %9, 0:i8, %21 | |
| %23:i8 = phi %8, 0:i8, %22 | |
| %24:i8 = phi %7, 0:i8, %23 | |
| %25:i8 = phi %6, 0:i8, %24 | |
| %26:i8 = phi %5, 0:i8, %25 | |
| %27:i8 = phi %4, 0:i8, %26 | |
| %28:i8 = phi %3, 0:i8, %27 | |
| %29:i8 = phi %2, 0:i8, %28 | |
| %30:i8 = phi %1, 0:i8, %29 | |
| %31:i8 = phi %0, 0:i8, %30 | |
| %32:i8 = and 1:i8, %31 | |
| %33:i1 = eq 0:i8, %32 | |
| infer %33 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16:i8 = phi %15, 0:i8, 1:i8 | |
| %17:i8 = phi %14, 0:i8, %16 | |
| %18:i8 = phi %13, 0:i8, %17 | |
| %19:i8 = phi %12, 0:i8, %18 | |
| %20:i8 = phi %11, 0:i8, %19 | |
| %21:i8 = phi %10, 0:i8, %20 | |
| %22:i8 = phi %9, 0:i8, %21 | |
| %23:i8 = phi %8, 0:i8, %22 | |
| %24:i8 = phi %7, 0:i8, %23 | |
| %25:i8 = phi %6, 0:i8, %24 | |
| %26:i8 = phi %5, 0:i8, %25 | |
| %27:i8 = phi %4, 0:i8, %26 | |
| %28:i8 = phi %3, 0:i8, %27 | |
| %29:i8 = phi %2, 0:i8, %28 | |
| %30:i8 = phi %1, 0:i8, %29 | |
| %31:i8 = phi %0, 0:i8, %30 | |
| %32:i8 = and 1:i8, %31 | |
| infer %32 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16:i8 = phi %15, 0:i8, 1:i8 | |
| %17:i8 = phi %14, 0:i8, %16 | |
| %18:i8 = phi %13, 0:i8, %17 | |
| %19:i8 = phi %12, 0:i8, %18 | |
| %20:i8 = phi %11, 0:i8, %19 | |
| %21:i8 = phi %10, 0:i8, %20 | |
| %22:i8 = phi %9, 0:i8, %21 | |
| %23:i8 = phi %8, 0:i8, %22 | |
| %24:i8 = phi %7, 0:i8, %23 | |
| %25:i8 = phi %6, 0:i8, %24 | |
| %26:i8 = phi %5, 0:i8, %25 | |
| %27:i8 = phi %4, 0:i8, %26 | |
| %28:i8 = phi %3, 0:i8, %27 | |
| %29:i8 = phi %2, 0:i8, %28 | |
| %30:i8 = phi %1, 0:i8, %29 | |
| %31:i8 = phi %0, 0:i8, %30 | |
| infer %31 (demandedBits=00000001) | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16:i8 = phi %15, 1:i8, 0:i8 | |
| %17:i8 = phi %14, %16, 0:i8 | |
| %18:i8 = phi %13, %17, 0:i8 | |
| %19:i8 = phi %12, %18, 0:i8 | |
| %20:i8 = phi %11, %19, 0:i8 | |
| %21:i8 = phi %10, %20, 0:i8 | |
| %22:i8 = phi %9, %21, 0:i8 | |
| %23:i8 = phi %8, %22, 0:i8 | |
| %24:i8 = phi %7, %23, 0:i8 | |
| %25:i8 = phi %6, %24, 0:i8 | |
| %26:i8 = phi %5, %25, 0:i8 | |
| %27:i8 = phi %4, %26, 0:i8 | |
| %28:i8 = phi %3, %27, 0:i8 | |
| %29:i8 = phi %2, %28, 0:i8 | |
| %30:i8 = phi %1, %29, 0:i8 | |
| %31:i8 = phi %0, %30, 0:i8 | |
| %32:i1 = eq 0:i8, %31 | |
| infer %32 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16:i8 = phi %15, 1:i8, 0:i8 | |
| %17:i8 = phi %14, %16, 0:i8 | |
| %18:i8 = phi %13, %17, 0:i8 | |
| %19:i8 = phi %12, %18, 0:i8 | |
| %20:i8 = phi %11, %19, 0:i8 | |
| %21:i8 = phi %10, %20, 0:i8 | |
| %22:i8 = phi %9, %21, 0:i8 | |
| %23:i8 = phi %8, %22, 0:i8 | |
| %24:i8 = phi %7, %23, 0:i8 | |
| %25:i8 = phi %6, %24, 0:i8 | |
| %26:i8 = phi %5, %25, 0:i8 | |
| %27:i8 = phi %4, %26, 0:i8 | |
| %28:i8 = phi %3, %27, 0:i8 | |
| %29:i8 = phi %2, %28, 0:i8 | |
| %30:i8 = phi %1, %29, 0:i8 | |
| %31:i8 = phi %0, %30, 0:i8 | |
| infer %31 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 3 | |
| %16:i8 = phi %15, 1:i8, 0:i8, 0:i8 | |
| %17:i8 = phi %14, %16, 0:i8 | |
| %18:i8 = phi %13, %17, 0:i8 | |
| %19:i8 = phi %12, %18, 0:i8 | |
| %20:i8 = phi %11, %19, 0:i8 | |
| %21:i8 = phi %10, %20, 0:i8 | |
| %22:i8 = phi %9, %21, 0:i8 | |
| %23:i8 = phi %8, %22, 0:i8 | |
| %24:i8 = phi %7, %23, 0:i8 | |
| %25:i8 = phi %6, 0:i8, %24 | |
| %26:i8 = phi %5, %25, 0:i8 | |
| %27:i8 = phi %4, %26, 0:i8 | |
| %28:i8 = phi %3, %27, 0:i8 | |
| %29:i8 = phi %2, %28, 0:i8 | |
| %30:i8 = phi %1, %29, 0:i8 | |
| %31:i8 = phi %0, %30, 0:i8 | |
| %32:i1 = eq 0:i8, %31 | |
| infer %32 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 3 | |
| %16:i8 = phi %15, 1:i8, 0:i8, 0:i8 | |
| %17:i8 = phi %14, %16, 0:i8 | |
| %18:i8 = phi %13, %17, 0:i8 | |
| %19:i8 = phi %12, %18, 0:i8 | |
| %20:i8 = phi %11, %19, 0:i8 | |
| %21:i8 = phi %10, %20, 0:i8 | |
| %22:i8 = phi %9, %21, 0:i8 | |
| %23:i8 = phi %8, %22, 0:i8 | |
| %24:i8 = phi %7, %23, 0:i8 | |
| %25:i8 = phi %6, 0:i8, %24 | |
| %26:i8 = phi %5, %25, 0:i8 | |
| %27:i8 = phi %4, %26, 0:i8 | |
| %28:i8 = phi %3, %27, 0:i8 | |
| %29:i8 = phi %2, %28, 0:i8 | |
| %30:i8 = phi %1, %29, 0:i8 | |
| %31:i8 = phi %0, %30, 0:i8 | |
| infer %31 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15:i8 = phi %14, 0:i8, 1:i8 | |
| %16:i8 = phi %13, 0:i8, %15 | |
| %17:i8 = phi %12, 0:i8, %16 | |
| %18:i8 = phi %11, 0:i8, %17 | |
| %19:i8 = phi %10, 0:i8, %18 | |
| %20:i8 = phi %9, 0:i8, %19 | |
| %21:i8 = phi %8, 0:i8, %20 | |
| %22:i8 = phi %7, 0:i8, %21 | |
| %23:i8 = phi %6, 0:i8, %22 | |
| %24:i8 = phi %5, 0:i8, %23 | |
| %25:i8 = phi %4, 0:i8, %24 | |
| %26:i8 = phi %3, 0:i8, %25 | |
| %27:i8 = phi %2, 0:i8, %26 | |
| %28:i8 = phi %1, 0:i8, %27 | |
| %29:i8 = phi %0, 0:i8, %28 | |
| %30:i8 = and 1:i8, %29 | |
| %31:i1 = eq 0:i8, %30 | |
| infer %31 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15:i8 = phi %14, 0:i8, 1:i8 | |
| %16:i8 = phi %13, 0:i8, %15 | |
| %17:i8 = phi %12, 0:i8, %16 | |
| %18:i8 = phi %11, 0:i8, %17 | |
| %19:i8 = phi %10, 0:i8, %18 | |
| %20:i8 = phi %9, 0:i8, %19 | |
| %21:i8 = phi %8, 0:i8, %20 | |
| %22:i8 = phi %7, 0:i8, %21 | |
| %23:i8 = phi %6, 0:i8, %22 | |
| %24:i8 = phi %5, 0:i8, %23 | |
| %25:i8 = phi %4, 0:i8, %24 | |
| %26:i8 = phi %3, 0:i8, %25 | |
| %27:i8 = phi %2, 0:i8, %26 | |
| %28:i8 = phi %1, 0:i8, %27 | |
| %29:i8 = phi %0, 0:i8, %28 | |
| %30:i8 = and 1:i8, %29 | |
| infer %30 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15:i8 = phi %14, 0:i8, 1:i8 | |
| %16:i8 = phi %13, 0:i8, %15 | |
| %17:i8 = phi %12, 0:i8, %16 | |
| %18:i8 = phi %11, 0:i8, %17 | |
| %19:i8 = phi %10, 0:i8, %18 | |
| %20:i8 = phi %9, 0:i8, %19 | |
| %21:i8 = phi %8, 0:i8, %20 | |
| %22:i8 = phi %7, 0:i8, %21 | |
| %23:i8 = phi %6, 0:i8, %22 | |
| %24:i8 = phi %5, 0:i8, %23 | |
| %25:i8 = phi %4, 0:i8, %24 | |
| %26:i8 = phi %3, 0:i8, %25 | |
| %27:i8 = phi %2, 0:i8, %26 | |
| %28:i8 = phi %1, 0:i8, %27 | |
| %29:i8 = phi %0, 0:i8, %28 | |
| infer %29 (demandedBits=00000001) | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15:i8 = phi %14, 1:i8, 0:i8 | |
| %16:i8 = phi %13, %15, 0:i8 | |
| %17:i8 = phi %12, %16, 0:i8 | |
| %18:i8 = phi %11, %17, 0:i8 | |
| %19:i8 = phi %10, %18, 0:i8 | |
| %20:i8 = phi %9, %19, 0:i8 | |
| %21:i8 = phi %8, %20, 0:i8 | |
| %22:i8 = phi %7, %21, 0:i8 | |
| %23:i8 = phi %6, %22, 0:i8 | |
| %24:i8 = phi %5, %23, 0:i8 | |
| %25:i8 = phi %4, %24, 0:i8 | |
| %26:i8 = phi %3, %25, 0:i8 | |
| %27:i8 = phi %2, %26, 0:i8 | |
| %28:i8 = phi %1, %27, 0:i8 | |
| %29:i8 = phi %0, %28, 0:i8 | |
| %30:i1 = eq 0:i8, %29 | |
| infer %30 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15:i8 = phi %14, 1:i8, 0:i8 | |
| %16:i8 = phi %13, %15, 0:i8 | |
| %17:i8 = phi %12, %16, 0:i8 | |
| %18:i8 = phi %11, %17, 0:i8 | |
| %19:i8 = phi %10, %18, 0:i8 | |
| %20:i8 = phi %9, %19, 0:i8 | |
| %21:i8 = phi %8, %20, 0:i8 | |
| %22:i8 = phi %7, %21, 0:i8 | |
| %23:i8 = phi %6, %22, 0:i8 | |
| %24:i8 = phi %5, %23, 0:i8 | |
| %25:i8 = phi %4, %24, 0:i8 | |
| %26:i8 = phi %3, %25, 0:i8 | |
| %27:i8 = phi %2, %26, 0:i8 | |
| %28:i8 = phi %1, %27, 0:i8 | |
| %29:i8 = phi %0, %28, 0:i8 | |
| infer %29 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 3 | |
| %15:i8 = phi %14, 1:i8, 0:i8, 0:i8 | |
| %16:i8 = phi %13, %15, 0:i8 | |
| %17:i8 = phi %12, %16, 0:i8 | |
| %18:i8 = phi %11, %17, 0:i8 | |
| %19:i8 = phi %10, %18, 0:i8 | |
| %20:i8 = phi %9, %19, 0:i8 | |
| %21:i8 = phi %8, %20, 0:i8 | |
| %22:i8 = phi %7, %21, 0:i8 | |
| %23:i8 = phi %6, %22, 0:i8 | |
| %24:i8 = phi %5, 0:i8, %23 | |
| %25:i8 = phi %4, %24, 0:i8 | |
| %26:i8 = phi %3, %25, 0:i8 | |
| %27:i8 = phi %2, %26, 0:i8 | |
| %28:i8 = phi %1, %27, 0:i8 | |
| %29:i8 = phi %0, %28, 0:i8 | |
| %30:i1 = eq 0:i8, %29 | |
| infer %30 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 3 | |
| %15:i8 = phi %14, 1:i8, 0:i8, 0:i8 | |
| %16:i8 = phi %13, %15, 0:i8 | |
| %17:i8 = phi %12, %16, 0:i8 | |
| %18:i8 = phi %11, %17, 0:i8 | |
| %19:i8 = phi %10, %18, 0:i8 | |
| %20:i8 = phi %9, %19, 0:i8 | |
| %21:i8 = phi %8, %20, 0:i8 | |
| %22:i8 = phi %7, %21, 0:i8 | |
| %23:i8 = phi %6, %22, 0:i8 | |
| %24:i8 = phi %5, 0:i8, %23 | |
| %25:i8 = phi %4, %24, 0:i8 | |
| %26:i8 = phi %3, %25, 0:i8 | |
| %27:i8 = phi %2, %26, 0:i8 | |
| %28:i8 = phi %1, %27, 0:i8 | |
| %29:i8 = phi %0, %28, 0:i8 | |
| infer %29 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14:i8 = phi %13, 0:i8, 1:i8 | |
| %15:i8 = phi %12, 0:i8, %14 | |
| %16:i8 = phi %11, 0:i8, %15 | |
| %17:i8 = phi %10, 0:i8, %16 | |
| %18:i8 = phi %9, 0:i8, %17 | |
| %19:i8 = phi %8, 0:i8, %18 | |
| %20:i8 = phi %7, 0:i8, %19 | |
| %21:i8 = phi %6, 0:i8, %20 | |
| %22:i8 = phi %5, 0:i8, %21 | |
| %23:i8 = phi %4, 0:i8, %22 | |
| %24:i8 = phi %3, 0:i8, %23 | |
| %25:i8 = phi %2, 0:i8, %24 | |
| %26:i8 = phi %1, 0:i8, %25 | |
| %27:i8 = phi %0, 0:i8, %26 | |
| %28:i8 = and 1:i8, %27 | |
| %29:i1 = eq 0:i8, %28 | |
| infer %29 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14:i8 = phi %13, 0:i8, 1:i8 | |
| %15:i8 = phi %12, 0:i8, %14 | |
| %16:i8 = phi %11, 0:i8, %15 | |
| %17:i8 = phi %10, 0:i8, %16 | |
| %18:i8 = phi %9, 0:i8, %17 | |
| %19:i8 = phi %8, 0:i8, %18 | |
| %20:i8 = phi %7, 0:i8, %19 | |
| %21:i8 = phi %6, 0:i8, %20 | |
| %22:i8 = phi %5, 0:i8, %21 | |
| %23:i8 = phi %4, 0:i8, %22 | |
| %24:i8 = phi %3, 0:i8, %23 | |
| %25:i8 = phi %2, 0:i8, %24 | |
| %26:i8 = phi %1, 0:i8, %25 | |
| %27:i8 = phi %0, 0:i8, %26 | |
| %28:i8 = and 1:i8, %27 | |
| infer %28 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14:i8 = phi %13, 0:i8, 1:i8 | |
| %15:i8 = phi %12, 0:i8, %14 | |
| %16:i8 = phi %11, 0:i8, %15 | |
| %17:i8 = phi %10, 0:i8, %16 | |
| %18:i8 = phi %9, 0:i8, %17 | |
| %19:i8 = phi %8, 0:i8, %18 | |
| %20:i8 = phi %7, 0:i8, %19 | |
| %21:i8 = phi %6, 0:i8, %20 | |
| %22:i8 = phi %5, 0:i8, %21 | |
| %23:i8 = phi %4, 0:i8, %22 | |
| %24:i8 = phi %3, 0:i8, %23 | |
| %25:i8 = phi %2, 0:i8, %24 | |
| %26:i8 = phi %1, 0:i8, %25 | |
| %27:i8 = phi %0, 0:i8, %26 | |
| infer %27 (demandedBits=00000001) | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14:i8 = phi %13, 1:i8, 0:i8 | |
| %15:i8 = phi %12, %14, 0:i8 | |
| %16:i8 = phi %11, %15, 0:i8 | |
| %17:i8 = phi %10, %16, 0:i8 | |
| %18:i8 = phi %9, %17, 0:i8 | |
| %19:i8 = phi %8, %18, 0:i8 | |
| %20:i8 = phi %7, %19, 0:i8 | |
| %21:i8 = phi %6, %20, 0:i8 | |
| %22:i8 = phi %5, %21, 0:i8 | |
| %23:i8 = phi %4, %22, 0:i8 | |
| %24:i8 = phi %3, %23, 0:i8 | |
| %25:i8 = phi %2, %24, 0:i8 | |
| %26:i8 = phi %1, %25, 0:i8 | |
| %27:i8 = phi %0, %26, 0:i8 | |
| %28:i1 = eq 0:i8, %27 | |
| infer %28 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14:i8 = phi %13, 1:i8, 0:i8 | |
| %15:i8 = phi %12, %14, 0:i8 | |
| %16:i8 = phi %11, %15, 0:i8 | |
| %17:i8 = phi %10, %16, 0:i8 | |
| %18:i8 = phi %9, %17, 0:i8 | |
| %19:i8 = phi %8, %18, 0:i8 | |
| %20:i8 = phi %7, %19, 0:i8 | |
| %21:i8 = phi %6, %20, 0:i8 | |
| %22:i8 = phi %5, %21, 0:i8 | |
| %23:i8 = phi %4, %22, 0:i8 | |
| %24:i8 = phi %3, %23, 0:i8 | |
| %25:i8 = phi %2, %24, 0:i8 | |
| %26:i8 = phi %1, %25, 0:i8 | |
| %27:i8 = phi %0, %26, 0:i8 | |
| infer %27 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 3 | |
| %14:i8 = phi %13, 1:i8, 0:i8, 0:i8 | |
| %15:i8 = phi %12, %14, 0:i8 | |
| %16:i8 = phi %11, %15, 0:i8 | |
| %17:i8 = phi %10, %16, 0:i8 | |
| %18:i8 = phi %9, %17, 0:i8 | |
| %19:i8 = phi %8, %18, 0:i8 | |
| %20:i8 = phi %7, %19, 0:i8 | |
| %21:i8 = phi %6, %20, 0:i8 | |
| %22:i8 = phi %5, %21, 0:i8 | |
| %23:i8 = phi %4, %22, 0:i8 | |
| %24:i8 = phi %3, %23, 0:i8 | |
| %25:i8 = phi %2, %24, 0:i8 | |
| %26:i8 = phi %1, %25, 0:i8 | |
| %27:i8 = phi %0, %26, 0:i8 | |
| %28:i1 = eq 0:i8, %27 | |
| infer %28 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 3 | |
| %14:i8 = phi %13, 1:i8, 0:i8, 0:i8 | |
| %15:i8 = phi %12, %14, 0:i8 | |
| %16:i8 = phi %11, %15, 0:i8 | |
| %17:i8 = phi %10, %16, 0:i8 | |
| %18:i8 = phi %9, %17, 0:i8 | |
| %19:i8 = phi %8, %18, 0:i8 | |
| %20:i8 = phi %7, %19, 0:i8 | |
| %21:i8 = phi %6, %20, 0:i8 | |
| %22:i8 = phi %5, %21, 0:i8 | |
| %23:i8 = phi %4, %22, 0:i8 | |
| %24:i8 = phi %3, %23, 0:i8 | |
| %25:i8 = phi %2, %24, 0:i8 | |
| %26:i8 = phi %1, %25, 0:i8 | |
| %27:i8 = phi %0, %26, 0:i8 | |
| infer %27 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 3 | |
| %14:i8 = phi %13, 1:i8, 0:i8, 0:i8 | |
| %15:i8 = phi %12, %14, 0:i8 | |
| %16:i8 = phi %11, %15, 0:i8 | |
| %17:i8 = phi %10, %16, 0:i8 | |
| %18:i8 = phi %9, %17, 0:i8 | |
| %19:i8 = phi %8, %18, 0:i8 | |
| %20:i8 = phi %7, %19, 0:i8 | |
| %21:i8 = phi %6, %20, 0:i8 | |
| %22:i8 = phi %5, %21, 0:i8 | |
| %23:i8 = phi %4, 0:i8, %22 | |
| %24:i8 = phi %3, %23, 0:i8 | |
| %25:i8 = phi %2, %24, 0:i8 | |
| %26:i8 = phi %1, %25, 0:i8 | |
| %27:i8 = phi %0, %26, 0:i8 | |
| %28:i1 = eq 0:i8, %27 | |
| infer %28 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 3 | |
| %14:i8 = phi %13, 1:i8, 0:i8, 0:i8 | |
| %15:i8 = phi %12, %14, 0:i8 | |
| %16:i8 = phi %11, %15, 0:i8 | |
| %17:i8 = phi %10, %16, 0:i8 | |
| %18:i8 = phi %9, %17, 0:i8 | |
| %19:i8 = phi %8, %18, 0:i8 | |
| %20:i8 = phi %7, %19, 0:i8 | |
| %21:i8 = phi %6, %20, 0:i8 | |
| %22:i8 = phi %5, %21, 0:i8 | |
| %23:i8 = phi %4, 0:i8, %22 | |
| %24:i8 = phi %3, %23, 0:i8 | |
| %25:i8 = phi %2, %24, 0:i8 | |
| %26:i8 = phi %1, %25, 0:i8 | |
| %27:i8 = phi %0, %26, 0:i8 | |
| infer %27 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13:i8 = phi %12, 0:i8, 1:i8 | |
| %14:i8 = phi %11, 0:i8, %13 | |
| %15:i8 = phi %10, 0:i8, %14 | |
| %16:i8 = phi %9, 0:i8, %15 | |
| %17:i8 = phi %8, 0:i8, %16 | |
| %18:i8 = phi %7, 0:i8, %17 | |
| %19:i8 = phi %6, 0:i8, %18 | |
| %20:i8 = phi %5, 0:i8, %19 | |
| %21:i8 = phi %4, 0:i8, %20 | |
| %22:i8 = phi %3, 0:i8, %21 | |
| %23:i8 = phi %2, 0:i8, %22 | |
| %24:i8 = phi %1, 0:i8, %23 | |
| %25:i8 = phi %0, 0:i8, %24 | |
| %26:i8 = and 1:i8, %25 | |
| %27:i1 = eq 0:i8, %26 | |
| infer %27 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13:i8 = phi %12, 0:i8, 1:i8 | |
| %14:i8 = phi %11, 0:i8, %13 | |
| %15:i8 = phi %10, 0:i8, %14 | |
| %16:i8 = phi %9, 0:i8, %15 | |
| %17:i8 = phi %8, 0:i8, %16 | |
| %18:i8 = phi %7, 0:i8, %17 | |
| %19:i8 = phi %6, 0:i8, %18 | |
| %20:i8 = phi %5, 0:i8, %19 | |
| %21:i8 = phi %4, 0:i8, %20 | |
| %22:i8 = phi %3, 0:i8, %21 | |
| %23:i8 = phi %2, 0:i8, %22 | |
| %24:i8 = phi %1, 0:i8, %23 | |
| %25:i8 = phi %0, 0:i8, %24 | |
| %26:i8 = and 1:i8, %25 | |
| infer %26 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13:i8 = phi %12, 0:i8, 1:i8 | |
| %14:i8 = phi %11, 0:i8, %13 | |
| %15:i8 = phi %10, 0:i8, %14 | |
| %16:i8 = phi %9, 0:i8, %15 | |
| %17:i8 = phi %8, 0:i8, %16 | |
| %18:i8 = phi %7, 0:i8, %17 | |
| %19:i8 = phi %6, 0:i8, %18 | |
| %20:i8 = phi %5, 0:i8, %19 | |
| %21:i8 = phi %4, 0:i8, %20 | |
| %22:i8 = phi %3, 0:i8, %21 | |
| %23:i8 = phi %2, 0:i8, %22 | |
| %24:i8 = phi %1, 0:i8, %23 | |
| %25:i8 = phi %0, 0:i8, %24 | |
| infer %25 (demandedBits=00000001) | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13:i8 = phi %12, 1:i8, 0:i8 | |
| %14:i8 = phi %11, %13, 0:i8 | |
| %15:i8 = phi %10, %14, 0:i8 | |
| %16:i8 = phi %9, %15, 0:i8 | |
| %17:i8 = phi %8, %16, 0:i8 | |
| %18:i8 = phi %7, %17, 0:i8 | |
| %19:i8 = phi %6, %18, 0:i8 | |
| %20:i8 = phi %5, %19, 0:i8 | |
| %21:i8 = phi %4, %20, 0:i8 | |
| %22:i8 = phi %3, %21, 0:i8 | |
| %23:i8 = phi %2, %22, 0:i8 | |
| %24:i8 = phi %1, %23, 0:i8 | |
| %25:i8 = phi %0, %24, 0:i8 | |
| %26:i1 = eq 0:i8, %25 | |
| infer %26 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13:i8 = phi %12, 1:i8, 0:i8 | |
| %14:i8 = phi %11, %13, 0:i8 | |
| %15:i8 = phi %10, %14, 0:i8 | |
| %16:i8 = phi %9, %15, 0:i8 | |
| %17:i8 = phi %8, %16, 0:i8 | |
| %18:i8 = phi %7, %17, 0:i8 | |
| %19:i8 = phi %6, %18, 0:i8 | |
| %20:i8 = phi %5, %19, 0:i8 | |
| %21:i8 = phi %4, %20, 0:i8 | |
| %22:i8 = phi %3, %21, 0:i8 | |
| %23:i8 = phi %2, %22, 0:i8 | |
| %24:i8 = phi %1, %23, 0:i8 | |
| %25:i8 = phi %0, %24, 0:i8 | |
| infer %25 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 3 | |
| %13:i8 = phi %12, 1:i8, 0:i8, 0:i8 | |
| %14:i8 = phi %11, %13, 0:i8 | |
| %15:i8 = phi %10, %14, 0:i8 | |
| %16:i8 = phi %9, %15, 0:i8 | |
| %17:i8 = phi %8, %16, 0:i8 | |
| %18:i8 = phi %7, %17, 0:i8 | |
| %19:i8 = phi %6, %18, 0:i8 | |
| %20:i8 = phi %5, %19, 0:i8 | |
| %21:i8 = phi %4, %20, 0:i8 | |
| %22:i8 = phi %3, %21, 0:i8 | |
| %23:i8 = phi %2, %22, 0:i8 | |
| %24:i8 = phi %1, %23, 0:i8 | |
| %25:i8 = phi %0, %24, 0:i8 | |
| %26:i1 = eq 0:i8, %25 | |
| infer %26 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 3 | |
| %13:i8 = phi %12, 1:i8, 0:i8, 0:i8 | |
| %14:i8 = phi %11, %13, 0:i8 | |
| %15:i8 = phi %10, %14, 0:i8 | |
| %16:i8 = phi %9, %15, 0:i8 | |
| %17:i8 = phi %8, %16, 0:i8 | |
| %18:i8 = phi %7, %17, 0:i8 | |
| %19:i8 = phi %6, %18, 0:i8 | |
| %20:i8 = phi %5, %19, 0:i8 | |
| %21:i8 = phi %4, %20, 0:i8 | |
| %22:i8 = phi %3, %21, 0:i8 | |
| %23:i8 = phi %2, %22, 0:i8 | |
| %24:i8 = phi %1, %23, 0:i8 | |
| %25:i8 = phi %0, %24, 0:i8 | |
| infer %25 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 3 | |
| %13:i8 = phi %12, 1:i8, 0:i8, 0:i8 | |
| %14:i8 = phi %11, %13, 0:i8 | |
| %15:i8 = phi %10, %14, 0:i8 | |
| %16:i8 = phi %9, %15, 0:i8 | |
| %17:i8 = phi %8, %16, 0:i8 | |
| %18:i8 = phi %7, %17, 0:i8 | |
| %19:i8 = phi %6, %18, 0:i8 | |
| %20:i8 = phi %5, %19, 0:i8 | |
| %21:i8 = phi %4, %20, 0:i8 | |
| %22:i8 = phi %3, 0:i8, %21 | |
| %23:i8 = phi %2, %22, 0:i8 | |
| %24:i8 = phi %1, %23, 0:i8 | |
| %25:i8 = phi %0, %24, 0:i8 | |
| %26:i1 = eq 0:i8, %25 | |
| infer %26 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 3 | |
| %13:i8 = phi %12, 1:i8, 0:i8, 0:i8 | |
| %14:i8 = phi %11, %13, 0:i8 | |
| %15:i8 = phi %10, %14, 0:i8 | |
| %16:i8 = phi %9, %15, 0:i8 | |
| %17:i8 = phi %8, %16, 0:i8 | |
| %18:i8 = phi %7, %17, 0:i8 | |
| %19:i8 = phi %6, %18, 0:i8 | |
| %20:i8 = phi %5, %19, 0:i8 | |
| %21:i8 = phi %4, %20, 0:i8 | |
| %22:i8 = phi %3, 0:i8, %21 | |
| %23:i8 = phi %2, %22, 0:i8 | |
| %24:i8 = phi %1, %23, 0:i8 | |
| %25:i8 = phi %0, %24, 0:i8 | |
| infer %25 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12:i8 = phi %11, 0:i8, 1:i8 | |
| %13:i8 = phi %10, 0:i8, %12 | |
| %14:i8 = phi %9, 0:i8, %13 | |
| %15:i8 = phi %8, 0:i8, %14 | |
| %16:i8 = phi %7, 0:i8, %15 | |
| %17:i8 = phi %6, 0:i8, %16 | |
| %18:i8 = phi %5, 0:i8, %17 | |
| %19:i8 = phi %4, 0:i8, %18 | |
| %20:i8 = phi %3, 0:i8, %19 | |
| %21:i8 = phi %2, 0:i8, %20 | |
| %22:i8 = phi %1, 0:i8, %21 | |
| %23:i8 = phi %0, 0:i8, %22 | |
| %24:i8 = and 1:i8, %23 | |
| %25:i1 = eq 0:i8, %24 | |
| infer %25 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12:i8 = phi %11, 0:i8, 1:i8 | |
| %13:i8 = phi %10, 0:i8, %12 | |
| %14:i8 = phi %9, 0:i8, %13 | |
| %15:i8 = phi %8, 0:i8, %14 | |
| %16:i8 = phi %7, 0:i8, %15 | |
| %17:i8 = phi %6, 0:i8, %16 | |
| %18:i8 = phi %5, 0:i8, %17 | |
| %19:i8 = phi %4, 0:i8, %18 | |
| %20:i8 = phi %3, 0:i8, %19 | |
| %21:i8 = phi %2, 0:i8, %20 | |
| %22:i8 = phi %1, 0:i8, %21 | |
| %23:i8 = phi %0, 0:i8, %22 | |
| %24:i8 = and 1:i8, %23 | |
| infer %24 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12:i8 = phi %11, 0:i8, 1:i8 | |
| %13:i8 = phi %10, 0:i8, %12 | |
| %14:i8 = phi %9, 0:i8, %13 | |
| %15:i8 = phi %8, 0:i8, %14 | |
| %16:i8 = phi %7, 0:i8, %15 | |
| %17:i8 = phi %6, 0:i8, %16 | |
| %18:i8 = phi %5, 0:i8, %17 | |
| %19:i8 = phi %4, 0:i8, %18 | |
| %20:i8 = phi %3, 0:i8, %19 | |
| %21:i8 = phi %2, 0:i8, %20 | |
| %22:i8 = phi %1, 0:i8, %21 | |
| %23:i8 = phi %0, 0:i8, %22 | |
| infer %23 (demandedBits=00000001) | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12:i8 = phi %11, 1:i8, 0:i8 | |
| %13:i8 = phi %10, %12, 0:i8 | |
| %14:i8 = phi %9, %13, 0:i8 | |
| %15:i8 = phi %8, %14, 0:i8 | |
| %16:i8 = phi %7, %15, 0:i8 | |
| %17:i8 = phi %6, %16, 0:i8 | |
| %18:i8 = phi %5, %17, 0:i8 | |
| %19:i8 = phi %4, %18, 0:i8 | |
| %20:i8 = phi %3, %19, 0:i8 | |
| %21:i8 = phi %2, %20, 0:i8 | |
| %22:i8 = phi %1, %21, 0:i8 | |
| %23:i8 = phi %0, %22, 0:i8 | |
| %24:i1 = eq 0:i8, %23 | |
| infer %24 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12:i8 = phi %11, 1:i8, 0:i8 | |
| %13:i8 = phi %10, %12, 0:i8 | |
| %14:i8 = phi %9, %13, 0:i8 | |
| %15:i8 = phi %8, %14, 0:i8 | |
| %16:i8 = phi %7, %15, 0:i8 | |
| %17:i8 = phi %6, %16, 0:i8 | |
| %18:i8 = phi %5, %17, 0:i8 | |
| %19:i8 = phi %4, %18, 0:i8 | |
| %20:i8 = phi %3, %19, 0:i8 | |
| %21:i8 = phi %2, %20, 0:i8 | |
| %22:i8 = phi %1, %21, 0:i8 | |
| %23:i8 = phi %0, %22, 0:i8 | |
| infer %23 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 3 | |
| %12:i8 = phi %11, 1:i8, 0:i8, 0:i8 | |
| %13:i8 = phi %10, %12, 0:i8 | |
| %14:i8 = phi %9, %13, 0:i8 | |
| %15:i8 = phi %8, %14, 0:i8 | |
| %16:i8 = phi %7, %15, 0:i8 | |
| %17:i8 = phi %6, %16, 0:i8 | |
| %18:i8 = phi %5, %17, 0:i8 | |
| %19:i8 = phi %4, %18, 0:i8 | |
| %20:i8 = phi %3, %19, 0:i8 | |
| %21:i8 = phi %2, %20, 0:i8 | |
| %22:i8 = phi %1, %21, 0:i8 | |
| %23:i8 = phi %0, %22, 0:i8 | |
| %24:i1 = eq 0:i8, %23 | |
| infer %24 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 3 | |
| %12:i8 = phi %11, 1:i8, 0:i8, 0:i8 | |
| %13:i8 = phi %10, %12, 0:i8 | |
| %14:i8 = phi %9, %13, 0:i8 | |
| %15:i8 = phi %8, %14, 0:i8 | |
| %16:i8 = phi %7, %15, 0:i8 | |
| %17:i8 = phi %6, %16, 0:i8 | |
| %18:i8 = phi %5, %17, 0:i8 | |
| %19:i8 = phi %4, %18, 0:i8 | |
| %20:i8 = phi %3, %19, 0:i8 | |
| %21:i8 = phi %2, %20, 0:i8 | |
| %22:i8 = phi %1, %21, 0:i8 | |
| %23:i8 = phi %0, %22, 0:i8 | |
| infer %23 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 3 | |
| %12:i8 = phi %11, 1:i8, 0:i8, 0:i8 | |
| %13:i8 = phi %10, %12, 0:i8 | |
| %14:i8 = phi %9, %13, 0:i8 | |
| %15:i8 = phi %8, %14, 0:i8 | |
| %16:i8 = phi %7, %15, 0:i8 | |
| %17:i8 = phi %6, %16, 0:i8 | |
| %18:i8 = phi %5, %17, 0:i8 | |
| %19:i8 = phi %4, %18, 0:i8 | |
| %20:i8 = phi %3, %19, 0:i8 | |
| %21:i8 = phi %2, 0:i8, %20 | |
| %22:i8 = phi %1, %21, 0:i8 | |
| %23:i8 = phi %0, %22, 0:i8 | |
| %24:i1 = eq 0:i8, %23 | |
| infer %24 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 3 | |
| %12:i8 = phi %11, 1:i8, 0:i8, 0:i8 | |
| %13:i8 = phi %10, %12, 0:i8 | |
| %14:i8 = phi %9, %13, 0:i8 | |
| %15:i8 = phi %8, %14, 0:i8 | |
| %16:i8 = phi %7, %15, 0:i8 | |
| %17:i8 = phi %6, %16, 0:i8 | |
| %18:i8 = phi %5, %17, 0:i8 | |
| %19:i8 = phi %4, %18, 0:i8 | |
| %20:i8 = phi %3, %19, 0:i8 | |
| %21:i8 = phi %2, 0:i8, %20 | |
| %22:i8 = phi %1, %21, 0:i8 | |
| %23:i8 = phi %0, %22, 0:i8 | |
| infer %23 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11:i8 = phi %10, 0:i8, 1:i8 | |
| %12:i8 = phi %9, 0:i8, %11 | |
| %13:i8 = phi %8, 0:i8, %12 | |
| %14:i8 = phi %7, 0:i8, %13 | |
| %15:i8 = phi %6, 0:i8, %14 | |
| %16:i8 = phi %5, 0:i8, %15 | |
| %17:i8 = phi %4, 0:i8, %16 | |
| %18:i8 = phi %3, 0:i8, %17 | |
| %19:i8 = phi %2, 0:i8, %18 | |
| %20:i8 = phi %1, 0:i8, %19 | |
| %21:i8 = phi %0, 0:i8, %20 | |
| %22:i8 = and 1:i8, %21 | |
| %23:i1 = eq 0:i8, %22 | |
| infer %23 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11:i8 = phi %10, 0:i8, 1:i8 | |
| %12:i8 = phi %9, 0:i8, %11 | |
| %13:i8 = phi %8, 0:i8, %12 | |
| %14:i8 = phi %7, 0:i8, %13 | |
| %15:i8 = phi %6, 0:i8, %14 | |
| %16:i8 = phi %5, 0:i8, %15 | |
| %17:i8 = phi %4, 0:i8, %16 | |
| %18:i8 = phi %3, 0:i8, %17 | |
| %19:i8 = phi %2, 0:i8, %18 | |
| %20:i8 = phi %1, 0:i8, %19 | |
| %21:i8 = phi %0, 0:i8, %20 | |
| %22:i8 = and 1:i8, %21 | |
| infer %22 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11:i8 = phi %10, 0:i8, 1:i8 | |
| %12:i8 = phi %9, 0:i8, %11 | |
| %13:i8 = phi %8, 0:i8, %12 | |
| %14:i8 = phi %7, 0:i8, %13 | |
| %15:i8 = phi %6, 0:i8, %14 | |
| %16:i8 = phi %5, 0:i8, %15 | |
| %17:i8 = phi %4, 0:i8, %16 | |
| %18:i8 = phi %3, 0:i8, %17 | |
| %19:i8 = phi %2, 0:i8, %18 | |
| %20:i8 = phi %1, 0:i8, %19 | |
| %21:i8 = phi %0, 0:i8, %20 | |
| infer %21 (demandedBits=00000001) | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11:i8 = phi %10, 1:i8, 0:i8 | |
| %12:i8 = phi %9, %11, 0:i8 | |
| %13:i8 = phi %8, %12, 0:i8 | |
| %14:i8 = phi %7, %13, 0:i8 | |
| %15:i8 = phi %6, %14, 0:i8 | |
| %16:i8 = phi %5, %15, 0:i8 | |
| %17:i8 = phi %4, %16, 0:i8 | |
| %18:i8 = phi %3, %17, 0:i8 | |
| %19:i8 = phi %2, %18, 0:i8 | |
| %20:i8 = phi %1, %19, 0:i8 | |
| %21:i8 = phi %0, %20, 0:i8 | |
| %22:i1 = eq 0:i8, %21 | |
| infer %22 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11:i8 = phi %10, 1:i8, 0:i8 | |
| %12:i8 = phi %9, %11, 0:i8 | |
| %13:i8 = phi %8, %12, 0:i8 | |
| %14:i8 = phi %7, %13, 0:i8 | |
| %15:i8 = phi %6, %14, 0:i8 | |
| %16:i8 = phi %5, %15, 0:i8 | |
| %17:i8 = phi %4, %16, 0:i8 | |
| %18:i8 = phi %3, %17, 0:i8 | |
| %19:i8 = phi %2, %18, 0:i8 | |
| %20:i8 = phi %1, %19, 0:i8 | |
| %21:i8 = phi %0, %20, 0:i8 | |
| infer %21 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 3 | |
| %11:i8 = phi %10, 1:i8, 0:i8, 0:i8 | |
| %12:i8 = phi %9, %11, 0:i8 | |
| %13:i8 = phi %8, %12, 0:i8 | |
| %14:i8 = phi %7, %13, 0:i8 | |
| %15:i8 = phi %6, %14, 0:i8 | |
| %16:i8 = phi %5, %15, 0:i8 | |
| %17:i8 = phi %4, %16, 0:i8 | |
| %18:i8 = phi %3, %17, 0:i8 | |
| %19:i8 = phi %2, %18, 0:i8 | |
| %20:i8 = phi %1, %19, 0:i8 | |
| %21:i8 = phi %0, %20, 0:i8 | |
| %22:i1 = eq 0:i8, %21 | |
| infer %22 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 3 | |
| %11:i8 = phi %10, 1:i8, 0:i8, 0:i8 | |
| %12:i8 = phi %9, %11, 0:i8 | |
| %13:i8 = phi %8, %12, 0:i8 | |
| %14:i8 = phi %7, %13, 0:i8 | |
| %15:i8 = phi %6, %14, 0:i8 | |
| %16:i8 = phi %5, %15, 0:i8 | |
| %17:i8 = phi %4, %16, 0:i8 | |
| %18:i8 = phi %3, %17, 0:i8 | |
| %19:i8 = phi %2, %18, 0:i8 | |
| %20:i8 = phi %1, %19, 0:i8 | |
| %21:i8 = phi %0, %20, 0:i8 | |
| infer %21 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 3 | |
| %11:i8 = phi %10, 1:i8, 0:i8, 0:i8 | |
| %12:i8 = phi %9, %11, 0:i8 | |
| %13:i8 = phi %8, %12, 0:i8 | |
| %14:i8 = phi %7, %13, 0:i8 | |
| %15:i8 = phi %6, %14, 0:i8 | |
| %16:i8 = phi %5, %15, 0:i8 | |
| %17:i8 = phi %4, %16, 0:i8 | |
| %18:i8 = phi %3, %17, 0:i8 | |
| %19:i8 = phi %2, %18, 0:i8 | |
| %20:i8 = phi %1, 0:i8, %19 | |
| %21:i8 = phi %0, %20, 0:i8 | |
| %22:i1 = eq 0:i8, %21 | |
| infer %22 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 3 | |
| %11:i8 = phi %10, 1:i8, 0:i8, 0:i8 | |
| %12:i8 = phi %9, %11, 0:i8 | |
| %13:i8 = phi %8, %12, 0:i8 | |
| %14:i8 = phi %7, %13, 0:i8 | |
| %15:i8 = phi %6, %14, 0:i8 | |
| %16:i8 = phi %5, %15, 0:i8 | |
| %17:i8 = phi %4, %16, 0:i8 | |
| %18:i8 = phi %3, %17, 0:i8 | |
| %19:i8 = phi %2, %18, 0:i8 | |
| %20:i8 = phi %1, 0:i8, %19 | |
| %21:i8 = phi %0, %20, 0:i8 | |
| infer %21 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10:i32 = var | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17 = block 2 | |
| %18 = block 2 | |
| %19 = block 2 | |
| %20:i32 = var | |
| %21:i32 = var | |
| %22:i32 = phi %19, %20, %21 | |
| %23:i32 = var | |
| %24:i32 = phi %18, %22, %23 | |
| %25:i32 = var | |
| %26:i32 = phi %17, %24, %25 | |
| %27:i32 = var | |
| %28:i32 = phi %16, %26, %27 | |
| %29:i32 = var | |
| %30:i32 = phi %15, %28, %29 | |
| %31:i32 = var | |
| %32:i32 = phi %14, %30, %31 | |
| %33:i32 = var | |
| %34:i32 = phi %13, %32, %33 | |
| %35:i32 = var | |
| %36:i32 = phi %12, %34, %35 | |
| %37:i32 = var | |
| %38:i32 = phi %11, %36, %37 | |
| %39:i32 = phi %9, %10, %38 | |
| %40:i32 = var | |
| %41:i32 = phi %8, %39, %40 | |
| %42:i32 = var | |
| %43:i32 = phi %7, %41, %42 | |
| %44:i32 = var | |
| %45:i32 = phi %6, %43, %44 | |
| %46:i32 = var | |
| %47:i32 = phi %5, %45, %46 | |
| %48:i32 = var | |
| %49:i32 = phi %4, %47, %48 | |
| %50:i32 = var | |
| %51:i32 = phi %3, %49, %50 | |
| %52:i32 = var | |
| %53:i32 = phi %2, %51, %52 | |
| %54:i32 = var | |
| %55:i32 = phi %1, %53, %54 | |
| %56:i32 = var | |
| %57:i32 = phi %0, %55, %56 | |
| %58:i32 = and 4286611516:i32, %57 | |
| infer %58 | |
| > | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10:i32 = var | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17 = block 2 | |
| %18 = block 2 | |
| %19 = block 2 | |
| %20:i32 = var | |
| %21:i32 = var | |
| %22:i32 = phi %19, %20, %21 | |
| %23:i32 = var | |
| %24:i32 = phi %18, %22, %23 | |
| %25:i32 = var | |
| %26:i32 = phi %17, %24, %25 | |
| %27:i32 = var | |
| %28:i32 = phi %16, %26, %27 | |
| %29:i32 = var | |
| %30:i32 = phi %15, %28, %29 | |
| %31:i32 = var | |
| %32:i32 = phi %14, %30, %31 | |
| %33:i32 = var | |
| %34:i32 = phi %13, %32, %33 | |
| %35:i32 = var | |
| %36:i32 = phi %12, %34, %35 | |
| %37:i32 = var | |
| %38:i32 = phi %11, %36, %37 | |
| %39:i32 = phi %9, %10, %38 | |
| %40:i32 = var | |
| %41:i32 = phi %8, %39, %40 | |
| %42:i32 = var | |
| %43:i32 = phi %7, %41, %42 | |
| %44:i32 = var | |
| %45:i32 = phi %6, %43, %44 | |
| %46:i32 = var | |
| %47:i32 = phi %5, %45, %46 | |
| %48:i32 = var | |
| %49:i32 = phi %4, %47, %48 | |
| %50:i32 = var | |
| %51:i32 = phi %3, %49, %50 | |
| %52:i32 = var | |
| %53:i32 = phi %2, %51, %52 | |
| %54:i32 = var | |
| %55:i32 = phi %1, %53, %54 | |
| %56:i32 = var | |
| %57:i32 = phi %0, %55, %56 | |
| %58:i32 = and 4286611516:i32, %57 (hasExternalUses) | |
| %59:i1 = eq 0:i32, %58 | |
| infer %59 | |
| > | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10:i32 = var | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17 = block 2 | |
| %18 = block 2 | |
| %19 = block 2 | |
| %20:i32 = var | |
| %21:i32 = var | |
| %22:i32 = phi %19, %20, %21 | |
| %23:i32 = var | |
| %24:i32 = phi %18, %22, %23 | |
| %25:i32 = var | |
| %26:i32 = phi %17, %24, %25 | |
| %27:i32 = var | |
| %28:i32 = phi %16, %26, %27 | |
| %29:i32 = var | |
| %30:i32 = phi %15, %28, %29 | |
| %31:i32 = var | |
| %32:i32 = phi %14, %30, %31 | |
| %33:i32 = var | |
| %34:i32 = phi %13, %32, %33 | |
| %35:i32 = var | |
| %36:i32 = phi %12, %34, %35 | |
| %37:i32 = var | |
| %38:i32 = phi %11, %36, %37 | |
| %39:i32 = phi %9, %10, %38 | |
| %40:i32 = var | |
| %41:i32 = phi %8, %39, %40 | |
| %42:i32 = var | |
| %43:i32 = phi %7, %41, %42 | |
| %44:i32 = var | |
| %45:i32 = phi %6, %43, %44 | |
| %46:i32 = var | |
| %47:i32 = phi %5, %45, %46 | |
| %48:i32 = var | |
| %49:i32 = phi %4, %47, %48 | |
| %50:i32 = var | |
| %51:i32 = phi %3, %49, %50 | |
| %52:i32 = var | |
| %53:i32 = phi %2, %51, %52 | |
| %54:i32 = var | |
| %55:i32 = phi %1, %53, %54 | |
| %56:i32 = var | |
| %57:i32 = phi %0, %55, %56 | |
| infer %57 (demandedBits=11111111100000001000000000111100) | |
| > | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10:i32 = var | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17 = block 2 | |
| %18 = block 2 | |
| %19 = block 3 | |
| %20:i32 = var | |
| %21:i32 = var | |
| %22:i32 = var | |
| %23:i32 = phi %19, %20, %21, %22 | |
| %24:i32 = var | |
| %25:i32 = phi %18, %23, %24 | |
| %26:i32 = var | |
| %27:i32 = phi %17, %25, %26 | |
| %28:i32 = var | |
| %29:i32 = phi %16, %27, %28 | |
| %30:i32 = var | |
| %31:i32 = phi %15, %29, %30 | |
| %32:i32 = var | |
| %33:i32 = phi %14, %31, %32 | |
| %34:i32 = var | |
| %35:i32 = phi %13, %33, %34 | |
| %36:i32 = var | |
| %37:i32 = phi %12, %35, %36 | |
| %38:i32 = var | |
| %39:i32 = phi %11, %37, %38 | |
| %40:i32 = phi %9, %10, %39 | |
| %41:i32 = var | |
| %42:i32 = phi %8, %40, %41 | |
| %43:i32 = var | |
| %44:i32 = phi %7, %42, %43 | |
| %45:i32 = var | |
| %46:i32 = phi %6, %44, %45 | |
| %47:i32 = var | |
| %48:i32 = phi %5, %46, %47 | |
| %49:i32 = var | |
| %50:i32 = phi %4, %48, %49 | |
| %51:i32 = var | |
| %52:i32 = phi %3, %50, %51 | |
| %53:i32 = var | |
| %54:i32 = phi %2, %52, %53 | |
| %55:i32 = var | |
| %56:i32 = phi %1, %54, %55 | |
| %57:i32 = var | |
| %58:i32 = phi %0, %56, %57 | |
| %59:i32 = and 4286611516:i32, %58 | |
| infer %59 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10:i32 = var | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17 = block 2 | |
| %18 = block 2 | |
| %19 = block 3 | |
| %20:i32 = var | |
| %21:i32 = var | |
| %22:i32 = var | |
| %23:i32 = phi %19, %20, %21, %22 | |
| %24:i32 = var | |
| %25:i32 = phi %18, %23, %24 | |
| %26:i32 = var | |
| %27:i32 = phi %17, %25, %26 | |
| %28:i32 = var | |
| %29:i32 = phi %16, %27, %28 | |
| %30:i32 = var | |
| %31:i32 = phi %15, %29, %30 | |
| %32:i32 = var | |
| %33:i32 = phi %14, %31, %32 | |
| %34:i32 = var | |
| %35:i32 = phi %13, %33, %34 | |
| %36:i32 = var | |
| %37:i32 = phi %12, %35, %36 | |
| %38:i32 = var | |
| %39:i32 = phi %11, %37, %38 | |
| %40:i32 = phi %9, %10, %39 | |
| %41:i32 = var | |
| %42:i32 = phi %8, %40, %41 | |
| %43:i32 = var | |
| %44:i32 = phi %7, %42, %43 | |
| %45:i32 = var | |
| %46:i32 = phi %6, %44, %45 | |
| %47:i32 = var | |
| %48:i32 = phi %5, %46, %47 | |
| %49:i32 = var | |
| %50:i32 = phi %4, %48, %49 | |
| %51:i32 = var | |
| %52:i32 = phi %3, %50, %51 | |
| %53:i32 = var | |
| %54:i32 = phi %2, %52, %53 | |
| %55:i32 = var | |
| %56:i32 = phi %1, %54, %55 | |
| %57:i32 = var | |
| %58:i32 = phi %0, %56, %57 | |
| %59:i32 = and 4286611516:i32, %58 (hasExternalUses) | |
| %60:i1 = eq 0:i32, %59 | |
| infer %60 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10:i32 = var | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17 = block 2 | |
| %18 = block 2 | |
| %19 = block 3 | |
| %20:i32 = var | |
| %21:i32 = var | |
| %22:i32 = var | |
| %23:i32 = phi %19, %20, %21, %22 | |
| %24:i32 = var | |
| %25:i32 = phi %18, %23, %24 | |
| %26:i32 = var | |
| %27:i32 = phi %17, %25, %26 | |
| %28:i32 = var | |
| %29:i32 = phi %16, %27, %28 | |
| %30:i32 = var | |
| %31:i32 = phi %15, %29, %30 | |
| %32:i32 = var | |
| %33:i32 = phi %14, %31, %32 | |
| %34:i32 = var | |
| %35:i32 = phi %13, %33, %34 | |
| %36:i32 = var | |
| %37:i32 = phi %12, %35, %36 | |
| %38:i32 = var | |
| %39:i32 = phi %11, %37, %38 | |
| %40:i32 = phi %9, %10, %39 | |
| %41:i32 = var | |
| %42:i32 = phi %8, %40, %41 | |
| %43:i32 = var | |
| %44:i32 = phi %7, %42, %43 | |
| %45:i32 = var | |
| %46:i32 = phi %6, %44, %45 | |
| %47:i32 = var | |
| %48:i32 = phi %5, %46, %47 | |
| %49:i32 = var | |
| %50:i32 = phi %4, %48, %49 | |
| %51:i32 = var | |
| %52:i32 = phi %3, %50, %51 | |
| %53:i32 = var | |
| %54:i32 = phi %2, %52, %53 | |
| %55:i32 = var | |
| %56:i32 = phi %1, %54, %55 | |
| %57:i32 = var | |
| %58:i32 = phi %0, %56, %57 | |
| infer %58 (demandedBits=11111111100000001000000000111100) | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10:i8 = phi %9, 0:i8, 1:i8 | |
| %11:i8 = phi %8, 0:i8, %10 | |
| %12:i8 = phi %7, 0:i8, %11 | |
| %13:i8 = phi %6, 0:i8, %12 | |
| %14:i8 = phi %5, 0:i8, %13 | |
| %15:i8 = phi %4, 0:i8, %14 | |
| %16:i8 = phi %3, 0:i8, %15 | |
| %17:i8 = phi %2, 0:i8, %16 | |
| %18:i8 = phi %1, 0:i8, %17 | |
| %19:i8 = phi %0, %18, 0:i8 | |
| %20:i8 = and 1:i8, %19 | |
| %21:i1 = eq 0:i8, %20 | |
| infer %21 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10:i8 = phi %9, 0:i8, 1:i8 | |
| %11:i8 = phi %8, 0:i8, %10 | |
| %12:i8 = phi %7, 0:i8, %11 | |
| %13:i8 = phi %6, 0:i8, %12 | |
| %14:i8 = phi %5, 0:i8, %13 | |
| %15:i8 = phi %4, 0:i8, %14 | |
| %16:i8 = phi %3, 0:i8, %15 | |
| %17:i8 = phi %2, 0:i8, %16 | |
| %18:i8 = phi %1, 0:i8, %17 | |
| %19:i8 = phi %0, %18, 0:i8 | |
| %20:i8 = and 1:i8, %19 | |
| infer %20 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10:i8 = phi %9, 0:i8, 1:i8 | |
| %11:i8 = phi %8, 0:i8, %10 | |
| %12:i8 = phi %7, 0:i8, %11 | |
| %13:i8 = phi %6, 0:i8, %12 | |
| %14:i8 = phi %5, 0:i8, %13 | |
| %15:i8 = phi %4, 0:i8, %14 | |
| %16:i8 = phi %3, 0:i8, %15 | |
| %17:i8 = phi %2, 0:i8, %16 | |
| %18:i8 = phi %1, 0:i8, %17 | |
| %19:i8 = phi %0, %18, 0:i8 | |
| infer %19 (demandedBits=00000001) | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10:i8 = phi %9, 0:i8, 1:i8 | |
| %11:i8 = phi %8, 0:i8, %10 | |
| %12:i8 = phi %7, 0:i8, %11 | |
| %13:i8 = phi %6, 0:i8, %12 | |
| %14:i8 = phi %5, 0:i8, %13 | |
| %15:i8 = phi %4, 0:i8, %14 | |
| %16:i8 = phi %3, 0:i8, %15 | |
| %17:i8 = phi %2, 0:i8, %16 | |
| %18:i8 = phi %1, 0:i8, %17 | |
| %19:i8 = phi %0, 0:i8, %18 | |
| %20:i8 = and 1:i8, %19 | |
| %21:i1 = eq 0:i8, %20 | |
| infer %21 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10:i8 = phi %9, 0:i8, 1:i8 | |
| %11:i8 = phi %8, 0:i8, %10 | |
| %12:i8 = phi %7, 0:i8, %11 | |
| %13:i8 = phi %6, 0:i8, %12 | |
| %14:i8 = phi %5, 0:i8, %13 | |
| %15:i8 = phi %4, 0:i8, %14 | |
| %16:i8 = phi %3, 0:i8, %15 | |
| %17:i8 = phi %2, 0:i8, %16 | |
| %18:i8 = phi %1, 0:i8, %17 | |
| %19:i8 = phi %0, 0:i8, %18 | |
| %20:i8 = and 1:i8, %19 | |
| infer %20 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10:i8 = phi %9, 0:i8, 1:i8 | |
| %11:i8 = phi %8, 0:i8, %10 | |
| %12:i8 = phi %7, 0:i8, %11 | |
| %13:i8 = phi %6, 0:i8, %12 | |
| %14:i8 = phi %5, 0:i8, %13 | |
| %15:i8 = phi %4, 0:i8, %14 | |
| %16:i8 = phi %3, 0:i8, %15 | |
| %17:i8 = phi %2, 0:i8, %16 | |
| %18:i8 = phi %1, 0:i8, %17 | |
| %19:i8 = phi %0, 0:i8, %18 | |
| infer %19 (demandedBits=00000001) | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10:i8 = phi %9, 1:i8, 0:i8 | |
| %11:i8 = phi %8, %10, 0:i8 | |
| %12:i8 = phi %7, %11, 0:i8 | |
| %13:i8 = phi %6, %12, 0:i8 | |
| %14:i8 = phi %5, %13, 0:i8 | |
| %15:i8 = phi %4, %14, 0:i8 | |
| %16:i8 = phi %3, %15, 0:i8 | |
| %17:i8 = phi %2, %16, 0:i8 | |
| %18:i8 = phi %1, %17, 0:i8 | |
| %19:i8 = phi %0, %18, 0:i8 | |
| %20:i1 = eq 0:i8, %19 | |
| infer %20 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10:i8 = phi %9, 1:i8, 0:i8 | |
| %11:i8 = phi %8, %10, 0:i8 | |
| %12:i8 = phi %7, %11, 0:i8 | |
| %13:i8 = phi %6, %12, 0:i8 | |
| %14:i8 = phi %5, %13, 0:i8 | |
| %15:i8 = phi %4, %14, 0:i8 | |
| %16:i8 = phi %3, %15, 0:i8 | |
| %17:i8 = phi %2, %16, 0:i8 | |
| %18:i8 = phi %1, %17, 0:i8 | |
| %19:i8 = phi %0, %18, 0:i8 | |
| infer %19 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 3 | |
| %10:i8 = phi %9, 1:i8, 0:i8, 0:i8 | |
| %11:i8 = phi %8, %10, 0:i8 | |
| %12:i8 = phi %7, %11, 0:i8 | |
| %13:i8 = phi %6, %12, 0:i8 | |
| %14:i8 = phi %5, %13, 0:i8 | |
| %15:i8 = phi %4, %14, 0:i8 | |
| %16:i8 = phi %3, %15, 0:i8 | |
| %17:i8 = phi %2, %16, 0:i8 | |
| %18:i8 = phi %1, %17, 0:i8 | |
| %19:i8 = phi %0, %18, 0:i8 | |
| %20:i1 = eq 0:i8, %19 | |
| infer %20 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 3 | |
| %10:i8 = phi %9, 1:i8, 0:i8, 0:i8 | |
| %11:i8 = phi %8, %10, 0:i8 | |
| %12:i8 = phi %7, %11, 0:i8 | |
| %13:i8 = phi %6, %12, 0:i8 | |
| %14:i8 = phi %5, %13, 0:i8 | |
| %15:i8 = phi %4, %14, 0:i8 | |
| %16:i8 = phi %3, %15, 0:i8 | |
| %17:i8 = phi %2, %16, 0:i8 | |
| %18:i8 = phi %1, %17, 0:i8 | |
| %19:i8 = phi %0, %18, 0:i8 | |
| infer %19 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 3 | |
| %10:i8 = phi %9, 1:i8, 0:i8, 0:i8 | |
| %11:i8 = phi %8, %10, 0:i8 | |
| %12:i8 = phi %7, %11, 0:i8 | |
| %13:i8 = phi %6, %12, 0:i8 | |
| %14:i8 = phi %5, %13, 0:i8 | |
| %15:i8 = phi %4, %14, 0:i8 | |
| %16:i8 = phi %3, %15, 0:i8 | |
| %17:i8 = phi %2, %16, 0:i8 | |
| %18:i8 = phi %1, %17, 0:i8 | |
| %19:i8 = phi %0, 0:i8, %18 | |
| %20:i1 = eq 0:i8, %19 | |
| infer %20 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 3 | |
| %10:i8 = phi %9, 1:i8, 0:i8, 0:i8 | |
| %11:i8 = phi %8, %10, 0:i8 | |
| %12:i8 = phi %7, %11, 0:i8 | |
| %13:i8 = phi %6, %12, 0:i8 | |
| %14:i8 = phi %5, %13, 0:i8 | |
| %15:i8 = phi %4, %14, 0:i8 | |
| %16:i8 = phi %3, %15, 0:i8 | |
| %17:i8 = phi %2, %16, 0:i8 | |
| %18:i8 = phi %1, %17, 0:i8 | |
| %19:i8 = phi %0, 0:i8, %18 | |
| infer %19 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9:i32 = var | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17 = block 2 | |
| %18 = block 2 | |
| %19:i32 = var | |
| %20:i32 = var | |
| %21:i32 = phi %18, %19, %20 | |
| %22:i32 = var | |
| %23:i32 = phi %17, %21, %22 | |
| %24:i32 = var | |
| %25:i32 = phi %16, %23, %24 | |
| %26:i32 = var | |
| %27:i32 = phi %15, %25, %26 | |
| %28:i32 = var | |
| %29:i32 = phi %14, %27, %28 | |
| %30:i32 = var | |
| %31:i32 = phi %13, %29, %30 | |
| %32:i32 = var | |
| %33:i32 = phi %12, %31, %32 | |
| %34:i32 = var | |
| %35:i32 = phi %11, %33, %34 | |
| %36:i32 = var | |
| %37:i32 = phi %10, %35, %36 | |
| %38:i32 = phi %8, %9, %37 | |
| %39:i32 = var | |
| %40:i32 = phi %7, %38, %39 | |
| %41:i32 = var | |
| %42:i32 = phi %6, %40, %41 | |
| %43:i32 = var | |
| %44:i32 = phi %5, %42, %43 | |
| %45:i32 = var | |
| %46:i32 = phi %4, %44, %45 | |
| %47:i32 = var | |
| %48:i32 = phi %3, %46, %47 | |
| %49:i32 = var | |
| %50:i32 = phi %2, %48, %49 | |
| %51:i32 = var | |
| %52:i32 = phi %1, %50, %51 | |
| %53:i32 = var | |
| %54:i32 = phi %0, %52, %53 | |
| %55:i32 = and 512:i32, %54 | |
| %56:i1 = eq 0:i32, %55 | |
| infer %56 | |
| > | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9:i32 = var | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17 = block 2 | |
| %18 = block 2 | |
| %19:i32 = var | |
| %20:i32 = var | |
| %21:i32 = phi %18, %19, %20 | |
| %22:i32 = var | |
| %23:i32 = phi %17, %21, %22 | |
| %24:i32 = var | |
| %25:i32 = phi %16, %23, %24 | |
| %26:i32 = var | |
| %27:i32 = phi %15, %25, %26 | |
| %28:i32 = var | |
| %29:i32 = phi %14, %27, %28 | |
| %30:i32 = var | |
| %31:i32 = phi %13, %29, %30 | |
| %32:i32 = var | |
| %33:i32 = phi %12, %31, %32 | |
| %34:i32 = var | |
| %35:i32 = phi %11, %33, %34 | |
| %36:i32 = var | |
| %37:i32 = phi %10, %35, %36 | |
| %38:i32 = phi %8, %9, %37 | |
| %39:i32 = var | |
| %40:i32 = phi %7, %38, %39 | |
| %41:i32 = var | |
| %42:i32 = phi %6, %40, %41 | |
| %43:i32 = var | |
| %44:i32 = phi %5, %42, %43 | |
| %45:i32 = var | |
| %46:i32 = phi %4, %44, %45 | |
| %47:i32 = var | |
| %48:i32 = phi %3, %46, %47 | |
| %49:i32 = var | |
| %50:i32 = phi %2, %48, %49 | |
| %51:i32 = var | |
| %52:i32 = phi %1, %50, %51 | |
| %53:i32 = var | |
| %54:i32 = phi %0, %52, %53 | |
| %55:i32 = and 512:i32, %54 | |
| infer %55 | |
| > | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9:i32 = var | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17 = block 2 | |
| %18 = block 2 | |
| %19:i32 = var | |
| %20:i32 = var | |
| %21:i32 = phi %18, %19, %20 | |
| %22:i32 = var | |
| %23:i32 = phi %17, %21, %22 | |
| %24:i32 = var | |
| %25:i32 = phi %16, %23, %24 | |
| %26:i32 = var | |
| %27:i32 = phi %15, %25, %26 | |
| %28:i32 = var | |
| %29:i32 = phi %14, %27, %28 | |
| %30:i32 = var | |
| %31:i32 = phi %13, %29, %30 | |
| %32:i32 = var | |
| %33:i32 = phi %12, %31, %32 | |
| %34:i32 = var | |
| %35:i32 = phi %11, %33, %34 | |
| %36:i32 = var | |
| %37:i32 = phi %10, %35, %36 | |
| %38:i32 = phi %8, %9, %37 | |
| %39:i32 = var | |
| %40:i32 = phi %7, %38, %39 | |
| %41:i32 = var | |
| %42:i32 = phi %6, %40, %41 | |
| %43:i32 = var | |
| %44:i32 = phi %5, %42, %43 | |
| %45:i32 = var | |
| %46:i32 = phi %4, %44, %45 | |
| %47:i32 = var | |
| %48:i32 = phi %3, %46, %47 | |
| %49:i32 = var | |
| %50:i32 = phi %2, %48, %49 | |
| %51:i32 = var | |
| %52:i32 = phi %1, %50, %51 | |
| %53:i32 = var | |
| %54:i32 = phi %0, %52, %53 | |
| infer %54 (demandedBits=11111111100000001000001000111100) | |
| > | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9:i32 = var | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17 = block 2 | |
| %18 = block 3 | |
| %19:i32 = var | |
| %20:i32 = var | |
| %21:i32 = var | |
| %22:i32 = phi %18, %19, %20, %21 | |
| %23:i32 = var | |
| %24:i32 = phi %17, %22, %23 | |
| %25:i32 = var | |
| %26:i32 = phi %16, %24, %25 | |
| %27:i32 = var | |
| %28:i32 = phi %15, %26, %27 | |
| %29:i32 = var | |
| %30:i32 = phi %14, %28, %29 | |
| %31:i32 = var | |
| %32:i32 = phi %13, %30, %31 | |
| %33:i32 = var | |
| %34:i32 = phi %12, %32, %33 | |
| %35:i32 = var | |
| %36:i32 = phi %11, %34, %35 | |
| %37:i32 = var | |
| %38:i32 = phi %10, %36, %37 | |
| %39:i32 = phi %8, %9, %38 | |
| %40:i32 = var | |
| %41:i32 = phi %7, %39, %40 | |
| %42:i32 = var | |
| %43:i32 = phi %6, %41, %42 | |
| %44:i32 = var | |
| %45:i32 = phi %5, %43, %44 | |
| %46:i32 = var | |
| %47:i32 = phi %4, %45, %46 | |
| %48:i32 = var | |
| %49:i32 = phi %3, %47, %48 | |
| %50:i32 = var | |
| %51:i32 = phi %2, %49, %50 | |
| %52:i32 = var | |
| %53:i32 = phi %1, %51, %52 | |
| %54:i32 = var | |
| %55:i32 = phi %0, %53, %54 | |
| %56:i32 = and 512:i32, %55 | |
| %57:i1 = eq 0:i32, %56 | |
| infer %57 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9:i32 = var | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17 = block 2 | |
| %18 = block 3 | |
| %19:i32 = var | |
| %20:i32 = var | |
| %21:i32 = var | |
| %22:i32 = phi %18, %19, %20, %21 | |
| %23:i32 = var | |
| %24:i32 = phi %17, %22, %23 | |
| %25:i32 = var | |
| %26:i32 = phi %16, %24, %25 | |
| %27:i32 = var | |
| %28:i32 = phi %15, %26, %27 | |
| %29:i32 = var | |
| %30:i32 = phi %14, %28, %29 | |
| %31:i32 = var | |
| %32:i32 = phi %13, %30, %31 | |
| %33:i32 = var | |
| %34:i32 = phi %12, %32, %33 | |
| %35:i32 = var | |
| %36:i32 = phi %11, %34, %35 | |
| %37:i32 = var | |
| %38:i32 = phi %10, %36, %37 | |
| %39:i32 = phi %8, %9, %38 | |
| %40:i32 = var | |
| %41:i32 = phi %7, %39, %40 | |
| %42:i32 = var | |
| %43:i32 = phi %6, %41, %42 | |
| %44:i32 = var | |
| %45:i32 = phi %5, %43, %44 | |
| %46:i32 = var | |
| %47:i32 = phi %4, %45, %46 | |
| %48:i32 = var | |
| %49:i32 = phi %3, %47, %48 | |
| %50:i32 = var | |
| %51:i32 = phi %2, %49, %50 | |
| %52:i32 = var | |
| %53:i32 = phi %1, %51, %52 | |
| %54:i32 = var | |
| %55:i32 = phi %0, %53, %54 | |
| %56:i32 = and 512:i32, %55 | |
| infer %56 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9:i32 = var | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17 = block 2 | |
| %18 = block 3 | |
| %19:i32 = var | |
| %20:i32 = var | |
| %21:i32 = var | |
| %22:i32 = phi %18, %19, %20, %21 | |
| %23:i32 = var | |
| %24:i32 = phi %17, %22, %23 | |
| %25:i32 = var | |
| %26:i32 = phi %16, %24, %25 | |
| %27:i32 = var | |
| %28:i32 = phi %15, %26, %27 | |
| %29:i32 = var | |
| %30:i32 = phi %14, %28, %29 | |
| %31:i32 = var | |
| %32:i32 = phi %13, %30, %31 | |
| %33:i32 = var | |
| %34:i32 = phi %12, %32, %33 | |
| %35:i32 = var | |
| %36:i32 = phi %11, %34, %35 | |
| %37:i32 = var | |
| %38:i32 = phi %10, %36, %37 | |
| %39:i32 = phi %8, %9, %38 | |
| %40:i32 = var | |
| %41:i32 = phi %7, %39, %40 | |
| %42:i32 = var | |
| %43:i32 = phi %6, %41, %42 | |
| %44:i32 = var | |
| %45:i32 = phi %5, %43, %44 | |
| %46:i32 = var | |
| %47:i32 = phi %4, %45, %46 | |
| %48:i32 = var | |
| %49:i32 = phi %3, %47, %48 | |
| %50:i32 = var | |
| %51:i32 = phi %2, %49, %50 | |
| %52:i32 = var | |
| %53:i32 = phi %1, %51, %52 | |
| %54:i32 = var | |
| %55:i32 = phi %0, %53, %54 | |
| infer %55 (demandedBits=11111111100000001000001000111100) | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9:i32 = var | |
| %10:i32 = var | |
| %11:i32 = phi %8, %9, %10 | |
| %12:i32 = var | |
| %13:i32 = phi %7, %11, %12 | |
| %14:i32 = var | |
| %15:i32 = phi %6, %13, %14 | |
| %16:i32 = var | |
| %17:i32 = phi %5, %15, %16 | |
| %18:i32 = var | |
| %19:i32 = phi %4, %17, %18 | |
| %20:i32 = var | |
| %21:i32 = phi %3, %19, %20 | |
| %22:i32 = var | |
| %23:i32 = phi %2, %21, %22 | |
| %24:i32 = var | |
| %25:i32 = phi %1, %23, %24 | |
| %26:i32 = var | |
| %27:i32 = phi %0, %25, %26 | |
| %28:i8 = trunc %27 | |
| %29:i1 = slt %28, 0:i8 | |
| infer %29 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9:i32 = var | |
| %10:i32 = var | |
| %11:i32 = phi %8, %9, %10 | |
| %12:i32 = var | |
| %13:i32 = phi %7, %11, %12 | |
| %14:i32 = var | |
| %15:i32 = phi %6, %13, %14 | |
| %16:i32 = var | |
| %17:i32 = phi %5, %15, %16 | |
| %18:i32 = var | |
| %19:i32 = phi %4, %17, %18 | |
| %20:i32 = var | |
| %21:i32 = phi %3, %19, %20 | |
| %22:i32 = var | |
| %23:i32 = phi %2, %21, %22 | |
| %24:i32 = var | |
| %25:i32 = phi %1, %23, %24 | |
| %26:i32 = var | |
| %27:i32 = phi %0, %25, %26 | |
| %28:i8 = trunc %27 | |
| infer %28 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9:i32 = var | |
| %10:i32 = var | |
| %11:i32 = phi %8, %9, %10 | |
| %12:i32 = var | |
| %13:i32 = phi %7, %11, %12 | |
| %14:i32 = var | |
| %15:i32 = phi %6, %13, %14 | |
| %16:i32 = var | |
| %17:i32 = phi %5, %15, %16 | |
| %18:i32 = var | |
| %19:i32 = phi %4, %17, %18 | |
| %20:i32 = var | |
| %21:i32 = phi %3, %19, %20 | |
| %22:i32 = var | |
| %23:i32 = phi %2, %21, %22 | |
| %24:i32 = var | |
| %25:i32 = phi %1, %23, %24 | |
| %26:i32 = var | |
| %27:i32 = phi %0, %25, %26 | |
| infer %27 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9:i8 = phi %8, 0:i8, 1:i8 | |
| %10:i8 = phi %7, 0:i8, %9 | |
| %11:i8 = phi %6, 0:i8, %10 | |
| %12:i8 = phi %5, 0:i8, %11 | |
| %13:i8 = phi %4, 0:i8, %12 | |
| %14:i8 = phi %3, 0:i8, %13 | |
| %15:i8 = phi %2, 0:i8, %14 | |
| %16:i8 = phi %1, 0:i8, %15 | |
| %17:i8 = phi %0, 0:i8, %16 | |
| %18:i8 = and 1:i8, %17 | |
| %19:i1 = eq 0:i8, %18 | |
| infer %19 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9:i8 = phi %8, 0:i8, 1:i8 | |
| %10:i8 = phi %7, 0:i8, %9 | |
| %11:i8 = phi %6, 0:i8, %10 | |
| %12:i8 = phi %5, 0:i8, %11 | |
| %13:i8 = phi %4, 0:i8, %12 | |
| %14:i8 = phi %3, 0:i8, %13 | |
| %15:i8 = phi %2, 0:i8, %14 | |
| %16:i8 = phi %1, 0:i8, %15 | |
| %17:i8 = phi %0, 0:i8, %16 | |
| %18:i8 = and 1:i8, %17 | |
| infer %18 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9:i8 = phi %8, 0:i8, 1:i8 | |
| %10:i8 = phi %7, 0:i8, %9 | |
| %11:i8 = phi %6, 0:i8, %10 | |
| %12:i8 = phi %5, 0:i8, %11 | |
| %13:i8 = phi %4, 0:i8, %12 | |
| %14:i8 = phi %3, 0:i8, %13 | |
| %15:i8 = phi %2, 0:i8, %14 | |
| %16:i8 = phi %1, 0:i8, %15 | |
| %17:i8 = phi %0, 0:i8, %16 | |
| infer %17 (demandedBits=00000001) | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9:i8 = phi %8, 1:i8, 0:i8 | |
| %10:i8 = phi %7, %9, 0:i8 | |
| %11:i8 = phi %6, %10, 0:i8 | |
| %12:i8 = phi %5, %11, 0:i8 | |
| %13:i8 = phi %4, %12, 0:i8 | |
| %14:i8 = phi %3, %13, 0:i8 | |
| %15:i8 = phi %2, %14, 0:i8 | |
| %16:i8 = phi %1, %15, 0:i8 | |
| %17:i8 = phi %0, %16, 0:i8 | |
| %18:i1 = eq 0:i8, %17 | |
| infer %18 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9:i8 = phi %8, 1:i8, 0:i8 | |
| %10:i8 = phi %7, %9, 0:i8 | |
| %11:i8 = phi %6, %10, 0:i8 | |
| %12:i8 = phi %5, %11, 0:i8 | |
| %13:i8 = phi %4, %12, 0:i8 | |
| %14:i8 = phi %3, %13, 0:i8 | |
| %15:i8 = phi %2, %14, 0:i8 | |
| %16:i8 = phi %1, %15, 0:i8 | |
| %17:i8 = phi %0, %16, 0:i8 | |
| infer %17 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 3 | |
| %9:i32 = var | |
| %10:i32 = var | |
| %11:i32 = var | |
| %12:i32 = phi %8, %9, %10, %11 | |
| %13:i32 = var | |
| %14:i32 = phi %7, %12, %13 | |
| %15:i32 = var | |
| %16:i32 = phi %6, %14, %15 | |
| %17:i32 = var | |
| %18:i32 = phi %5, %16, %17 | |
| %19:i32 = var | |
| %20:i32 = phi %4, %18, %19 | |
| %21:i32 = var | |
| %22:i32 = phi %3, %20, %21 | |
| %23:i32 = var | |
| %24:i32 = phi %2, %22, %23 | |
| %25:i32 = var | |
| %26:i32 = phi %1, %24, %25 | |
| %27:i32 = var | |
| %28:i32 = phi %0, %26, %27 | |
| %29:i8 = trunc %28 | |
| %30:i1 = slt %29, 0:i8 | |
| infer %30 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 3 | |
| %9:i32 = var | |
| %10:i32 = var | |
| %11:i32 = var | |
| %12:i32 = phi %8, %9, %10, %11 | |
| %13:i32 = var | |
| %14:i32 = phi %7, %12, %13 | |
| %15:i32 = var | |
| %16:i32 = phi %6, %14, %15 | |
| %17:i32 = var | |
| %18:i32 = phi %5, %16, %17 | |
| %19:i32 = var | |
| %20:i32 = phi %4, %18, %19 | |
| %21:i32 = var | |
| %22:i32 = phi %3, %20, %21 | |
| %23:i32 = var | |
| %24:i32 = phi %2, %22, %23 | |
| %25:i32 = var | |
| %26:i32 = phi %1, %24, %25 | |
| %27:i32 = var | |
| %28:i32 = phi %0, %26, %27 | |
| %29:i8 = trunc %28 | |
| infer %29 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 3 | |
| %9:i32 = var | |
| %10:i32 = var | |
| %11:i32 = var | |
| %12:i32 = phi %8, %9, %10, %11 | |
| %13:i32 = var | |
| %14:i32 = phi %7, %12, %13 | |
| %15:i32 = var | |
| %16:i32 = phi %6, %14, %15 | |
| %17:i32 = var | |
| %18:i32 = phi %5, %16, %17 | |
| %19:i32 = var | |
| %20:i32 = phi %4, %18, %19 | |
| %21:i32 = var | |
| %22:i32 = phi %3, %20, %21 | |
| %23:i32 = var | |
| %24:i32 = phi %2, %22, %23 | |
| %25:i32 = var | |
| %26:i32 = phi %1, %24, %25 | |
| %27:i32 = var | |
| %28:i32 = phi %0, %26, %27 | |
| infer %28 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 3 | |
| %9:i8 = phi %8, 1:i8, 0:i8, 0:i8 | |
| %10:i8 = phi %7, %9, 0:i8 | |
| %11:i8 = phi %6, %10, 0:i8 | |
| %12:i8 = phi %5, %11, 0:i8 | |
| %13:i8 = phi %4, %12, 0:i8 | |
| %14:i8 = phi %3, %13, 0:i8 | |
| %15:i8 = phi %2, %14, 0:i8 | |
| %16:i8 = phi %1, %15, 0:i8 | |
| %17:i8 = phi %0, %16, 0:i8 | |
| %18:i1 = eq 0:i8, %17 | |
| infer %18 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 3 | |
| %9:i8 = phi %8, 1:i8, 0:i8, 0:i8 | |
| %10:i8 = phi %7, %9, 0:i8 | |
| %11:i8 = phi %6, %10, 0:i8 | |
| %12:i8 = phi %5, %11, 0:i8 | |
| %13:i8 = phi %4, %12, 0:i8 | |
| %14:i8 = phi %3, %13, 0:i8 | |
| %15:i8 = phi %2, %14, 0:i8 | |
| %16:i8 = phi %1, %15, 0:i8 | |
| %17:i8 = phi %0, %16, 0:i8 | |
| infer %17 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8:i32 = var | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17 = block 2 | |
| %18:i32 = var | |
| %19:i32 = var | |
| %20:i32 = phi %17, %18, %19 | |
| %21:i32 = var | |
| %22:i32 = phi %16, %20, %21 | |
| %23:i32 = var | |
| %24:i32 = phi %15, %22, %23 | |
| %25:i32 = var | |
| %26:i32 = phi %14, %24, %25 | |
| %27:i32 = var | |
| %28:i32 = phi %13, %26, %27 | |
| %29:i32 = var | |
| %30:i32 = phi %12, %28, %29 | |
| %31:i32 = var | |
| %32:i32 = phi %11, %30, %31 | |
| %33:i32 = var | |
| %34:i32 = phi %10, %32, %33 | |
| %35:i32 = var | |
| %36:i32 = phi %9, %34, %35 | |
| %37:i32 = phi %7, %8, %36 | |
| %38:i32 = var | |
| %39:i32 = phi %6, %37, %38 | |
| %40:i32 = var | |
| %41:i32 = phi %5, %39, %40 | |
| %42:i32 = var | |
| %43:i32 = phi %4, %41, %42 | |
| %44:i32 = var | |
| %45:i32 = phi %3, %43, %44 | |
| %46:i32 = var | |
| %47:i32 = phi %2, %45, %46 | |
| %48:i32 = var | |
| %49:i32 = phi %1, %47, %48 | |
| %50:i32 = var | |
| %51:i32 = phi %0, %49, %50 | |
| %52:i32 = and 4259840:i32, %51 | |
| %53:i1 = eq 4259840:i32, %52 | |
| infer %53 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8:i32 = var | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17 = block 2 | |
| %18:i32 = var | |
| %19:i32 = var | |
| %20:i32 = phi %17, %18, %19 | |
| %21:i32 = var | |
| %22:i32 = phi %16, %20, %21 | |
| %23:i32 = var | |
| %24:i32 = phi %15, %22, %23 | |
| %25:i32 = var | |
| %26:i32 = phi %14, %24, %25 | |
| %27:i32 = var | |
| %28:i32 = phi %13, %26, %27 | |
| %29:i32 = var | |
| %30:i32 = phi %12, %28, %29 | |
| %31:i32 = var | |
| %32:i32 = phi %11, %30, %31 | |
| %33:i32 = var | |
| %34:i32 = phi %10, %32, %33 | |
| %35:i32 = var | |
| %36:i32 = phi %9, %34, %35 | |
| %37:i32 = phi %7, %8, %36 | |
| %38:i32 = var | |
| %39:i32 = phi %6, %37, %38 | |
| %40:i32 = var | |
| %41:i32 = phi %5, %39, %40 | |
| %42:i32 = var | |
| %43:i32 = phi %4, %41, %42 | |
| %44:i32 = var | |
| %45:i32 = phi %3, %43, %44 | |
| %46:i32 = var | |
| %47:i32 = phi %2, %45, %46 | |
| %48:i32 = var | |
| %49:i32 = phi %1, %47, %48 | |
| %50:i32 = var | |
| %51:i32 = phi %0, %49, %50 | |
| %52:i32 = and 4259840:i32, %51 | |
| infer %52 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8:i32 = var | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17 = block 2 | |
| %18:i32 = var | |
| %19:i32 = var | |
| %20:i32 = phi %17, %18, %19 | |
| %21:i32 = var | |
| %22:i32 = phi %16, %20, %21 | |
| %23:i32 = var | |
| %24:i32 = phi %15, %22, %23 | |
| %25:i32 = var | |
| %26:i32 = phi %14, %24, %25 | |
| %27:i32 = var | |
| %28:i32 = phi %13, %26, %27 | |
| %29:i32 = var | |
| %30:i32 = phi %12, %28, %29 | |
| %31:i32 = var | |
| %32:i32 = phi %11, %30, %31 | |
| %33:i32 = var | |
| %34:i32 = phi %10, %32, %33 | |
| %35:i32 = var | |
| %36:i32 = phi %9, %34, %35 | |
| %37:i32 = phi %7, %8, %36 | |
| %38:i32 = var | |
| %39:i32 = phi %6, %37, %38 | |
| %40:i32 = var | |
| %41:i32 = phi %5, %39, %40 | |
| %42:i32 = var | |
| %43:i32 = phi %4, %41, %42 | |
| %44:i32 = var | |
| %45:i32 = phi %3, %43, %44 | |
| %46:i32 = var | |
| %47:i32 = phi %2, %45, %46 | |
| %48:i32 = var | |
| %49:i32 = phi %1, %47, %48 | |
| %50:i32 = var | |
| %51:i32 = phi %0, %49, %50 | |
| infer %51 (demandedBits=11111111110000011000001000111100) | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8:i32 = var | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17 = block 3 | |
| %18:i32 = var | |
| %19:i32 = var | |
| %20:i32 = var | |
| %21:i32 = phi %17, %18, %19, %20 | |
| %22:i32 = var | |
| %23:i32 = phi %16, %21, %22 | |
| %24:i32 = var | |
| %25:i32 = phi %15, %23, %24 | |
| %26:i32 = var | |
| %27:i32 = phi %14, %25, %26 | |
| %28:i32 = var | |
| %29:i32 = phi %13, %27, %28 | |
| %30:i32 = var | |
| %31:i32 = phi %12, %29, %30 | |
| %32:i32 = var | |
| %33:i32 = phi %11, %31, %32 | |
| %34:i32 = var | |
| %35:i32 = phi %10, %33, %34 | |
| %36:i32 = var | |
| %37:i32 = phi %9, %35, %36 | |
| %38:i32 = phi %7, %8, %37 | |
| %39:i32 = var | |
| %40:i32 = phi %6, %38, %39 | |
| %41:i32 = var | |
| %42:i32 = phi %5, %40, %41 | |
| %43:i32 = var | |
| %44:i32 = phi %4, %42, %43 | |
| %45:i32 = var | |
| %46:i32 = phi %3, %44, %45 | |
| %47:i32 = var | |
| %48:i32 = phi %2, %46, %47 | |
| %49:i32 = var | |
| %50:i32 = phi %1, %48, %49 | |
| %51:i32 = var | |
| %52:i32 = phi %0, %50, %51 | |
| %53:i32 = and 4259840:i32, %52 | |
| %54:i1 = eq 4259840:i32, %53 | |
| infer %54 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8:i32 = var | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17 = block 3 | |
| %18:i32 = var | |
| %19:i32 = var | |
| %20:i32 = var | |
| %21:i32 = phi %17, %18, %19, %20 | |
| %22:i32 = var | |
| %23:i32 = phi %16, %21, %22 | |
| %24:i32 = var | |
| %25:i32 = phi %15, %23, %24 | |
| %26:i32 = var | |
| %27:i32 = phi %14, %25, %26 | |
| %28:i32 = var | |
| %29:i32 = phi %13, %27, %28 | |
| %30:i32 = var | |
| %31:i32 = phi %12, %29, %30 | |
| %32:i32 = var | |
| %33:i32 = phi %11, %31, %32 | |
| %34:i32 = var | |
| %35:i32 = phi %10, %33, %34 | |
| %36:i32 = var | |
| %37:i32 = phi %9, %35, %36 | |
| %38:i32 = phi %7, %8, %37 | |
| %39:i32 = var | |
| %40:i32 = phi %6, %38, %39 | |
| %41:i32 = var | |
| %42:i32 = phi %5, %40, %41 | |
| %43:i32 = var | |
| %44:i32 = phi %4, %42, %43 | |
| %45:i32 = var | |
| %46:i32 = phi %3, %44, %45 | |
| %47:i32 = var | |
| %48:i32 = phi %2, %46, %47 | |
| %49:i32 = var | |
| %50:i32 = phi %1, %48, %49 | |
| %51:i32 = var | |
| %52:i32 = phi %0, %50, %51 | |
| %53:i32 = and 4259840:i32, %52 | |
| infer %53 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8:i32 = var | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17 = block 3 | |
| %18:i32 = var | |
| %19:i32 = var | |
| %20:i32 = var | |
| %21:i32 = phi %17, %18, %19, %20 | |
| %22:i32 = var | |
| %23:i32 = phi %16, %21, %22 | |
| %24:i32 = var | |
| %25:i32 = phi %15, %23, %24 | |
| %26:i32 = var | |
| %27:i32 = phi %14, %25, %26 | |
| %28:i32 = var | |
| %29:i32 = phi %13, %27, %28 | |
| %30:i32 = var | |
| %31:i32 = phi %12, %29, %30 | |
| %32:i32 = var | |
| %33:i32 = phi %11, %31, %32 | |
| %34:i32 = var | |
| %35:i32 = phi %10, %33, %34 | |
| %36:i32 = var | |
| %37:i32 = phi %9, %35, %36 | |
| %38:i32 = phi %7, %8, %37 | |
| %39:i32 = var | |
| %40:i32 = phi %6, %38, %39 | |
| %41:i32 = var | |
| %42:i32 = phi %5, %40, %41 | |
| %43:i32 = var | |
| %44:i32 = phi %4, %42, %43 | |
| %45:i32 = var | |
| %46:i32 = phi %3, %44, %45 | |
| %47:i32 = var | |
| %48:i32 = phi %2, %46, %47 | |
| %49:i32 = var | |
| %50:i32 = phi %1, %48, %49 | |
| %51:i32 = var | |
| %52:i32 = phi %0, %50, %51 | |
| infer %52 (demandedBits=11111111110000011000001000111100) | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8:i32 = var | |
| %9:i32 = var | |
| %10:i32 = phi %7, %8, %9 | |
| %11:i32 = var | |
| %12:i32 = phi %6, %10, %11 | |
| %13:i32 = var | |
| %14:i32 = phi %5, %12, %13 | |
| %15:i32 = var | |
| %16:i32 = phi %4, %14, %15 | |
| %17:i32 = var | |
| %18:i32 = phi %3, %16, %17 | |
| %19:i32 = var | |
| %20:i32 = phi %2, %18, %19 | |
| %21:i32 = var | |
| %22:i32 = phi %1, %20, %21 | |
| %23:i32 = var | |
| %24:i32 = phi %0, %22, %23 | |
| %25:i32 = and 4096:i32, %24 | |
| %26:i1 = eq 0:i32, %25 | |
| infer %26 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8:i32 = var | |
| %9:i32 = var | |
| %10:i32 = phi %7, %8, %9 | |
| %11:i32 = var | |
| %12:i32 = phi %6, %10, %11 | |
| %13:i32 = var | |
| %14:i32 = phi %5, %12, %13 | |
| %15:i32 = var | |
| %16:i32 = phi %4, %14, %15 | |
| %17:i32 = var | |
| %18:i32 = phi %3, %16, %17 | |
| %19:i32 = var | |
| %20:i32 = phi %2, %18, %19 | |
| %21:i32 = var | |
| %22:i32 = phi %1, %20, %21 | |
| %23:i32 = var | |
| %24:i32 = phi %0, %22, %23 | |
| %25:i32 = and 4096:i32, %24 | |
| infer %25 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8:i32 = var | |
| %9:i32 = var | |
| %10:i32 = phi %7, %8, %9 | |
| %11:i32 = var | |
| %12:i32 = phi %6, %10, %11 | |
| %13:i32 = var | |
| %14:i32 = phi %5, %12, %13 | |
| %15:i32 = var | |
| %16:i32 = phi %4, %14, %15 | |
| %17:i32 = var | |
| %18:i32 = phi %3, %16, %17 | |
| %19:i32 = var | |
| %20:i32 = phi %2, %18, %19 | |
| %21:i32 = var | |
| %22:i32 = phi %1, %20, %21 | |
| %23:i32 = var | |
| %24:i32 = phi %0, %22, %23 | |
| infer %24 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8:i8 = phi %7, 0:i8, 1:i8 | |
| %9:i8 = phi %6, 0:i8, %8 | |
| %10:i8 = phi %5, 0:i8, %9 | |
| %11:i8 = phi %4, 0:i8, %10 | |
| %12:i8 = phi %3, 0:i8, %11 | |
| %13:i8 = phi %2, 0:i8, %12 | |
| %14:i8 = phi %1, 0:i8, %13 | |
| %15:i8 = phi %0, 0:i8, %14 | |
| %16:i8 = and 1:i8, %15 | |
| %17:i1 = eq 0:i8, %16 | |
| infer %17 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8:i8 = phi %7, 0:i8, 1:i8 | |
| %9:i8 = phi %6, 0:i8, %8 | |
| %10:i8 = phi %5, 0:i8, %9 | |
| %11:i8 = phi %4, 0:i8, %10 | |
| %12:i8 = phi %3, 0:i8, %11 | |
| %13:i8 = phi %2, 0:i8, %12 | |
| %14:i8 = phi %1, 0:i8, %13 | |
| %15:i8 = phi %0, 0:i8, %14 | |
| %16:i8 = and 1:i8, %15 | |
| infer %16 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8:i8 = phi %7, 0:i8, 1:i8 | |
| %9:i8 = phi %6, 0:i8, %8 | |
| %10:i8 = phi %5, 0:i8, %9 | |
| %11:i8 = phi %4, 0:i8, %10 | |
| %12:i8 = phi %3, 0:i8, %11 | |
| %13:i8 = phi %2, 0:i8, %12 | |
| %14:i8 = phi %1, 0:i8, %13 | |
| %15:i8 = phi %0, 0:i8, %14 | |
| infer %15 (demandedBits=00000001) | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8:i8 = phi %7, 1:i8, 0:i8 | |
| %9:i8 = phi %6, %8, 0:i8 | |
| %10:i8 = phi %5, %9, 0:i8 | |
| %11:i8 = phi %4, %10, 0:i8 | |
| %12:i8 = phi %3, %11, 0:i8 | |
| %13:i8 = phi %2, %12, 0:i8 | |
| %14:i8 = phi %1, %13, 0:i8 | |
| %15:i8 = phi %0, %14, 0:i8 | |
| %16:i1 = eq 0:i8, %15 | |
| infer %16 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8:i8 = phi %7, 1:i8, 0:i8 | |
| %9:i8 = phi %6, %8, 0:i8 | |
| %10:i8 = phi %5, %9, 0:i8 | |
| %11:i8 = phi %4, %10, 0:i8 | |
| %12:i8 = phi %3, %11, 0:i8 | |
| %13:i8 = phi %2, %12, 0:i8 | |
| %14:i8 = phi %1, %13, 0:i8 | |
| %15:i8 = phi %0, %14, 0:i8 | |
| infer %15 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 3 | |
| %8:i32 = var | |
| %9:i32 = var | |
| %10:i32 = var | |
| %11:i32 = phi %7, %8, %9, %10 | |
| %12:i32 = var | |
| %13:i32 = phi %6, %11, %12 | |
| %14:i32 = var | |
| %15:i32 = phi %5, %13, %14 | |
| %16:i32 = var | |
| %17:i32 = phi %4, %15, %16 | |
| %18:i32 = var | |
| %19:i32 = phi %3, %17, %18 | |
| %20:i32 = var | |
| %21:i32 = phi %2, %19, %20 | |
| %22:i32 = var | |
| %23:i32 = phi %1, %21, %22 | |
| %24:i32 = var | |
| %25:i32 = phi %0, %23, %24 | |
| %26:i32 = and 4096:i32, %25 | |
| %27:i1 = eq 0:i32, %26 | |
| infer %27 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 3 | |
| %8:i32 = var | |
| %9:i32 = var | |
| %10:i32 = var | |
| %11:i32 = phi %7, %8, %9, %10 | |
| %12:i32 = var | |
| %13:i32 = phi %6, %11, %12 | |
| %14:i32 = var | |
| %15:i32 = phi %5, %13, %14 | |
| %16:i32 = var | |
| %17:i32 = phi %4, %15, %16 | |
| %18:i32 = var | |
| %19:i32 = phi %3, %17, %18 | |
| %20:i32 = var | |
| %21:i32 = phi %2, %19, %20 | |
| %22:i32 = var | |
| %23:i32 = phi %1, %21, %22 | |
| %24:i32 = var | |
| %25:i32 = phi %0, %23, %24 | |
| %26:i32 = and 4096:i32, %25 | |
| infer %26 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 3 | |
| %8:i32 = var | |
| %9:i32 = var | |
| %10:i32 = var | |
| %11:i32 = phi %7, %8, %9, %10 | |
| %12:i32 = var | |
| %13:i32 = phi %6, %11, %12 | |
| %14:i32 = var | |
| %15:i32 = phi %5, %13, %14 | |
| %16:i32 = var | |
| %17:i32 = phi %4, %15, %16 | |
| %18:i32 = var | |
| %19:i32 = phi %3, %17, %18 | |
| %20:i32 = var | |
| %21:i32 = phi %2, %19, %20 | |
| %22:i32 = var | |
| %23:i32 = phi %1, %21, %22 | |
| %24:i32 = var | |
| %25:i32 = phi %0, %23, %24 | |
| infer %25 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 3 | |
| %8:i8 = phi %7, 1:i8, 0:i8, 0:i8 | |
| %9:i8 = phi %6, %8, 0:i8 | |
| %10:i8 = phi %5, %9, 0:i8 | |
| %11:i8 = phi %4, %10, 0:i8 | |
| %12:i8 = phi %3, %11, 0:i8 | |
| %13:i8 = phi %2, %12, 0:i8 | |
| %14:i8 = phi %1, %13, 0:i8 | |
| %15:i8 = phi %0, %14, 0:i8 | |
| %16:i1 = eq 0:i8, %15 | |
| infer %16 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 3 | |
| %8:i8 = phi %7, 1:i8, 0:i8, 0:i8 | |
| %9:i8 = phi %6, %8, 0:i8 | |
| %10:i8 = phi %5, %9, 0:i8 | |
| %11:i8 = phi %4, %10, 0:i8 | |
| %12:i8 = phi %3, %11, 0:i8 | |
| %13:i8 = phi %2, %12, 0:i8 | |
| %14:i8 = phi %1, %13, 0:i8 | |
| %15:i8 = phi %0, %14, 0:i8 | |
| infer %15 | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7:i32 = var | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17:i32 = var | |
| %18:i32 = var | |
| %19:i32 = phi %16, %17, %18 | |
| %20:i32 = var | |
| %21:i32 = phi %15, %19, %20 | |
| %22:i32 = var | |
| %23:i32 = phi %14, %21, %22 | |
| %24:i32 = var | |
| %25:i32 = phi %13, %23, %24 | |
| %26:i32 = var | |
| %27:i32 = phi %12, %25, %26 | |
| %28:i32 = var | |
| %29:i32 = phi %11, %27, %28 | |
| %30:i32 = var | |
| %31:i32 = phi %10, %29, %30 | |
| %32:i32 = var | |
| %33:i32 = phi %9, %31, %32 | |
| %34:i32 = var | |
| %35:i32 = phi %8, %33, %34 | |
| %36:i32 = phi %6, %7, %35 | |
| %37:i32 = var | |
| %38:i32 = phi %5, %36, %37 | |
| %39:i32 = var | |
| %40:i32 = phi %4, %38, %39 | |
| %41:i32 = var | |
| %42:i32 = phi %3, %40, %41 | |
| %43:i32 = var | |
| %44:i32 = phi %2, %42, %43 | |
| %45:i32 = var | |
| %46:i32 = phi %1, %44, %45 | |
| %47:i32 = var | |
| %48:i32 = phi %0, %46, %47 | |
| %49:i32 = and 1052672:i32, %48 | |
| %50:i1 = eq 1052672:i32, %49 | |
| infer %50 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7:i32 = var | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17:i32 = var | |
| %18:i32 = var | |
| %19:i32 = phi %16, %17, %18 | |
| %20:i32 = var | |
| %21:i32 = phi %15, %19, %20 | |
| %22:i32 = var | |
| %23:i32 = phi %14, %21, %22 | |
| %24:i32 = var | |
| %25:i32 = phi %13, %23, %24 | |
| %26:i32 = var | |
| %27:i32 = phi %12, %25, %26 | |
| %28:i32 = var | |
| %29:i32 = phi %11, %27, %28 | |
| %30:i32 = var | |
| %31:i32 = phi %10, %29, %30 | |
| %32:i32 = var | |
| %33:i32 = phi %9, %31, %32 | |
| %34:i32 = var | |
| %35:i32 = phi %8, %33, %34 | |
| %36:i32 = phi %6, %7, %35 | |
| %37:i32 = var | |
| %38:i32 = phi %5, %36, %37 | |
| %39:i32 = var | |
| %40:i32 = phi %4, %38, %39 | |
| %41:i32 = var | |
| %42:i32 = phi %3, %40, %41 | |
| %43:i32 = var | |
| %44:i32 = phi %2, %42, %43 | |
| %45:i32 = var | |
| %46:i32 = phi %1, %44, %45 | |
| %47:i32 = var | |
| %48:i32 = phi %0, %46, %47 | |
| %49:i32 = and 1052672:i32, %48 | |
| infer %49 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7:i32 = var | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 2 | |
| %17:i32 = var | |
| %18:i32 = var | |
| %19:i32 = phi %16, %17, %18 | |
| %20:i32 = var | |
| %21:i32 = phi %15, %19, %20 | |
| %22:i32 = var | |
| %23:i32 = phi %14, %21, %22 | |
| %24:i32 = var | |
| %25:i32 = phi %13, %23, %24 | |
| %26:i32 = var | |
| %27:i32 = phi %12, %25, %26 | |
| %28:i32 = var | |
| %29:i32 = phi %11, %27, %28 | |
| %30:i32 = var | |
| %31:i32 = phi %10, %29, %30 | |
| %32:i32 = var | |
| %33:i32 = phi %9, %31, %32 | |
| %34:i32 = var | |
| %35:i32 = phi %8, %33, %34 | |
| %36:i32 = phi %6, %7, %35 | |
| %37:i32 = var | |
| %38:i32 = phi %5, %36, %37 | |
| %39:i32 = var | |
| %40:i32 = phi %4, %38, %39 | |
| %41:i32 = var | |
| %42:i32 = phi %3, %40, %41 | |
| %43:i32 = var | |
| %44:i32 = phi %2, %42, %43 | |
| %45:i32 = var | |
| %46:i32 = phi %1, %44, %45 | |
| %47:i32 = var | |
| %48:i32 = phi %0, %46, %47 | |
| infer %48 (demandedBits=11111111110100011001001000111100) | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7:i32 = var | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 3 | |
| %17:i32 = var | |
| %18:i32 = var | |
| %19:i32 = var | |
| %20:i32 = phi %16, %17, %18, %19 | |
| %21:i32 = var | |
| %22:i32 = phi %15, %20, %21 | |
| %23:i32 = var | |
| %24:i32 = phi %14, %22, %23 | |
| %25:i32 = var | |
| %26:i32 = phi %13, %24, %25 | |
| %27:i32 = var | |
| %28:i32 = phi %12, %26, %27 | |
| %29:i32 = var | |
| %30:i32 = phi %11, %28, %29 | |
| %31:i32 = var | |
| %32:i32 = phi %10, %30, %31 | |
| %33:i32 = var | |
| %34:i32 = phi %9, %32, %33 | |
| %35:i32 = var | |
| %36:i32 = phi %8, %34, %35 | |
| %37:i32 = phi %6, %7, %36 | |
| %38:i32 = var | |
| %39:i32 = phi %5, %37, %38 | |
| %40:i32 = var | |
| %41:i32 = phi %4, %39, %40 | |
| %42:i32 = var | |
| %43:i32 = phi %3, %41, %42 | |
| %44:i32 = var | |
| %45:i32 = phi %2, %43, %44 | |
| %46:i32 = var | |
| %47:i32 = phi %1, %45, %46 | |
| %48:i32 = var | |
| %49:i32 = phi %0, %47, %48 | |
| %50:i32 = and 1052672:i32, %49 | |
| %51:i1 = eq 1052672:i32, %50 | |
| infer %51 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7:i32 = var | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 3 | |
| %17:i32 = var | |
| %18:i32 = var | |
| %19:i32 = var | |
| %20:i32 = phi %16, %17, %18, %19 | |
| %21:i32 = var | |
| %22:i32 = phi %15, %20, %21 | |
| %23:i32 = var | |
| %24:i32 = phi %14, %22, %23 | |
| %25:i32 = var | |
| %26:i32 = phi %13, %24, %25 | |
| %27:i32 = var | |
| %28:i32 = phi %12, %26, %27 | |
| %29:i32 = var | |
| %30:i32 = phi %11, %28, %29 | |
| %31:i32 = var | |
| %32:i32 = phi %10, %30, %31 | |
| %33:i32 = var | |
| %34:i32 = phi %9, %32, %33 | |
| %35:i32 = var | |
| %36:i32 = phi %8, %34, %35 | |
| %37:i32 = phi %6, %7, %36 | |
| %38:i32 = var | |
| %39:i32 = phi %5, %37, %38 | |
| %40:i32 = var | |
| %41:i32 = phi %4, %39, %40 | |
| %42:i32 = var | |
| %43:i32 = phi %3, %41, %42 | |
| %44:i32 = var | |
| %45:i32 = phi %2, %43, %44 | |
| %46:i32 = var | |
| %47:i32 = phi %1, %45, %46 | |
| %48:i32 = var | |
| %49:i32 = phi %0, %47, %48 | |
| %50:i32 = and 1052672:i32, %49 | |
| infer %50 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7:i32 = var | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16 = block 3 | |
| %17:i32 = var | |
| %18:i32 = var | |
| %19:i32 = var | |
| %20:i32 = phi %16, %17, %18, %19 | |
| %21:i32 = var | |
| %22:i32 = phi %15, %20, %21 | |
| %23:i32 = var | |
| %24:i32 = phi %14, %22, %23 | |
| %25:i32 = var | |
| %26:i32 = phi %13, %24, %25 | |
| %27:i32 = var | |
| %28:i32 = phi %12, %26, %27 | |
| %29:i32 = var | |
| %30:i32 = phi %11, %28, %29 | |
| %31:i32 = var | |
| %32:i32 = phi %10, %30, %31 | |
| %33:i32 = var | |
| %34:i32 = phi %9, %32, %33 | |
| %35:i32 = var | |
| %36:i32 = phi %8, %34, %35 | |
| %37:i32 = phi %6, %7, %36 | |
| %38:i32 = var | |
| %39:i32 = phi %5, %37, %38 | |
| %40:i32 = var | |
| %41:i32 = phi %4, %39, %40 | |
| %42:i32 = var | |
| %43:i32 = phi %3, %41, %42 | |
| %44:i32 = var | |
| %45:i32 = phi %2, %43, %44 | |
| %46:i32 = var | |
| %47:i32 = phi %1, %45, %46 | |
| %48:i32 = var | |
| %49:i32 = phi %0, %47, %48 | |
| infer %49 (demandedBits=11111111110100011001001000111100) | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7:i32 = var | |
| %8:i32 = var | |
| %9:i32 = phi %6, %7, %8 | |
| %10:i32 = var | |
| %11:i32 = phi %5, %9, %10 | |
| %12:i32 = var | |
| %13:i32 = phi %4, %11, %12 | |
| %14:i32 = var | |
| %15:i32 = phi %3, %13, %14 | |
| %16:i32 = var | |
| %17:i32 = phi %2, %15, %16 | |
| %18:i32 = var | |
| %19:i32 = phi %1, %17, %18 | |
| %20:i32 = var | |
| %21:i32 = phi %0, %19, %20 | |
| %22:i32 = and 65536:i32, %21 | |
| %23:i1 = eq 0:i32, %22 | |
| infer %23 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7:i32 = var | |
| %8:i32 = var | |
| %9:i32 = phi %6, %7, %8 | |
| %10:i32 = var | |
| %11:i32 = phi %5, %9, %10 | |
| %12:i32 = var | |
| %13:i32 = phi %4, %11, %12 | |
| %14:i32 = var | |
| %15:i32 = phi %3, %13, %14 | |
| %16:i32 = var | |
| %17:i32 = phi %2, %15, %16 | |
| %18:i32 = var | |
| %19:i32 = phi %1, %17, %18 | |
| %20:i32 = var | |
| %21:i32 = phi %0, %19, %20 | |
| %22:i32 = and 65536:i32, %21 | |
| infer %22 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7:i32 = var | |
| %8:i32 = var | |
| %9:i32 = phi %6, %7, %8 | |
| %10:i32 = var | |
| %11:i32 = phi %5, %9, %10 | |
| %12:i32 = var | |
| %13:i32 = phi %4, %11, %12 | |
| %14:i32 = var | |
| %15:i32 = phi %3, %13, %14 | |
| %16:i32 = var | |
| %17:i32 = phi %2, %15, %16 | |
| %18:i32 = var | |
| %19:i32 = phi %1, %17, %18 | |
| %20:i32 = var | |
| %21:i32 = phi %0, %19, %20 | |
| infer %21 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7:i8 = phi %6, 0:i8, 1:i8 | |
| %8:i8 = phi %5, 0:i8, %7 | |
| %9:i8 = phi %4, 0:i8, %8 | |
| %10:i8 = phi %3, 0:i8, %9 | |
| %11:i8 = phi %2, 0:i8, %10 | |
| %12:i8 = phi %1, 0:i8, %11 | |
| %13:i8 = phi %0, %12, 0:i8 | |
| %14:i8 = and 1:i8, %13 | |
| %15:i1 = eq 0:i8, %14 | |
| infer %15 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7:i8 = phi %6, 0:i8, 1:i8 | |
| %8:i8 = phi %5, 0:i8, %7 | |
| %9:i8 = phi %4, 0:i8, %8 | |
| %10:i8 = phi %3, 0:i8, %9 | |
| %11:i8 = phi %2, 0:i8, %10 | |
| %12:i8 = phi %1, 0:i8, %11 | |
| %13:i8 = phi %0, %12, 0:i8 | |
| %14:i8 = and 1:i8, %13 | |
| infer %14 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7:i8 = phi %6, 0:i8, 1:i8 | |
| %8:i8 = phi %5, 0:i8, %7 | |
| %9:i8 = phi %4, 0:i8, %8 | |
| %10:i8 = phi %3, 0:i8, %9 | |
| %11:i8 = phi %2, 0:i8, %10 | |
| %12:i8 = phi %1, 0:i8, %11 | |
| %13:i8 = phi %0, %12, 0:i8 | |
| infer %13 (demandedBits=00000001) | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7:i8 = phi %6, 0:i8, 1:i8 | |
| %8:i8 = phi %5, 0:i8, %7 | |
| %9:i8 = phi %4, 0:i8, %8 | |
| %10:i8 = phi %3, 0:i8, %9 | |
| %11:i8 = phi %2, 0:i8, %10 | |
| %12:i8 = phi %1, 0:i8, %11 | |
| %13:i8 = phi %0, 0:i8, %12 | |
| %14:i8 = and 1:i8, %13 | |
| %15:i1 = eq 0:i8, %14 | |
| infer %15 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7:i8 = phi %6, 0:i8, 1:i8 | |
| %8:i8 = phi %5, 0:i8, %7 | |
| %9:i8 = phi %4, 0:i8, %8 | |
| %10:i8 = phi %3, 0:i8, %9 | |
| %11:i8 = phi %2, 0:i8, %10 | |
| %12:i8 = phi %1, 0:i8, %11 | |
| %13:i8 = phi %0, 0:i8, %12 | |
| %14:i8 = and 1:i8, %13 | |
| infer %14 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7:i8 = phi %6, 0:i8, 1:i8 | |
| %8:i8 = phi %5, 0:i8, %7 | |
| %9:i8 = phi %4, 0:i8, %8 | |
| %10:i8 = phi %3, 0:i8, %9 | |
| %11:i8 = phi %2, 0:i8, %10 | |
| %12:i8 = phi %1, 0:i8, %11 | |
| %13:i8 = phi %0, 0:i8, %12 | |
| infer %13 (demandedBits=00000001) | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7:i8 = phi %6, 1:i8, 0:i8 | |
| %8:i8 = phi %5, %7, 0:i8 | |
| %9:i8 = phi %4, %8, 0:i8 | |
| %10:i8 = phi %3, %9, 0:i8 | |
| %11:i8 = phi %2, %10, 0:i8 | |
| %12:i8 = phi %1, %11, 0:i8 | |
| %13:i8 = phi %0, %12, 0:i8 | |
| %14:i1 = eq 0:i8, %13 | |
| infer %14 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7:i8 = phi %6, 1:i8, 0:i8 | |
| %8:i8 = phi %5, %7, 0:i8 | |
| %9:i8 = phi %4, %8, 0:i8 | |
| %10:i8 = phi %3, %9, 0:i8 | |
| %11:i8 = phi %2, %10, 0:i8 | |
| %12:i8 = phi %1, %11, 0:i8 | |
| %13:i8 = phi %0, %12, 0:i8 | |
| infer %13 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 3 | |
| %7:i32 = var | |
| %8:i32 = var | |
| %9:i32 = var | |
| %10:i32 = phi %6, %7, %8, %9 | |
| %11:i32 = var | |
| %12:i32 = phi %5, %10, %11 | |
| %13:i32 = var | |
| %14:i32 = phi %4, %12, %13 | |
| %15:i32 = var | |
| %16:i32 = phi %3, %14, %15 | |
| %17:i32 = var | |
| %18:i32 = phi %2, %16, %17 | |
| %19:i32 = var | |
| %20:i32 = phi %1, %18, %19 | |
| %21:i32 = var | |
| %22:i32 = phi %0, %20, %21 | |
| %23:i32 = and 65536:i32, %22 | |
| %24:i1 = eq 0:i32, %23 | |
| infer %24 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 3 | |
| %7:i32 = var | |
| %8:i32 = var | |
| %9:i32 = var | |
| %10:i32 = phi %6, %7, %8, %9 | |
| %11:i32 = var | |
| %12:i32 = phi %5, %10, %11 | |
| %13:i32 = var | |
| %14:i32 = phi %4, %12, %13 | |
| %15:i32 = var | |
| %16:i32 = phi %3, %14, %15 | |
| %17:i32 = var | |
| %18:i32 = phi %2, %16, %17 | |
| %19:i32 = var | |
| %20:i32 = phi %1, %18, %19 | |
| %21:i32 = var | |
| %22:i32 = phi %0, %20, %21 | |
| %23:i32 = and 65536:i32, %22 | |
| infer %23 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 3 | |
| %7:i32 = var | |
| %8:i32 = var | |
| %9:i32 = var | |
| %10:i32 = phi %6, %7, %8, %9 | |
| %11:i32 = var | |
| %12:i32 = phi %5, %10, %11 | |
| %13:i32 = var | |
| %14:i32 = phi %4, %12, %13 | |
| %15:i32 = var | |
| %16:i32 = phi %3, %14, %15 | |
| %17:i32 = var | |
| %18:i32 = phi %2, %16, %17 | |
| %19:i32 = var | |
| %20:i32 = phi %1, %18, %19 | |
| %21:i32 = var | |
| %22:i32 = phi %0, %20, %21 | |
| infer %22 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 3 | |
| %7:i8 = phi %6, 1:i8, 0:i8, 0:i8 | |
| %8:i8 = phi %5, %7, 0:i8 | |
| %9:i8 = phi %4, %8, 0:i8 | |
| %10:i8 = phi %3, %9, 0:i8 | |
| %11:i8 = phi %2, %10, 0:i8 | |
| %12:i8 = phi %1, %11, 0:i8 | |
| %13:i8 = phi %0, %12, 0:i8 | |
| %14:i1 = eq 0:i8, %13 | |
| infer %14 | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 3 | |
| %7:i8 = phi %6, 1:i8, 0:i8, 0:i8 | |
| %8:i8 = phi %5, %7, 0:i8 | |
| %9:i8 = phi %4, %8, 0:i8 | |
| %10:i8 = phi %3, %9, 0:i8 | |
| %11:i8 = phi %2, %10, 0:i8 | |
| %12:i8 = phi %1, %11, 0:i8 | |
| %13:i8 = phi %0, %12, 0:i8 | |
| infer %13 | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6:i32 = var | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16:i32 = var | |
| %17:i32 = var | |
| %18:i32 = phi %15, %16, %17 | |
| %19:i32 = var | |
| %20:i32 = phi %14, %18, %19 | |
| %21:i32 = var | |
| %22:i32 = phi %13, %20, %21 | |
| %23:i32 = var | |
| %24:i32 = phi %12, %22, %23 | |
| %25:i32 = var | |
| %26:i32 = phi %11, %24, %25 | |
| %27:i32 = var | |
| %28:i32 = phi %10, %26, %27 | |
| %29:i32 = var | |
| %30:i32 = phi %9, %28, %29 | |
| %31:i32 = var | |
| %32:i32 = phi %8, %30, %31 | |
| %33:i32 = var | |
| %34:i32 = phi %7, %32, %33 | |
| %35:i32 = phi %5, %6, %34 | |
| %36:i32 = var | |
| %37:i32 = phi %4, %35, %36 | |
| %38:i32 = var | |
| %39:i32 = phi %3, %37, %38 | |
| %40:i32 = var | |
| %41:i32 = phi %2, %39, %40 | |
| %42:i32 = var | |
| %43:i32 = phi %1, %41, %42 | |
| %44:i32 = var | |
| %45:i32 = phi %0, %43, %44 | |
| %46:i32 = and 2097152:i32, %45 | |
| %47:i1 = eq 0:i32, %46 | |
| infer %47 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6:i32 = var | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16:i32 = var | |
| %17:i32 = var | |
| %18:i32 = phi %15, %16, %17 | |
| %19:i32 = var | |
| %20:i32 = phi %14, %18, %19 | |
| %21:i32 = var | |
| %22:i32 = phi %13, %20, %21 | |
| %23:i32 = var | |
| %24:i32 = phi %12, %22, %23 | |
| %25:i32 = var | |
| %26:i32 = phi %11, %24, %25 | |
| %27:i32 = var | |
| %28:i32 = phi %10, %26, %27 | |
| %29:i32 = var | |
| %30:i32 = phi %9, %28, %29 | |
| %31:i32 = var | |
| %32:i32 = phi %8, %30, %31 | |
| %33:i32 = var | |
| %34:i32 = phi %7, %32, %33 | |
| %35:i32 = phi %5, %6, %34 | |
| %36:i32 = var | |
| %37:i32 = phi %4, %35, %36 | |
| %38:i32 = var | |
| %39:i32 = phi %3, %37, %38 | |
| %40:i32 = var | |
| %41:i32 = phi %2, %39, %40 | |
| %42:i32 = var | |
| %43:i32 = phi %1, %41, %42 | |
| %44:i32 = var | |
| %45:i32 = phi %0, %43, %44 | |
| %46:i32 = and 2097152:i32, %45 | |
| infer %46 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6:i32 = var | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 2 | |
| %16:i32 = var | |
| %17:i32 = var | |
| %18:i32 = phi %15, %16, %17 | |
| %19:i32 = var | |
| %20:i32 = phi %14, %18, %19 | |
| %21:i32 = var | |
| %22:i32 = phi %13, %20, %21 | |
| %23:i32 = var | |
| %24:i32 = phi %12, %22, %23 | |
| %25:i32 = var | |
| %26:i32 = phi %11, %24, %25 | |
| %27:i32 = var | |
| %28:i32 = phi %10, %26, %27 | |
| %29:i32 = var | |
| %30:i32 = phi %9, %28, %29 | |
| %31:i32 = var | |
| %32:i32 = phi %8, %30, %31 | |
| %33:i32 = var | |
| %34:i32 = phi %7, %32, %33 | |
| %35:i32 = phi %5, %6, %34 | |
| %36:i32 = var | |
| %37:i32 = phi %4, %35, %36 | |
| %38:i32 = var | |
| %39:i32 = phi %3, %37, %38 | |
| %40:i32 = var | |
| %41:i32 = phi %2, %39, %40 | |
| %42:i32 = var | |
| %43:i32 = phi %1, %41, %42 | |
| %44:i32 = var | |
| %45:i32 = phi %0, %43, %44 | |
| infer %45 (demandedBits=11111111111100011001001000111100) | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6:i32 = var | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 3 | |
| %16:i32 = var | |
| %17:i32 = var | |
| %18:i32 = var | |
| %19:i32 = phi %15, %16, %17, %18 | |
| %20:i32 = var | |
| %21:i32 = phi %14, %19, %20 | |
| %22:i32 = var | |
| %23:i32 = phi %13, %21, %22 | |
| %24:i32 = var | |
| %25:i32 = phi %12, %23, %24 | |
| %26:i32 = var | |
| %27:i32 = phi %11, %25, %26 | |
| %28:i32 = var | |
| %29:i32 = phi %10, %27, %28 | |
| %30:i32 = var | |
| %31:i32 = phi %9, %29, %30 | |
| %32:i32 = var | |
| %33:i32 = phi %8, %31, %32 | |
| %34:i32 = var | |
| %35:i32 = phi %7, %33, %34 | |
| %36:i32 = phi %5, %6, %35 | |
| %37:i32 = var | |
| %38:i32 = phi %4, %36, %37 | |
| %39:i32 = var | |
| %40:i32 = phi %3, %38, %39 | |
| %41:i32 = var | |
| %42:i32 = phi %2, %40, %41 | |
| %43:i32 = var | |
| %44:i32 = phi %1, %42, %43 | |
| %45:i32 = var | |
| %46:i32 = phi %0, %44, %45 | |
| %47:i32 = and 2097152:i32, %46 | |
| %48:i1 = eq 0:i32, %47 | |
| infer %48 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6:i32 = var | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 3 | |
| %16:i32 = var | |
| %17:i32 = var | |
| %18:i32 = var | |
| %19:i32 = phi %15, %16, %17, %18 | |
| %20:i32 = var | |
| %21:i32 = phi %14, %19, %20 | |
| %22:i32 = var | |
| %23:i32 = phi %13, %21, %22 | |
| %24:i32 = var | |
| %25:i32 = phi %12, %23, %24 | |
| %26:i32 = var | |
| %27:i32 = phi %11, %25, %26 | |
| %28:i32 = var | |
| %29:i32 = phi %10, %27, %28 | |
| %30:i32 = var | |
| %31:i32 = phi %9, %29, %30 | |
| %32:i32 = var | |
| %33:i32 = phi %8, %31, %32 | |
| %34:i32 = var | |
| %35:i32 = phi %7, %33, %34 | |
| %36:i32 = phi %5, %6, %35 | |
| %37:i32 = var | |
| %38:i32 = phi %4, %36, %37 | |
| %39:i32 = var | |
| %40:i32 = phi %3, %38, %39 | |
| %41:i32 = var | |
| %42:i32 = phi %2, %40, %41 | |
| %43:i32 = var | |
| %44:i32 = phi %1, %42, %43 | |
| %45:i32 = var | |
| %46:i32 = phi %0, %44, %45 | |
| %47:i32 = and 2097152:i32, %46 | |
| infer %47 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6:i32 = var | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15 = block 3 | |
| %16:i32 = var | |
| %17:i32 = var | |
| %18:i32 = var | |
| %19:i32 = phi %15, %16, %17, %18 | |
| %20:i32 = var | |
| %21:i32 = phi %14, %19, %20 | |
| %22:i32 = var | |
| %23:i32 = phi %13, %21, %22 | |
| %24:i32 = var | |
| %25:i32 = phi %12, %23, %24 | |
| %26:i32 = var | |
| %27:i32 = phi %11, %25, %26 | |
| %28:i32 = var | |
| %29:i32 = phi %10, %27, %28 | |
| %30:i32 = var | |
| %31:i32 = phi %9, %29, %30 | |
| %32:i32 = var | |
| %33:i32 = phi %8, %31, %32 | |
| %34:i32 = var | |
| %35:i32 = phi %7, %33, %34 | |
| %36:i32 = phi %5, %6, %35 | |
| %37:i32 = var | |
| %38:i32 = phi %4, %36, %37 | |
| %39:i32 = var | |
| %40:i32 = phi %3, %38, %39 | |
| %41:i32 = var | |
| %42:i32 = phi %2, %40, %41 | |
| %43:i32 = var | |
| %44:i32 = phi %1, %42, %43 | |
| %45:i32 = var | |
| %46:i32 = phi %0, %44, %45 | |
| infer %46 (demandedBits=11111111111100011001001000111100) | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6:i32 = var | |
| %7:i32 = var | |
| %8:i32 = phi %5, %6, %7 | |
| %9:i32 = var | |
| %10:i32 = phi %4, %8, %9 | |
| %11:i32 = var | |
| %12:i32 = phi %3, %10, %11 | |
| %13:i32 = var | |
| %14:i32 = phi %2, %12, %13 | |
| %15:i32 = var | |
| %16:i32 = phi %1, %14, %15 | |
| %17:i32 = var | |
| %18:i32 = phi %0, %16, %17 | |
| %19:i32 = and 16384:i32, %18 | |
| %20:i1 = eq 0:i32, %19 | |
| infer %20 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6:i32 = var | |
| %7:i32 = var | |
| %8:i32 = phi %5, %6, %7 | |
| %9:i32 = var | |
| %10:i32 = phi %4, %8, %9 | |
| %11:i32 = var | |
| %12:i32 = phi %3, %10, %11 | |
| %13:i32 = var | |
| %14:i32 = phi %2, %12, %13 | |
| %15:i32 = var | |
| %16:i32 = phi %1, %14, %15 | |
| %17:i32 = var | |
| %18:i32 = phi %0, %16, %17 | |
| %19:i32 = and 16384:i32, %18 | |
| infer %19 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6:i32 = var | |
| %7:i32 = var | |
| %8:i32 = phi %5, %6, %7 | |
| %9:i32 = var | |
| %10:i32 = phi %4, %8, %9 | |
| %11:i32 = var | |
| %12:i32 = phi %3, %10, %11 | |
| %13:i32 = var | |
| %14:i32 = phi %2, %12, %13 | |
| %15:i32 = var | |
| %16:i32 = phi %1, %14, %15 | |
| %17:i32 = var | |
| %18:i32 = phi %0, %16, %17 | |
| infer %18 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6:i64 = phi %5, 64:i64, 32:i64 | |
| %7:i64 = addnsw 18446744073709551600:i64, %6 | |
| %8:i64 = phi %4, %6, %7 | |
| %9:i64 = addnsw 18446744073709551608:i64, %8 | |
| %10:i64 = phi %3, %8, %9 | |
| %11:i64 = addnsw 18446744073709551612:i64, %10 | |
| %12:i64 = phi %2, %10, %11 | |
| %13:i64 = add 18446744073709551614:i64, %12 | |
| %14:i64 = phi %1, %12, %13 | |
| %15:i64 = var | |
| %16:i64 = lshr %15, 32:i64 | |
| %17:i64 = phi %5, %15, %16 | |
| %18:i64 = lshr %17, 16:i64 | |
| %19:i64 = phi %4, %17, %18 | |
| %20:i64 = lshr %19, 8:i64 | |
| %21:i64 = phi %3, %19, %20 | |
| %22:i64 = lshr %21, 4:i64 | |
| %23:i64 = phi %2, %21, %22 | |
| %24:i64 = lshr %23, 2:i64 | |
| %25:i64 = phi %1, %23, %24 | |
| %26:i64 = sub %14, %25 | |
| %27:i64 = add 18446744073709551614:i64, %14 | |
| %28:i64 = phi %0, %26, %27 | |
| infer %28 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6:i8 = phi %5, 0:i8, 1:i8 | |
| %7:i8 = phi %4, 0:i8, %6 | |
| %8:i8 = phi %3, 0:i8, %7 | |
| %9:i8 = phi %2, 0:i8, %8 | |
| %10:i8 = phi %1, 0:i8, %9 | |
| %11:i8 = phi %0, 0:i8, %10 | |
| %12:i8 = and 1:i8, %11 | |
| %13:i1 = eq 0:i8, %12 | |
| infer %13 | |
| > | |
| <noinfer> <> | |
| <sprofile > <5> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6:i8 = phi %5, 0:i8, 1:i8 | |
| %7:i8 = phi %4, 0:i8, %6 | |
| %8:i8 = phi %3, 0:i8, %7 | |
| %9:i8 = phi %2, 0:i8, %8 | |
| %10:i8 = phi %1, 0:i8, %9 | |
| %11:i8 = phi %0, 0:i8, %10 | |
| %12:i8 = and 1:i8, %11 | |
| infer %12 | |
| > | |
| <noinfer> <> | |
| <sprofile > <5> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6:i8 = phi %5, 0:i8, 1:i8 | |
| %7:i8 = phi %4, 0:i8, %6 | |
| %8:i8 = phi %3, 0:i8, %7 | |
| %9:i8 = phi %2, 0:i8, %8 | |
| %10:i8 = phi %1, 0:i8, %9 | |
| %11:i8 = phi %0, 0:i8, %10 | |
| infer %11 (demandedBits=00000001) | |
| > | |
| <noinfer> <> | |
| <sprofile > <5> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6:i8 = phi %5, 1:i8, 0:i8 | |
| %7:i8 = phi %4, %6, 0:i8 | |
| %8:i8 = phi %3, %7, 0:i8 | |
| %9:i8 = phi %2, %8, 0:i8 | |
| %10:i8 = phi %1, %9, 0:i8 | |
| %11:i8 = phi %0, %10, 0:i8 | |
| %12:i1 = eq 0:i8, %11 | |
| infer %12 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6:i8 = phi %5, 1:i8, 0:i8 | |
| %7:i8 = phi %4, %6, 0:i8 | |
| %8:i8 = phi %3, %7, 0:i8 | |
| %9:i8 = phi %2, %8, 0:i8 | |
| %10:i8 = phi %1, %9, 0:i8 | |
| %11:i8 = phi %0, %10, 0:i8 | |
| infer %11 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 3 | |
| %6:i32 = var | |
| %7:i32 = var | |
| %8:i32 = var | |
| %9:i32 = phi %5, %6, %7, %8 | |
| %10:i32 = var | |
| %11:i32 = phi %4, %9, %10 | |
| %12:i32 = var | |
| %13:i32 = phi %3, %11, %12 | |
| %14:i32 = var | |
| %15:i32 = phi %2, %13, %14 | |
| %16:i32 = var | |
| %17:i32 = phi %1, %15, %16 | |
| %18:i32 = var | |
| %19:i32 = phi %0, %17, %18 | |
| %20:i32 = and 16384:i32, %19 | |
| %21:i1 = eq 0:i32, %20 | |
| infer %21 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 3 | |
| %6:i32 = var | |
| %7:i32 = var | |
| %8:i32 = var | |
| %9:i32 = phi %5, %6, %7, %8 | |
| %10:i32 = var | |
| %11:i32 = phi %4, %9, %10 | |
| %12:i32 = var | |
| %13:i32 = phi %3, %11, %12 | |
| %14:i32 = var | |
| %15:i32 = phi %2, %13, %14 | |
| %16:i32 = var | |
| %17:i32 = phi %1, %15, %16 | |
| %18:i32 = var | |
| %19:i32 = phi %0, %17, %18 | |
| %20:i32 = and 16384:i32, %19 | |
| infer %20 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 3 | |
| %6:i32 = var | |
| %7:i32 = var | |
| %8:i32 = var | |
| %9:i32 = phi %5, %6, %7, %8 | |
| %10:i32 = var | |
| %11:i32 = phi %4, %9, %10 | |
| %12:i32 = var | |
| %13:i32 = phi %3, %11, %12 | |
| %14:i32 = var | |
| %15:i32 = phi %2, %13, %14 | |
| %16:i32 = var | |
| %17:i32 = phi %1, %15, %16 | |
| %18:i32 = var | |
| %19:i32 = phi %0, %17, %18 | |
| infer %19 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 3 | |
| %6:i8 = phi %5, 1:i8, 0:i8, 0:i8 | |
| %7:i8 = phi %4, %6, 0:i8 | |
| %8:i8 = phi %3, %7, 0:i8 | |
| %9:i8 = phi %2, %8, 0:i8 | |
| %10:i8 = phi %1, %9, 0:i8 | |
| %11:i8 = phi %0, %10, 0:i8 | |
| %12:i1 = eq 0:i8, %11 | |
| infer %12 | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 3 | |
| %6:i8 = phi %5, 1:i8, 0:i8, 0:i8 | |
| %7:i8 = phi %4, %6, 0:i8 | |
| %8:i8 = phi %3, %7, 0:i8 | |
| %9:i8 = phi %2, %8, 0:i8 | |
| %10:i8 = phi %1, %9, 0:i8 | |
| %11:i8 = phi %0, %10, 0:i8 | |
| infer %11 | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5:i32 = var | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15:i32 = var | |
| %16:i32 = var | |
| %17:i32 = phi %14, %15, %16 | |
| %18:i32 = var | |
| %19:i32 = phi %13, %17, %18 | |
| %20:i32 = var | |
| %21:i32 = phi %12, %19, %20 | |
| %22:i32 = var | |
| %23:i32 = phi %11, %21, %22 | |
| %24:i32 = var | |
| %25:i32 = phi %10, %23, %24 | |
| %26:i32 = var | |
| %27:i32 = phi %9, %25, %26 | |
| %28:i32 = var | |
| %29:i32 = phi %8, %27, %28 | |
| %30:i32 = var | |
| %31:i32 = phi %7, %29, %30 | |
| %32:i32 = var | |
| %33:i32 = phi %6, %31, %32 | |
| %34:i32 = phi %4, %5, %33 | |
| %35:i32 = var | |
| %36:i32 = phi %3, %34, %35 | |
| %37:i32 = var | |
| %38:i32 = phi %2, %36, %37 | |
| %39:i32 = var | |
| %40:i32 = phi %1, %38, %39 | |
| %41:i32 = var | |
| %42:i32 = phi %0, %40, %41 | |
| %43:i32 = and 2048:i32, %42 | |
| %44:i1 = eq 0:i32, %43 | |
| infer %44 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5:i32 = var | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15:i32 = var | |
| %16:i32 = var | |
| %17:i32 = phi %14, %15, %16 | |
| %18:i32 = var | |
| %19:i32 = phi %13, %17, %18 | |
| %20:i32 = var | |
| %21:i32 = phi %12, %19, %20 | |
| %22:i32 = var | |
| %23:i32 = phi %11, %21, %22 | |
| %24:i32 = var | |
| %25:i32 = phi %10, %23, %24 | |
| %26:i32 = var | |
| %27:i32 = phi %9, %25, %26 | |
| %28:i32 = var | |
| %29:i32 = phi %8, %27, %28 | |
| %30:i32 = var | |
| %31:i32 = phi %7, %29, %30 | |
| %32:i32 = var | |
| %33:i32 = phi %6, %31, %32 | |
| %34:i32 = phi %4, %5, %33 | |
| %35:i32 = var | |
| %36:i32 = phi %3, %34, %35 | |
| %37:i32 = var | |
| %38:i32 = phi %2, %36, %37 | |
| %39:i32 = var | |
| %40:i32 = phi %1, %38, %39 | |
| %41:i32 = var | |
| %42:i32 = phi %0, %40, %41 | |
| %43:i32 = and 2048:i32, %42 | |
| infer %43 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5:i32 = var | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 2 | |
| %15:i32 = var | |
| %16:i32 = var | |
| %17:i32 = phi %14, %15, %16 | |
| %18:i32 = var | |
| %19:i32 = phi %13, %17, %18 | |
| %20:i32 = var | |
| %21:i32 = phi %12, %19, %20 | |
| %22:i32 = var | |
| %23:i32 = phi %11, %21, %22 | |
| %24:i32 = var | |
| %25:i32 = phi %10, %23, %24 | |
| %26:i32 = var | |
| %27:i32 = phi %9, %25, %26 | |
| %28:i32 = var | |
| %29:i32 = phi %8, %27, %28 | |
| %30:i32 = var | |
| %31:i32 = phi %7, %29, %30 | |
| %32:i32 = var | |
| %33:i32 = phi %6, %31, %32 | |
| %34:i32 = phi %4, %5, %33 | |
| %35:i32 = var | |
| %36:i32 = phi %3, %34, %35 | |
| %37:i32 = var | |
| %38:i32 = phi %2, %36, %37 | |
| %39:i32 = var | |
| %40:i32 = phi %1, %38, %39 | |
| %41:i32 = var | |
| %42:i32 = phi %0, %40, %41 | |
| infer %42 (demandedBits=11111111111100011001101000111100) | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5:i32 = var | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 3 | |
| %15:i32 = var | |
| %16:i32 = var | |
| %17:i32 = var | |
| %18:i32 = phi %14, %15, %16, %17 | |
| %19:i32 = var | |
| %20:i32 = phi %13, %18, %19 | |
| %21:i32 = var | |
| %22:i32 = phi %12, %20, %21 | |
| %23:i32 = var | |
| %24:i32 = phi %11, %22, %23 | |
| %25:i32 = var | |
| %26:i32 = phi %10, %24, %25 | |
| %27:i32 = var | |
| %28:i32 = phi %9, %26, %27 | |
| %29:i32 = var | |
| %30:i32 = phi %8, %28, %29 | |
| %31:i32 = var | |
| %32:i32 = phi %7, %30, %31 | |
| %33:i32 = var | |
| %34:i32 = phi %6, %32, %33 | |
| %35:i32 = phi %4, %5, %34 | |
| %36:i32 = var | |
| %37:i32 = phi %3, %35, %36 | |
| %38:i32 = var | |
| %39:i32 = phi %2, %37, %38 | |
| %40:i32 = var | |
| %41:i32 = phi %1, %39, %40 | |
| %42:i32 = var | |
| %43:i32 = phi %0, %41, %42 | |
| %44:i32 = and 2048:i32, %43 | |
| %45:i1 = eq 0:i32, %44 | |
| infer %45 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5:i32 = var | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 3 | |
| %15:i32 = var | |
| %16:i32 = var | |
| %17:i32 = var | |
| %18:i32 = phi %14, %15, %16, %17 | |
| %19:i32 = var | |
| %20:i32 = phi %13, %18, %19 | |
| %21:i32 = var | |
| %22:i32 = phi %12, %20, %21 | |
| %23:i32 = var | |
| %24:i32 = phi %11, %22, %23 | |
| %25:i32 = var | |
| %26:i32 = phi %10, %24, %25 | |
| %27:i32 = var | |
| %28:i32 = phi %9, %26, %27 | |
| %29:i32 = var | |
| %30:i32 = phi %8, %28, %29 | |
| %31:i32 = var | |
| %32:i32 = phi %7, %30, %31 | |
| %33:i32 = var | |
| %34:i32 = phi %6, %32, %33 | |
| %35:i32 = phi %4, %5, %34 | |
| %36:i32 = var | |
| %37:i32 = phi %3, %35, %36 | |
| %38:i32 = var | |
| %39:i32 = phi %2, %37, %38 | |
| %40:i32 = var | |
| %41:i32 = phi %1, %39, %40 | |
| %42:i32 = var | |
| %43:i32 = phi %0, %41, %42 | |
| %44:i32 = and 2048:i32, %43 | |
| infer %44 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5:i32 = var | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14 = block 3 | |
| %15:i32 = var | |
| %16:i32 = var | |
| %17:i32 = var | |
| %18:i32 = phi %14, %15, %16, %17 | |
| %19:i32 = var | |
| %20:i32 = phi %13, %18, %19 | |
| %21:i32 = var | |
| %22:i32 = phi %12, %20, %21 | |
| %23:i32 = var | |
| %24:i32 = phi %11, %22, %23 | |
| %25:i32 = var | |
| %26:i32 = phi %10, %24, %25 | |
| %27:i32 = var | |
| %28:i32 = phi %9, %26, %27 | |
| %29:i32 = var | |
| %30:i32 = phi %8, %28, %29 | |
| %31:i32 = var | |
| %32:i32 = phi %7, %30, %31 | |
| %33:i32 = var | |
| %34:i32 = phi %6, %32, %33 | |
| %35:i32 = phi %4, %5, %34 | |
| %36:i32 = var | |
| %37:i32 = phi %3, %35, %36 | |
| %38:i32 = var | |
| %39:i32 = phi %2, %37, %38 | |
| %40:i32 = var | |
| %41:i32 = phi %1, %39, %40 | |
| %42:i32 = var | |
| %43:i32 = phi %0, %41, %42 | |
| infer %43 (demandedBits=11111111111100011001101000111100) | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5:i32 = var | |
| %6:i32 = var | |
| %7:i32 = phi %4, %5, %6 | |
| %8:i32 = var | |
| %9:i32 = phi %3, %7, %8 | |
| %10:i32 = var | |
| %11:i32 = phi %2, %9, %10 | |
| %12:i32 = var | |
| %13:i32 = phi %1, %11, %12 | |
| %14:i32 = var | |
| %15:i32 = phi %0, %13, %14 | |
| %16:i32 = and 64:i32, %15 | |
| %17:i1 = eq 0:i32, %16 | |
| infer %17 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5:i32 = var | |
| %6:i32 = var | |
| %7:i32 = phi %4, %5, %6 | |
| %8:i32 = var | |
| %9:i32 = phi %3, %7, %8 | |
| %10:i32 = var | |
| %11:i32 = phi %2, %9, %10 | |
| %12:i32 = var | |
| %13:i32 = phi %1, %11, %12 | |
| %14:i32 = var | |
| %15:i32 = phi %0, %13, %14 | |
| %16:i32 = and 64:i32, %15 | |
| infer %16 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5:i32 = var | |
| %6:i32 = var | |
| %7:i32 = phi %4, %5, %6 | |
| %8:i32 = var | |
| %9:i32 = phi %3, %7, %8 | |
| %10:i32 = var | |
| %11:i32 = phi %2, %9, %10 | |
| %12:i32 = var | |
| %13:i32 = phi %1, %11, %12 | |
| %14:i32 = var | |
| %15:i32 = phi %0, %13, %14 | |
| infer %15 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5:i64 = phi %4, 64:i64, 32:i64 | |
| %6:i64 = addnsw 18446744073709551600:i64, %5 | |
| %7:i64 = phi %3, %5, %6 | |
| %8:i64 = addnsw 18446744073709551608:i64, %7 | |
| %9:i64 = phi %2, %7, %8 | |
| %10:i64 = addnsw 18446744073709551612:i64, %9 | |
| %11:i64 = phi %1, %9, %10 | |
| %12:i64 = add 18446744073709551614:i64, %11 | |
| %13:i64 = phi %0, %11, %12 | |
| %14:i64 = add 18446744073709551614:i64, %13 | |
| infer %14 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5:i64 = phi %4, 64:i64, 32:i64 | |
| %6:i64 = addnsw 18446744073709551600:i64, %5 | |
| %7:i64 = phi %3, %5, %6 | |
| %8:i64 = addnsw 18446744073709551608:i64, %7 | |
| %9:i64 = phi %2, %7, %8 | |
| %10:i64 = addnsw 18446744073709551612:i64, %9 | |
| %11:i64 = phi %1, %9, %10 | |
| %12:i64 = add 18446744073709551614:i64, %11 | |
| %13:i64 = phi %0, %11, %12 | |
| infer %13 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5:i64 = var | |
| %6:i64 = lshr %5, 32:i64 | |
| %7:i64 = phi %4, %5, %6 | |
| %8:i64 = lshr %7, 16:i64 | |
| %9:i64 = phi %3, %7, %8 | |
| %10:i64 = lshr %9, 8:i64 | |
| %11:i64 = phi %2, %9, %10 | |
| %12:i64 = lshr %11, 4:i64 | |
| %13:i64 = phi %1, %11, %12 | |
| %14:i64 = lshr %13, 2:i64 | |
| %15:i64 = phi %0, %13, %14 | |
| %16:i1 = ult %15, 2:i64 | |
| infer %16 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5:i64 = var | |
| %6:i64 = lshr %5, 32:i64 | |
| %7:i64 = phi %4, %5, %6 | |
| %8:i64 = lshr %7, 16:i64 | |
| %9:i64 = phi %3, %7, %8 | |
| %10:i64 = lshr %9, 8:i64 | |
| %11:i64 = phi %2, %9, %10 | |
| %12:i64 = lshr %11, 4:i64 | |
| %13:i64 = phi %1, %11, %12 | |
| %14:i64 = lshr %13, 2:i64 | |
| %15:i64 = phi %0, %13, %14 | |
| %16:i1 = ult %15, 2:i64 | |
| pc %16 1:i1 | |
| %17:i64 = phi %4, 64:i64, 32:i64 | |
| %18:i64 = addnsw 18446744073709551600:i64, %17 | |
| %19:i64 = phi %3, %17, %18 | |
| %20:i64 = addnsw 18446744073709551608:i64, %19 | |
| %21:i64 = phi %2, %19, %20 | |
| %22:i64 = addnsw 18446744073709551612:i64, %21 | |
| %23:i64 = phi %1, %21, %22 | |
| %24:i64 = add 18446744073709551614:i64, %23 | |
| %25:i64 = phi %0, %23, %24 | |
| %26:i64 = sub %25, %15 | |
| infer %26 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5:i64 = var | |
| %6:i64 = lshr %5, 32:i64 | |
| %7:i64 = phi %4, %5, %6 | |
| %8:i64 = lshr %7, 16:i64 | |
| %9:i64 = phi %3, %7, %8 | |
| %10:i64 = lshr %9, 8:i64 | |
| %11:i64 = phi %2, %9, %10 | |
| %12:i64 = lshr %11, 4:i64 | |
| %13:i64 = phi %1, %11, %12 | |
| %14:i64 = lshr %13, 2:i64 (hasExternalUses) | |
| %15:i64 = phi %0, %13, %14 | |
| infer %15 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5:i8 = phi %4, 0:i8, 1:i8 | |
| %6:i8 = phi %3, 0:i8, %5 | |
| %7:i8 = phi %2, 0:i8, %6 | |
| %8:i8 = phi %1, 0:i8, %7 | |
| %9:i8 = phi %0, %8, 0:i8 | |
| %10:i8 = and 1:i8, %9 | |
| %11:i1 = eq 0:i8, %10 | |
| infer %11 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5:i8 = phi %4, 0:i8, 1:i8 | |
| %6:i8 = phi %3, 0:i8, %5 | |
| %7:i8 = phi %2, 0:i8, %6 | |
| %8:i8 = phi %1, 0:i8, %7 | |
| %9:i8 = phi %0, %8, 0:i8 | |
| %10:i8 = and 1:i8, %9 | |
| infer %10 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5:i8 = phi %4, 0:i8, 1:i8 | |
| %6:i8 = phi %3, 0:i8, %5 | |
| %7:i8 = phi %2, 0:i8, %6 | |
| %8:i8 = phi %1, 0:i8, %7 | |
| %9:i8 = phi %0, %8, 0:i8 | |
| infer %9 (demandedBits=00000001) | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5:i8 = phi %4, 0:i8, 1:i8 | |
| %6:i8 = phi %3, 0:i8, %5 | |
| %7:i8 = phi %2, 0:i8, %6 | |
| %8:i8 = phi %1, 0:i8, %7 | |
| %9:i8 = phi %0, 0:i8, %8 | |
| %10:i8 = and 1:i8, %9 | |
| %11:i1 = eq 0:i8, %10 | |
| infer %11 | |
| > | |
| <noinfer> <> | |
| <sprofile > <5> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5:i8 = phi %4, 0:i8, 1:i8 | |
| %6:i8 = phi %3, 0:i8, %5 | |
| %7:i8 = phi %2, 0:i8, %6 | |
| %8:i8 = phi %1, 0:i8, %7 | |
| %9:i8 = phi %0, 0:i8, %8 | |
| %10:i8 = and 1:i8, %9 | |
| infer %10 | |
| > | |
| <noinfer> <> | |
| <sprofile > <5> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5:i8 = phi %4, 0:i8, 1:i8 | |
| %6:i8 = phi %3, 0:i8, %5 | |
| %7:i8 = phi %2, 0:i8, %6 | |
| %8:i8 = phi %1, 0:i8, %7 | |
| %9:i8 = phi %0, 0:i8, %8 | |
| infer %9 (demandedBits=00000001) | |
| > | |
| <noinfer> <> | |
| <sprofile > <5> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5:i8 = phi %4, 1:i8, 0:i8 | |
| %6:i8 = phi %3, %5, 0:i8 | |
| %7:i8 = phi %2, %6, 0:i8 | |
| %8:i8 = phi %1, %7, 0:i8 | |
| %9:i8 = phi %0, %8, 0:i8 | |
| %10:i1 = eq 0:i8, %9 | |
| infer %10 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5:i8 = phi %4, 1:i8, 0:i8 | |
| %6:i8 = phi %3, %5, 0:i8 | |
| %7:i8 = phi %2, %6, 0:i8 | |
| %8:i8 = phi %1, %7, 0:i8 | |
| %9:i8 = phi %0, %8, 0:i8 | |
| infer %9 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 3 | |
| %5:i32 = var | |
| %6:i32 = var | |
| %7:i32 = var | |
| %8:i32 = phi %4, %5, %6, %7 | |
| %9:i32 = var | |
| %10:i32 = phi %3, %8, %9 | |
| %11:i32 = var | |
| %12:i32 = phi %2, %10, %11 | |
| %13:i32 = var | |
| %14:i32 = phi %1, %12, %13 | |
| %15:i32 = var | |
| %16:i32 = phi %0, %14, %15 | |
| %17:i32 = and 64:i32, %16 | |
| %18:i1 = eq 0:i32, %17 | |
| infer %18 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 3 | |
| %5:i32 = var | |
| %6:i32 = var | |
| %7:i32 = var | |
| %8:i32 = phi %4, %5, %6, %7 | |
| %9:i32 = var | |
| %10:i32 = phi %3, %8, %9 | |
| %11:i32 = var | |
| %12:i32 = phi %2, %10, %11 | |
| %13:i32 = var | |
| %14:i32 = phi %1, %12, %13 | |
| %15:i32 = var | |
| %16:i32 = phi %0, %14, %15 | |
| %17:i32 = and 64:i32, %16 | |
| infer %17 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 3 | |
| %5:i32 = var | |
| %6:i32 = var | |
| %7:i32 = var | |
| %8:i32 = phi %4, %5, %6, %7 | |
| %9:i32 = var | |
| %10:i32 = phi %3, %8, %9 | |
| %11:i32 = var | |
| %12:i32 = phi %2, %10, %11 | |
| %13:i32 = var | |
| %14:i32 = phi %1, %12, %13 | |
| %15:i32 = var | |
| %16:i32 = phi %0, %14, %15 | |
| infer %16 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 3 | |
| %5:i8 = phi %4, 1:i8, 0:i8, 0:i8 | |
| %6:i8 = phi %3, %5, 0:i8 | |
| %7:i8 = phi %2, %6, 0:i8 | |
| %8:i8 = phi %1, %7, 0:i8 | |
| %9:i8 = phi %0, %8, 0:i8 | |
| %10:i1 = eq 0:i8, %9 | |
| infer %10 | |
| > | |
| <noinfer> <> | |
| <sprofile > <10> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 3 | |
| %5:i8 = phi %4, 1:i8, 0:i8, 0:i8 | |
| %6:i8 = phi %3, %5, 0:i8 | |
| %7:i8 = phi %2, %6, 0:i8 | |
| %8:i8 = phi %1, %7, 0:i8 | |
| %9:i8 = phi %0, %8, 0:i8 | |
| infer %9 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4:i32 = var | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14:i32 = var | |
| %15:i32 = var | |
| %16:i32 = phi %13, %14, %15 | |
| %17:i32 = var | |
| %18:i32 = phi %12, %16, %17 | |
| %19:i32 = var | |
| %20:i32 = phi %11, %18, %19 | |
| %21:i32 = var | |
| %22:i32 = phi %10, %20, %21 | |
| %23:i32 = var | |
| %24:i32 = phi %9, %22, %23 | |
| %25:i32 = var | |
| %26:i32 = phi %8, %24, %25 | |
| %27:i32 = var | |
| %28:i32 = phi %7, %26, %27 | |
| %29:i32 = var | |
| %30:i32 = phi %6, %28, %29 | |
| %31:i32 = var | |
| %32:i32 = phi %5, %30, %31 | |
| %33:i32 = phi %3, %4, %32 | |
| %34:i32 = var | |
| %35:i32 = phi %2, %33, %34 | |
| %36:i32 = var | |
| %37:i32 = phi %1, %35, %36 | |
| %38:i32 = var | |
| %39:i32 = phi %0, %37, %38 | |
| %40:i32 = and 131072:i32, %39 | |
| %41:i1 = eq 0:i32, %40 | |
| infer %41 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4:i32 = var | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14:i32 = var | |
| %15:i32 = var | |
| %16:i32 = phi %13, %14, %15 | |
| %17:i32 = var | |
| %18:i32 = phi %12, %16, %17 | |
| %19:i32 = var | |
| %20:i32 = phi %11, %18, %19 | |
| %21:i32 = var | |
| %22:i32 = phi %10, %20, %21 | |
| %23:i32 = var | |
| %24:i32 = phi %9, %22, %23 | |
| %25:i32 = var | |
| %26:i32 = phi %8, %24, %25 | |
| %27:i32 = var | |
| %28:i32 = phi %7, %26, %27 | |
| %29:i32 = var | |
| %30:i32 = phi %6, %28, %29 | |
| %31:i32 = var | |
| %32:i32 = phi %5, %30, %31 | |
| %33:i32 = phi %3, %4, %32 | |
| %34:i32 = var | |
| %35:i32 = phi %2, %33, %34 | |
| %36:i32 = var | |
| %37:i32 = phi %1, %35, %36 | |
| %38:i32 = var | |
| %39:i32 = phi %0, %37, %38 | |
| %40:i32 = and 131072:i32, %39 | |
| infer %40 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4:i32 = var | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 2 | |
| %14:i32 = var | |
| %15:i32 = var | |
| %16:i32 = phi %13, %14, %15 | |
| %17:i32 = var | |
| %18:i32 = phi %12, %16, %17 | |
| %19:i32 = var | |
| %20:i32 = phi %11, %18, %19 | |
| %21:i32 = var | |
| %22:i32 = phi %10, %20, %21 | |
| %23:i32 = var | |
| %24:i32 = phi %9, %22, %23 | |
| %25:i32 = var | |
| %26:i32 = phi %8, %24, %25 | |
| %27:i32 = var | |
| %28:i32 = phi %7, %26, %27 | |
| %29:i32 = var | |
| %30:i32 = phi %6, %28, %29 | |
| %31:i32 = var | |
| %32:i32 = phi %5, %30, %31 | |
| %33:i32 = phi %3, %4, %32 | |
| %34:i32 = var | |
| %35:i32 = phi %2, %33, %34 | |
| %36:i32 = var | |
| %37:i32 = phi %1, %35, %36 | |
| %38:i32 = var | |
| %39:i32 = phi %0, %37, %38 | |
| infer %39 (demandedBits=11111111111100111001101000111100) | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4:i32 = var | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 3 | |
| %14:i32 = var | |
| %15:i32 = var | |
| %16:i32 = var | |
| %17:i32 = phi %13, %14, %15, %16 | |
| %18:i32 = var | |
| %19:i32 = phi %12, %17, %18 | |
| %20:i32 = var | |
| %21:i32 = phi %11, %19, %20 | |
| %22:i32 = var | |
| %23:i32 = phi %10, %21, %22 | |
| %24:i32 = var | |
| %25:i32 = phi %9, %23, %24 | |
| %26:i32 = var | |
| %27:i32 = phi %8, %25, %26 | |
| %28:i32 = var | |
| %29:i32 = phi %7, %27, %28 | |
| %30:i32 = var | |
| %31:i32 = phi %6, %29, %30 | |
| %32:i32 = var | |
| %33:i32 = phi %5, %31, %32 | |
| %34:i32 = phi %3, %4, %33 | |
| %35:i32 = var | |
| %36:i32 = phi %2, %34, %35 | |
| %37:i32 = var | |
| %38:i32 = phi %1, %36, %37 | |
| %39:i32 = var | |
| %40:i32 = phi %0, %38, %39 | |
| %41:i32 = and 131072:i32, %40 | |
| %42:i1 = eq 0:i32, %41 | |
| infer %42 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4:i32 = var | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 3 | |
| %14:i32 = var | |
| %15:i32 = var | |
| %16:i32 = var | |
| %17:i32 = phi %13, %14, %15, %16 | |
| %18:i32 = var | |
| %19:i32 = phi %12, %17, %18 | |
| %20:i32 = var | |
| %21:i32 = phi %11, %19, %20 | |
| %22:i32 = var | |
| %23:i32 = phi %10, %21, %22 | |
| %24:i32 = var | |
| %25:i32 = phi %9, %23, %24 | |
| %26:i32 = var | |
| %27:i32 = phi %8, %25, %26 | |
| %28:i32 = var | |
| %29:i32 = phi %7, %27, %28 | |
| %30:i32 = var | |
| %31:i32 = phi %6, %29, %30 | |
| %32:i32 = var | |
| %33:i32 = phi %5, %31, %32 | |
| %34:i32 = phi %3, %4, %33 | |
| %35:i32 = var | |
| %36:i32 = phi %2, %34, %35 | |
| %37:i32 = var | |
| %38:i32 = phi %1, %36, %37 | |
| %39:i32 = var | |
| %40:i32 = phi %0, %38, %39 | |
| %41:i32 = and 131072:i32, %40 | |
| infer %41 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4:i32 = var | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13 = block 3 | |
| %14:i32 = var | |
| %15:i32 = var | |
| %16:i32 = var | |
| %17:i32 = phi %13, %14, %15, %16 | |
| %18:i32 = var | |
| %19:i32 = phi %12, %17, %18 | |
| %20:i32 = var | |
| %21:i32 = phi %11, %19, %20 | |
| %22:i32 = var | |
| %23:i32 = phi %10, %21, %22 | |
| %24:i32 = var | |
| %25:i32 = phi %9, %23, %24 | |
| %26:i32 = var | |
| %27:i32 = phi %8, %25, %26 | |
| %28:i32 = var | |
| %29:i32 = phi %7, %27, %28 | |
| %30:i32 = var | |
| %31:i32 = phi %6, %29, %30 | |
| %32:i32 = var | |
| %33:i32 = phi %5, %31, %32 | |
| %34:i32 = phi %3, %4, %33 | |
| %35:i32 = var | |
| %36:i32 = phi %2, %34, %35 | |
| %37:i32 = var | |
| %38:i32 = phi %1, %36, %37 | |
| %39:i32 = var | |
| %40:i32 = phi %0, %38, %39 | |
| infer %40 (demandedBits=11111111111100111001101000111100) | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4:i32 = var | |
| %5:i32 = var | |
| %6:i32 = phi %3, %4, %5 | |
| %7:i32 = var | |
| %8:i32 = phi %2, %6, %7 | |
| %9:i32 = var | |
| %10:i32 = phi %1, %8, %9 | |
| %11:i32 = var | |
| %12:i32 = phi %0, %10, %11 | |
| %13:i32 = and 524288:i32, %12 | |
| %14:i1 = eq 0:i32, %13 | |
| infer %14 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4:i32 = var | |
| %5:i32 = var | |
| %6:i32 = phi %3, %4, %5 | |
| %7:i32 = var | |
| %8:i32 = phi %2, %6, %7 | |
| %9:i32 = var | |
| %10:i32 = phi %1, %8, %9 | |
| %11:i32 = var | |
| %12:i32 = phi %0, %10, %11 | |
| %13:i32 = and 524288:i32, %12 | |
| infer %13 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4:i32 = var | |
| %5:i32 = var | |
| %6:i32 = phi %3, %4, %5 | |
| %7:i32 = var | |
| %8:i32 = phi %2, %6, %7 | |
| %9:i32 = var | |
| %10:i32 = phi %1, %8, %9 | |
| %11:i32 = var | |
| %12:i32 = phi %0, %10, %11 | |
| infer %12 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4:i64 = phi %3, 64:i64, 32:i64 | |
| %5:i64 = addnsw 18446744073709551600:i64, %4 | |
| %6:i64 = phi %2, %4, %5 | |
| %7:i64 = addnsw 18446744073709551608:i64, %6 | |
| %8:i64 = phi %1, %6, %7 | |
| %9:i64 = addnsw 18446744073709551612:i64, %8 | |
| %10:i64 = phi %0, %8, %9 | |
| %11:i64 = add 18446744073709551614:i64, %10 | |
| infer %11 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4:i64 = phi %3, 64:i64, 32:i64 | |
| %5:i64 = addnsw 18446744073709551600:i64, %4 | |
| %6:i64 = phi %2, %4, %5 | |
| %7:i64 = addnsw 18446744073709551608:i64, %6 | |
| %8:i64 = phi %1, %6, %7 | |
| %9:i64 = addnsw 18446744073709551612:i64, %8 | |
| %10:i64 = phi %0, %8, %9 | |
| infer %10 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4:i64 = var | |
| %5:i64 = lshr %4, 32:i64 | |
| %6:i64 = phi %3, %4, %5 | |
| %7:i64 = lshr %6, 16:i64 | |
| %8:i64 = phi %2, %6, %7 | |
| %9:i64 = lshr %8, 8:i64 | |
| %10:i64 = phi %1, %8, %9 | |
| %11:i64 = lshr %10, 4:i64 | |
| %12:i64 = phi %0, %10, %11 | |
| %13:i64 = lshr %12, 2:i64 | |
| infer %13 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4:i64 = var | |
| %5:i64 = lshr %4, 32:i64 | |
| %6:i64 = phi %3, %4, %5 | |
| %7:i64 = lshr %6, 16:i64 | |
| %8:i64 = phi %2, %6, %7 | |
| %9:i64 = lshr %8, 8:i64 | |
| %10:i64 = phi %1, %8, %9 | |
| %11:i64 = lshr %10, 4:i64 | |
| %12:i64 = phi %0, %10, %11 | |
| %13:i64 = lshr %12, 2:i64 (hasExternalUses) | |
| %14:i1 = eq 0:i64, %13 | |
| infer %14 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4:i64 = var | |
| %5:i64 = lshr %4, 32:i64 | |
| %6:i64 = phi %3, %4, %5 | |
| %7:i64 = lshr %6, 16:i64 | |
| %8:i64 = phi %2, %6, %7 | |
| %9:i64 = lshr %8, 8:i64 | |
| %10:i64 = phi %1, %8, %9 | |
| %11:i64 = lshr %10, 4:i64 (hasExternalUses) | |
| %12:i64 = phi %0, %10, %11 | |
| infer %12 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4:i64 = var | |
| %5:i64 = var | |
| %6:i64 = add %4, %5 | |
| %7:i64 = add 18446744072757682816:i64, %6 | |
| %8:i64 = sdiv %7, 86400:i64 | |
| %9:i64 = addnsw 18446744073709551615:i64, %8 | |
| %10:i64 = phi %3, %9, %8 | |
| %11:i64 = srem %10, 146097:i64 | |
| %12:i64 = addnsw 146097:i64, %11 | |
| %13:i64 = phi %2, %12, %11 | |
| %14 = block 2 | |
| %15:i64 = sdiv %13, 36524:i64 | |
| %16:i64 = phi %14, 3:i64, %15 | |
| %17:i64 = mulnsw 18446744073709515092:i64, %16 | |
| %18:i64 = addnsw %13, %17 | |
| %19 = block 2 | |
| %20:i64 = sdiv %18, 1461:i64 | |
| %21:i64 = phi %19, 24:i64, %20 | |
| %22:i64 = mul 18446744073709550155:i64, %21 | |
| %23:i64 = add %18, %22 | |
| %24:i64 = sdiv %23, 365:i64 | |
| %25:i64 = phi %1, 3:i64, %24 | |
| %26:i64 = shlnsw %21, 2:i64 | |
| %27:i64 = addnsw %25, %26 | |
| %28:i64 = mulnsw 100:i64, %16 | |
| %29:i64 = addnsw %27, %28 | |
| %30:i64 = sdiv %10, 146097:i64 | |
| %31:i64 = addnsw 18446744073709551615:i64, %30 | |
| %32:i64 = phi %2, %31, %30 | |
| %33:i64 = mulnsw 400:i64, %32 | |
| %34:i64 = addnsw %29, %33 | |
| %35:i64 = addnsw 1:i64, %34 | |
| %36:i64 = phi %0, %35, %34 | |
| %37:i64 = add 100:i64, %36 | |
| infer %37 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4:i64 = var | |
| %5:i64 = var | |
| %6:i64 = add %4, %5 | |
| %7:i64 = add 18446744072757682816:i64, %6 | |
| %8:i64 = sdiv %7, 86400:i64 | |
| %9:i64 = addnsw 18446744073709551615:i64, %8 | |
| %10:i64 = phi %3, %9, %8 | |
| %11:i64 = srem %10, 146097:i64 | |
| %12:i64 = addnsw 146097:i64, %11 | |
| %13:i64 = phi %2, %12, %11 | |
| %14 = block 2 | |
| %15:i64 = sdiv %13, 36524:i64 | |
| %16:i64 = phi %14, 3:i64, %15 | |
| %17:i64 = mulnsw 18446744073709515092:i64, %16 | |
| %18:i64 = addnsw %13, %17 | |
| %19 = block 2 | |
| %20:i64 = sdiv %18, 1461:i64 | |
| %21:i64 = phi %19, 24:i64, %20 | |
| %22:i64 = mul 18446744073709550155:i64, %21 | |
| %23:i64 = add %18, %22 | |
| %24:i64 = sdiv %23, 365:i64 | |
| %25:i64 = phi %1, 3:i64, %24 | |
| %26:i64 = shlnsw %21, 2:i64 | |
| %27:i64 = addnsw %25, %26 | |
| %28:i64 = mulnsw 100:i64, %16 | |
| %29:i64 = addnsw %27, %28 | |
| %30:i64 = sdiv %10, 146097:i64 | |
| %31:i64 = addnsw 18446744073709551615:i64, %30 | |
| %32:i64 = phi %2, %31, %30 | |
| %33:i64 = mulnsw 400:i64, %32 | |
| %34:i64 = addnsw %29, %33 | |
| %35:i64 = addnsw 1:i64, %34 | |
| %36:i64 = phi %0, %35, %34 | |
| infer %36 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4:i8 = phi %3, 0:i8, 1:i8 | |
| %5:i8 = phi %2, 0:i8, %4 | |
| %6:i8 = phi %1, 0:i8, %5 | |
| %7:i8 = phi %0, %6, 0:i8 | |
| %8:i8 = and 1:i8, %7 | |
| %9:i1 = eq 0:i8, %8 | |
| infer %9 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4:i8 = phi %3, 0:i8, 1:i8 | |
| %5:i8 = phi %2, 0:i8, %4 | |
| %6:i8 = phi %1, 0:i8, %5 | |
| %7:i8 = phi %0, %6, 0:i8 | |
| %8:i8 = and 1:i8, %7 | |
| infer %8 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4:i8 = phi %3, 0:i8, 1:i8 | |
| %5:i8 = phi %2, 0:i8, %4 | |
| %6:i8 = phi %1, 0:i8, %5 | |
| %7:i8 = phi %0, %6, 0:i8 | |
| infer %7 (demandedBits=00000001) | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4:i8 = phi %3, 0:i8, 1:i8 | |
| %5:i8 = phi %2, 0:i8, %4 | |
| %6:i8 = phi %1, 0:i8, %5 | |
| %7:i8 = phi %0, 0:i8, %6 | |
| %8:i8 = and 1:i8, %7 | |
| %9:i1 = eq 0:i8, %8 | |
| infer %9 | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4:i8 = phi %3, 0:i8, 1:i8 | |
| %5:i8 = phi %2, 0:i8, %4 | |
| %6:i8 = phi %1, 0:i8, %5 | |
| %7:i8 = phi %0, 0:i8, %6 | |
| %8:i8 = and 1:i8, %7 | |
| infer %8 | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4:i8 = phi %3, 0:i8, 1:i8 | |
| %5:i8 = phi %2, 0:i8, %4 | |
| %6:i8 = phi %1, 0:i8, %5 | |
| %7:i8 = phi %0, 0:i8, %6 | |
| infer %7 (demandedBits=00000001) | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4:i8 = phi %3, 1:i8, 0:i8 | |
| %5:i8 = phi %2, %4, 0:i8 | |
| %6:i8 = phi %1, %5, 0:i8 | |
| %7:i8 = phi %0, %6, 0:i8 | |
| %8:i1 = eq 0:i8, %7 | |
| infer %8 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4:i8 = phi %3, 1:i8, 0:i8 | |
| %5:i8 = phi %2, %4, 0:i8 | |
| %6:i8 = phi %1, %5, 0:i8 | |
| %7:i8 = phi %0, %6, 0:i8 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 3 | |
| %4:i32 = var | |
| %5:i32 = var | |
| %6:i32 = var | |
| %7:i32 = phi %3, %4, %5, %6 | |
| %8:i32 = var | |
| %9:i32 = phi %2, %7, %8 | |
| %10:i32 = var | |
| %11:i32 = phi %1, %9, %10 | |
| %12:i32 = var | |
| %13:i32 = phi %0, %11, %12 | |
| %14:i32 = and 524288:i32, %13 | |
| %15:i1 = eq 0:i32, %14 | |
| infer %15 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 3 | |
| %4:i32 = var | |
| %5:i32 = var | |
| %6:i32 = var | |
| %7:i32 = phi %3, %4, %5, %6 | |
| %8:i32 = var | |
| %9:i32 = phi %2, %7, %8 | |
| %10:i32 = var | |
| %11:i32 = phi %1, %9, %10 | |
| %12:i32 = var | |
| %13:i32 = phi %0, %11, %12 | |
| %14:i32 = and 524288:i32, %13 | |
| infer %14 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 3 | |
| %4:i32 = var | |
| %5:i32 = var | |
| %6:i32 = var | |
| %7:i32 = phi %3, %4, %5, %6 | |
| %8:i32 = var | |
| %9:i32 = phi %2, %7, %8 | |
| %10:i32 = var | |
| %11:i32 = phi %1, %9, %10 | |
| %12:i32 = var | |
| %13:i32 = phi %0, %11, %12 | |
| infer %13 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 3 | |
| %4:i8 = phi %3, 1:i8, 0:i8, 0:i8 | |
| %5:i8 = phi %2, %4, 0:i8 | |
| %6:i8 = phi %1, %5, 0:i8 | |
| %7:i8 = phi %0, %6, 0:i8 | |
| %8:i1 = eq 0:i8, %7 | |
| infer %8 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 3 | |
| %4:i8 = phi %3, 1:i8, 0:i8, 0:i8 | |
| %5:i8 = phi %2, %4, 0:i8 | |
| %6:i8 = phi %1, %5, 0:i8 | |
| %7:i8 = phi %0, %6, 0:i8 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i128 = phi %2, 0:i128, 340282366920938463463374607431768211455:i128 | |
| %4:i128 = phi %1, 0:i128, %3 | |
| %5 = block 2 | |
| %6:i128 = var | |
| %7 = block 2 | |
| %8:i128 = var | |
| %9:i128 = var | |
| %10:i128 = phi %7, %8, %9 | |
| %11:i128 = phi %5, %6, %10 | |
| %12:i128 = phi %0, %4, %11 | |
| infer %12 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i128 = phi %2, 170141183460469231731687303715884105728:i128, 170141183460469231731687303715884105727:i128 | |
| %4:i128 = phi %1, 0:i128, %3 | |
| %5 = block 2 | |
| %6:i128 = var | |
| %7 = block 2 | |
| %8:i128 = var | |
| %9:i128 = var | |
| %10:i128 = phi %7, %8, %9 | |
| %11:i128 = phi %5, %6, %10 | |
| %12:i128 = phi %0, %4, %11 | |
| infer %12 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i32 = phi %2, 0:i32, 4294967295:i32 | |
| %4:i32 = phi %1, 0:i32, %3 | |
| %5 = block 2 | |
| %6:i32 = var | |
| %7:i32 = var | |
| %8:i32 = phi %5, %6, %7 | |
| %9:i32 = phi %0, %4, %8 | |
| infer %9 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i32 = phi %2, 2147483648:i32, 2147483647:i32 | |
| %4:i32 = phi %1, 0:i32, %3 | |
| %5 = block 2 | |
| %6:i32 = var | |
| %7:i32 = var | |
| %8:i32 = phi %5, %6, %7 | |
| %9:i32 = phi %0, %4, %8 | |
| infer %9 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13:i32 = var | |
| %14:i32 = var | |
| %15:i32 = phi %12, %13, %14 | |
| %16:i32 = var | |
| %17:i32 = phi %11, %15, %16 | |
| %18:i32 = var | |
| %19:i32 = phi %10, %17, %18 | |
| %20:i32 = var | |
| %21:i32 = phi %9, %19, %20 | |
| %22:i32 = var | |
| %23:i32 = phi %8, %21, %22 | |
| %24:i32 = var | |
| %25:i32 = phi %7, %23, %24 | |
| %26:i32 = var | |
| %27:i32 = phi %6, %25, %26 | |
| %28:i32 = var | |
| %29:i32 = phi %5, %27, %28 | |
| %30:i32 = var | |
| %31:i32 = phi %4, %29, %30 | |
| %32:i32 = phi %2, %3, %31 | |
| %33:i32 = var | |
| %34:i32 = phi %1, %32, %33 | |
| %35:i32 = var | |
| %36:i32 = phi %0, %34, %35 | |
| %37:i32 = and 256:i32, %36 | |
| %38:i1 = eq 0:i32, %37 | |
| infer %38 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13:i32 = var | |
| %14:i32 = var | |
| %15:i32 = phi %12, %13, %14 | |
| %16:i32 = var | |
| %17:i32 = phi %11, %15, %16 | |
| %18:i32 = var | |
| %19:i32 = phi %10, %17, %18 | |
| %20:i32 = var | |
| %21:i32 = phi %9, %19, %20 | |
| %22:i32 = var | |
| %23:i32 = phi %8, %21, %22 | |
| %24:i32 = var | |
| %25:i32 = phi %7, %23, %24 | |
| %26:i32 = var | |
| %27:i32 = phi %6, %25, %26 | |
| %28:i32 = var | |
| %29:i32 = phi %5, %27, %28 | |
| %30:i32 = var | |
| %31:i32 = phi %4, %29, %30 | |
| %32:i32 = phi %2, %3, %31 | |
| %33:i32 = var | |
| %34:i32 = phi %1, %32, %33 | |
| %35:i32 = var | |
| %36:i32 = phi %0, %34, %35 | |
| %37:i32 = and 256:i32, %36 | |
| infer %37 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 2 | |
| %13:i32 = var | |
| %14:i32 = var | |
| %15:i32 = phi %12, %13, %14 | |
| %16:i32 = var | |
| %17:i32 = phi %11, %15, %16 | |
| %18:i32 = var | |
| %19:i32 = phi %10, %17, %18 | |
| %20:i32 = var | |
| %21:i32 = phi %9, %19, %20 | |
| %22:i32 = var | |
| %23:i32 = phi %8, %21, %22 | |
| %24:i32 = var | |
| %25:i32 = phi %7, %23, %24 | |
| %26:i32 = var | |
| %27:i32 = phi %6, %25, %26 | |
| %28:i32 = var | |
| %29:i32 = phi %5, %27, %28 | |
| %30:i32 = var | |
| %31:i32 = phi %4, %29, %30 | |
| %32:i32 = phi %2, %3, %31 | |
| %33:i32 = var | |
| %34:i32 = phi %1, %32, %33 | |
| %35:i32 = var | |
| %36:i32 = phi %0, %34, %35 | |
| infer %36 (demandedBits=11111111111100111001101100111100) | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 3 | |
| %13:i32 = var | |
| %14:i32 = var | |
| %15:i32 = var | |
| %16:i32 = phi %12, %13, %14, %15 | |
| %17:i32 = var | |
| %18:i32 = phi %11, %16, %17 | |
| %19:i32 = var | |
| %20:i32 = phi %10, %18, %19 | |
| %21:i32 = var | |
| %22:i32 = phi %9, %20, %21 | |
| %23:i32 = var | |
| %24:i32 = phi %8, %22, %23 | |
| %25:i32 = var | |
| %26:i32 = phi %7, %24, %25 | |
| %27:i32 = var | |
| %28:i32 = phi %6, %26, %27 | |
| %29:i32 = var | |
| %30:i32 = phi %5, %28, %29 | |
| %31:i32 = var | |
| %32:i32 = phi %4, %30, %31 | |
| %33:i32 = phi %2, %3, %32 | |
| %34:i32 = var | |
| %35:i32 = phi %1, %33, %34 | |
| %36:i32 = var | |
| %37:i32 = phi %0, %35, %36 | |
| %38:i32 = and 256:i32, %37 | |
| %39:i1 = eq 0:i32, %38 | |
| infer %39 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 3 | |
| %13:i32 = var | |
| %14:i32 = var | |
| %15:i32 = var | |
| %16:i32 = phi %12, %13, %14, %15 | |
| %17:i32 = var | |
| %18:i32 = phi %11, %16, %17 | |
| %19:i32 = var | |
| %20:i32 = phi %10, %18, %19 | |
| %21:i32 = var | |
| %22:i32 = phi %9, %20, %21 | |
| %23:i32 = var | |
| %24:i32 = phi %8, %22, %23 | |
| %25:i32 = var | |
| %26:i32 = phi %7, %24, %25 | |
| %27:i32 = var | |
| %28:i32 = phi %6, %26, %27 | |
| %29:i32 = var | |
| %30:i32 = phi %5, %28, %29 | |
| %31:i32 = var | |
| %32:i32 = phi %4, %30, %31 | |
| %33:i32 = phi %2, %3, %32 | |
| %34:i32 = var | |
| %35:i32 = phi %1, %33, %34 | |
| %36:i32 = var | |
| %37:i32 = phi %0, %35, %36 | |
| %38:i32 = and 256:i32, %37 | |
| infer %38 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12 = block 3 | |
| %13:i32 = var | |
| %14:i32 = var | |
| %15:i32 = var | |
| %16:i32 = phi %12, %13, %14, %15 | |
| %17:i32 = var | |
| %18:i32 = phi %11, %16, %17 | |
| %19:i32 = var | |
| %20:i32 = phi %10, %18, %19 | |
| %21:i32 = var | |
| %22:i32 = phi %9, %20, %21 | |
| %23:i32 = var | |
| %24:i32 = phi %8, %22, %23 | |
| %25:i32 = var | |
| %26:i32 = phi %7, %24, %25 | |
| %27:i32 = var | |
| %28:i32 = phi %6, %26, %27 | |
| %29:i32 = var | |
| %30:i32 = phi %5, %28, %29 | |
| %31:i32 = var | |
| %32:i32 = phi %4, %30, %31 | |
| %33:i32 = phi %2, %3, %32 | |
| %34:i32 = var | |
| %35:i32 = phi %1, %33, %34 | |
| %36:i32 = var | |
| %37:i32 = phi %0, %35, %36 | |
| infer %37 (demandedBits=11111111111100111001101100111100) | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = phi %2, %3, 0:i32 | |
| %5:i32 = var | |
| %6:i32 = sub %4, %5 | |
| %7:i32 = phi %1, %6, %4 | |
| %8:i32 = phi %0, %7, 0:i32 | |
| infer %8 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = var | |
| %5:i32 = phi %2, %3, %4 | |
| %6:i32 = var | |
| %7:i32 = phi %1, %5, %6 | |
| %8:i32 = var | |
| %9:i32 = phi %0, %7, %8 | |
| %10:i32 = and 8192:i32, %9 | |
| %11:i1 = eq 0:i32, %10 | |
| infer %11 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = var | |
| %5:i32 = phi %2, %3, %4 | |
| %6:i32 = var | |
| %7:i32 = phi %1, %5, %6 | |
| %8:i32 = var | |
| %9:i32 = phi %0, %7, %8 | |
| %10:i32 = and 8192:i32, %9 | |
| infer %10 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = var | |
| %5:i32 = phi %2, %3, %4 | |
| %6:i32 = var | |
| %7:i32 = phi %1, %5, %6 | |
| %8:i32 = var | |
| %9:i32 = phi %0, %7, %8 | |
| infer %9 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i64 = phi %2, 0:i64, 18446744073709551615:i64 | |
| %4:i64 = phi %1, 0:i64, %3 | |
| %5 = block 2 | |
| %6:i64 = var | |
| %7 = block 2 | |
| %8:i64 = var | |
| %9:i64 = var | |
| %10:i64 = phi %7, %8, %9 | |
| %11:i64 = phi %5, %6, %10 | |
| %12:i64 = phi %0, %4, %11 | |
| infer %12 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i64 = phi %2, 0:i64, 18446744073709551615:i64 | |
| %4:i64 = phi %1, 0:i64, %3 | |
| %5 = block 2 | |
| %6:i64 = var | |
| %7:i64 = var | |
| %8:i64 = phi %5, %6, %7 | |
| %9:i64 = phi %0, %4, %8 | |
| infer %9 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i64 = phi %2, 64:i64, 32:i64 | |
| %4:i64 = addnsw 18446744073709551600:i64, %3 | |
| %5:i64 = phi %1, %3, %4 | |
| %6:i64 = addnsw 18446744073709551608:i64, %5 | |
| %7:i64 = phi %0, %5, %6 | |
| %8:i64 = addnsw 18446744073709551612:i64, %7 | |
| infer %8 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i64 = phi %2, 64:i64, 32:i64 | |
| %4:i64 = addnsw 18446744073709551600:i64, %3 | |
| %5:i64 = phi %1, %3, %4 | |
| %6:i64 = addnsw 18446744073709551608:i64, %5 | |
| %7:i64 = phi %0, %5, %6 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i64 = phi %2, 9223372036854775808:i64, 9223372036854775807:i64 | |
| %4:i64 = phi %1, 0:i64, %3 | |
| %5 = block 2 | |
| %6:i64 = var | |
| %7 = block 2 | |
| %8:i64 = var | |
| %9:i64 = var | |
| %10:i64 = phi %7, %8, %9 | |
| %11:i64 = phi %5, %6, %10 | |
| %12:i64 = phi %0, %4, %11 | |
| infer %12 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i64 = phi %2, 9223372036854775808:i64, 9223372036854775807:i64 | |
| %4:i64 = phi %1, 0:i64, %3 | |
| %5 = block 2 | |
| %6:i64 = var | |
| %7:i64 = var | |
| %8:i64 = phi %5, %6, %7 | |
| %9:i64 = phi %0, %4, %8 | |
| infer %9 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = lshr %3, 32:i64 | |
| %5:i64 = phi %2, %3, %4 | |
| %6:i64 = lshr %5, 16:i64 | |
| %7:i64 = phi %1, %5, %6 | |
| %8:i64 = lshr %7, 8:i64 | |
| %9:i64 = phi %0, %7, %8 | |
| %10:i64 = lshr %9, 4:i64 | |
| infer %10 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = lshr %3, 32:i64 | |
| %5:i64 = phi %2, %3, %4 | |
| %6:i64 = lshr %5, 16:i64 | |
| %7:i64 = phi %1, %5, %6 | |
| %8:i64 = lshr %7, 8:i64 | |
| %9:i64 = phi %0, %7, %8 | |
| %10:i64 = lshr %9, 4:i64 (hasExternalUses) | |
| %11:i1 = eq 0:i64, %10 | |
| infer %11 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = lshr %3, 32:i64 | |
| %5:i64 = phi %2, %3, %4 | |
| %6:i64 = lshr %5, 16:i64 | |
| %7:i64 = phi %1, %5, %6 | |
| %8:i64 = lshr %7, 8:i64 (hasExternalUses) | |
| %9:i64 = phi %0, %7, %8 | |
| infer %9 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = var | |
| %5:i64 = add %3, %4 | |
| %6:i64 = add 18446744072757682816:i64, %5 | |
| %7:i64 = sdiv %6, 86400:i64 | |
| %8:i64 = addnsw 18446744073709551615:i64, %7 | |
| %9:i64 = phi %2, %8, %7 | |
| %10:i64 = srem %9, 146097:i64 | |
| %11:i64 = addnsw 146097:i64, %10 | |
| %12:i64 = phi %1, %11, %10 | |
| %13 = block 2 | |
| %14:i64 = sdiv %12, 36524:i64 | |
| %15:i64 = phi %13, 3:i64, %14 | |
| %16:i64 = mulnsw 18446744073709515092:i64, %15 | |
| %17:i64 = addnsw %12, %16 | |
| %18 = block 2 | |
| %19:i64 = sdiv %17, 1461:i64 | |
| %20:i64 = phi %18, 24:i64, %19 | |
| %21:i64 = mul 18446744073709550155:i64, %20 | |
| %22:i64 = add %17, %21 | |
| %23:i64 = sdiv %22, 365:i64 | |
| %24:i64 = phi %0, 3:i64, %23 | |
| %25:i1 = eq 0:i64, %24 | |
| infer %25 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = var | |
| %5:i64 = add %3, %4 | |
| %6:i64 = add 18446744072757682816:i64, %5 | |
| %7:i64 = sdiv %6, 86400:i64 | |
| %8:i64 = addnsw 18446744073709551615:i64, %7 | |
| %9:i64 = phi %2, %8, %7 | |
| %10:i64 = srem %9, 146097:i64 | |
| %11:i64 = addnsw 146097:i64, %10 | |
| %12:i64 = phi %1, %11, %10 | |
| %13 = block 2 | |
| %14:i64 = sdiv %12, 36524:i64 | |
| %15:i64 = phi %13, 3:i64, %14 | |
| %16:i64 = mulnsw 18446744073709515092:i64, %15 | |
| %17:i64 = addnsw %12, %16 | |
| %18 = block 2 | |
| %19:i64 = sdiv %17, 1461:i64 | |
| %20:i64 = phi %18, 24:i64, %19 | |
| %21:i64 = mul 18446744073709550155:i64, %20 | |
| %22:i64 = add %17, %21 | |
| %23:i64 = sdiv %22, 365:i64 | |
| %24:i64 = phi %0, 3:i64, %23 | |
| %25:i1 = eq 0:i64, %24 | |
| pc %25 0:i1 | |
| %26:i1 = eq 0:i64, %20 | |
| infer %26 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = var | |
| %5:i64 = add %3, %4 | |
| %6:i64 = add 18446744072757682816:i64, %5 | |
| %7:i64 = sdiv %6, 86400:i64 | |
| %8:i64 = addnsw 18446744073709551615:i64, %7 | |
| %9:i64 = phi %2, %8, %7 | |
| %10:i64 = srem %9, 146097:i64 | |
| %11:i64 = addnsw 146097:i64, %10 | |
| %12:i64 = phi %1, %11, %10 | |
| %13 = block 2 | |
| %14:i64 = sdiv %12, 36524:i64 | |
| %15:i64 = phi %13, 3:i64, %14 | |
| %16:i64 = mulnsw 18446744073709515092:i64, %15 | |
| %17:i64 = addnsw %12, %16 | |
| %18 = block 2 | |
| %19:i64 = sdiv %17, 1461:i64 | |
| %20:i64 = phi %18, 24:i64, %19 | |
| %21:i64 = mul 18446744073709550155:i64, %20 | |
| %22:i64 = add %17, %21 | |
| %23:i64 = sdiv %22, 365:i64 | |
| %24:i64 = phi %0, 3:i64, %23 | |
| %25:i64 = mul 18446744073709551251:i64, %24 | |
| infer %25 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = var | |
| %5:i64 = add %3, %4 | |
| %6:i64 = add 18446744072757682816:i64, %5 | |
| %7:i64 = sdiv %6, 86400:i64 | |
| %8:i64 = addnsw 18446744073709551615:i64, %7 | |
| %9:i64 = phi %2, %8, %7 | |
| %10:i64 = srem %9, 146097:i64 | |
| %11:i64 = addnsw 146097:i64, %10 | |
| %12:i64 = phi %1, %11, %10 | |
| %13 = block 2 | |
| %14:i64 = sdiv %12, 36524:i64 | |
| %15:i64 = phi %13, 3:i64, %14 | |
| %16:i64 = mulnsw 18446744073709515092:i64, %15 | |
| %17:i64 = addnsw %12, %16 | |
| %18 = block 2 | |
| %19:i64 = sdiv %17, 1461:i64 | |
| %20:i64 = phi %18, 24:i64, %19 | |
| %21:i64 = mul 18446744073709550155:i64, %20 | |
| %22:i64 = add %17, %21 | |
| %23:i64 = sdiv %22, 365:i64 | |
| %24:i64 = phi %0, 3:i64, %23 | |
| %25:i64 = shlnsw %20, 2:i64 | |
| %26:i64 = addnsw %24, %25 | |
| %27:i64 = mulnsw 100:i64, %15 | |
| %28:i64 = addnsw %26, %27 | |
| %29:i64 = sdiv %9, 146097:i64 | |
| %30:i64 = addnsw 18446744073709551615:i64, %29 | |
| %31:i64 = phi %1, %30, %29 | |
| %32:i64 = mulnsw 400:i64, %31 | |
| %33:i64 = addnsw %28, %32 | |
| infer %33 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = var | |
| %5:i64 = add %3, %4 | |
| %6:i64 = add 18446744072757682816:i64, %5 | |
| %7:i64 = sdiv %6, 86400:i64 | |
| %8:i64 = addnsw 18446744073709551615:i64, %7 | |
| %9:i64 = phi %2, %8, %7 | |
| %10:i64 = srem %9, 146097:i64 | |
| %11:i64 = addnsw 146097:i64, %10 | |
| %12:i64 = phi %1, %11, %10 | |
| %13 = block 2 | |
| %14:i64 = sdiv %12, 36524:i64 | |
| %15:i64 = phi %13, 3:i64, %14 | |
| %16:i64 = mulnsw 18446744073709515092:i64, %15 | |
| %17:i64 = addnsw %12, %16 | |
| %18 = block 2 | |
| %19:i64 = sdiv %17, 1461:i64 | |
| %20:i64 = phi %18, 24:i64, %19 | |
| %21:i64 = mul 18446744073709550155:i64, %20 | |
| %22:i64 = add %17, %21 | |
| %23:i64 = sdiv %22, 365:i64 | |
| %24:i64 = phi %0, 3:i64, %23 | |
| %25:i64 = shlnsw %20, 2:i64 | |
| %26:i64 = addnsw %24, %25 | |
| %27:i64 = mulnsw 100:i64, %15 | |
| %28:i64 = addnsw %26, %27 | |
| %29:i64 = sdiv %9, 146097:i64 | |
| %30:i64 = addnsw 18446744073709551615:i64, %29 | |
| %31:i64 = phi %1, %30, %29 | |
| %32:i64 = mulnsw 400:i64, %31 | |
| %33:i64 = addnsw %28, %32 (hasExternalUses) | |
| %34:i64 = addnsw 1:i64, %33 | |
| infer %34 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = var | |
| %5:i64 = add %3, %4 | |
| %6:i64 = add 18446744072757682816:i64, %5 | |
| %7:i64 = sdiv %6, 86400:i64 | |
| %8:i64 = addnsw 18446744073709551615:i64, %7 | |
| %9:i64 = phi %2, %8, %7 | |
| %10:i64 = srem %9, 146097:i64 | |
| %11:i64 = addnsw 146097:i64, %10 | |
| %12:i64 = phi %1, %11, %10 | |
| %13 = block 2 | |
| %14:i64 = sdiv %12, 36524:i64 | |
| %15:i64 = phi %13, 3:i64, %14 | |
| %16:i64 = mulnsw 18446744073709515092:i64, %15 | |
| %17:i64 = addnsw %12, %16 | |
| %18 = block 2 | |
| %19:i64 = sdiv %17, 1461:i64 | |
| %20:i64 = phi %18, 24:i64, %19 | |
| %21:i64 = mul 18446744073709550155:i64, %20 | |
| %22:i64 = add %17, %21 | |
| %23:i64 = sdiv %22, 365:i64 | |
| %24:i64 = phi %0, 3:i64, %23 | |
| %25:i64 = shlnsw %20, 2:i64 | |
| %26:i64 = addnsw %24, %25 | |
| %27:i64 = mulnsw 100:i64, %15 | |
| %28:i64 = addnsw %26, %27 | |
| infer %28 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = var | |
| %5:i64 = add %3, %4 | |
| %6:i64 = add 18446744072757682816:i64, %5 | |
| %7:i64 = sdiv %6, 86400:i64 | |
| %8:i64 = addnsw 18446744073709551615:i64, %7 | |
| %9:i64 = phi %2, %8, %7 | |
| %10:i64 = srem %9, 146097:i64 | |
| %11:i64 = addnsw 146097:i64, %10 | |
| %12:i64 = phi %1, %11, %10 | |
| %13 = block 2 | |
| %14:i64 = sdiv %12, 36524:i64 | |
| %15:i64 = phi %13, 3:i64, %14 | |
| %16:i64 = mulnsw 18446744073709515092:i64, %15 | |
| %17:i64 = addnsw %12, %16 | |
| %18 = block 2 | |
| %19:i64 = sdiv %17, 1461:i64 | |
| %20:i64 = phi %18, 24:i64, %19 | |
| %21:i64 = mul 18446744073709550155:i64, %20 | |
| %22:i64 = add %17, %21 | |
| %23:i64 = sdiv %22, 365:i64 | |
| %24:i64 = phi %0, 3:i64, %23 | |
| %25:i64 = shlnsw %20, 2:i64 | |
| %26:i64 = addnsw %24, %25 | |
| infer %26 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = var | |
| %5:i64 = add %3, %4 | |
| %6:i64 = add 18446744072757682816:i64, %5 | |
| %7:i64 = sdiv %6, 86400:i64 | |
| %8:i64 = addnsw 18446744073709551615:i64, %7 | |
| %9:i64 = phi %2, %8, %7 | |
| %10:i64 = srem %9, 146097:i64 | |
| %11:i64 = addnsw 146097:i64, %10 | |
| %12:i64 = phi %1, %11, %10 | |
| %13 = block 2 | |
| %14:i64 = sdiv %12, 36524:i64 | |
| %15:i64 = phi %13, 3:i64, %14 | |
| %16:i64 = mulnsw 18446744073709515092:i64, %15 | |
| %17:i64 = addnsw %12, %16 | |
| %18:i64 = sdiv %17, 1461:i64 | |
| %19:i64 = phi %0, 24:i64, %18 | |
| %20:i64 = mul 18446744073709550155:i64, %19 | |
| infer %20 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = var | |
| %5:i64 = add %3, %4 | |
| %6:i64 = add 18446744072757682816:i64, %5 | |
| %7:i64 = sdiv %6, 86400:i64 | |
| %8:i64 = addnsw 18446744073709551615:i64, %7 | |
| %9:i64 = phi %2, %8, %7 | |
| %10:i64 = srem %9, 146097:i64 | |
| %11:i64 = addnsw 146097:i64, %10 | |
| %12:i64 = phi %1, %11, %10 | |
| %13 = block 2 | |
| %14:i64 = sdiv %12, 36524:i64 | |
| %15:i64 = phi %13, 3:i64, %14 | |
| %16:i64 = mulnsw 18446744073709515092:i64, %15 | |
| %17:i64 = addnsw %12, %16 | |
| %18:i64 = sdiv %17, 1461:i64 | |
| %19:i64 = phi %0, 24:i64, %18 | |
| %20:i64 = shlnsw %19, 2:i64 | |
| infer %20 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = var | |
| %5:i64 = add %3, %4 | |
| %6:i64 = add 18446744072757682816:i64, %5 | |
| %7:i64 = sdiv %6, 86400:i64 | |
| %8:i64 = addnsw 18446744073709551615:i64, %7 | |
| %9:i64 = phi %2, %8, %7 | |
| %10:i64 = srem %9, 146097:i64 | |
| %11:i64 = addnsw 146097:i64, %10 | |
| %12:i64 = phi %1, %11, %10 | |
| %13 = block 2 | |
| %14:i64 = sdiv %12, 36524:i64 | |
| %15:i64 = phi %13, 3:i64, %14 | |
| %16:i64 = mulnsw 18446744073709515092:i64, %15 | |
| %17:i64 = addnsw %12, %16 (hasExternalUses) | |
| %18 = block 2 | |
| %19:i64 = sdiv %17, 1461:i64 | |
| %20:i64 = phi %18, 24:i64, %19 | |
| %21:i64 = mul 18446744073709550155:i64, %20 | |
| %22:i64 = add %17, %21 (hasExternalUses) | |
| %23:i64 = sdiv %22, 365:i64 | |
| %24:i64 = phi %0, 3:i64, %23 | |
| infer %24 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = var | |
| %5:i64 = add %3, %4 | |
| %6:i64 = add 18446744072757682816:i64, %5 | |
| %7:i64 = sdiv %6, 86400:i64 | |
| %8:i64 = addnsw 18446744073709551615:i64, %7 | |
| %9:i64 = phi %2, %8, %7 | |
| %10:i64 = srem %9, 146097:i64 | |
| %11:i64 = addnsw 146097:i64, %10 | |
| %12:i64 = phi %1, %11, %10 | |
| %13 = block 2 | |
| %14:i64 = sdiv %12, 36524:i64 | |
| %15:i64 = phi %13, 3:i64, %14 | |
| %16:i64 = mulnsw 18446744073709515092:i64, %15 | |
| %17:i64 = addnsw %12, %16 (hasExternalUses) | |
| %18:i64 = sdiv %17, 1461:i64 | |
| %19:i64 = phi %0, 24:i64, %18 | |
| infer %19 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = var | |
| %5:i64 = add %3, %4 | |
| %6:i64 = add 18446744072757682816:i64, %5 | |
| %7:i64 = sdiv %6, 86400:i64 | |
| %8:i64 = addnsw 18446744073709551615:i64, %7 | |
| %9:i64 = phi %2, %8, %7 | |
| %10:i64 = srem %9, 146097:i64 | |
| %11:i64 = addnsw 146097:i64, %10 | |
| %12:i64 = phi %1, %11, %10 | |
| %13:i64 = sdiv %12, 36524:i64 | |
| %14:i64 = phi %0, 3:i64, %13 | |
| %15:i64 = mulnsw 100:i64, %14 | |
| infer %15 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = var | |
| %5:i64 = add %3, %4 | |
| %6:i64 = add 18446744072757682816:i64, %5 | |
| %7:i64 = sdiv %6, 86400:i64 | |
| %8:i64 = addnsw 18446744073709551615:i64, %7 | |
| %9:i64 = phi %2, %8, %7 | |
| %10:i64 = srem %9, 146097:i64 | |
| %11:i64 = addnsw 146097:i64, %10 | |
| %12:i64 = phi %1, %11, %10 | |
| %13:i64 = sdiv %12, 36524:i64 | |
| %14:i64 = phi %0, 3:i64, %13 | |
| %15:i64 = mulnsw 18446744073709515092:i64, %14 | |
| infer %15 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = var | |
| %5:i64 = add %3, %4 | |
| %6:i64 = add 18446744072757682816:i64, %5 | |
| %7:i64 = sdiv %6, 86400:i64 | |
| %8:i64 = addnsw 18446744073709551615:i64, %7 | |
| %9:i64 = phi %2, %8, %7 | |
| %10:i64 = srem %9, 146097:i64 | |
| %11:i64 = addnsw 146097:i64, %10 | |
| %12:i64 = phi %1, %11, %10 | |
| %13:i64 = sdiv %12, 36524:i64 | |
| %14:i64 = phi %0, 3:i64, %13 | |
| infer %14 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4)) | |
| %4:i64 = phi %2, 2:i64, %3 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4)) | |
| %8:i64 = phi %6, 0:i64, %7 | |
| %9:i64 = phi %5, %8, %4 | |
| %10:i64 = phi %1, %4, %9 | |
| %11:i64 = phi %0, %10, %9 | |
| %12:i1 = eq 1:i64, %11 | |
| infer %12 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4)) | |
| %4:i64 = phi %2, 2:i64, %3 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4)) | |
| %8:i64 = phi %6, 0:i64, %7 | |
| %9:i64 = phi %5, %8, %4 | |
| %10:i64 = phi %1, %4, %9 | |
| %11:i64 = phi %0, %10, %9 | |
| infer %11 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4)) | |
| %4:i64 = phi %2, 2:i64, %3 | |
| %5 = block 2 | |
| %6:i64 = phi %5, %3, %4 | |
| %7:i64 = phi %1, %4, %6 | |
| %8:i64 = phi %0, %7, %6 | |
| %9:i1 = eq 1:i64, %8 | |
| infer %9 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4)) | |
| %4:i64 = phi %2, 2:i64, %3 | |
| %5 = block 2 | |
| %6:i64 = phi %5, %3, %4 | |
| %7:i64 = phi %1, %4, %6 | |
| %8:i64 = phi %0, %7, %6 | |
| infer %8 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4)) | |
| %4:i64 = phi %2, 2:i64, %3 | |
| %5 = block 2 | |
| %6:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4)) | |
| %7:i64 = phi %5, %6, %4 | |
| %8:i64 = phi %1, %4, %7 | |
| %9:i64 = phi %0, %8, %7 | |
| %10:i1 = eq 1:i64, %9 | |
| infer %10 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4)) | |
| %4:i64 = phi %2, 2:i64, %3 | |
| %5 = block 2 | |
| %6:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4)) | |
| %7:i64 = phi %5, %6, %4 | |
| %8:i64 = phi %1, %4, %7 | |
| %9:i64 = phi %0, %8, %7 | |
| infer %9 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0) (range=[0,21)) | |
| %4:i64 = add 18446744073709551613:i64, %3 | |
| %5:i64 = phi %2, %4, 19:i64 | |
| %6:i64 = addnsw 18446744073709551614:i64, %3 | |
| %7:i64 = phi %1, %5, %6 | |
| %8:i64 = subnw 20:i64, %7 | |
| %9:i64 = phi %0, 1:i64, %8 | |
| infer %9 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0) (range=[0,21)) | |
| %4:i64 = addnsw 18446744073709551614:i64, %3 | |
| %5:i64 = phi %2, 20:i64, %4 | |
| %6:i64 = add 18446744073709551615:i64, %5 | |
| %7:i64 = phi %1, %6, %5 | |
| %8:i64 = subnw 20:i64, %7 | |
| %9:i64 = phi %0, 1:i64, %8 | |
| infer %9 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i8 = phi %2, 0:i8, 1:i8 | |
| %4:i8 = phi %1, 0:i8, %3 | |
| %5:i8 = phi %0, 0:i8, %4 | |
| %6:i8 = and 1:i8, %5 | |
| %7:i1 = eq 0:i8, %6 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i8 = phi %2, 0:i8, 1:i8 | |
| %4:i8 = phi %1, 0:i8, %3 | |
| %5:i8 = phi %0, 0:i8, %4 | |
| %6:i8 = and 1:i8, %5 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i8 = phi %2, 0:i8, 1:i8 | |
| %4:i8 = phi %1, 0:i8, %3 | |
| %5:i8 = phi %0, 0:i8, %4 | |
| infer %5 (demandedBits=00000001) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i8 = phi %2, 1:i8, 0:i8 | |
| %4:i8 = phi %1, %3, 0:i8 | |
| %5:i8 = phi %0, %4, 0:i8 | |
| %6:i1 = eq 0:i8, %5 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i8 = phi %2, 1:i8, 0:i8 | |
| %4:i8 = phi %1, %3, 0:i8 | |
| %5:i8 = phi %0, %4, 0:i8 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3:i8 = var (range=[-1,2)) | |
| %4:i8 = phi %2, 0:i8, %3 | |
| %5:i8 = phi %1, %4, 0:i8 | |
| %6:i8 = var (range=[-1,2)) | |
| %7:i8 = phi %0, %5, %6 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 3 | |
| %3 = block 2 | |
| %4:i32 = var | |
| %5:i32 = and 8388607:i32, %4 | |
| %6:i32 = ctlz %5 | |
| %7:i32 = addnw 24:i32, %6 | |
| %8:i32 = and 31:i32, %7 | |
| %9:i32 = shl %5, %8 | |
| %10:i32 = phi %3, %9, %5 | |
| %11:i32 = phi %2, %10, %10, %5 | |
| %12:i32 = or 8388608:i32, %11 | |
| %13:i64 = zext %12 | |
| %14:i32 = var | |
| %15:i32 = and 8388607:i32, %14 | |
| %16:i32 = ctlz %15 | |
| %17:i32 = addnw 24:i32, %16 | |
| %18:i32 = and 31:i32, %17 | |
| %19:i32 = shl %15, %18 | |
| %20:i32 = phi %2, %19, %15, %15 | |
| %21:i32 = shl %20, 8:i32 | |
| %22:i32 = or 2147483648:i32, %21 | |
| %23:i64 = zext %22 | |
| %24:i64 = mulnuw %13, %23 | |
| %25:i64 = lshr %24, 32:i64 | |
| %26:i32 = trunc %25 | |
| %27:i32 = trunc %24 | |
| %28:i32 = lshr %27, 31:i32 | |
| %29:i64 = shlnw %25, 1:i64 | |
| %30:i32 = trunc %29 | |
| %31:i32 = or %28, %30 | |
| %32:i32 = phi %1, %26, %31 | |
| %33:i32 = subnsw 9:i32, %6 | |
| %34:i32 = phi %3, %33, 0:i32 | |
| %35:i32 = subnsw 9:i32, %16 | |
| %36:i32 = addnsw %34, %35 | |
| %37:i32 = phi %2, %36, %34, 0:i32 | |
| %38:i32 = lshr %4, 23:i32 | |
| %39:i32 = and 255:i32, %38 | |
| %40:i32 = lshr %14, 23:i32 | |
| %41:i32 = and 255:i32, %40 | |
| %42:i32 = addnw %39, %41 | |
| %43:i32 = addnsw %37, %42 | |
| %44:i32 = addnsw 4294967170:i32, %43 | |
| %45:i32 = addnsw 4294967169:i32, %43 | |
| %46:i32 = phi %1, %44, %45 | |
| %47:i32 = addnsw 31:i32, %46 | |
| %48:i32 = shl %32, %47 | |
| %49:i32 = shl %27, 1:i32 | |
| %50:i32 = phi %1, %27, %49 | |
| %51:i32 = sub 1:i32, %46 | |
| %52:i32 = lshr %50, %51 | |
| %53:i32 = or %48, %52 | |
| %54:i32 = shl %50, %47 | |
| %55:i32 = or %53, %54 | |
| %56:i32 = phi %0, %55, %50 | |
| %57:i1 = ult 2147483648:i32, %56 | |
| infer %57 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 3 | |
| %3 = block 2 | |
| %4:i32 = var | |
| %5:i32 = and 8388607:i32, %4 | |
| %6:i32 = ctlz %5 | |
| %7:i32 = addnw 24:i32, %6 | |
| %8:i32 = and 31:i32, %7 | |
| %9:i32 = shl %5, %8 | |
| %10:i32 = phi %3, %9, %5 | |
| %11:i32 = phi %2, %10, %10, %5 | |
| %12:i32 = or 8388608:i32, %11 | |
| %13:i64 = zext %12 | |
| %14:i32 = var | |
| %15:i32 = and 8388607:i32, %14 | |
| %16:i32 = ctlz %15 | |
| %17:i32 = addnw 24:i32, %16 | |
| %18:i32 = and 31:i32, %17 | |
| %19:i32 = shl %15, %18 | |
| %20:i32 = phi %2, %19, %15, %15 | |
| %21:i32 = shl %20, 8:i32 | |
| %22:i32 = or 2147483648:i32, %21 | |
| %23:i64 = zext %22 | |
| %24:i64 = mulnuw %13, %23 | |
| %25:i64 = lshr %24, 32:i64 | |
| %26:i32 = trunc %25 | |
| %27:i32 = trunc %24 | |
| %28:i32 = lshr %27, 31:i32 | |
| %29:i64 = shlnw %25, 1:i64 | |
| %30:i32 = trunc %29 | |
| %31:i32 = or %28, %30 | |
| %32:i32 = phi %1, %26, %31 | |
| %33:i32 = subnsw 9:i32, %6 | |
| %34:i32 = phi %3, %33, 0:i32 | |
| %35:i32 = subnsw 9:i32, %16 | |
| %36:i32 = addnsw %34, %35 | |
| %37:i32 = phi %2, %36, %34, 0:i32 | |
| %38:i32 = lshr %4, 23:i32 | |
| %39:i32 = and 255:i32, %38 | |
| %40:i32 = lshr %14, 23:i32 | |
| %41:i32 = and 255:i32, %40 | |
| %42:i32 = addnw %39, %41 | |
| %43:i32 = addnsw %37, %42 | |
| %44:i32 = addnsw 4294967170:i32, %43 | |
| %45:i32 = addnsw 4294967169:i32, %43 | |
| %46:i32 = phi %1, %44, %45 | |
| %47:i32 = addnsw 31:i32, %46 | |
| %48:i32 = shl %32, %47 | |
| %49:i32 = shl %27, 1:i32 | |
| %50:i32 = phi %1, %27, %49 | |
| %51:i32 = sub 1:i32, %46 | |
| %52:i32 = lshr %50, %51 | |
| %53:i32 = or %48, %52 | |
| %54:i32 = shl %50, %47 | |
| %55:i32 = or %53, %54 | |
| %56:i32 = phi %0, %55, %50 | |
| %57:i1 = ult 2147483648:i32, %56 | |
| pc %57 0:i1 | |
| %58:i1 = eq 2147483648:i32, %56 | |
| infer %58 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 3 | |
| %3 = block 2 | |
| %4:i32 = var | |
| %5:i32 = and 8388607:i32, %4 | |
| %6:i32 = ctlz %5 | |
| %7:i32 = addnw 24:i32, %6 | |
| %8:i32 = and 31:i32, %7 | |
| %9:i32 = shl %5, %8 | |
| %10:i32 = phi %3, %9, %5 | |
| %11:i32 = phi %2, %10, %10, %5 | |
| %12:i32 = or 8388608:i32, %11 | |
| %13:i64 = zext %12 | |
| %14:i32 = var | |
| %15:i32 = and 8388607:i32, %14 | |
| %16:i32 = ctlz %15 | |
| %17:i32 = addnw 24:i32, %16 | |
| %18:i32 = and 31:i32, %17 | |
| %19:i32 = shl %15, %18 | |
| %20:i32 = phi %2, %19, %15, %15 | |
| %21:i32 = shl %20, 8:i32 | |
| %22:i32 = or 2147483648:i32, %21 | |
| %23:i64 = zext %22 | |
| %24:i64 = mulnuw %13, %23 | |
| %25:i64 = lshr %24, 32:i64 | |
| %26:i32 = trunc %25 | |
| %27:i32 = trunc %24 | |
| %28:i32 = lshr %27, 31:i32 | |
| %29:i64 = shlnw %25, 1:i64 | |
| %30:i32 = trunc %29 | |
| %31:i32 = or %28, %30 | |
| %32:i32 = phi %1, %26, %31 | |
| %33:i32 = subnsw 9:i32, %6 | |
| %34:i32 = phi %3, %33, 0:i32 | |
| %35:i32 = subnsw 9:i32, %16 | |
| %36:i32 = addnsw %34, %35 | |
| %37:i32 = phi %2, %36, %34, 0:i32 | |
| %38:i32 = lshr %4, 23:i32 | |
| %39:i32 = and 255:i32, %38 | |
| %40:i32 = lshr %14, 23:i32 | |
| %41:i32 = and 255:i32, %40 | |
| %42:i32 = addnw %39, %41 | |
| %43:i32 = addnsw %37, %42 | |
| %44:i32 = addnsw 4294967170:i32, %43 | |
| %45:i32 = addnsw 4294967169:i32, %43 | |
| %46:i32 = phi %1, %44, %45 | |
| %47:i32 = addnsw 31:i32, %46 | |
| %48:i32 = shl %32, %47 | |
| %49:i32 = shl %27, 1:i32 | |
| %50:i32 = phi %1, %27, %49 | |
| %51:i32 = sub 1:i32, %46 | |
| %52:i32 = lshr %50, %51 | |
| %53:i32 = or %48, %52 | |
| %54:i32 = shl %50, %47 | |
| %55:i32 = or %53, %54 | |
| %56:i32 = phi %0, %55, %50 | |
| %57:i1 = ult 2147483648:i32, %56 | |
| pc %57 0:i1 | |
| %58:i1 = eq 2147483648:i32, %56 | |
| pc %58 1:i1 | |
| %59:i32 = lshr %32, %51 | |
| %60:i32 = and 8388607:i32, %32 | |
| %61:i32 = shlnw %46, 23:i32 | |
| %62:i32 = or %60, %61 | |
| %63:i32 = phi %0, %59, %62 | |
| %64:i32 = and 1:i32, %63 | |
| %65:i32 = xor %4, %14 | |
| %66:i32 = and 2147483648:i32, %65 (hasExternalUses) | |
| %67:i32 = or %63, %66 (hasExternalUses) | |
| %68:i32 = add %64, %67 | |
| infer %68 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 3 | |
| %3 = block 2 | |
| %4:i32 = var | |
| %5:i32 = and 8388607:i32, %4 | |
| %6:i32 = ctlz %5 | |
| %7:i32 = addnw 24:i32, %6 | |
| %8:i32 = and 31:i32, %7 | |
| %9:i32 = shl %5, %8 | |
| %10:i32 = phi %3, %9, %5 | |
| %11:i32 = phi %2, %10, %10, %5 | |
| %12:i32 = or 8388608:i32, %11 | |
| %13:i64 = zext %12 | |
| %14:i32 = var | |
| %15:i32 = and 8388607:i32, %14 | |
| %16:i32 = ctlz %15 | |
| %17:i32 = addnw 24:i32, %16 | |
| %18:i32 = and 31:i32, %17 | |
| %19:i32 = shl %15, %18 | |
| %20:i32 = phi %2, %19, %15, %15 | |
| %21:i32 = shl %20, 8:i32 | |
| %22:i32 = or 2147483648:i32, %21 | |
| %23:i64 = zext %22 | |
| %24:i64 = mulnuw %13, %23 | |
| %25:i64 = lshr %24, 32:i64 | |
| %26:i32 = trunc %25 | |
| %27:i32 = trunc %24 | |
| %28:i32 = lshr %27, 31:i32 | |
| %29:i64 = shlnw %25, 1:i64 | |
| %30:i32 = trunc %29 | |
| %31:i32 = or %28, %30 | |
| %32:i32 = phi %1, %26, %31 | |
| %33:i32 = subnsw 9:i32, %6 | |
| %34:i32 = phi %3, %33, 0:i32 | |
| %35:i32 = subnsw 9:i32, %16 | |
| %36:i32 = addnsw %34, %35 | |
| %37:i32 = phi %2, %36, %34, 0:i32 | |
| %38:i32 = lshr %4, 23:i32 | |
| %39:i32 = and 255:i32, %38 | |
| %40:i32 = lshr %14, 23:i32 | |
| %41:i32 = and 255:i32, %40 | |
| %42:i32 = addnw %39, %41 | |
| %43:i32 = addnsw %37, %42 | |
| %44:i32 = addnsw 4294967170:i32, %43 | |
| %45:i32 = addnsw 4294967169:i32, %43 | |
| %46:i32 = phi %1, %44, %45 | |
| %47:i32 = addnsw 31:i32, %46 | |
| %48:i32 = shl %32, %47 | |
| %49:i32 = shl %27, 1:i32 | |
| %50:i32 = phi %1, %27, %49 | |
| %51:i32 = sub 1:i32, %46 | |
| %52:i32 = lshr %50, %51 | |
| %53:i32 = or %48, %52 | |
| %54:i32 = shl %50, %47 | |
| %55:i32 = or %53, %54 | |
| %56:i32 = phi %0, %55, %50 | |
| %57:i1 = ult 2147483648:i32, %56 | |
| pc %57 0:i1 | |
| %58:i1 = eq 2147483648:i32, %56 | |
| pc %58 1:i1 | |
| %59:i32 = lshr %32, %51 | |
| %60:i32 = and 8388607:i32, %32 | |
| %61:i32 = shlnw %46, 23:i32 | |
| %62:i32 = or %60, %61 | |
| %63:i32 = phi %0, %59, %62 | |
| %64:i32 = and 1:i32, %63 | |
| infer %64 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 3 | |
| %3 = block 2 | |
| %4:i32 = var | |
| %5:i32 = and 8388607:i32, %4 | |
| %6:i32 = ctlz %5 | |
| %7:i32 = addnw 24:i32, %6 | |
| %8:i32 = and 31:i32, %7 | |
| %9:i32 = shl %5, %8 | |
| %10:i32 = phi %3, %9, %5 | |
| %11:i32 = phi %2, %10, %10, %5 | |
| %12:i32 = or 8388608:i32, %11 | |
| %13:i64 = zext %12 | |
| %14:i32 = var | |
| %15:i32 = and 8388607:i32, %14 | |
| %16:i32 = ctlz %15 | |
| %17:i32 = addnw 24:i32, %16 | |
| %18:i32 = and 31:i32, %17 | |
| %19:i32 = shl %15, %18 | |
| %20:i32 = phi %2, %19, %15, %15 | |
| %21:i32 = shl %20, 8:i32 | |
| %22:i32 = or 2147483648:i32, %21 | |
| %23:i64 = zext %22 | |
| %24:i64 = mulnuw %13, %23 | |
| %25:i64 = lshr %24, 32:i64 | |
| %26:i32 = trunc %25 | |
| %27:i32 = trunc %24 | |
| %28:i32 = lshr %27, 31:i32 | |
| %29:i64 = shlnw %25, 1:i64 | |
| %30:i32 = trunc %29 | |
| %31:i32 = or %28, %30 | |
| %32:i32 = phi %1, %26, %31 | |
| %33:i32 = subnsw 9:i32, %6 | |
| %34:i32 = phi %3, %33, 0:i32 | |
| %35:i32 = subnsw 9:i32, %16 | |
| %36:i32 = addnsw %34, %35 | |
| %37:i32 = phi %2, %36, %34, 0:i32 | |
| %38:i32 = lshr %4, 23:i32 | |
| %39:i32 = and 255:i32, %38 | |
| %40:i32 = lshr %14, 23:i32 | |
| %41:i32 = and 255:i32, %40 | |
| %42:i32 = addnw %39, %41 | |
| %43:i32 = addnsw %37, %42 | |
| %44:i32 = addnsw 4294967170:i32, %43 | |
| %45:i32 = addnsw 4294967169:i32, %43 | |
| %46:i32 = phi %1, %44, %45 | |
| %47:i32 = addnsw 31:i32, %46 | |
| %48:i32 = shl %32, %47 | |
| %49:i32 = shl %27, 1:i32 | |
| %50:i32 = phi %1, %27, %49 | |
| %51:i32 = sub 1:i32, %46 | |
| %52:i32 = lshr %50, %51 | |
| %53:i32 = or %48, %52 | |
| %54:i32 = shl %50, %47 | |
| %55:i32 = or %53, %54 | |
| %56:i32 = phi %0, %55, %50 | |
| %57:i1 = ult 2147483648:i32, %56 | |
| pc %57 1:i1 | |
| %58:i32 = lshr %32, %51 | |
| %59:i32 = and 8388607:i32, %32 | |
| %60:i32 = shlnw %46, 23:i32 | |
| %61:i32 = or %59, %60 | |
| %62:i32 = phi %0, %58, %61 | |
| %63:i32 = xor %4, %14 | |
| %64:i32 = and 2147483648:i32, %63 (hasExternalUses) | |
| %65:i32 = or %62, %64 (hasExternalUses) | |
| %66:i32 = add 1:i32, %65 | |
| infer %66 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 3 | |
| %3 = block 2 | |
| %4:i32 = var | |
| %5:i32 = and 8388607:i32, %4 | |
| %6:i32 = ctlz %5 | |
| %7:i32 = addnw 24:i32, %6 | |
| %8:i32 = and 31:i32, %7 | |
| %9:i32 = shl %5, %8 | |
| %10:i32 = phi %3, %9, %5 | |
| %11:i32 = phi %2, %10, %10, %5 | |
| %12:i32 = or 8388608:i32, %11 | |
| %13:i64 = zext %12 | |
| %14:i32 = var | |
| %15:i32 = and 8388607:i32, %14 | |
| %16:i32 = ctlz %15 | |
| %17:i32 = addnw 24:i32, %16 | |
| %18:i32 = and 31:i32, %17 | |
| %19:i32 = shl %15, %18 | |
| %20:i32 = phi %2, %19, %15, %15 | |
| %21:i32 = shl %20, 8:i32 | |
| %22:i32 = or 2147483648:i32, %21 | |
| %23:i64 = zext %22 | |
| %24:i64 = mulnuw %13, %23 | |
| %25:i64 = lshr %24, 32:i64 | |
| %26:i32 = trunc %25 | |
| %27:i32 = trunc %24 | |
| %28:i32 = lshr %27, 31:i32 | |
| %29:i64 = shlnw %25, 1:i64 | |
| %30:i32 = trunc %29 | |
| %31:i32 = or %28, %30 | |
| %32:i32 = phi %1, %26, %31 | |
| %33:i32 = subnsw 9:i32, %6 | |
| %34:i32 = phi %3, %33, 0:i32 | |
| %35:i32 = subnsw 9:i32, %16 | |
| %36:i32 = addnsw %34, %35 | |
| %37:i32 = phi %2, %36, %34, 0:i32 | |
| %38:i32 = lshr %4, 23:i32 | |
| %39:i32 = and 255:i32, %38 | |
| %40:i32 = lshr %14, 23:i32 | |
| %41:i32 = and 255:i32, %40 | |
| %42:i32 = addnw %39, %41 | |
| %43:i32 = addnsw %37, %42 | |
| %44:i32 = addnsw 4294967170:i32, %43 | |
| %45:i32 = addnsw 4294967169:i32, %43 | |
| %46:i32 = phi %1, %44, %45 | |
| %47:i32 = addnsw 31:i32, %46 | |
| %48:i32 = shl %32, %47 | |
| %49:i32 = shl %27, 1:i32 | |
| %50:i32 = phi %1, %27, %49 | |
| %51:i32 = sub 1:i32, %46 (hasExternalUses) | |
| %52:i32 = lshr %50, %51 | |
| %53:i32 = or %48, %52 | |
| %54:i32 = shl %50, %47 | |
| %55:i32 = or %53, %54 | |
| %56:i32 = phi %0, %55, %50 | |
| infer %56 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 3 | |
| %3 = block 2 | |
| %4:i32 = var | |
| %5:i32 = and 8388607:i32, %4 | |
| %6:i32 = ctlz %5 | |
| %7:i32 = addnw 24:i32, %6 | |
| %8:i32 = and 31:i32, %7 | |
| %9:i32 = shl %5, %8 | |
| %10:i32 = phi %3, %9, %5 | |
| %11:i32 = phi %2, %10, %10, %5 | |
| %12:i32 = or 8388608:i32, %11 | |
| %13:i64 = zext %12 | |
| %14:i32 = var | |
| %15:i32 = and 8388607:i32, %14 | |
| %16:i32 = ctlz %15 | |
| %17:i32 = addnw 24:i32, %16 | |
| %18:i32 = and 31:i32, %17 | |
| %19:i32 = shl %15, %18 | |
| %20:i32 = phi %2, %19, %15, %15 | |
| %21:i32 = shl %20, 8:i32 | |
| %22:i32 = or 2147483648:i32, %21 | |
| %23:i64 = zext %22 | |
| %24:i64 = mulnuw %13, %23 | |
| %25:i64 = lshr %24, 32:i64 | |
| %26:i32 = trunc %25 | |
| %27:i32 = trunc %24 | |
| %28:i32 = lshr %27, 31:i32 | |
| %29:i64 = shlnw %25, 1:i64 | |
| %30:i32 = trunc %29 | |
| %31:i32 = or %28, %30 | |
| %32:i32 = phi %1, %26, %31 | |
| %33:i32 = subnsw 9:i32, %6 | |
| %34:i32 = phi %3, %33, 0:i32 | |
| %35:i32 = subnsw 9:i32, %16 | |
| %36:i32 = addnsw %34, %35 | |
| %37:i32 = phi %2, %36, %34, 0:i32 | |
| %38:i32 = lshr %4, 23:i32 | |
| %39:i32 = and 255:i32, %38 | |
| %40:i32 = lshr %14, 23:i32 | |
| %41:i32 = and 255:i32, %40 | |
| %42:i32 = addnw %39, %41 | |
| %43:i32 = addnsw %37, %42 | |
| %44:i32 = addnsw 4294967170:i32, %43 | |
| %45:i32 = addnsw 4294967169:i32, %43 | |
| %46:i32 = phi %1, %44, %45 | |
| %47:i32 = sub 1:i32, %46 | |
| %48:i32 = lshr %32, %47 | |
| %49:i32 = and 8388607:i32, %32 | |
| %50:i32 = shlnw %46, 23:i32 | |
| %51:i32 = or %49, %50 | |
| %52:i32 = phi %0, %48, %51 | |
| %53:i32 = xor %4, %14 | |
| %54:i32 = and 2147483648:i32, %53 (hasExternalUses) | |
| %55:i32 = or %52, %54 | |
| infer %55 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 3 | |
| %3 = block 2 | |
| %4:i32 = var | |
| %5:i32 = and 8388607:i32, %4 | |
| %6:i32 = ctlz %5 | |
| %7:i32 = addnw 24:i32, %6 | |
| %8:i32 = and 31:i32, %7 | |
| %9:i32 = shl %5, %8 | |
| %10:i32 = phi %3, %9, %5 | |
| %11:i32 = phi %2, %10, %10, %5 | |
| %12:i32 = or 8388608:i32, %11 | |
| %13:i64 = zext %12 | |
| %14:i32 = var | |
| %15:i32 = and 8388607:i32, %14 | |
| %16:i32 = ctlz %15 | |
| %17:i32 = addnw 24:i32, %16 | |
| %18:i32 = and 31:i32, %17 | |
| %19:i32 = shl %15, %18 | |
| %20:i32 = phi %2, %19, %15, %15 | |
| %21:i32 = shl %20, 8:i32 | |
| %22:i32 = or 2147483648:i32, %21 | |
| %23:i64 = zext %22 | |
| %24:i64 = mulnuw %13, %23 | |
| %25:i64 = lshr %24, 32:i64 | |
| %26:i32 = trunc %25 | |
| %27:i32 = trunc %24 | |
| %28:i32 = lshr %27, 31:i32 | |
| %29:i64 = shlnw %25, 1:i64 | |
| %30:i32 = trunc %29 | |
| %31:i32 = or %28, %30 | |
| %32:i32 = phi %1, %26, %31 | |
| %33:i32 = subnsw 9:i32, %6 | |
| %34:i32 = phi %3, %33, 0:i32 | |
| %35:i32 = subnsw 9:i32, %16 | |
| %36:i32 = addnsw %34, %35 | |
| %37:i32 = phi %2, %36, %34, 0:i32 | |
| %38:i32 = lshr %4, 23:i32 | |
| %39:i32 = and 255:i32, %38 | |
| %40:i32 = lshr %14, 23:i32 | |
| %41:i32 = and 255:i32, %40 | |
| %42:i32 = addnw %39, %41 | |
| %43:i32 = addnsw %37, %42 | |
| %44:i32 = addnsw 4294967170:i32, %43 | |
| %45:i32 = addnsw 4294967169:i32, %43 | |
| %46:i32 = phi %1, %44, %45 | |
| %47:i32 = sub 1:i32, %46 (hasExternalUses) | |
| %48:i32 = lshr %32, %47 | |
| %49:i32 = and 8388607:i32, %32 | |
| %50:i32 = shlnw %46, 23:i32 | |
| %51:i32 = or %49, %50 | |
| %52:i32 = phi %0, %48, %51 | |
| infer %52 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 3 | |
| %3 = block 2 | |
| %4:i64 = var | |
| %5:i64 = and 4503599627370495:i64, %4 | |
| %6:i64 = ctlz %5 | |
| %7:i64 = addnw 53:i64, %6 | |
| %8:i64 = and 63:i64, %7 | |
| %9:i64 = shl %5, %8 | |
| %10:i64 = phi %3, %9, %5 | |
| %11:i64 = phi %2, %10, %10, %5 | |
| %12:i64 = or 4503599627370496:i64, %11 | |
| %13:i128 = zext %12 | |
| %14:i64 = var | |
| %15:i64 = and 4503599627370495:i64, %14 | |
| %16:i64 = ctlz %15 | |
| %17:i64 = addnw 53:i64, %16 | |
| %18:i64 = and 63:i64, %17 | |
| %19:i64 = shl %15, %18 | |
| %20:i64 = phi %2, %19, %15, %15 | |
| %21:i64 = shl %20, 11:i64 | |
| %22:i64 = or 9223372036854775808:i64, %21 | |
| %23:i128 = zext %22 | |
| %24:i128 = mulnuw %13, %23 | |
| %25:i128 = lshr %24, 64:i128 | |
| %26:i64 = trunc %25 | |
| %27:i64 = trunc %24 | |
| %28:i64 = lshr %27, 63:i64 | |
| %29:i128 = shlnw %25, 1:i128 | |
| %30:i64 = trunc %29 | |
| %31:i64 = or %28, %30 | |
| %32:i64 = phi %1, %26, %31 | |
| %33:i32 = trunc %6 | |
| %34:i32 = subnsw 12:i32, %33 | |
| %35:i32 = phi %3, %34, 0:i32 | |
| %36:i32 = trunc %16 | |
| %37:i32 = subnsw 12:i32, %36 | |
| %38:i32 = addnsw %35, %37 | |
| %39:i32 = phi %2, %38, %35, 0:i32 | |
| %40:i64 = lshr %4, 52:i64 | |
| %41:i64 = and 2047:i64, %40 | |
| %42:i32 = trunc %41 | |
| %43:i64 = lshr %14, 52:i64 | |
| %44:i64 = and 2047:i64, %43 | |
| %45:i32 = trunc %44 | |
| %46:i32 = addnw %42, %45 | |
| %47:i32 = addnsw %39, %46 | |
| %48:i32 = add 4294966274:i32, %47 | |
| %49:i32 = add 4294966273:i32, %47 | |
| %50:i32 = phi %1, %48, %49 | |
| %51:i32 = addnsw 63:i32, %50 | |
| %52:i64 = zext %51 | |
| %53:i64 = shl %32, %52 | |
| %54:i64 = shl %27, 1:i64 | |
| %55:i64 = phi %1, %27, %54 | |
| %56:i32 = sub 1:i32, %50 | |
| %57:i64 = zext %56 | |
| %58:i64 = lshr %55, %57 | |
| %59:i64 = or %53, %58 | |
| %60:i64 = shl %55, %52 | |
| %61:i64 = or %59, %60 | |
| %62:i64 = phi %0, %61, %55 | |
| %63:i1 = ult 9223372036854775808:i64, %62 | |
| infer %63 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 3 | |
| %3 = block 2 | |
| %4:i64 = var | |
| %5:i64 = and 4503599627370495:i64, %4 | |
| %6:i64 = ctlz %5 | |
| %7:i64 = addnw 53:i64, %6 | |
| %8:i64 = and 63:i64, %7 | |
| %9:i64 = shl %5, %8 | |
| %10:i64 = phi %3, %9, %5 | |
| %11:i64 = phi %2, %10, %10, %5 | |
| %12:i64 = or 4503599627370496:i64, %11 | |
| %13:i128 = zext %12 | |
| %14:i64 = var | |
| %15:i64 = and 4503599627370495:i64, %14 | |
| %16:i64 = ctlz %15 | |
| %17:i64 = addnw 53:i64, %16 | |
| %18:i64 = and 63:i64, %17 | |
| %19:i64 = shl %15, %18 | |
| %20:i64 = phi %2, %19, %15, %15 | |
| %21:i64 = shl %20, 11:i64 | |
| %22:i64 = or 9223372036854775808:i64, %21 | |
| %23:i128 = zext %22 | |
| %24:i128 = mulnuw %13, %23 | |
| %25:i128 = lshr %24, 64:i128 | |
| %26:i64 = trunc %25 | |
| %27:i64 = trunc %24 | |
| %28:i64 = lshr %27, 63:i64 | |
| %29:i128 = shlnw %25, 1:i128 | |
| %30:i64 = trunc %29 | |
| %31:i64 = or %28, %30 | |
| %32:i64 = phi %1, %26, %31 | |
| %33:i32 = trunc %6 | |
| %34:i32 = subnsw 12:i32, %33 | |
| %35:i32 = phi %3, %34, 0:i32 | |
| %36:i32 = trunc %16 | |
| %37:i32 = subnsw 12:i32, %36 | |
| %38:i32 = addnsw %35, %37 | |
| %39:i32 = phi %2, %38, %35, 0:i32 | |
| %40:i64 = lshr %4, 52:i64 | |
| %41:i64 = and 2047:i64, %40 | |
| %42:i32 = trunc %41 | |
| %43:i64 = lshr %14, 52:i64 | |
| %44:i64 = and 2047:i64, %43 | |
| %45:i32 = trunc %44 | |
| %46:i32 = addnw %42, %45 | |
| %47:i32 = addnsw %39, %46 | |
| %48:i32 = add 4294966274:i32, %47 | |
| %49:i32 = add 4294966273:i32, %47 | |
| %50:i32 = phi %1, %48, %49 | |
| %51:i32 = addnsw 63:i32, %50 | |
| %52:i64 = zext %51 | |
| %53:i64 = shl %32, %52 | |
| %54:i64 = shl %27, 1:i64 | |
| %55:i64 = phi %1, %27, %54 | |
| %56:i32 = sub 1:i32, %50 | |
| %57:i64 = zext %56 | |
| %58:i64 = lshr %55, %57 | |
| %59:i64 = or %53, %58 | |
| %60:i64 = shl %55, %52 | |
| %61:i64 = or %59, %60 | |
| %62:i64 = phi %0, %61, %55 | |
| %63:i1 = ult 9223372036854775808:i64, %62 | |
| pc %63 0:i1 | |
| %64:i1 = eq 9223372036854775808:i64, %62 | |
| infer %64 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 3 | |
| %3 = block 2 | |
| %4:i64 = var | |
| %5:i64 = and 4503599627370495:i64, %4 | |
| %6:i64 = ctlz %5 | |
| %7:i64 = addnw 53:i64, %6 | |
| %8:i64 = and 63:i64, %7 | |
| %9:i64 = shl %5, %8 | |
| %10:i64 = phi %3, %9, %5 | |
| %11:i64 = phi %2, %10, %10, %5 | |
| %12:i64 = or 4503599627370496:i64, %11 | |
| %13:i128 = zext %12 | |
| %14:i64 = var | |
| %15:i64 = and 4503599627370495:i64, %14 | |
| %16:i64 = ctlz %15 | |
| %17:i64 = addnw 53:i64, %16 | |
| %18:i64 = and 63:i64, %17 | |
| %19:i64 = shl %15, %18 | |
| %20:i64 = phi %2, %19, %15, %15 | |
| %21:i64 = shl %20, 11:i64 | |
| %22:i64 = or 9223372036854775808:i64, %21 | |
| %23:i128 = zext %22 | |
| %24:i128 = mulnuw %13, %23 | |
| %25:i128 = lshr %24, 64:i128 | |
| %26:i64 = trunc %25 | |
| %27:i64 = trunc %24 | |
| %28:i64 = lshr %27, 63:i64 | |
| %29:i128 = shlnw %25, 1:i128 | |
| %30:i64 = trunc %29 | |
| %31:i64 = or %28, %30 | |
| %32:i64 = phi %1, %26, %31 | |
| %33:i32 = trunc %6 | |
| %34:i32 = subnsw 12:i32, %33 | |
| %35:i32 = phi %3, %34, 0:i32 | |
| %36:i32 = trunc %16 | |
| %37:i32 = subnsw 12:i32, %36 | |
| %38:i32 = addnsw %35, %37 | |
| %39:i32 = phi %2, %38, %35, 0:i32 | |
| %40:i64 = lshr %4, 52:i64 | |
| %41:i64 = and 2047:i64, %40 | |
| %42:i32 = trunc %41 | |
| %43:i64 = lshr %14, 52:i64 | |
| %44:i64 = and 2047:i64, %43 | |
| %45:i32 = trunc %44 | |
| %46:i32 = addnw %42, %45 | |
| %47:i32 = addnsw %39, %46 | |
| %48:i32 = add 4294966274:i32, %47 | |
| %49:i32 = add 4294966273:i32, %47 | |
| %50:i32 = phi %1, %48, %49 | |
| %51:i32 = addnsw 63:i32, %50 | |
| %52:i64 = zext %51 | |
| %53:i64 = shl %32, %52 | |
| %54:i64 = shl %27, 1:i64 | |
| %55:i64 = phi %1, %27, %54 | |
| %56:i32 = sub 1:i32, %50 | |
| %57:i64 = zext %56 | |
| %58:i64 = lshr %55, %57 | |
| %59:i64 = or %53, %58 | |
| %60:i64 = shl %55, %52 | |
| %61:i64 = or %59, %60 | |
| %62:i64 = phi %0, %61, %55 | |
| %63:i1 = ult 9223372036854775808:i64, %62 | |
| pc %63 0:i1 | |
| %64:i1 = eq 9223372036854775808:i64, %62 | |
| pc %64 1:i1 | |
| %65:i64 = lshr %32, %57 | |
| %66:i64 = and 4503599627370495:i64, %32 | |
| %67:i64 = zext %50 | |
| %68:i64 = shlnw %67, 52:i64 | |
| %69:i64 = or %66, %68 | |
| %70:i64 = phi %0, %65, %69 | |
| %71:i64 = and 1:i64, %70 | |
| %72:i64 = xor %4, %14 | |
| %73:i64 = and 9223372036854775808:i64, %72 (hasExternalUses) | |
| %74:i64 = or %70, %73 (hasExternalUses) | |
| %75:i64 = add %71, %74 | |
| infer %75 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 3 | |
| %3 = block 2 | |
| %4:i64 = var | |
| %5:i64 = and 4503599627370495:i64, %4 | |
| %6:i64 = ctlz %5 | |
| %7:i64 = addnw 53:i64, %6 | |
| %8:i64 = and 63:i64, %7 | |
| %9:i64 = shl %5, %8 | |
| %10:i64 = phi %3, %9, %5 | |
| %11:i64 = phi %2, %10, %10, %5 | |
| %12:i64 = or 4503599627370496:i64, %11 | |
| %13:i128 = zext %12 | |
| %14:i64 = var | |
| %15:i64 = and 4503599627370495:i64, %14 | |
| %16:i64 = ctlz %15 | |
| %17:i64 = addnw 53:i64, %16 | |
| %18:i64 = and 63:i64, %17 | |
| %19:i64 = shl %15, %18 | |
| %20:i64 = phi %2, %19, %15, %15 | |
| %21:i64 = shl %20, 11:i64 | |
| %22:i64 = or 9223372036854775808:i64, %21 | |
| %23:i128 = zext %22 | |
| %24:i128 = mulnuw %13, %23 | |
| %25:i128 = lshr %24, 64:i128 | |
| %26:i64 = trunc %25 | |
| %27:i64 = trunc %24 | |
| %28:i64 = lshr %27, 63:i64 | |
| %29:i128 = shlnw %25, 1:i128 | |
| %30:i64 = trunc %29 | |
| %31:i64 = or %28, %30 | |
| %32:i64 = phi %1, %26, %31 | |
| %33:i32 = trunc %6 | |
| %34:i32 = subnsw 12:i32, %33 | |
| %35:i32 = phi %3, %34, 0:i32 | |
| %36:i32 = trunc %16 | |
| %37:i32 = subnsw 12:i32, %36 | |
| %38:i32 = addnsw %35, %37 | |
| %39:i32 = phi %2, %38, %35, 0:i32 | |
| %40:i64 = lshr %4, 52:i64 | |
| %41:i64 = and 2047:i64, %40 | |
| %42:i32 = trunc %41 | |
| %43:i64 = lshr %14, 52:i64 | |
| %44:i64 = and 2047:i64, %43 | |
| %45:i32 = trunc %44 | |
| %46:i32 = addnw %42, %45 | |
| %47:i32 = addnsw %39, %46 | |
| %48:i32 = add 4294966274:i32, %47 | |
| %49:i32 = add 4294966273:i32, %47 | |
| %50:i32 = phi %1, %48, %49 | |
| %51:i32 = addnsw 63:i32, %50 | |
| %52:i64 = zext %51 | |
| %53:i64 = shl %32, %52 | |
| %54:i64 = shl %27, 1:i64 | |
| %55:i64 = phi %1, %27, %54 | |
| %56:i32 = sub 1:i32, %50 | |
| %57:i64 = zext %56 | |
| %58:i64 = lshr %55, %57 | |
| %59:i64 = or %53, %58 | |
| %60:i64 = shl %55, %52 | |
| %61:i64 = or %59, %60 | |
| %62:i64 = phi %0, %61, %55 | |
| %63:i1 = ult 9223372036854775808:i64, %62 | |
| pc %63 0:i1 | |
| %64:i1 = eq 9223372036854775808:i64, %62 | |
| pc %64 1:i1 | |
| %65:i64 = lshr %32, %57 | |
| %66:i64 = and 4503599627370495:i64, %32 | |
| %67:i64 = zext %50 | |
| %68:i64 = shlnw %67, 52:i64 | |
| %69:i64 = or %66, %68 | |
| %70:i64 = phi %0, %65, %69 | |
| %71:i64 = and 1:i64, %70 | |
| infer %71 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 3 | |
| %3 = block 2 | |
| %4:i64 = var | |
| %5:i64 = and 4503599627370495:i64, %4 | |
| %6:i64 = ctlz %5 | |
| %7:i64 = addnw 53:i64, %6 | |
| %8:i64 = and 63:i64, %7 | |
| %9:i64 = shl %5, %8 | |
| %10:i64 = phi %3, %9, %5 | |
| %11:i64 = phi %2, %10, %10, %5 | |
| %12:i64 = or 4503599627370496:i64, %11 | |
| %13:i128 = zext %12 | |
| %14:i64 = var | |
| %15:i64 = and 4503599627370495:i64, %14 | |
| %16:i64 = ctlz %15 | |
| %17:i64 = addnw 53:i64, %16 | |
| %18:i64 = and 63:i64, %17 | |
| %19:i64 = shl %15, %18 | |
| %20:i64 = phi %2, %19, %15, %15 | |
| %21:i64 = shl %20, 11:i64 | |
| %22:i64 = or 9223372036854775808:i64, %21 | |
| %23:i128 = zext %22 | |
| %24:i128 = mulnuw %13, %23 | |
| %25:i128 = lshr %24, 64:i128 | |
| %26:i64 = trunc %25 | |
| %27:i64 = trunc %24 | |
| %28:i64 = lshr %27, 63:i64 | |
| %29:i128 = shlnw %25, 1:i128 | |
| %30:i64 = trunc %29 | |
| %31:i64 = or %28, %30 | |
| %32:i64 = phi %1, %26, %31 | |
| %33:i32 = trunc %6 | |
| %34:i32 = subnsw 12:i32, %33 | |
| %35:i32 = phi %3, %34, 0:i32 | |
| %36:i32 = trunc %16 | |
| %37:i32 = subnsw 12:i32, %36 | |
| %38:i32 = addnsw %35, %37 | |
| %39:i32 = phi %2, %38, %35, 0:i32 | |
| %40:i64 = lshr %4, 52:i64 | |
| %41:i64 = and 2047:i64, %40 | |
| %42:i32 = trunc %41 | |
| %43:i64 = lshr %14, 52:i64 | |
| %44:i64 = and 2047:i64, %43 | |
| %45:i32 = trunc %44 | |
| %46:i32 = addnw %42, %45 | |
| %47:i32 = addnsw %39, %46 | |
| %48:i32 = add 4294966274:i32, %47 | |
| %49:i32 = add 4294966273:i32, %47 | |
| %50:i32 = phi %1, %48, %49 | |
| %51:i32 = addnsw 63:i32, %50 | |
| %52:i64 = zext %51 | |
| %53:i64 = shl %32, %52 | |
| %54:i64 = shl %27, 1:i64 | |
| %55:i64 = phi %1, %27, %54 | |
| %56:i32 = sub 1:i32, %50 | |
| %57:i64 = zext %56 | |
| %58:i64 = lshr %55, %57 | |
| %59:i64 = or %53, %58 | |
| %60:i64 = shl %55, %52 | |
| %61:i64 = or %59, %60 | |
| %62:i64 = phi %0, %61, %55 | |
| %63:i1 = ult 9223372036854775808:i64, %62 | |
| pc %63 1:i1 | |
| %64:i64 = lshr %32, %57 | |
| %65:i64 = and 4503599627370495:i64, %32 | |
| %66:i64 = zext %50 | |
| %67:i64 = shlnw %66, 52:i64 | |
| %68:i64 = or %65, %67 | |
| %69:i64 = phi %0, %64, %68 | |
| %70:i64 = xor %4, %14 | |
| %71:i64 = and 9223372036854775808:i64, %70 (hasExternalUses) | |
| %72:i64 = or %69, %71 (hasExternalUses) | |
| %73:i64 = add 1:i64, %72 | |
| infer %73 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 3 | |
| %3 = block 2 | |
| %4:i64 = var | |
| %5:i64 = and 4503599627370495:i64, %4 | |
| %6:i64 = ctlz %5 | |
| %7:i64 = addnw 53:i64, %6 | |
| %8:i64 = and 63:i64, %7 | |
| %9:i64 = shl %5, %8 | |
| %10:i64 = phi %3, %9, %5 | |
| %11:i64 = phi %2, %10, %10, %5 | |
| %12:i64 = or 4503599627370496:i64, %11 | |
| %13:i128 = zext %12 | |
| %14:i64 = var | |
| %15:i64 = and 4503599627370495:i64, %14 | |
| %16:i64 = ctlz %15 | |
| %17:i64 = addnw 53:i64, %16 | |
| %18:i64 = and 63:i64, %17 | |
| %19:i64 = shl %15, %18 | |
| %20:i64 = phi %2, %19, %15, %15 | |
| %21:i64 = shl %20, 11:i64 | |
| %22:i64 = or 9223372036854775808:i64, %21 | |
| %23:i128 = zext %22 | |
| %24:i128 = mulnuw %13, %23 | |
| %25:i128 = lshr %24, 64:i128 | |
| %26:i64 = trunc %25 | |
| %27:i64 = trunc %24 | |
| %28:i64 = lshr %27, 63:i64 | |
| %29:i128 = shlnw %25, 1:i128 | |
| %30:i64 = trunc %29 | |
| %31:i64 = or %28, %30 | |
| %32:i64 = phi %1, %26, %31 | |
| %33:i32 = trunc %6 | |
| %34:i32 = subnsw 12:i32, %33 | |
| %35:i32 = phi %3, %34, 0:i32 | |
| %36:i32 = trunc %16 | |
| %37:i32 = subnsw 12:i32, %36 | |
| %38:i32 = addnsw %35, %37 | |
| %39:i32 = phi %2, %38, %35, 0:i32 | |
| %40:i64 = lshr %4, 52:i64 | |
| %41:i64 = and 2047:i64, %40 | |
| %42:i32 = trunc %41 | |
| %43:i64 = lshr %14, 52:i64 | |
| %44:i64 = and 2047:i64, %43 | |
| %45:i32 = trunc %44 | |
| %46:i32 = addnw %42, %45 | |
| %47:i32 = addnsw %39, %46 | |
| %48:i32 = add 4294966274:i32, %47 | |
| %49:i32 = add 4294966273:i32, %47 | |
| %50:i32 = phi %1, %48, %49 | |
| %51:i32 = addnsw 63:i32, %50 | |
| %52:i64 = zext %51 | |
| %53:i64 = shl %32, %52 | |
| %54:i64 = shl %27, 1:i64 | |
| %55:i64 = phi %1, %27, %54 | |
| %56:i32 = sub 1:i32, %50 (hasExternalUses) | |
| %57:i64 = zext %56 (hasExternalUses) | |
| %58:i64 = lshr %55, %57 | |
| %59:i64 = or %53, %58 | |
| %60:i64 = shl %55, %52 | |
| %61:i64 = or %59, %60 | |
| %62:i64 = phi %0, %61, %55 | |
| infer %62 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 3 | |
| %3 = block 2 | |
| %4:i64 = var | |
| %5:i64 = and 4503599627370495:i64, %4 | |
| %6:i64 = ctlz %5 | |
| %7:i64 = addnw 53:i64, %6 | |
| %8:i64 = and 63:i64, %7 | |
| %9:i64 = shl %5, %8 | |
| %10:i64 = phi %3, %9, %5 | |
| %11:i64 = phi %2, %10, %10, %5 | |
| %12:i64 = or 4503599627370496:i64, %11 | |
| %13:i128 = zext %12 | |
| %14:i64 = var | |
| %15:i64 = and 4503599627370495:i64, %14 | |
| %16:i64 = ctlz %15 | |
| %17:i64 = addnw 53:i64, %16 | |
| %18:i64 = and 63:i64, %17 | |
| %19:i64 = shl %15, %18 | |
| %20:i64 = phi %2, %19, %15, %15 | |
| %21:i64 = shl %20, 11:i64 | |
| %22:i64 = or 9223372036854775808:i64, %21 | |
| %23:i128 = zext %22 | |
| %24:i128 = mulnuw %13, %23 | |
| %25:i128 = lshr %24, 64:i128 | |
| %26:i64 = trunc %25 | |
| %27:i64 = trunc %24 | |
| %28:i64 = lshr %27, 63:i64 | |
| %29:i128 = shlnw %25, 1:i128 | |
| %30:i64 = trunc %29 | |
| %31:i64 = or %28, %30 | |
| %32:i64 = phi %1, %26, %31 | |
| %33:i32 = trunc %6 | |
| %34:i32 = subnsw 12:i32, %33 | |
| %35:i32 = phi %3, %34, 0:i32 | |
| %36:i32 = trunc %16 | |
| %37:i32 = subnsw 12:i32, %36 | |
| %38:i32 = addnsw %35, %37 | |
| %39:i32 = phi %2, %38, %35, 0:i32 | |
| %40:i64 = lshr %4, 52:i64 | |
| %41:i64 = and 2047:i64, %40 | |
| %42:i32 = trunc %41 | |
| %43:i64 = lshr %14, 52:i64 | |
| %44:i64 = and 2047:i64, %43 | |
| %45:i32 = trunc %44 | |
| %46:i32 = addnw %42, %45 | |
| %47:i32 = addnsw %39, %46 | |
| %48:i32 = add 4294966274:i32, %47 | |
| %49:i32 = add 4294966273:i32, %47 | |
| %50:i32 = phi %1, %48, %49 | |
| %51:i32 = sub 1:i32, %50 | |
| %52:i64 = zext %51 | |
| %53:i64 = lshr %32, %52 | |
| %54:i64 = and 4503599627370495:i64, %32 | |
| %55:i64 = zext %50 | |
| %56:i64 = shlnw %55, 52:i64 | |
| %57:i64 = or %54, %56 | |
| %58:i64 = phi %0, %53, %57 | |
| %59:i64 = xor %4, %14 | |
| %60:i64 = and 9223372036854775808:i64, %59 (hasExternalUses) | |
| %61:i64 = or %58, %60 | |
| infer %61 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 3 | |
| %3 = block 2 | |
| %4:i64 = var | |
| %5:i64 = and 4503599627370495:i64, %4 | |
| %6:i64 = ctlz %5 | |
| %7:i64 = addnw 53:i64, %6 | |
| %8:i64 = and 63:i64, %7 | |
| %9:i64 = shl %5, %8 | |
| %10:i64 = phi %3, %9, %5 | |
| %11:i64 = phi %2, %10, %10, %5 | |
| %12:i64 = or 4503599627370496:i64, %11 | |
| %13:i128 = zext %12 | |
| %14:i64 = var | |
| %15:i64 = and 4503599627370495:i64, %14 | |
| %16:i64 = ctlz %15 | |
| %17:i64 = addnw 53:i64, %16 | |
| %18:i64 = and 63:i64, %17 | |
| %19:i64 = shl %15, %18 | |
| %20:i64 = phi %2, %19, %15, %15 | |
| %21:i64 = shl %20, 11:i64 | |
| %22:i64 = or 9223372036854775808:i64, %21 | |
| %23:i128 = zext %22 | |
| %24:i128 = mulnuw %13, %23 | |
| %25:i128 = lshr %24, 64:i128 | |
| %26:i64 = trunc %25 | |
| %27:i64 = trunc %24 | |
| %28:i64 = lshr %27, 63:i64 | |
| %29:i128 = shlnw %25, 1:i128 | |
| %30:i64 = trunc %29 | |
| %31:i64 = or %28, %30 | |
| %32:i64 = phi %1, %26, %31 | |
| %33:i32 = trunc %6 | |
| %34:i32 = subnsw 12:i32, %33 | |
| %35:i32 = phi %3, %34, 0:i32 | |
| %36:i32 = trunc %16 | |
| %37:i32 = subnsw 12:i32, %36 | |
| %38:i32 = addnsw %35, %37 | |
| %39:i32 = phi %2, %38, %35, 0:i32 | |
| %40:i64 = lshr %4, 52:i64 | |
| %41:i64 = and 2047:i64, %40 | |
| %42:i32 = trunc %41 | |
| %43:i64 = lshr %14, 52:i64 | |
| %44:i64 = and 2047:i64, %43 | |
| %45:i32 = trunc %44 | |
| %46:i32 = addnw %42, %45 | |
| %47:i32 = addnsw %39, %46 | |
| %48:i32 = add 4294966274:i32, %47 | |
| %49:i32 = add 4294966273:i32, %47 | |
| %50:i32 = phi %1, %48, %49 | |
| %51:i32 = sub 1:i32, %50 (hasExternalUses) | |
| %52:i64 = zext %51 (hasExternalUses) | |
| %53:i64 = lshr %32, %52 | |
| %54:i64 = and 4503599627370495:i64, %32 | |
| %55:i64 = zext %50 | |
| %56:i64 = shlnw %55, 52:i64 | |
| %57:i64 = or %54, %56 | |
| %58:i64 = phi %0, %53, %57 | |
| infer %58 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 3 | |
| %3:i32 = var | |
| %4:i32 = var | |
| %5:i32 = var | |
| %6:i32 = phi %2, %3, %4, %5 | |
| %7:i32 = var | |
| %8:i32 = phi %1, %6, %7 | |
| %9:i32 = var | |
| %10:i32 = phi %0, %8, %9 | |
| %11:i32 = and 8192:i32, %10 | |
| %12:i1 = eq 0:i32, %11 | |
| infer %12 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 3 | |
| %3:i32 = var | |
| %4:i32 = var | |
| %5:i32 = var | |
| %6:i32 = phi %2, %3, %4, %5 | |
| %7:i32 = var | |
| %8:i32 = phi %1, %6, %7 | |
| %9:i32 = var | |
| %10:i32 = phi %0, %8, %9 | |
| %11:i32 = and 8192:i32, %10 | |
| infer %11 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 3 | |
| %3:i32 = var | |
| %4:i32 = var | |
| %5:i32 = var | |
| %6:i32 = phi %2, %3, %4, %5 | |
| %7:i32 = var | |
| %8:i32 = phi %1, %6, %7 | |
| %9:i32 = var | |
| %10:i32 = phi %0, %8, %9 | |
| infer %10 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 3 | |
| %3:i64 = var | |
| %4:i1 = eq 0:i64, %3 | |
| %5:i64 = var | |
| %6:i64 = select %4, 0:i64, %5 | |
| %7:i64 = phi %2, 0:i64, %6, %5 | |
| %8:i64 = phi %1, %7, 0:i64 | |
| %9 = block 2 | |
| %10:i64 = var | |
| %11:i1 = eq 0:i64, %10 | |
| %12:i64 = select %11, 0:i64, %5 | |
| %13:i64 = phi %9, 0:i64, %12 | |
| %14:i64 = phi %0, %8, %13 | |
| infer %14 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 3 | |
| %3:i64 = var | |
| %4:i64 = var | |
| %5:i64 = var | |
| %6:i64 = phi %2, %3, %4, %5 | |
| %7:i64 = phi %1, %6, 0:i64 | |
| %8 = block 2 | |
| %9:i64 = var | |
| %10:i64 = phi %8, %3, %9 | |
| %11:i64 = phi %0, %7, %10 | |
| %12:i1 = eq 0:i64, %11 | |
| infer %12 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 3 | |
| %3:i8 = phi %2, 1:i8, 0:i8, 0:i8 | |
| %4:i8 = phi %1, %3, 0:i8 | |
| %5:i8 = phi %0, %4, 0:i8 | |
| %6:i1 = eq 0:i8, %5 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2 = block 3 | |
| %3:i8 = phi %2, 1:i8, 0:i8, 0:i8 | |
| %4:i8 = phi %1, %3, 0:i8 | |
| %5:i8 = phi %0, %4, 0:i8 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i1 = var | |
| %3:i1 = phi %1, %2, 0:i1 | |
| %4:i1 = phi %0, %3, 1:i1 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i1 = var | |
| %3:i1 = phi %1, %2, 1:i1 | |
| %4:i1 = phi %0, %3, 0:i1 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i128 = phi %1, 0:i128, 340282366920938463463374607431768211455:i128 | |
| %3:i128 = phi %0, 0:i128, %2 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i128 = phi %1, 170141183460469231731687303715884105728:i128, 170141183460469231731687303715884105727:i128 | |
| %3:i128 = phi %0, 0:i128, %2 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i128 = var | |
| %3:i128 = var | |
| %4:i128 = phi %1, %2, %3 | |
| %5:i128 = phi %0, 0:i128, %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = phi %1, 0:i32, 4294967295:i32 | |
| %3:i32 = phi %0, 0:i32, %2 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = phi %1, 1:i32, 0:i32 | |
| %3 = block 2 | |
| %4:i32 = phi %3, 1:i32, 0:i32 | |
| %5:i32 = phi %0, %2, %4 | |
| %6:i1 = eq 1:i32, %5 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = phi %1, 1:i32, 0:i32 | |
| %3 = block 2 | |
| %4:i32 = phi %3, 1:i32, 0:i32 | |
| %5:i32 = phi %0, %2, %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = phi %1, 2147483648:i32, 2147483647:i32 | |
| %3:i32 = phi %0, 0:i32, %2 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12:i32 = var | |
| %13:i32 = var | |
| %14:i32 = phi %11, %12, %13 | |
| %15:i32 = var | |
| %16:i32 = phi %10, %14, %15 | |
| %17:i32 = var | |
| %18:i32 = phi %9, %16, %17 | |
| %19:i32 = var | |
| %20:i32 = phi %8, %18, %19 | |
| %21:i32 = var | |
| %22:i32 = phi %7, %20, %21 | |
| %23:i32 = var | |
| %24:i32 = phi %6, %22, %23 | |
| %25:i32 = var | |
| %26:i32 = phi %5, %24, %25 | |
| %27:i32 = var | |
| %28:i32 = phi %4, %26, %27 | |
| %29:i32 = var | |
| %30:i32 = phi %3, %28, %29 | |
| %31:i32 = phi %1, %2, %30 | |
| %32:i32 = var | |
| %33:i32 = phi %0, %31, %32 | |
| %34:i32 = and 262144:i32, %33 | |
| %35:i1 = eq 0:i32, %34 | |
| infer %35 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12:i32 = var | |
| %13:i32 = var | |
| %14:i32 = phi %11, %12, %13 | |
| %15:i32 = var | |
| %16:i32 = phi %10, %14, %15 | |
| %17:i32 = var | |
| %18:i32 = phi %9, %16, %17 | |
| %19:i32 = var | |
| %20:i32 = phi %8, %18, %19 | |
| %21:i32 = var | |
| %22:i32 = phi %7, %20, %21 | |
| %23:i32 = var | |
| %24:i32 = phi %6, %22, %23 | |
| %25:i32 = var | |
| %26:i32 = phi %5, %24, %25 | |
| %27:i32 = var | |
| %28:i32 = phi %4, %26, %27 | |
| %29:i32 = var | |
| %30:i32 = phi %3, %28, %29 | |
| %31:i32 = phi %1, %2, %30 | |
| %32:i32 = var | |
| %33:i32 = phi %0, %31, %32 | |
| %34:i32 = and 262144:i32, %33 | |
| infer %34 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 2 | |
| %12:i32 = var | |
| %13:i32 = var | |
| %14:i32 = phi %11, %12, %13 | |
| %15:i32 = var | |
| %16:i32 = phi %10, %14, %15 | |
| %17:i32 = var | |
| %18:i32 = phi %9, %16, %17 | |
| %19:i32 = var | |
| %20:i32 = phi %8, %18, %19 | |
| %21:i32 = var | |
| %22:i32 = phi %7, %20, %21 | |
| %23:i32 = var | |
| %24:i32 = phi %6, %22, %23 | |
| %25:i32 = var | |
| %26:i32 = phi %5, %24, %25 | |
| %27:i32 = var | |
| %28:i32 = phi %4, %26, %27 | |
| %29:i32 = var | |
| %30:i32 = phi %3, %28, %29 | |
| %31:i32 = phi %1, %2, %30 | |
| %32:i32 = var | |
| %33:i32 = phi %0, %31, %32 | |
| infer %33 (demandedBits=11111111111101111001101100111100) | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 3 | |
| %12:i32 = var | |
| %13:i32 = var | |
| %14:i32 = var | |
| %15:i32 = phi %11, %12, %13, %14 | |
| %16:i32 = var | |
| %17:i32 = phi %10, %15, %16 | |
| %18:i32 = var | |
| %19:i32 = phi %9, %17, %18 | |
| %20:i32 = var | |
| %21:i32 = phi %8, %19, %20 | |
| %22:i32 = var | |
| %23:i32 = phi %7, %21, %22 | |
| %24:i32 = var | |
| %25:i32 = phi %6, %23, %24 | |
| %26:i32 = var | |
| %27:i32 = phi %5, %25, %26 | |
| %28:i32 = var | |
| %29:i32 = phi %4, %27, %28 | |
| %30:i32 = var | |
| %31:i32 = phi %3, %29, %30 | |
| %32:i32 = phi %1, %2, %31 | |
| %33:i32 = var | |
| %34:i32 = phi %0, %32, %33 | |
| %35:i32 = and 262144:i32, %34 | |
| %36:i1 = eq 0:i32, %35 | |
| infer %36 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 3 | |
| %12:i32 = var | |
| %13:i32 = var | |
| %14:i32 = var | |
| %15:i32 = phi %11, %12, %13, %14 | |
| %16:i32 = var | |
| %17:i32 = phi %10, %15, %16 | |
| %18:i32 = var | |
| %19:i32 = phi %9, %17, %18 | |
| %20:i32 = var | |
| %21:i32 = phi %8, %19, %20 | |
| %22:i32 = var | |
| %23:i32 = phi %7, %21, %22 | |
| %24:i32 = var | |
| %25:i32 = phi %6, %23, %24 | |
| %26:i32 = var | |
| %27:i32 = phi %5, %25, %26 | |
| %28:i32 = var | |
| %29:i32 = phi %4, %27, %28 | |
| %30:i32 = var | |
| %31:i32 = phi %3, %29, %30 | |
| %32:i32 = phi %1, %2, %31 | |
| %33:i32 = var | |
| %34:i32 = phi %0, %32, %33 | |
| %35:i32 = and 262144:i32, %34 | |
| infer %35 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11 = block 3 | |
| %12:i32 = var | |
| %13:i32 = var | |
| %14:i32 = var | |
| %15:i32 = phi %11, %12, %13, %14 | |
| %16:i32 = var | |
| %17:i32 = phi %10, %15, %16 | |
| %18:i32 = var | |
| %19:i32 = phi %9, %17, %18 | |
| %20:i32 = var | |
| %21:i32 = phi %8, %19, %20 | |
| %22:i32 = var | |
| %23:i32 = phi %7, %21, %22 | |
| %24:i32 = var | |
| %25:i32 = phi %6, %23, %24 | |
| %26:i32 = var | |
| %27:i32 = phi %5, %25, %26 | |
| %28:i32 = var | |
| %29:i32 = phi %4, %27, %28 | |
| %30:i32 = var | |
| %31:i32 = phi %3, %29, %30 | |
| %32:i32 = phi %1, %2, %31 | |
| %33:i32 = var | |
| %34:i32 = phi %0, %32, %33 | |
| infer %34 (demandedBits=11111111111101111001101100111100) | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3 = block 2 | |
| %4:i32 = var | |
| %5:i32 = phi %3, %4, 0:i32 | |
| %6:i32 = add %2, %5 | |
| %7:i32 = phi %1, %6, %5 | |
| %8:i32 = phi %0, %7, 0:i32 | |
| infer %8 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i1 = slt %2, 0:i32 | |
| %4:i32 = sub 0:i32, %2 | |
| %5:i32 = select %3, %4, %2 | |
| %6:i32 = var | |
| %7:i1 = slt %6, 0:i32 | |
| %8:i32 = sub 0:i32, %6 | |
| %9:i32 = select %7, %8, %6 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = ctlz %5 | |
| %12:i32 = subnsw %10, %11 | |
| %13:i32 = and 31:i32, %12 | |
| %14:i32 = shl %9, %13 | |
| %15:i1 = ult %5, %14 | |
| %16:i64 = select %15, 18446744073709551615:i64, 0:i64 | |
| %17:i64 = zext %12 | |
| %18:i64 = addnsw %16, %17 | |
| %19:i32 = trunc %18 | |
| %20:i32 = and 31:i32, %19 | |
| %21:i32 = shl %9, %20 | |
| %22:i32 = sub %5, %21 | |
| %23:i32 = lshr %21, 1:i32 | |
| %24:i32 = sub %22, %23 | |
| %25:i1 = slt 4294967295:i32, %24 | |
| %26:i32 = select %25, %24, %22 | |
| %27:i32 = phi %1, %26, %22 | |
| %28:i32 = var | |
| %29:i32 = shl %28, 1:i32 | |
| %30:i32 = phi %1, %23, %21 | |
| %31:i32 = addnsw 4294967295:i32, %30 | |
| %32:i32 = sub %29, %31 | |
| %33:i32 = ashr %32, 31:i32 | |
| %34:i32 = and %31, %33 | |
| %35:i32 = add %32, %34 | |
| %36:i32 = phi %0, %27, %35 | |
| %37:i64 = addnsw 18446744073709551615:i64, %18 | |
| %38:i32 = trunc %37 | |
| %39:i32 = and 31:i32, %38 | |
| %40:i32 = shlnuw 1:i32, %39 | |
| %41:i32 = shlnuw 1:i32, %20 | |
| %42:i32 = phi %1, %40, %41 | |
| %43:i32 = add 4294967295:i32, %42 | |
| %44:i32 = and %36, %43 | |
| infer %44 | |
| > | |
| <sprofile > <12> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i1 = slt %2, 0:i32 | |
| %4:i32 = sub 0:i32, %2 | |
| %5:i32 = select %3, %4, %2 | |
| %6:i32 = var | |
| %7:i1 = slt %6, 0:i32 | |
| %8:i32 = sub 0:i32, %6 | |
| %9:i32 = select %7, %8, %6 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = ctlz %5 | |
| %12:i32 = subnsw %10, %11 | |
| %13:i32 = and 31:i32, %12 | |
| %14:i32 = shl %9, %13 | |
| %15:i1 = ult %5, %14 | |
| %16:i64 = select %15, 18446744073709551615:i64, 0:i64 | |
| %17:i64 = zext %12 | |
| %18:i64 = addnsw %16, %17 | |
| %19:i32 = trunc %18 | |
| %20:i32 = and 31:i32, %19 | |
| %21:i32 = shl %9, %20 | |
| %22:i32 = sub %5, %21 | |
| %23:i32 = lshr %21, 1:i32 | |
| %24:i32 = sub %22, %23 | |
| %25:i1 = slt 4294967295:i32, %24 | |
| %26:i32 = select %25, %24, %22 | |
| %27:i32 = phi %1, %26, %22 | |
| %28:i32 = var | |
| %29:i32 = shl %28, 1:i32 | |
| %30:i32 = phi %1, %23, %21 | |
| %31:i32 = addnsw 4294967295:i32, %30 | |
| %32:i32 = sub %29, %31 | |
| %33:i32 = ashr %32, 31:i32 | |
| %34:i32 = and %31, %33 | |
| %35:i32 = add %32, %34 | |
| %36:i32 = phi %0, %27, %35 | |
| %37:i64 = addnsw 18446744073709551615:i64, %18 | |
| %38:i64 = phi %1, %37, %18 | |
| %39:i32 = trunc %38 | |
| %40:i32 = and 31:i32, %39 | |
| %41:i32 = lshr %36, %40 | |
| infer %41 | |
| > | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i1 = slt %2, 0:i32 | |
| %4:i32 = sub 0:i32, %2 | |
| %5:i32 = select %3, %4, %2 | |
| %6:i32 = var | |
| %7:i1 = slt %6, 0:i32 | |
| %8:i32 = sub 0:i32, %6 | |
| %9:i32 = select %7, %8, %6 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = ctlz %5 | |
| %12:i32 = subnsw %10, %11 | |
| %13:i32 = and 31:i32, %12 | |
| %14:i32 = shl %9, %13 | |
| %15:i1 = ult %5, %14 | |
| %16:i64 = select %15, 18446744073709551615:i64, 0:i64 | |
| %17:i64 = zext %12 | |
| %18:i64 = addnsw %16, %17 | |
| %19:i32 = trunc %18 | |
| %20:i32 = and 31:i32, %19 | |
| %21:i32 = shl %9, %20 | |
| %22:i32 = sub %5, %21 | |
| %23:i32 = lshr %21, 1:i32 | |
| %24:i32 = sub %22, %23 | |
| %25:i1 = slt 4294967295:i32, %24 | |
| %26:i32 = select %25, %24, %22 | |
| %27:i32 = phi %1, %26, %22 | |
| %28:i32 = var | |
| %29:i32 = shl %28, 1:i32 | |
| %30:i32 = phi %1, %23, %21 | |
| %31:i32 = addnsw 4294967295:i32, %30 | |
| %32:i32 = sub %29, %31 | |
| %33:i32 = ashr %32, 31:i32 | |
| %34:i32 = and %31, %33 | |
| %35:i32 = add %32, %34 (hasExternalUses) | |
| %36:i32 = phi %0, %27, %35 | |
| infer %36 | |
| > | |
| <noinfer> <> | |
| <sprofile > <12> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i1 = slt %2, 0:i32 | |
| %4:i32 = sub 0:i32, %2 | |
| %5:i32 = select %3, %4, %2 | |
| %6:i32 = var (range=[1,-2147483647)) | |
| %7:i32 = ctlz %6 | |
| %8:i32 = ctlz %5 | |
| %9:i32 = subnsw %7, %8 | |
| %10:i32 = and 31:i32, %9 | |
| %11:i32 = shl %6, %10 | |
| %12:i1 = ult %5, %11 | |
| %13:i64 = select %12, 18446744073709551615:i64, 0:i64 | |
| %14:i64 = zext %9 | |
| %15:i64 = addnsw %13, %14 | |
| %16:i32 = trunc %15 | |
| %17:i32 = and 31:i32, %16 | |
| %18:i32 = shl %6, %17 | |
| %19:i32 = sub %5, %18 | |
| %20:i32 = lshr %18, 1:i32 | |
| %21:i32 = sub %19, %20 | |
| %22:i1 = slt 4294967295:i32, %21 | |
| %23:i32 = select %22, %21, %19 | |
| %24:i32 = phi %1, %23, %19 | |
| %25:i32 = var | |
| %26:i32 = shl %25, 1:i32 | |
| %27:i32 = phi %1, %20, %18 | |
| %28:i32 = addnsw 4294967295:i32, %27 | |
| %29:i32 = sub %26, %28 | |
| %30:i32 = ashr %29, 31:i32 | |
| %31:i32 = and %28, %30 | |
| %32:i32 = add %29, %31 | |
| %33:i32 = phi %0, %24, %32 | |
| %34:i64 = addnsw 18446744073709551615:i64, %15 | |
| %35:i64 = phi %1, %34, %15 | |
| %36:i32 = trunc %35 | |
| %37:i32 = and 31:i32, %36 | |
| %38:i32 = lshr %33, %37 | |
| infer %38 | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i1 = slt %2, 0:i32 | |
| %4:i32 = sub 0:i32, %2 | |
| %5:i32 = select %3, %4, %2 | |
| %6:i32 = var (range=[1,-2147483647)) | |
| %7:i32 = ctlz %6 | |
| %8:i32 = ctlz %5 | |
| %9:i32 = subnsw %7, %8 | |
| %10:i32 = and 31:i32, %9 | |
| %11:i32 = shl %6, %10 | |
| %12:i1 = ult %5, %11 | |
| %13:i64 = select %12, 18446744073709551615:i64, 0:i64 | |
| %14:i64 = zext %9 | |
| %15:i64 = addnsw %13, %14 | |
| %16:i32 = trunc %15 | |
| %17:i32 = and 31:i32, %16 | |
| %18:i32 = shl %6, %17 | |
| %19:i32 = sub %5, %18 | |
| %20:i32 = lshr %18, 1:i32 | |
| %21:i32 = sub %19, %20 | |
| %22:i1 = slt 4294967295:i32, %21 | |
| %23:i32 = select %22, %21, %19 | |
| %24:i32 = phi %1, %23, %19 | |
| %25:i32 = var | |
| %26:i32 = shl %25, 1:i32 | |
| %27:i32 = phi %1, %20, %18 | |
| %28:i32 = addnsw 4294967295:i32, %27 | |
| %29:i32 = sub %26, %28 | |
| %30:i32 = ashr %29, 31:i32 | |
| %31:i32 = and %28, %30 | |
| %32:i32 = add %29, %31 (hasExternalUses) | |
| %33:i32 = phi %0, %24, %32 | |
| infer %33 | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = lshr %2, 8:i32 | |
| %4:i8 = trunc %3 | |
| %5:i8 = var | |
| %6:i8 = phi %1, %4, %5 | |
| %7:i8 = phi %0, 0:i8, %6 | |
| %8:i32 = zext %7 | |
| %9:i32 = shlnw %8, 8:i32 | |
| infer %9 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = lshr %2, 8:i32 | |
| %4:i8 = trunc %3 | |
| %5:i8 = var | |
| %6:i8 = phi %1, %4, %5 | |
| %7:i8 = phi %0, 0:i8, %6 | |
| %8:i32 = zext %7 | |
| infer %8 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = lshr %2, 8:i32 | |
| %4:i8 = trunc %3 | |
| %5:i8 = var | |
| %6:i8 = phi %1, %4, %5 | |
| %7:i8 = phi %0, 0:i8, %6 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = phi %1, %2, 0:i32 | |
| %4:i32 = var | |
| %5:i32 = sub %3, %4 | |
| %6:i32 = phi %0, %5, %3 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = sub 128:i32, %2 | |
| %4:i32 = sub 127:i32, %2 | |
| %5:i32 = phi %1, %3, %4 | |
| %6:i32 = phi %0, %5, %4 | |
| %7:i32 = add 1023:i32, %6 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = sub 128:i32, %2 | |
| %4:i32 = sub 127:i32, %2 | |
| %5:i32 = phi %1, %3, %4 | |
| %6:i32 = phi %0, %5, %4 | |
| %7:i32 = add 127:i32, %6 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = sub 128:i32, %2 | |
| %4:i32 = sub 127:i32, %2 (hasExternalUses) | |
| %5:i32 = phi %1, %3, %4 | |
| %6:i32 = phi %0, %5, %4 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = sub 32:i32, %2 | |
| %4:i32 = sub 31:i32, %2 | |
| %5:i32 = phi %1, %3, %4 | |
| %6:i32 = phi %0, %5, %4 | |
| %7:i32 = add 127:i32, %6 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = sub 32:i32, %2 | |
| %4:i32 = sub 31:i32, %2 (hasExternalUses) | |
| %5:i32 = phi %1, %3, %4 | |
| %6:i32 = phi %0, %5, %4 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = sub 64:i32, %2 | |
| %4:i32 = sub 63:i32, %2 | |
| %5:i32 = phi %1, %3, %4 | |
| %6:i32 = phi %0, %5, %4 | |
| %7:i32 = add 1023:i32, %6 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = sub 64:i32, %2 | |
| %4:i32 = sub 63:i32, %2 | |
| %5:i32 = phi %1, %3, %4 | |
| %6:i32 = phi %0, %5, %4 | |
| %7:i32 = add 127:i32, %6 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = sub 64:i32, %2 | |
| %4:i32 = sub 63:i32, %2 (hasExternalUses) | |
| %5:i32 = phi %1, %3, %4 | |
| %6:i32 = phi %0, %5, %4 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = var | |
| %4:i32 = ctlz %3 | |
| %5:i32 = ctlz %2 | |
| %6:i32 = subnsw %4, %5 | |
| %7:i32 = and 31:i32, %6 | |
| %8:i32 = shl %3, %7 | |
| %9:i1 = ult %2, %8 | |
| %10:i64 = select %9, 18446744073709551615:i64, 0:i64 | |
| %11:i64 = zext %6 | |
| %12:i64 = addnsw %10, %11 | |
| %13:i32 = trunc %12 | |
| %14:i32 = and 31:i32, %13 | |
| %15:i32 = shl %3, %14 | |
| %16:i32 = sub %2, %15 | |
| %17:i32 = lshr %15, 1:i32 | |
| %18:i32 = sub %16, %17 | |
| %19:i1 = slt 4294967295:i32, %18 | |
| %20:i32 = select %19, %18, %16 | |
| %21:i32 = phi %1, %20, %16 | |
| %22:i32 = var | |
| %23:i32 = shl %22, 1:i32 | |
| %24:i32 = phi %1, %17, %15 | |
| %25:i32 = addnsw 4294967295:i32, %24 | |
| %26:i32 = sub %23, %25 | |
| %27:i32 = ashr %26, 31:i32 | |
| %28:i32 = and %25, %27 | |
| %29:i32 = add %26, %28 | |
| %30:i32 = phi %0, %21, %29 | |
| %31:i64 = addnsw 18446744073709551615:i64, %12 | |
| %32:i32 = trunc %31 | |
| %33:i32 = and 31:i32, %32 | |
| %34:i32 = shlnuw 1:i32, %33 | |
| %35:i32 = shlnuw 1:i32, %14 | |
| %36:i32 = phi %1, %34, %35 | |
| %37:i32 = add 4294967295:i32, %36 | |
| %38:i32 = and %30, %37 | |
| infer %38 | |
| > | |
| <noinfer> <> | |
| <sprofile > <12> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = var | |
| %4:i32 = ctlz %3 | |
| %5:i32 = ctlz %2 | |
| %6:i32 = subnsw %4, %5 | |
| %7:i32 = and 31:i32, %6 | |
| %8:i32 = shl %3, %7 | |
| %9:i1 = ult %2, %8 | |
| %10:i64 = select %9, 18446744073709551615:i64, 0:i64 | |
| %11:i64 = zext %6 | |
| %12:i64 = addnsw %10, %11 | |
| %13:i32 = trunc %12 | |
| %14:i32 = and 31:i32, %13 | |
| %15:i32 = shl %3, %14 | |
| %16:i32 = sub %2, %15 | |
| %17:i32 = lshr %15, 1:i32 | |
| %18:i32 = sub %16, %17 | |
| %19:i1 = slt 4294967295:i32, %18 | |
| %20:i32 = select %19, %18, %16 | |
| %21:i32 = phi %1, %20, %16 | |
| %22:i32 = var | |
| %23:i32 = shl %22, 1:i32 | |
| %24:i32 = phi %1, %17, %15 | |
| %25:i32 = addnsw 4294967295:i32, %24 | |
| %26:i32 = sub %23, %25 | |
| %27:i32 = ashr %26, 31:i32 | |
| %28:i32 = and %25, %27 | |
| %29:i32 = add %26, %28 | |
| %30:i32 = phi %0, %21, %29 | |
| %31:i64 = addnsw 18446744073709551615:i64, %12 | |
| %32:i64 = phi %1, %31, %12 | |
| %33:i32 = trunc %32 | |
| %34:i32 = and 31:i32, %33 | |
| %35:i32 = lshr %30, %34 | |
| infer %35 | |
| > | |
| <noinfer> <> | |
| <sprofile > <12> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = var | |
| %4:i32 = ctlz %3 | |
| %5:i32 = ctlz %2 | |
| %6:i32 = subnsw %4, %5 | |
| %7:i32 = and 31:i32, %6 | |
| %8:i32 = shl %3, %7 | |
| %9:i1 = ult %2, %8 | |
| %10:i64 = select %9, 18446744073709551615:i64, 0:i64 | |
| %11:i64 = zext %6 | |
| %12:i64 = addnsw %10, %11 | |
| %13:i32 = trunc %12 | |
| %14:i32 = and 31:i32, %13 | |
| %15:i32 = shl %3, %14 | |
| %16:i32 = sub %2, %15 | |
| %17:i32 = lshr %15, 1:i32 | |
| %18:i32 = sub %16, %17 | |
| %19:i1 = slt 4294967295:i32, %18 | |
| %20:i32 = select %19, %18, %16 | |
| %21:i32 = phi %1, %20, %16 | |
| %22:i32 = var | |
| %23:i32 = shl %22, 1:i32 | |
| %24:i32 = phi %1, %17, %15 | |
| %25:i32 = addnsw 4294967295:i32, %24 | |
| %26:i32 = sub %23, %25 | |
| %27:i32 = ashr %26, 31:i32 | |
| %28:i32 = and %25, %27 | |
| %29:i32 = add %26, %28 (hasExternalUses) | |
| %30:i32 = phi %0, %21, %29 | |
| infer %30 | |
| > | |
| <noinfer> <> | |
| <sprofile > <18> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = var | |
| %4:i32 = phi %1, %2, %3 | |
| %5:i32 = phi %0, %4, %3 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = var | |
| %4:i32 = phi %1, %2, %3 | |
| %5:i32 = phi %0, 0:i32, %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = var | |
| %4:i32 = phi %1, %2, %3 | |
| %5:i32 = var | |
| %6 = block 2 | |
| %7:i64 = var | |
| %8:i64 = add 18446744073709551615:i64, %7 | |
| %9:i64 = phi %6, %8, %7 | |
| %10:i32 = trunc %9 | |
| %11:i32 = and 31:i32, %10 | |
| %12:i32 = lshr %5, %11 | |
| %13:i32 = phi %0, %4, %12 | |
| infer %13 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = var | |
| %4:i32 = phi %1, %2, %3 | |
| %5:i32 = var | |
| %6:i32 = phi %0, %4, %5 | |
| %7:i32 = and 1024:i32, %6 | |
| %8:i1 = eq 0:i32, %7 | |
| infer %8 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = var | |
| %4:i32 = phi %1, %2, %3 | |
| %5:i32 = var | |
| %6:i32 = phi %0, %4, %5 | |
| %7:i32 = and 1024:i32, %6 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = var | |
| %4:i32 = phi %1, %2, %3 | |
| %5:i32 = var | |
| %6:i32 = phi %0, %4, %5 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i8 = trunc %2 | |
| %4:i8 = var | |
| %5:i8 = phi %1, %3, %4 | |
| %6:i8 = phi %0, 0:i8, %5 | |
| %7:i32 = zext %6 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i8 = trunc %2 | |
| %4:i8 = var | |
| %5:i8 = phi %1, %3, %4 | |
| %6:i8 = phi %0, 0:i8, %5 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = phi %1, 0:i64, 18446744073709551615:i64 | |
| %3:i64 = phi %0, 0:i64, %2 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = phi %1, 64:i64, 32:i64 | |
| %3:i64 = addnsw 18446744073709551600:i64, %2 | |
| %4:i64 = phi %0, %2, %3 | |
| %5:i64 = addnsw 18446744073709551608:i64, %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = phi %1, 64:i64, 32:i64 | |
| %3:i64 = addnsw 18446744073709551600:i64, %2 | |
| %4:i64 = phi %0, %2, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = phi %1, 9223372036854775808:i64, 9223372036854775807:i64 | |
| %3:i64 = phi %0, 0:i64, %2 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i1 = slt %2, 0:i64 | |
| %4:i64 = sub 0:i64, %2 | |
| %5:i64 = select %3, %4, %2 | |
| %6:i64 = var | |
| %7:i1 = slt %6, 0:i64 | |
| %8:i64 = sub 0:i64, %6 | |
| %9:i64 = select %7, %8, %6 | |
| %10:i64 = ctlz %9 | |
| %11:i64 = ctlz %5 | |
| %12:i64 = subnsw %10, %11 | |
| %13:i64 = and 4294967295:i64, %12 | |
| %14:i64 = and 63:i64, %12 | |
| %15:i64 = shl %9, %14 | |
| %16:i1 = ult %5, %15 | |
| %17:i64 = select %16, 18446744073709551615:i64, 0:i64 | |
| %18:i64 = addnsw %13, %17 | |
| %19:i64 = and 63:i64, %18 | |
| %20:i64 = shl %9, %19 | |
| %21:i64 = sub %5, %20 | |
| %22:i64 = lshr %20, 1:i64 | |
| %23:i64 = sub %21, %22 | |
| %24:i1 = slt 18446744073709551615:i64, %23 | |
| %25:i64 = select %24, %23, %21 | |
| %26:i64 = phi %1, %25, %21 | |
| %27:i64 = var | |
| %28:i64 = shl %27, 1:i64 | |
| %29:i64 = phi %1, %22, %20 | |
| %30:i64 = addnsw 18446744073709551615:i64, %29 | |
| %31:i64 = sub %28, %30 | |
| %32:i64 = ashr %31, 63:i64 | |
| %33:i64 = and %30, %32 | |
| %34:i64 = add %31, %33 | |
| %35:i64 = phi %0, %26, %34 | |
| %36:i64 = addnsw 18446744073709551615:i64, %18 | |
| %37:i64 = and 63:i64, %36 | |
| %38:i64 = shlnuw 1:i64, %37 | |
| %39:i64 = shlnuw 1:i64, %19 | |
| %40:i64 = phi %1, %38, %39 | |
| %41:i64 = add 18446744073709551615:i64, %40 | |
| %42:i64 = and %35, %41 | |
| infer %42 | |
| > | |
| <sprofile > <12> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i1 = slt %2, 0:i64 | |
| %4:i64 = sub 0:i64, %2 | |
| %5:i64 = select %3, %4, %2 | |
| %6:i64 = var | |
| %7:i1 = slt %6, 0:i64 | |
| %8:i64 = sub 0:i64, %6 | |
| %9:i64 = select %7, %8, %6 | |
| %10:i64 = ctlz %9 | |
| %11:i64 = ctlz %5 | |
| %12:i64 = subnsw %10, %11 | |
| %13:i64 = and 4294967295:i64, %12 | |
| %14:i64 = and 63:i64, %12 | |
| %15:i64 = shl %9, %14 | |
| %16:i1 = ult %5, %15 | |
| %17:i64 = select %16, 18446744073709551615:i64, 0:i64 | |
| %18:i64 = addnsw %13, %17 | |
| %19:i64 = and 63:i64, %18 | |
| %20:i64 = shl %9, %19 | |
| %21:i64 = sub %5, %20 | |
| %22:i64 = lshr %20, 1:i64 | |
| %23:i64 = sub %21, %22 | |
| %24:i1 = slt 18446744073709551615:i64, %23 | |
| %25:i64 = select %24, %23, %21 | |
| %26:i64 = phi %1, %25, %21 | |
| %27:i64 = var | |
| %28:i64 = shl %27, 1:i64 | |
| %29:i64 = phi %1, %22, %20 | |
| %30:i64 = addnsw 18446744073709551615:i64, %29 | |
| %31:i64 = sub %28, %30 | |
| %32:i64 = ashr %31, 63:i64 | |
| %33:i64 = and %30, %32 | |
| %34:i64 = add %31, %33 | |
| %35:i64 = phi %0, %26, %34 | |
| %36:i64 = addnsw 18446744073709551615:i64, %18 | |
| %37:i64 = phi %1, %36, %18 | |
| %38:i64 = and 63:i64, %37 | |
| %39:i64 = lshr %35, %38 | |
| infer %39 | |
| > | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i1 = slt %2, 0:i64 | |
| %4:i64 = sub 0:i64, %2 | |
| %5:i64 = select %3, %4, %2 | |
| %6:i64 = var | |
| %7:i1 = slt %6, 0:i64 | |
| %8:i64 = sub 0:i64, %6 | |
| %9:i64 = select %7, %8, %6 | |
| %10:i64 = ctlz %9 | |
| %11:i64 = ctlz %5 | |
| %12:i64 = subnsw %10, %11 | |
| %13:i64 = and 4294967295:i64, %12 | |
| %14:i64 = and 63:i64, %12 | |
| %15:i64 = shl %9, %14 | |
| %16:i1 = ult %5, %15 | |
| %17:i64 = select %16, 18446744073709551615:i64, 0:i64 | |
| %18:i64 = addnsw %13, %17 | |
| %19:i64 = and 63:i64, %18 | |
| %20:i64 = shl %9, %19 | |
| %21:i64 = sub %5, %20 | |
| %22:i64 = lshr %20, 1:i64 | |
| %23:i64 = sub %21, %22 | |
| %24:i1 = slt 18446744073709551615:i64, %23 | |
| %25:i64 = select %24, %23, %21 | |
| %26:i64 = phi %1, %25, %21 | |
| %27:i64 = var | |
| %28:i64 = shl %27, 1:i64 | |
| %29:i64 = phi %1, %22, %20 | |
| %30:i64 = addnsw 18446744073709551615:i64, %29 | |
| %31:i64 = sub %28, %30 | |
| %32:i64 = ashr %31, 63:i64 | |
| %33:i64 = and %30, %32 | |
| %34:i64 = add %31, %33 (hasExternalUses) | |
| %35:i64 = phi %0, %26, %34 | |
| infer %35 | |
| > | |
| <noinfer> <> | |
| <sprofile > <12> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i1 = slt %2, 0:i64 | |
| %4:i64 = sub 0:i64, %2 | |
| %5:i64 = select %3, %4, %2 | |
| %6:i64 = var (range=[1,-9223372036854775807)) | |
| %7:i64 = ctlz %6 | |
| %8:i64 = ctlz %5 | |
| %9:i64 = subnsw %7, %8 | |
| %10:i64 = and 4294967295:i64, %9 | |
| %11:i64 = and 63:i64, %9 | |
| %12:i64 = shl %6, %11 | |
| %13:i1 = ult %5, %12 | |
| %14:i64 = select %13, 18446744073709551615:i64, 0:i64 | |
| %15:i64 = addnsw %10, %14 | |
| %16:i64 = and 63:i64, %15 | |
| %17:i64 = shl %6, %16 | |
| %18:i64 = sub %5, %17 | |
| %19:i64 = lshr %17, 1:i64 | |
| %20:i64 = sub %18, %19 | |
| %21:i1 = slt 18446744073709551615:i64, %20 | |
| %22:i64 = select %21, %20, %18 | |
| %23:i64 = phi %1, %22, %18 | |
| %24:i64 = var | |
| %25:i64 = shl %24, 1:i64 | |
| %26:i64 = phi %1, %19, %17 | |
| %27:i64 = addnsw 18446744073709551615:i64, %26 | |
| %28:i64 = sub %25, %27 | |
| %29:i64 = ashr %28, 63:i64 | |
| %30:i64 = and %27, %29 | |
| %31:i64 = add %28, %30 | |
| %32:i64 = phi %0, %23, %31 | |
| %33:i64 = addnsw 18446744073709551615:i64, %15 | |
| %34:i64 = phi %1, %33, %15 | |
| %35:i64 = and 63:i64, %34 | |
| %36:i64 = lshr %32, %35 | |
| infer %36 | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i1 = slt %2, 0:i64 | |
| %4:i64 = sub 0:i64, %2 | |
| %5:i64 = select %3, %4, %2 | |
| %6:i64 = var (range=[1,-9223372036854775807)) | |
| %7:i64 = ctlz %6 | |
| %8:i64 = ctlz %5 | |
| %9:i64 = subnsw %7, %8 | |
| %10:i64 = and 4294967295:i64, %9 | |
| %11:i64 = and 63:i64, %9 | |
| %12:i64 = shl %6, %11 | |
| %13:i1 = ult %5, %12 | |
| %14:i64 = select %13, 18446744073709551615:i64, 0:i64 | |
| %15:i64 = addnsw %10, %14 | |
| %16:i64 = and 63:i64, %15 | |
| %17:i64 = shl %6, %16 | |
| %18:i64 = sub %5, %17 | |
| %19:i64 = lshr %17, 1:i64 | |
| %20:i64 = sub %18, %19 | |
| %21:i1 = slt 18446744073709551615:i64, %20 | |
| %22:i64 = select %21, %20, %18 | |
| %23:i64 = phi %1, %22, %18 | |
| %24:i64 = var | |
| %25:i64 = shl %24, 1:i64 | |
| %26:i64 = phi %1, %19, %17 | |
| %27:i64 = addnsw 18446744073709551615:i64, %26 | |
| %28:i64 = sub %25, %27 | |
| %29:i64 = ashr %28, 63:i64 | |
| %30:i64 = and %27, %29 | |
| %31:i64 = add %28, %30 (hasExternalUses) | |
| %32:i64 = phi %0, %23, %31 | |
| infer %32 | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i32 = trunc %2 | |
| %4:i32 = and 31:i32, %3 | |
| %5:i32 = shl 1:i32, %4 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8:i64 = add 18446744073709551615:i64, %2 | |
| %9:i32 = trunc %8 | |
| %10:i32 = and 31:i32, %9 | |
| %11:i32 = shl 1:i32, %10 | |
| %12:i32 = or %5, %11 | |
| %13:i32 = phi %7, %12, %5 | |
| %14 = block 2 | |
| %15:i32 = phi %14, %13, %5 | |
| %16:i32 = var | |
| %17:i32 = phi %14, %11, %5 | |
| %18:i32 = add 4294967295:i32, %17 | |
| %19:i32 = and %16, %18 | |
| %20:i32 = or %15, %19 | |
| %21:i32 = phi %6, %13, %20 | |
| %22:i32 = phi %1, %5, %21 | |
| %23:i32 = phi %0, 0:i32, %22 | |
| infer %23 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i32 = trunc %2 | |
| %4:i32 = and 31:i32, %3 | |
| %5:i32 = shl 1:i32, %4 | |
| %6:i64 = add 18446744073709551615:i64, %2 | |
| %7:i32 = trunc %6 | |
| %8:i32 = and 31:i32, %7 | |
| %9:i32 = shl 1:i32, %8 | |
| %10:i32 = or %5, %9 | |
| %11:i32 = phi %1, %10, %5 | |
| %12 = block 2 | |
| %13:i32 = phi %12, %11, %5 | |
| %14:i32 = var | |
| %15:i32 = phi %12, %9, %5 | |
| %16:i32 = add 4294967295:i32, %15 | |
| %17:i32 = and %14, %16 | |
| %18:i32 = or %13, %17 | |
| %19:i32 = phi %0, %11, %18 | |
| infer %19 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i32 = trunc %2 | |
| %4:i32 = and 31:i32, %3 | |
| %5:i32 = shl 1:i32, %4 | |
| %6:i64 = add 18446744073709551615:i64, %2 | |
| %7:i32 = trunc %6 | |
| %8:i32 = and 31:i32, %7 | |
| %9:i32 = shl 1:i32, %8 | |
| %10:i32 = or %5, %9 | |
| %11:i32 = phi %1, %10, %5 | |
| %12:i32 = phi %0, %11, %5 | |
| %13:i32 = var | |
| %14:i32 = phi %0, %9, %5 | |
| %15:i32 = add 4294967295:i32, %14 | |
| %16:i32 = and %13, %15 | |
| %17:i32 = or %12, %16 | |
| infer %17 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i32 = trunc %2 | |
| %4:i32 = and 31:i32, %3 (hasExternalUses) | |
| %5:i32 = shl 1:i32, %4 (hasExternalUses) | |
| %6:i64 = add 18446744073709551615:i64, %2 | |
| %7:i32 = trunc %6 | |
| %8:i32 = and 31:i32, %7 | |
| %9:i32 = shl 1:i32, %8 | |
| %10:i32 = or %5, %9 | |
| %11:i32 = phi %1, %10, %5 | |
| %12:i32 = phi %0, %11, %5 | |
| infer %12 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i32 = var | |
| %4:i32 = sub 63:i32, %3 | |
| %5:i32 = and 63:i32, %4 | |
| %6:i64 = zext %5 | |
| %7:i64 = lshr %2, %6 | |
| %8:i64 = add 18446744073709551615:i64, %7 | |
| %9:i64 = phi %1, 0:i64, %8 | |
| %10:i64 = add 1:i64, %9 | |
| %11:i64 = phi %0, %10, %9 | |
| %12:i128 = zext %11 | |
| infer %12 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i32 = var | |
| %4:i32 = sub 63:i32, %3 | |
| %5:i32 = and 63:i32, %4 | |
| %6:i64 = zext %5 | |
| %7:i64 = lshr %2, %6 | |
| %8:i64 = add 18446744073709551615:i64, %7 | |
| %9:i64 = phi %1, 0:i64, %8 | |
| %10:i64 = add 1:i64, %9 | |
| %11:i64 = phi %0, %10, %9 | |
| infer %11 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = and 63:i64, %2 | |
| %4:i64 = shl 1:i64, %3 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7:i64 = add 18446744073709551615:i64, %2 | |
| %8:i64 = and 63:i64, %7 | |
| %9:i64 = shl 1:i64, %8 | |
| %10:i64 = or %4, %9 | |
| %11:i64 = phi %6, %10, %4 | |
| %12 = block 2 | |
| %13:i64 = phi %12, %11, %4 | |
| %14:i64 = var | |
| %15:i64 = phi %12, %9, %4 | |
| %16:i64 = add 18446744073709551615:i64, %15 | |
| %17:i64 = and %14, %16 | |
| %18:i64 = or %13, %17 | |
| %19:i64 = phi %5, %11, %18 | |
| %20:i64 = phi %1, %4, %19 | |
| %21:i64 = phi %0, 0:i64, %20 | |
| infer %21 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = and 63:i64, %2 | |
| %4:i64 = shl 1:i64, %3 | |
| %5:i64 = add 18446744073709551615:i64, %2 | |
| %6:i64 = and 63:i64, %5 | |
| %7:i64 = shl 1:i64, %6 | |
| %8:i64 = or %4, %7 | |
| %9:i64 = phi %1, %8, %4 | |
| %10 = block 2 | |
| %11:i64 = phi %10, %9, %4 | |
| %12:i64 = var | |
| %13:i64 = phi %10, %7, %4 | |
| %14:i64 = add 18446744073709551615:i64, %13 | |
| %15:i64 = and %12, %14 | |
| %16:i64 = or %11, %15 | |
| %17:i64 = phi %0, %9, %16 | |
| infer %17 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = and 63:i64, %2 | |
| %4:i64 = shl 1:i64, %3 | |
| %5:i64 = add 18446744073709551615:i64, %2 | |
| %6:i64 = and 63:i64, %5 | |
| %7:i64 = shl 1:i64, %6 | |
| %8:i64 = or %4, %7 | |
| %9:i64 = phi %1, %8, %4 | |
| %10:i64 = phi %0, %9, %4 | |
| %11:i64 = var | |
| %12:i64 = phi %0, %7, %4 | |
| %13:i64 = add 18446744073709551615:i64, %12 | |
| %14:i64 = and %11, %13 | |
| %15:i64 = or %10, %14 | |
| infer %15 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = and 63:i64, %2 (hasExternalUses) | |
| %4:i64 = shl 1:i64, %3 (hasExternalUses) | |
| %5:i64 = add 18446744073709551615:i64, %2 | |
| %6:i64 = and 63:i64, %5 | |
| %7:i64 = shl 1:i64, %6 | |
| %8:i64 = or %4, %7 | |
| %9:i64 = phi %1, %8, %4 | |
| %10:i64 = phi %0, %9, %4 | |
| infer %10 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = lshr %2, 32:i64 | |
| %4:i64 = phi %1, %2, %3 | |
| %5:i64 = lshr %4, 16:i64 | |
| %6:i64 = phi %0, %4, %5 | |
| %7:i64 = lshr %6, 8:i64 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = lshr %2, 32:i64 | |
| %4:i64 = phi %1, %2, %3 | |
| %5:i64 = lshr %4, 16:i64 | |
| %6:i64 = phi %0, %4, %5 | |
| %7:i64 = lshr %6, 8:i64 (hasExternalUses) | |
| %8:i1 = eq 0:i64, %7 | |
| infer %8 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = lshr %2, 32:i64 | |
| %4:i64 = phi %1, %2, %3 | |
| %5:i64 = lshr %4, 16:i64 (hasExternalUses) | |
| %6:i64 = phi %0, %4, %5 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = add %2, %3 | |
| %5:i64 = add 18446744072757682816:i64, %4 | |
| %6:i64 = sdiv %5, 86400:i64 | |
| %7:i64 = addnsw 18446744073709551615:i64, %6 | |
| %8:i64 = phi %1, %7, %6 | |
| %9:i64 = sdiv %8, 146097:i64 | |
| %10:i64 = addnsw 18446744073709551615:i64, %9 | |
| %11:i64 = phi %0, %10, %9 | |
| %12:i64 = mulnsw 400:i64, %11 | |
| infer %12 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = add %2, %3 | |
| %5:i64 = add 18446744072757682816:i64, %4 | |
| %6:i64 = sdiv %5, 86400:i64 | |
| %7:i64 = addnsw 18446744073709551615:i64, %6 | |
| %8:i64 = phi %1, %7, %6 | |
| %9:i64 = sdiv %8, 146097:i64 | |
| %10:i64 = addnsw 18446744073709551615:i64, %9 | |
| %11:i64 = phi %0, %10, %9 | |
| infer %11 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = add %2, %3 | |
| %5:i64 = add 18446744072757682816:i64, %4 | |
| %6:i64 = sdiv %5, 86400:i64 | |
| %7:i64 = addnsw 18446744073709551615:i64, %6 | |
| %8:i64 = phi %1, %7, %6 | |
| %9:i64 = srem %8, 146097:i64 | |
| %10:i64 = addnsw 146097:i64, %9 | |
| %11:i64 = phi %0, %10, %9 | |
| %12 = block 2 | |
| %13:i64 = sdiv %11, 36524:i64 | |
| %14:i64 = phi %12, 3:i64, %13 | |
| %15:i64 = mulnsw 18446744073709515092:i64, %14 | |
| %16:i64 = addnsw %11, %15 | |
| infer %16 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = add %2, %3 | |
| %5:i64 = add 18446744072757682816:i64, %4 | |
| %6:i64 = sdiv %5, 86400:i64 | |
| %7:i64 = addnsw 18446744073709551615:i64, %6 | |
| %8:i64 = phi %1, %7, %6 | |
| %9:i64 = srem %8, 146097:i64 | |
| %10:i64 = addnsw 146097:i64, %9 | |
| %11:i64 = phi %0, %10, %9 | |
| %12 = block 2 | |
| %13:i64 = sdiv %11, 36524:i64 | |
| %14:i64 = phi %12, 3:i64, %13 | |
| %15:i64 = mulnsw 18446744073709515092:i64, %14 | |
| %16:i64 = addnsw %11, %15 (hasExternalUses) | |
| %17 = block 2 | |
| %18:i64 = sdiv %16, 1461:i64 | |
| %19:i64 = phi %17, 24:i64, %18 | |
| %20:i64 = mul 18446744073709550155:i64, %19 | |
| %21:i64 = add %16, %20 | |
| infer %21 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = add %2, %3 | |
| %5:i64 = add 18446744072757682816:i64, %4 | |
| %6:i64 = sdiv %5, 86400:i64 | |
| %7:i64 = addnsw 18446744073709551615:i64, %6 | |
| %8:i64 = phi %1, %7, %6 | |
| %9:i64 = srem %8, 146097:i64 | |
| %10:i64 = addnsw 146097:i64, %9 | |
| %11:i64 = phi %0, %10, %9 | |
| %12 = block 2 | |
| %13:i64 = sdiv %11, 36524:i64 | |
| %14:i64 = phi %12, 3:i64, %13 | |
| %15:i64 = mulnsw 18446744073709515092:i64, %14 | |
| %16:i64 = addnsw %11, %15 (hasExternalUses) | |
| %17 = block 2 | |
| %18:i64 = sdiv %16, 1461:i64 | |
| %19:i64 = phi %17, 24:i64, %18 | |
| %20:i64 = mul 18446744073709550155:i64, %19 | |
| %21:i64 = add %16, %20 (hasExternalUses) | |
| %22 = block 2 | |
| %23:i64 = sdiv %21, 365:i64 | |
| %24:i64 = phi %22, 3:i64, %23 | |
| %25:i64 = mul 18446744073709551251:i64, %24 | |
| %26:i64 = add %21, %25 | |
| infer %26 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = add %2, %3 | |
| %5:i64 = add 18446744072757682816:i64, %4 | |
| %6:i64 = sdiv %5, 86400:i64 | |
| %7:i64 = addnsw 18446744073709551615:i64, %6 | |
| %8:i64 = phi %1, %7, %6 | |
| %9:i64 = srem %8, 146097:i64 | |
| %10:i64 = addnsw 146097:i64, %9 | |
| %11:i64 = phi %0, %10, %9 | |
| %12 = block 2 | |
| %13:i64 = sdiv %11, 36524:i64 | |
| %14:i64 = phi %12, 3:i64, %13 | |
| %15:i64 = mulnsw 18446744073709515092:i64, %14 | |
| %16:i64 = addnsw %11, %15 (hasExternalUses) | |
| %17 = block 2 | |
| %18:i64 = sdiv %16, 1461:i64 | |
| %19:i64 = phi %17, 24:i64, %18 | |
| %20:i64 = mul 18446744073709550155:i64, %19 | |
| %21:i64 = add %16, %20 (hasExternalUses) | |
| %22:i64 = add 18446744073709550156:i64, %21 | |
| %23:i1 = ult %22, 365:i64 | |
| infer %23 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = add %2, %3 | |
| %5:i64 = add 18446744072757682816:i64, %4 | |
| %6:i64 = sdiv %5, 86400:i64 | |
| %7:i64 = addnsw 18446744073709551615:i64, %6 | |
| %8:i64 = phi %1, %7, %6 | |
| %9:i64 = srem %8, 146097:i64 | |
| %10:i64 = addnsw 146097:i64, %9 | |
| %11:i64 = phi %0, %10, %9 | |
| %12 = block 2 | |
| %13:i64 = sdiv %11, 36524:i64 | |
| %14:i64 = phi %12, 3:i64, %13 | |
| %15:i64 = mulnsw 18446744073709515092:i64, %14 | |
| %16:i64 = addnsw %11, %15 (hasExternalUses) | |
| %17 = block 2 | |
| %18:i64 = sdiv %16, 1461:i64 | |
| %19:i64 = phi %17, 24:i64, %18 | |
| %20:i64 = mul 18446744073709550155:i64, %19 | |
| %21:i64 = add %16, %20 (hasExternalUses) | |
| %22:i64 = add 18446744073709550156:i64, %21 | |
| infer %22 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = add %2, %3 | |
| %5:i64 = add 18446744072757682816:i64, %4 | |
| %6:i64 = sdiv %5, 86400:i64 | |
| %7:i64 = addnsw 18446744073709551615:i64, %6 | |
| %8:i64 = phi %1, %7, %6 | |
| %9:i64 = srem %8, 146097:i64 | |
| %10:i64 = addnsw 146097:i64, %9 | |
| %11:i64 = phi %0, %10, %9 | |
| %12 = block 2 | |
| %13:i64 = sdiv %11, 36524:i64 | |
| %14:i64 = phi %12, 3:i64, %13 | |
| %15:i64 = mulnsw 18446744073709515092:i64, %14 | |
| %16:i64 = addnsw %11, %15 (hasExternalUses) | |
| %17 = block 2 | |
| %18:i64 = sdiv %16, 1461:i64 | |
| %19:i64 = phi %17, 24:i64, %18 | |
| %20:i64 = mul 18446744073709550155:i64, %19 | |
| %21:i64 = add %16, %20 (hasExternalUses) | |
| %22:i64 = sdiv %21, 365:i64 | |
| infer %22 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = add %2, %3 | |
| %5:i64 = add 18446744072757682816:i64, %4 | |
| %6:i64 = sdiv %5, 86400:i64 | |
| %7:i64 = addnsw 18446744073709551615:i64, %6 | |
| %8:i64 = phi %1, %7, %6 | |
| %9:i64 = srem %8, 146097:i64 | |
| %10:i64 = addnsw 146097:i64, %9 | |
| %11:i64 = phi %0, %10, %9 | |
| %12 = block 2 | |
| %13:i64 = sdiv %11, 36524:i64 | |
| %14:i64 = phi %12, 3:i64, %13 | |
| %15:i64 = mulnsw 18446744073709515092:i64, %14 | |
| %16:i64 = addnsw %11, %15 (hasExternalUses) | |
| %17:i64 = add 18446744073709515091:i64, %16 | |
| %18:i1 = ult %17, 1461:i64 | |
| infer %18 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = add %2, %3 | |
| %5:i64 = add 18446744072757682816:i64, %4 | |
| %6:i64 = sdiv %5, 86400:i64 | |
| %7:i64 = addnsw 18446744073709551615:i64, %6 | |
| %8:i64 = phi %1, %7, %6 | |
| %9:i64 = srem %8, 146097:i64 | |
| %10:i64 = addnsw 146097:i64, %9 | |
| %11:i64 = phi %0, %10, %9 | |
| %12 = block 2 | |
| %13:i64 = sdiv %11, 36524:i64 | |
| %14:i64 = phi %12, 3:i64, %13 | |
| %15:i64 = mulnsw 18446744073709515092:i64, %14 | |
| %16:i64 = addnsw %11, %15 (hasExternalUses) | |
| %17:i64 = add 18446744073709515091:i64, %16 | |
| infer %17 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = add %2, %3 | |
| %5:i64 = add 18446744072757682816:i64, %4 | |
| %6:i64 = sdiv %5, 86400:i64 | |
| %7:i64 = addnsw 18446744073709551615:i64, %6 | |
| %8:i64 = phi %1, %7, %6 | |
| %9:i64 = srem %8, 146097:i64 | |
| %10:i64 = addnsw 146097:i64, %9 | |
| %11:i64 = phi %0, %10, %9 | |
| %12 = block 2 | |
| %13:i64 = sdiv %11, 36524:i64 | |
| %14:i64 = phi %12, 3:i64, %13 | |
| %15:i64 = mulnsw 18446744073709515092:i64, %14 | |
| %16:i64 = addnsw %11, %15 (hasExternalUses) | |
| %17:i64 = sdiv %16, 1461:i64 | |
| infer %17 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = add %2, %3 | |
| %5:i64 = add 18446744072757682816:i64, %4 | |
| %6:i64 = sdiv %5, 86400:i64 | |
| %7:i64 = addnsw 18446744073709551615:i64, %6 | |
| %8:i64 = phi %1, %7, %6 | |
| %9:i64 = srem %8, 146097:i64 | |
| %10:i64 = addnsw 146097:i64, %9 | |
| %11:i64 = phi %0, %10, %9 | |
| %12:i64 = addnsw 18446744073709405520:i64, %11 | |
| %13:i1 = ult %12, 36524:i64 | |
| infer %13 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = add %2, %3 | |
| %5:i64 = add 18446744072757682816:i64, %4 | |
| %6:i64 = sdiv %5, 86400:i64 | |
| %7:i64 = addnsw 18446744073709551615:i64, %6 | |
| %8:i64 = phi %1, %7, %6 | |
| %9:i64 = srem %8, 146097:i64 | |
| %10:i64 = addnsw 146097:i64, %9 | |
| %11:i64 = phi %0, %10, %9 | |
| %12:i64 = addnsw 18446744073709405520:i64, %11 | |
| infer %12 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = add %2, %3 | |
| %5:i64 = add 18446744072757682816:i64, %4 | |
| %6:i64 = sdiv %5, 86400:i64 | |
| %7:i64 = addnsw 18446744073709551615:i64, %6 | |
| %8:i64 = phi %1, %7, %6 | |
| %9:i64 = srem %8, 146097:i64 | |
| %10:i64 = addnsw 146097:i64, %9 | |
| %11:i64 = phi %0, %10, %9 | |
| %12:i64 = sdiv %11, 36524:i64 | |
| infer %12 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = add %2, %3 | |
| %5:i64 = add 18446744072757682816:i64, %4 | |
| %6:i64 = sdiv %5, 86400:i64 | |
| %7:i64 = addnsw 18446744073709551615:i64, %6 | |
| %8:i64 = phi %1, %7, %6 | |
| %9:i64 = srem %8, 146097:i64 (hasExternalUses) | |
| %10:i64 = addnsw 146097:i64, %9 | |
| %11:i64 = phi %0, %10, %9 | |
| infer %11 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = add %2, %3 | |
| %5:i64 = var | |
| %6:i64 = phi %1, %4, %5 | |
| %7:i64 = add 12:i64, %6 (hasExternalUses) | |
| %8:i64 = var | |
| %9:i64 = add 12:i64, %8 | |
| %10:i64 = phi %0, %7, %9 | |
| infer %10 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = add %2, %3 | |
| %5:i64 = var | |
| %6:i64 = phi %1, %4, %5 | |
| %7:i64 = var | |
| %8:i64 = phi %0, %6, %7 | |
| %9:i1 = ult 18446744073709551603:i64, %8 | |
| infer %9 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = add %2, %3 | |
| %5:i64 = var | |
| %6:i64 = phi %1, %4, %5 | |
| %7:i64 = var | |
| %8:i64 = phi %0, %6, %7 | |
| %9:i1 = ult 18446744073709551603:i64, %8 | |
| pc %9 0:i1 | |
| %10:i64 = add 12:i64, %6 | |
| %11:i64 = add 12:i64, %7 | |
| %12:i64 = phi %0, %10, %11 | |
| %13:i1 = ult 4096:i64, %12 | |
| infer %13 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = add %2, %3 | |
| %5:i64 = var | |
| %6:i64 = phi %1, %4, %5 | |
| %7:i64 = var | |
| %8:i64 = phi %0, %6, %7 | |
| infer %8 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = add 1:i64, %3 | |
| %5:i64 = phi %1, %2, %4 | |
| %6:i64 = var | |
| %7:i64 = phi %0, %5, %6 | |
| %8:i1 = eq 0:i64, %7 | |
| infer %8 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = add 1:i64, %3 | |
| %5:i64 = phi %1, %2, %4 | |
| %6:i64 = var | |
| %7:i64 = phi %0, %5, %6 | |
| %8:i1 = eq 0:i64, %7 | |
| pc %8 0:i1 | |
| %9:i64 = add 18446744073709551615:i64, %7 | |
| infer %9 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = add 1:i64, %3 | |
| %5:i64 = phi %1, %2, %4 | |
| %6:i64 = var | |
| %7:i64 = phi %0, %5, %6 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = ctlz %3 | |
| %5:i64 = ctlz %2 | |
| %6:i64 = subnsw %4, %5 | |
| %7:i64 = and 4294967295:i64, %6 | |
| %8:i64 = and 63:i64, %6 | |
| %9:i64 = shl %3, %8 | |
| %10:i1 = ult %2, %9 | |
| %11:i64 = select %10, 18446744073709551615:i64, 0:i64 | |
| %12:i64 = addnsw %7, %11 | |
| %13:i64 = and 63:i64, %12 | |
| %14:i64 = shl %3, %13 | |
| %15:i64 = sub %2, %14 | |
| %16:i64 = lshr %14, 1:i64 | |
| %17:i64 = sub %15, %16 | |
| %18:i1 = slt 18446744073709551615:i64, %17 | |
| %19:i64 = select %18, %17, %15 | |
| %20:i64 = phi %1, %19, %15 | |
| %21:i64 = var | |
| %22:i64 = shl %21, 1:i64 | |
| %23:i64 = phi %1, %16, %14 | |
| %24:i64 = addnsw 18446744073709551615:i64, %23 | |
| %25:i64 = sub %22, %24 | |
| %26:i64 = ashr %25, 63:i64 | |
| %27:i64 = and %24, %26 | |
| %28:i64 = add %25, %27 | |
| %29:i64 = phi %0, %20, %28 | |
| %30:i64 = addnsw 18446744073709551615:i64, %12 | |
| %31:i64 = and 63:i64, %30 | |
| %32:i64 = shlnuw 1:i64, %31 | |
| %33:i64 = shlnuw 1:i64, %13 | |
| %34:i64 = phi %1, %32, %33 | |
| %35:i64 = add 18446744073709551615:i64, %34 | |
| %36:i64 = and %29, %35 | |
| infer %36 | |
| > | |
| <noinfer> <> | |
| <sprofile > <12> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = ctlz %3 | |
| %5:i64 = ctlz %2 | |
| %6:i64 = subnsw %4, %5 | |
| %7:i64 = and 4294967295:i64, %6 | |
| %8:i64 = and 63:i64, %6 | |
| %9:i64 = shl %3, %8 | |
| %10:i1 = ult %2, %9 | |
| %11:i64 = select %10, 18446744073709551615:i64, 0:i64 | |
| %12:i64 = addnsw %7, %11 | |
| %13:i64 = and 63:i64, %12 | |
| %14:i64 = shl %3, %13 | |
| %15:i64 = sub %2, %14 | |
| %16:i64 = lshr %14, 1:i64 | |
| %17:i64 = sub %15, %16 | |
| %18:i1 = slt 18446744073709551615:i64, %17 | |
| %19:i64 = select %18, %17, %15 | |
| %20:i64 = phi %1, %19, %15 | |
| %21:i64 = var | |
| %22:i64 = shl %21, 1:i64 | |
| %23:i64 = phi %1, %16, %14 | |
| %24:i64 = addnsw 18446744073709551615:i64, %23 | |
| %25:i64 = sub %22, %24 | |
| %26:i64 = ashr %25, 63:i64 | |
| %27:i64 = and %24, %26 | |
| %28:i64 = add %25, %27 | |
| %29:i64 = phi %0, %20, %28 | |
| %30:i64 = addnsw 18446744073709551615:i64, %12 | |
| %31:i64 = phi %1, %30, %12 | |
| %32:i64 = and 63:i64, %31 | |
| %33:i64 = lshr %29, %32 | |
| infer %33 | |
| > | |
| <noinfer> <> | |
| <sprofile > <12> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = ctlz %3 | |
| %5:i64 = ctlz %2 | |
| %6:i64 = subnsw %4, %5 | |
| %7:i64 = and 4294967295:i64, %6 | |
| %8:i64 = and 63:i64, %6 | |
| %9:i64 = shl %3, %8 | |
| %10:i1 = ult %2, %9 | |
| %11:i64 = select %10, 18446744073709551615:i64, 0:i64 | |
| %12:i64 = addnsw %7, %11 | |
| %13:i64 = and 63:i64, %12 | |
| %14:i64 = shl %3, %13 | |
| %15:i64 = sub %2, %14 | |
| %16:i64 = lshr %14, 1:i64 | |
| %17:i64 = sub %15, %16 | |
| %18:i1 = slt 18446744073709551615:i64, %17 | |
| %19:i64 = select %18, %17, %15 | |
| %20:i64 = phi %1, %19, %15 | |
| %21:i64 = var | |
| %22:i64 = shl %21, 1:i64 | |
| %23:i64 = phi %1, %16, %14 | |
| %24:i64 = addnsw 18446744073709551615:i64, %23 | |
| %25:i64 = sub %22, %24 | |
| %26:i64 = ashr %25, 63:i64 | |
| %27:i64 = and %24, %26 | |
| %28:i64 = add %25, %27 (hasExternalUses) | |
| %29:i64 = phi %0, %20, %28 | |
| infer %29 | |
| > | |
| <noinfer> <> | |
| <sprofile > <18> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = phi %1, %2, %3 | |
| %5:i32 = trunc %4 | |
| %6:i32 = sub 0:i32, %5 | |
| %7:i64 = var | |
| %8:i32 = trunc %7 | |
| %9:i32 = sub 0:i32, %8 (hasExternalUses) | |
| %10:i32 = phi %0, %6, %9 | |
| infer %10 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = phi %1, %2, %3 | |
| %5:i64 = phi %0, %4, %3 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = phi %1, %2, %3 | |
| %5:i64 = phi %0, 0:i64, %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = phi %1, %2, %3 | |
| %5:i64 = var | |
| %6 = block 2 | |
| %7:i64 = var | |
| %8:i64 = add 18446744073709551615:i64, %7 | |
| %9:i64 = phi %6, %8, %7 | |
| %10:i64 = and 63:i64, %9 | |
| %11:i64 = lshr %5, %10 | |
| %12:i64 = phi %0, %4, %11 | |
| infer %12 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = var | |
| %5:i64 = add %3, %4 | |
| %6:i64 = phi %1, %2, %5 | |
| %7:i64 = var | |
| %8:i64 = phi %1, 4096:i64, %7 | |
| %9:i64 = phi %0, %6, %8 | |
| %10:i1 = ult %9, 24:i64 | |
| infer %10 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = var | |
| %5:i64 = add %3, %4 | |
| %6:i64 = phi %1, %2, %5 | |
| %7:i64 = var | |
| %8:i64 = phi %1, 4096:i64, %7 | |
| %9:i64 = phi %0, %6, %8 | |
| %10:i1 = ult %9, 24:i64 | |
| pc %10 0:i1 | |
| %11:i64 = udiv %9, 24:i64 | |
| infer %11 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = var | |
| %5:i64 = add %3, %4 | |
| %6:i64 = phi %1, %2, %5 | |
| %7:i64 = var | |
| %8:i64 = phi %1, 4096:i64, %7 | |
| %9:i64 = phi %0, %6, %8 | |
| infer %9 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = var (knownBits=0000000000000000000000000000000000000000000000000000000000001000) (nonNegative) (nonZero) (signBits=60) | |
| %4:i64 = phi %1, %2, %3 | |
| %5:i64 = var (knownBits=0000000000000000000000000000000000000000000000000000000000001000) (nonNegative) (nonZero) (signBits=60) | |
| %6:i64 = phi %0, %4, %5 | |
| %7:i1 = ne 0:i64, %6 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000xxxxxxxx) (nonNegative) (signBits=56) (range=[0,256)) | |
| %4:i64 = add %2, %3 | |
| %5:i64 = phi %1, %4, %2 | |
| %6:i64 = phi %0, 0:i64, %5 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4)) | |
| %3:i64 = phi %1, 0:i64, %2 | |
| %4 = block 2 | |
| %5:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4)) | |
| %6:i64 = phi %4, 2:i64, %5 | |
| %7:i64 = phi %0, %3, %6 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4)) | |
| %3:i64 = phi %1, 2:i64, %2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4)) | |
| %7:i64 = phi %5, 0:i64, %6 | |
| %8:i64 = phi %4, %7, %3 | |
| %9:i64 = phi %0, %3, %8 | |
| infer %9 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4)) | |
| %3:i64 = phi %1, 2:i64, %2 | |
| %4 = block 2 | |
| %5:i64 = phi %4, %2, %3 | |
| %6:i64 = phi %0, %3, %5 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4)) | |
| %3:i64 = phi %1, 2:i64, %2 | |
| %4 = block 2 | |
| %5:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4)) | |
| %6:i64 = phi %4, %5, %3 | |
| %7:i64 = phi %0, %3, %6 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0) (range=[0,21)) | |
| %3:i64 = add 18446744073709551613:i64, %2 | |
| %4:i64 = phi %1, %3, 19:i64 | |
| %5:i64 = addnsw 18446744073709551614:i64, %2 | |
| %6:i64 = phi %0, %4, %5 | |
| %7:i64 = subnw 20:i64, %6 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0) (range=[0,21)) | |
| %3:i64 = add 18446744073709551613:i64, %2 | |
| %4:i64 = phi %1, %3, 19:i64 | |
| %5:i64 = addnsw 18446744073709551614:i64, %2 (hasExternalUses) | |
| %6:i64 = phi %0, %4, %5 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0) (range=[0,21)) | |
| %3:i64 = add 18446744073709551615:i64, %2 | |
| %4:i64 = phi %1, %3, %2 | |
| %5:i64 = subnw 20:i64, %4 | |
| %6:i64 = phi %0, 1:i64, %5 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0) (range=[0,21)) | |
| %3:i64 = addnsw 18446744073709551614:i64, %2 | |
| %4:i64 = phi %1, 20:i64, %3 | |
| %5:i64 = add 18446744073709551615:i64, %4 | |
| %6:i64 = phi %0, %5, %4 | |
| %7:i64 = subnw 20:i64, %6 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0) (range=[0,21)) | |
| %3:i64 = addnsw 18446744073709551614:i64, %2 | |
| %4:i64 = phi %1, 20:i64, %3 | |
| %5:i64 = add 18446744073709551615:i64, %4 (hasExternalUses) | |
| %6:i64 = phi %0, %5, %4 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var (range=[0,-1)) | |
| %3:i64 = var | |
| %4:i64 = add 18446744073709551615:i64, %3 | |
| %5:i64 = phi %1, %2, %4 | |
| %6:i64 = phi %0, 0:i64, %5 | |
| %7 = block 3 | |
| %8:i64 = var (nonZero) | |
| %9:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx000) (nonZero) | |
| %10:i64 = sub %8, %9 | |
| %11:i64 = var (nonZero) | |
| %12:i64 = sub %11, %9 | |
| %13:i64 = var | |
| %14:i64 = sub %13, %9 | |
| %15:i64 = phi %7, %10, %12, %14 | |
| %16:i64 = udiv %15, 112:i64 | |
| %17:i64 = add %6, %16 | |
| infer %17 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var (range=[0,-1)) | |
| %3:i64 = var | |
| %4:i64 = add 18446744073709551615:i64, %3 | |
| %5:i64 = phi %1, %2, %4 | |
| %6:i64 = phi %0, 0:i64, %5 | |
| %7 = block 3 | |
| %8:i64 = var (nonZero) | |
| %9:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx000) (nonZero) | |
| %10:i64 = sub %8, %9 | |
| %11:i64 = var (nonZero) | |
| %12:i64 = sub %11, %9 | |
| %13:i64 = var | |
| %14:i64 = sub %13, %9 | |
| %15:i64 = phi %7, %10, %12, %14 | |
| %16:i64 = udiv %15, 112:i64 | |
| %17:i64 = add %6, %16 (hasExternalUses) | |
| %18:i1 = ult %17, %3 | |
| infer %18 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var (range=[0,-1)) | |
| %3:i64 = var | |
| %4:i64 = add 18446744073709551615:i64, %3 | |
| %5:i64 = phi %1, %2, %4 | |
| %6:i64 = phi %0, 0:i64, %5 | |
| %7 = block 3 | |
| %8:i64 = var (nonZero) | |
| %9:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx000) (nonZero) | |
| %10:i64 = sub %8, %9 | |
| %11:i64 = var (nonZero) | |
| %12:i64 = sub %11, %9 | |
| %13:i64 = var | |
| %14:i64 = sub %13, %9 | |
| %15:i64 = phi %7, %10, %12, %14 | |
| %16:i64 = udiv %15, 112:i64 | |
| %17:i64 = add %6, %16 (hasExternalUses) | |
| %18:i1 = ult %17, %3 | |
| pc %18 1:i1 | |
| %19:i64 = var | |
| %20:i1 = ule %19, %6 | |
| %21:i8 = zext %20 | |
| infer %21 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var (range=[0,-1)) | |
| %3:i64 = var | |
| %4:i64 = add 18446744073709551615:i64, %3 | |
| %5:i64 = phi %1, %2, %4 | |
| %6:i64 = phi %0, 0:i64, %5 | |
| %7 = block 3 | |
| %8:i64 = var (nonZero) | |
| %9:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx000) (nonZero) | |
| %10:i64 = sub %8, %9 | |
| %11:i64 = var (nonZero) | |
| %12:i64 = sub %11, %9 | |
| %13:i64 = var | |
| %14:i64 = sub %13, %9 | |
| %15:i64 = phi %7, %10, %12, %14 | |
| %16:i64 = udiv %15, 112:i64 | |
| %17:i64 = add %6, %16 (hasExternalUses) | |
| %18:i1 = ult %17, %3 | |
| pc %18 1:i1 | |
| %19:i64 = var | |
| %20:i1 = ule %19, %6 | |
| infer %20 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var (range=[0,-1)) | |
| %3:i64 = var | |
| %4:i64 = add 18446744073709551615:i64, %3 | |
| %5:i64 = phi %1, %2, %4 | |
| %6:i64 = phi %0, 0:i64, %5 | |
| %7:i64 = var | |
| %8:i1 = ult %6, %7 | |
| infer %8 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var (range=[0,-1)) | |
| %3:i64 = var | |
| %4:i64 = add 18446744073709551615:i64, %3 | |
| %5:i64 = phi %1, %2, %4 | |
| %6:i64 = phi %0, 0:i64, %5 | |
| %7:i64 = var | |
| %8:i1 = ult %6, %7 | |
| pc %8 1:i1 | |
| %9:i64 = add 18446744073709551615:i64, %7 | |
| infer %9 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i64 = var (range=[0,-1)) | |
| %3:i64 = var | |
| %4:i64 = add 18446744073709551615:i64, %3 | |
| %5:i64 = phi %1, %2, %4 | |
| %6:i64 = phi %0, 0:i64, %5 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i8 = phi %1, 0:i8, 1:i8 | |
| %3:i8 = phi %0, 0:i8, %2 | |
| %4:i8 = and 1:i8, %3 | |
| %5:i1 = eq 0:i8, %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i8 = phi %1, 0:i8, 1:i8 | |
| %3:i8 = phi %0, 0:i8, %2 | |
| %4:i8 = and 1:i8, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i8 = phi %1, 0:i8, 1:i8 | |
| %3:i8 = phi %0, 0:i8, %2 | |
| infer %3 (demandedBits=00000001) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i8 = phi %1, 1:i8, 0:i8 | |
| %3:i8 = phi %0, %2, 0:i8 | |
| %4:i1 = eq 0:i8, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i8 = phi %1, 1:i8, 0:i8 | |
| %3:i8 = phi %0, %2, 0:i8 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i8 = phi %1, 3:i8, 1:i8 | |
| %3 = block 6 | |
| %4:i8 = phi %3, 0:i8, 1:i8, 2:i8, 0:i8, 1:i8, 2:i8 | |
| %5:i8 = phi %0, %2, %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i8 = var | |
| %3:i8 = and 1:i8, %2 | |
| %4:i8 = phi %1, 1:i8, %3 | |
| %5:i8 = phi %0, 0:i8, %4 | |
| %6:i8 = and 1:i8, %5 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i8 = var | |
| %3:i8 = and 1:i8, %2 | |
| %4:i8 = phi %1, 1:i8, %3 | |
| %5:i8 = phi %0, 0:i8, %4 | |
| infer %5 (demandedBits=00000001) | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i8 = var | |
| %3:i8 = var | |
| %4:i1 = ne %2, %3 | |
| %5:i1 = phi %1, %4, 0:i1 | |
| %6:i1 = phi %0, %5, 1:i1 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 2 | |
| %2:i8 = var (range=[-1,2)) | |
| %3:i8 = phi %1, 0:i8, %2 | |
| %4:i8 = phi %0, %3, 0:i8 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 8388607:i32, %3 | |
| %5:i32 = ctlz %4 | |
| %6:i32 = addnw 24:i32, %5 | |
| %7:i32 = and 31:i32, %6 | |
| %8:i32 = shl %4, %7 | |
| %9:i32 = phi %2, %8, %4 | |
| %10:i32 = phi %1, %9, %9, %4 | |
| %11:i32 = or 8388608:i32, %10 | |
| %12:i64 = zext %11 | |
| %13:i32 = var | |
| %14:i32 = and 8388607:i32, %13 | |
| %15:i32 = ctlz %14 | |
| %16:i32 = addnw 24:i32, %15 | |
| %17:i32 = and 31:i32, %16 | |
| %18:i32 = shl %14, %17 | |
| %19:i32 = phi %1, %18, %14, %14 | |
| %20:i32 = shl %19, 8:i32 | |
| %21:i32 = or 2147483648:i32, %20 | |
| %22:i64 = zext %21 | |
| %23:i64 = mulnuw %12, %22 | |
| %24:i64 = lshr %23, 32:i64 | |
| %25:i32 = trunc %24 (hasExternalUses) | |
| %26:i32 = trunc %23 (hasExternalUses) | |
| %27:i32 = lshr %26, 31:i32 | |
| %28:i64 = shlnw %24, 1:i64 | |
| %29:i32 = trunc %28 | |
| %30:i32 = or %27, %29 | |
| %31:i32 = phi %0, %25, %30 | |
| infer %31 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 8388607:i32, %3 | |
| %5:i32 = ctlz %4 | |
| %6:i32 = addnw 24:i32, %5 | |
| %7:i32 = and 31:i32, %6 | |
| %8:i32 = shl %4, %7 | |
| %9:i32 = phi %2, %8, %4 | |
| %10:i32 = phi %1, %9, %9, %4 | |
| %11:i32 = or 8388608:i32, %10 | |
| %12:i64 = zext %11 | |
| %13:i32 = var | |
| %14:i32 = and 8388607:i32, %13 | |
| %15:i32 = ctlz %14 | |
| %16:i32 = addnw 24:i32, %15 | |
| %17:i32 = and 31:i32, %16 | |
| %18:i32 = shl %14, %17 | |
| %19:i32 = phi %1, %18, %14, %14 | |
| %20:i32 = shl %19, 8:i32 | |
| %21:i32 = or 2147483648:i32, %20 | |
| %22:i64 = zext %21 | |
| %23:i64 = mulnuw %12, %22 (hasExternalUses) | |
| %24:i32 = trunc %23 (hasExternalUses) | |
| %25:i32 = shl %24, 1:i32 | |
| %26:i32 = phi %0, %24, %25 | |
| infer %26 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 8388607:i32, %3 | |
| %5:i32 = ctlz %4 | |
| %6:i32 = addnw 24:i32, %5 | |
| %7:i32 = and 31:i32, %6 | |
| %8:i32 = shl %4, %7 | |
| %9:i32 = phi %2, %8, %4 | |
| %10:i32 = phi %1, %9, %9, %4 | |
| %11:i32 = shl %10, 24:i32 | |
| %12:i32 = var | |
| %13:i32 = and 8388607:i32, %12 | |
| %14:i32 = ctlz %13 | |
| %15:i32 = addnw 24:i32, %14 | |
| %16:i32 = and 31:i32, %15 | |
| %17:i32 = shl %13, %16 | |
| %18:i32 = phi %1, %17, %13, %13 | |
| %19:i32 = or 8388608:i32, %18 (hasExternalUses) | |
| %20:i32 = shl %19, 8:i32 | |
| %21:i32 = sub 1963258675:i32, %20 | |
| %22:i64 = zext %21 | |
| %23:i64 = zext %20 | |
| %24:i64 = mulnuw %22, %23 | |
| %25:i64 = lshr %24, 32:i64 | |
| %26:i64 = subnsw 0:i64, %25 | |
| %27:i64 = and 4294967295:i64, %26 | |
| %28:i64 = mulnuw %27, %22 | |
| %29:i64 = lshr %28, 31:i64 | |
| %30:i64 = and 4294967295:i64, %29 | |
| %31:i64 = mulnuw %30, %23 | |
| %32:i64 = lshr %31, 32:i64 | |
| %33:i64 = subnsw 0:i64, %32 | |
| %34:i64 = and 4294967295:i64, %33 | |
| %35:i64 = mulnuw %34, %30 | |
| %36:i64 = lshr %35, 31:i64 | |
| %37:i64 = and 4294967295:i64, %36 | |
| %38:i64 = mulnuw %37, %23 | |
| %39:i64 = lshr %38, 32:i64 | |
| %40:i64 = subnsw 0:i64, %39 | |
| %41:i64 = and 4294967295:i64, %40 | |
| %42:i64 = mulnuw %41, %37 | |
| %43:i64 = lshr %42, 31:i64 | |
| %44:i64 = addnw 4294967294:i64, %43 | |
| %45:i64 = and 4294967295:i64, %44 | |
| %46:i32 = shl %10, 1:i32 | |
| %47:i32 = or 16777216:i32, %46 | |
| %48:i64 = zext %47 | |
| %49:i64 = mulnuw %45, %48 | |
| %50:i64 = lshr %49, 32:i64 | |
| %51:i32 = trunc %50 (hasExternalUses) | |
| %52:i32 = mul %19, %51 | |
| %53:i32 = sub %11, %52 | |
| %54:i32 = shl %10, 23:i32 | |
| %55:i64 = lshr %49, 33:i64 | |
| %56:i32 = trunc %55 (hasExternalUses) | |
| %57:i32 = mul %19, %56 | |
| %58:i32 = sub %54, %57 | |
| %59:i32 = phi %0, %53, %58 | |
| infer %59 (demandedBits=01111111111111111111111111111111) | |
| > | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 8388607:i32, %3 | |
| %5:i32 = ctlz %4 | |
| %6:i32 = subnsw 9:i32, %5 | |
| %7:i32 = phi %2, %6, 0:i32 | |
| %8:i32 = var | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = addnsw 4294967287:i32, %10 | |
| %12:i32 = addnsw %7, %11 | |
| %13:i32 = phi %1, %12, %7, 0:i32 | |
| %14:i32 = lshr %3, 23:i32 | |
| %15:i32 = and 255:i32, %14 | |
| %16:i32 = lshr %8, 23:i32 | |
| %17:i32 = and 255:i32, %16 | |
| %18:i32 = subnsw %15, %17 | |
| %19:i32 = addnsw %13, %18 | |
| %20:i32 = addnsw 4294967295:i32, %19 | |
| %21:i32 = phi %0, %20, %19 | |
| %22:i32 = add 127:i32, %21 | |
| infer %22 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 8388607:i32, %3 | |
| %5:i32 = ctlz %4 | |
| %6:i32 = subnsw 9:i32, %5 | |
| %7:i32 = phi %2, %6, 0:i32 | |
| %8:i32 = var | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = addnsw 4294967287:i32, %10 | |
| %12:i32 = addnsw %7, %11 | |
| %13:i32 = phi %1, %12, %7, 0:i32 | |
| %14:i32 = lshr %3, 23:i32 | |
| %15:i32 = and 255:i32, %14 | |
| %16:i32 = lshr %8, 23:i32 | |
| %17:i32 = and 255:i32, %16 | |
| %18:i32 = subnsw %15, %17 | |
| %19:i32 = addnsw %13, %18 | |
| %20:i32 = addnsw 4294967295:i32, %19 | |
| %21:i32 = phi %0, %20, %19 | |
| %22:i32 = add 127:i32, %21 (hasExternalUses) | |
| %23:i1 = slt 254:i32, %22 | |
| infer %23 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 8388607:i32, %3 | |
| %5:i32 = ctlz %4 | |
| %6:i32 = subnsw 9:i32, %5 | |
| %7:i32 = phi %2, %6, 0:i32 | |
| %8:i32 = var | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = addnsw 4294967287:i32, %10 | |
| %12:i32 = addnsw %7, %11 | |
| %13:i32 = phi %1, %12, %7, 0:i32 | |
| %14:i32 = lshr %3, 23:i32 | |
| %15:i32 = and 255:i32, %14 | |
| %16:i32 = lshr %8, 23:i32 | |
| %17:i32 = and 255:i32, %16 | |
| %18:i32 = subnsw %15, %17 | |
| %19:i32 = addnsw %13, %18 | |
| %20:i32 = addnsw 4294967295:i32, %19 | |
| %21:i32 = phi %0, %20, %19 | |
| %22:i32 = add 127:i32, %21 (hasExternalUses) | |
| %23:i1 = slt 254:i32, %22 | |
| pc %23 0:i1 | |
| %24:i1 = slt %22, 1:i32 | |
| infer %24 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 8388607:i32, %3 | |
| %5:i32 = ctlz %4 | |
| %6:i32 = subnsw 9:i32, %5 | |
| %7:i32 = phi %2, %6, 0:i32 | |
| %8:i32 = var | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = addnsw 4294967287:i32, %10 | |
| %12:i32 = addnsw %7, %11 | |
| %13:i32 = phi %1, %12, %7, 0:i32 | |
| %14:i32 = lshr %3, 23:i32 | |
| %15:i32 = and 255:i32, %14 | |
| %16:i32 = lshr %8, 23:i32 | |
| %17:i32 = and 255:i32, %16 | |
| %18:i32 = subnsw %15, %17 | |
| %19:i32 = addnsw %13, %18 | |
| %20:i32 = addnsw 4294967295:i32, %19 | |
| %21:i32 = phi %0, %20, %19 | |
| %22:i32 = add 127:i32, %21 (hasExternalUses) | |
| %23:i1 = slt 254:i32, %22 | |
| pc %23 0:i1 | |
| %24:i1 = slt %22, 1:i32 | |
| pc %24 0:i1 | |
| %25:i32 = addnw 24:i32, %10 | |
| %26:i32 = and 31:i32, %25 | |
| %27:i32 = shl %9, %26 | |
| %28:i32 = phi %1, %27, %9, %9 | |
| %29:i32 = or 8388608:i32, %28 | |
| %30:i32 = shl %29, 8:i32 | |
| %31:i32 = sub 1963258675:i32, %30 | |
| %32:i64 = zext %31 | |
| %33:i64 = zext %30 | |
| %34:i64 = mulnuw %32, %33 | |
| %35:i64 = lshr %34, 32:i64 | |
| %36:i64 = subnsw 0:i64, %35 | |
| %37:i64 = and 4294967295:i64, %36 | |
| %38:i64 = mulnuw %37, %32 | |
| %39:i64 = lshr %38, 31:i64 | |
| %40:i64 = and 4294967295:i64, %39 | |
| %41:i64 = mulnuw %40, %33 | |
| %42:i64 = lshr %41, 32:i64 | |
| %43:i64 = subnsw 0:i64, %42 | |
| %44:i64 = and 4294967295:i64, %43 | |
| %45:i64 = mulnuw %44, %40 | |
| %46:i64 = lshr %45, 31:i64 | |
| %47:i64 = and 4294967295:i64, %46 | |
| %48:i64 = mulnuw %47, %33 | |
| %49:i64 = lshr %48, 32:i64 | |
| %50:i64 = subnsw 0:i64, %49 | |
| %51:i64 = and 4294967295:i64, %50 | |
| %52:i64 = mulnuw %51, %47 | |
| %53:i64 = lshr %52, 31:i64 | |
| %54:i64 = addnw 4294967294:i64, %53 | |
| %55:i64 = and 4294967295:i64, %54 | |
| %56:i32 = addnw 24:i32, %5 | |
| %57:i32 = and 31:i32, %56 | |
| %58:i32 = shl %4, %57 | |
| %59:i32 = phi %2, %58, %4 | |
| %60:i32 = phi %1, %59, %59, %4 | |
| %61:i32 = shl %60, 1:i32 | |
| %62:i32 = or 16777216:i32, %61 | |
| %63:i64 = zext %62 | |
| %64:i64 = mulnuw %55, %63 | |
| %65:i64 = lshr %64, 32:i64 | |
| %66:i32 = trunc %65 | |
| %67:i64 = lshr %64, 33:i64 | |
| %68:i32 = trunc %67 | |
| %69:i32 = phi %0, %66, %68 | |
| %70:i32 = and 8388607:i32, %69 | |
| %71:i32 = shlnw %22, 23:i32 | |
| %72:i32 = or %70, %71 | |
| infer %72 | |
| > | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 8388607:i32, %3 | |
| %5:i32 = ctlz %4 | |
| %6:i32 = subnsw 9:i32, %5 | |
| %7:i32 = phi %2, %6, 0:i32 | |
| %8:i32 = var | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = addnsw 4294967287:i32, %10 | |
| %12:i32 = addnsw %7, %11 | |
| %13:i32 = phi %1, %12, %7, 0:i32 | |
| %14:i32 = lshr %3, 23:i32 | |
| %15:i32 = and 255:i32, %14 | |
| %16:i32 = lshr %8, 23:i32 | |
| %17:i32 = and 255:i32, %16 | |
| %18:i32 = subnsw %15, %17 | |
| %19:i32 = addnsw %13, %18 | |
| %20:i32 = addnsw 4294967295:i32, %19 | |
| %21:i32 = phi %0, %20, %19 | |
| %22:i32 = add 127:i32, %21 (hasExternalUses) | |
| %23:i1 = slt 254:i32, %22 | |
| pc %23 0:i1 | |
| %24:i1 = slt %22, 1:i32 | |
| pc %24 0:i1 | |
| %25:i32 = addnw 24:i32, %10 | |
| %26:i32 = and 31:i32, %25 | |
| %27:i32 = shl %9, %26 | |
| %28:i32 = phi %1, %27, %9, %9 | |
| %29:i32 = or 8388608:i32, %28 | |
| %30:i32 = shl %29, 8:i32 | |
| %31:i32 = sub 1963258675:i32, %30 | |
| %32:i64 = zext %31 | |
| %33:i64 = zext %30 | |
| %34:i64 = mulnuw %32, %33 | |
| %35:i64 = lshr %34, 32:i64 | |
| %36:i64 = subnsw 0:i64, %35 | |
| %37:i64 = and 4294967295:i64, %36 | |
| %38:i64 = mulnuw %37, %32 | |
| %39:i64 = lshr %38, 31:i64 | |
| %40:i64 = and 4294967295:i64, %39 | |
| %41:i64 = mulnuw %40, %33 | |
| %42:i64 = lshr %41, 32:i64 | |
| %43:i64 = subnsw 0:i64, %42 | |
| %44:i64 = and 4294967295:i64, %43 | |
| %45:i64 = mulnuw %44, %40 | |
| %46:i64 = lshr %45, 31:i64 | |
| %47:i64 = and 4294967295:i64, %46 | |
| %48:i64 = mulnuw %47, %33 | |
| %49:i64 = lshr %48, 32:i64 | |
| %50:i64 = subnsw 0:i64, %49 | |
| %51:i64 = and 4294967295:i64, %50 | |
| %52:i64 = mulnuw %51, %47 | |
| %53:i64 = lshr %52, 31:i64 | |
| %54:i64 = addnw 4294967294:i64, %53 | |
| %55:i64 = and 4294967295:i64, %54 | |
| %56:i32 = addnw 24:i32, %5 | |
| %57:i32 = and 31:i32, %56 | |
| %58:i32 = shl %4, %57 | |
| %59:i32 = phi %2, %58, %4 | |
| %60:i32 = phi %1, %59, %59, %4 | |
| %61:i32 = shl %60, 1:i32 | |
| %62:i32 = or 16777216:i32, %61 | |
| %63:i64 = zext %62 | |
| %64:i64 = mulnuw %55, %63 | |
| %65:i64 = lshr %64, 32:i64 | |
| %66:i32 = trunc %65 | |
| %67:i64 = lshr %64, 33:i64 | |
| %68:i32 = trunc %67 | |
| %69:i32 = phi %0, %66, %68 | |
| %70:i32 = and 8388607:i32, %69 | |
| infer %70 | |
| > | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 8388607:i32, %3 | |
| %5:i32 = ctlz %4 | |
| %6:i32 = subnsw 9:i32, %5 | |
| %7:i32 = phi %2, %6, 0:i32 | |
| %8:i32 = var | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = addnsw 4294967287:i32, %10 | |
| %12:i32 = addnsw %7, %11 | |
| %13:i32 = phi %1, %12, %7, 0:i32 | |
| %14:i32 = lshr %3, 23:i32 | |
| %15:i32 = and 255:i32, %14 | |
| %16:i32 = lshr %8, 23:i32 | |
| %17:i32 = and 255:i32, %16 | |
| %18:i32 = subnsw %15, %17 | |
| %19:i32 = addnsw %13, %18 | |
| %20:i32 = addnsw 4294967295:i32, %19 | |
| %21:i32 = phi %0, %20, %19 | |
| %22:i32 = add 127:i32, %21 (hasExternalUses) | |
| %23:i1 = slt 254:i32, %22 | |
| pc %23 0:i1 | |
| %24:i1 = slt %22, 1:i32 | |
| pc %24 0:i1 | |
| %25:i32 = addnw 24:i32, %10 | |
| %26:i32 = and 31:i32, %25 | |
| %27:i32 = shl %9, %26 | |
| %28:i32 = phi %1, %27, %9, %9 | |
| %29:i32 = or 8388608:i32, %28 (hasExternalUses) | |
| %30:i32 = addnw 24:i32, %5 | |
| %31:i32 = and 31:i32, %30 | |
| %32:i32 = shl %4, %31 | |
| %33:i32 = phi %2, %32, %4 | |
| %34:i32 = phi %1, %33, %33, %4 | |
| %35:i32 = shl %34, 24:i32 | |
| %36:i32 = shl %29, 8:i32 | |
| %37:i32 = sub 1963258675:i32, %36 | |
| %38:i64 = zext %37 | |
| %39:i64 = zext %36 | |
| %40:i64 = mulnuw %38, %39 | |
| %41:i64 = lshr %40, 32:i64 | |
| %42:i64 = subnsw 0:i64, %41 | |
| %43:i64 = and 4294967295:i64, %42 | |
| %44:i64 = mulnuw %43, %38 | |
| %45:i64 = lshr %44, 31:i64 | |
| %46:i64 = and 4294967295:i64, %45 | |
| %47:i64 = mulnuw %46, %39 | |
| %48:i64 = lshr %47, 32:i64 | |
| %49:i64 = subnsw 0:i64, %48 | |
| %50:i64 = and 4294967295:i64, %49 | |
| %51:i64 = mulnuw %50, %46 | |
| %52:i64 = lshr %51, 31:i64 | |
| %53:i64 = and 4294967295:i64, %52 | |
| %54:i64 = mulnuw %53, %39 | |
| %55:i64 = lshr %54, 32:i64 | |
| %56:i64 = subnsw 0:i64, %55 | |
| %57:i64 = and 4294967295:i64, %56 | |
| %58:i64 = mulnuw %57, %53 | |
| %59:i64 = lshr %58, 31:i64 | |
| %60:i64 = addnw 4294967294:i64, %59 | |
| %61:i64 = and 4294967295:i64, %60 | |
| %62:i32 = shl %34, 1:i32 | |
| %63:i32 = or 16777216:i32, %62 | |
| %64:i64 = zext %63 | |
| %65:i64 = mulnuw %61, %64 | |
| %66:i64 = lshr %65, 32:i64 | |
| %67:i32 = trunc %66 | |
| %68:i32 = mul %29, %67 | |
| %69:i32 = sub %35, %68 | |
| %70:i32 = shl %34, 23:i32 | |
| %71:i64 = lshr %65, 33:i64 | |
| %72:i32 = trunc %71 | |
| %73:i32 = mul %29, %72 | |
| %74:i32 = sub %70, %73 | |
| %75:i32 = phi %0, %69, %74 | |
| %76:i32 = shl %75, 1:i32 | |
| %77:i1 = ult %29, %76 | |
| %78:i32 = zext %77 | |
| infer %78 | |
| > | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 8388607:i32, %3 | |
| %5:i32 = ctlz %4 | |
| %6:i32 = subnsw 9:i32, %5 | |
| %7:i32 = phi %2, %6, 0:i32 | |
| %8:i32 = var | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = addnsw 4294967287:i32, %10 | |
| %12:i32 = addnsw %7, %11 | |
| %13:i32 = phi %1, %12, %7, 0:i32 | |
| %14:i32 = lshr %3, 23:i32 | |
| %15:i32 = and 255:i32, %14 | |
| %16:i32 = lshr %8, 23:i32 | |
| %17:i32 = and 255:i32, %16 | |
| %18:i32 = subnsw %15, %17 | |
| %19:i32 = addnsw %13, %18 | |
| %20:i32 = addnsw 4294967295:i32, %19 | |
| %21:i32 = phi %0, %20, %19 | |
| %22:i32 = add 127:i32, %21 (hasExternalUses) | |
| %23:i1 = slt 254:i32, %22 | |
| pc %23 0:i1 | |
| %24:i1 = slt %22, 1:i32 | |
| pc %24 0:i1 | |
| %25:i32 = addnw 24:i32, %10 | |
| %26:i32 = and 31:i32, %25 | |
| %27:i32 = shl %9, %26 | |
| %28:i32 = phi %1, %27, %9, %9 | |
| %29:i32 = or 8388608:i32, %28 (hasExternalUses) | |
| %30:i32 = addnw 24:i32, %5 | |
| %31:i32 = and 31:i32, %30 | |
| %32:i32 = shl %4, %31 | |
| %33:i32 = phi %2, %32, %4 | |
| %34:i32 = phi %1, %33, %33, %4 | |
| %35:i32 = shl %34, 24:i32 | |
| %36:i32 = shl %29, 8:i32 | |
| %37:i32 = sub 1963258675:i32, %36 | |
| %38:i64 = zext %37 | |
| %39:i64 = zext %36 | |
| %40:i64 = mulnuw %38, %39 | |
| %41:i64 = lshr %40, 32:i64 | |
| %42:i64 = subnsw 0:i64, %41 | |
| %43:i64 = and 4294967295:i64, %42 | |
| %44:i64 = mulnuw %43, %38 | |
| %45:i64 = lshr %44, 31:i64 | |
| %46:i64 = and 4294967295:i64, %45 | |
| %47:i64 = mulnuw %46, %39 | |
| %48:i64 = lshr %47, 32:i64 | |
| %49:i64 = subnsw 0:i64, %48 | |
| %50:i64 = and 4294967295:i64, %49 | |
| %51:i64 = mulnuw %50, %46 | |
| %52:i64 = lshr %51, 31:i64 | |
| %53:i64 = and 4294967295:i64, %52 | |
| %54:i64 = mulnuw %53, %39 | |
| %55:i64 = lshr %54, 32:i64 | |
| %56:i64 = subnsw 0:i64, %55 | |
| %57:i64 = and 4294967295:i64, %56 | |
| %58:i64 = mulnuw %57, %53 | |
| %59:i64 = lshr %58, 31:i64 | |
| %60:i64 = addnw 4294967294:i64, %59 | |
| %61:i64 = and 4294967295:i64, %60 | |
| %62:i32 = shl %34, 1:i32 | |
| %63:i32 = or 16777216:i32, %62 | |
| %64:i64 = zext %63 | |
| %65:i64 = mulnuw %61, %64 | |
| %66:i64 = lshr %65, 32:i64 | |
| %67:i32 = trunc %66 | |
| %68:i32 = mul %29, %67 | |
| %69:i32 = sub %35, %68 | |
| %70:i32 = shl %34, 23:i32 | |
| %71:i64 = lshr %65, 33:i64 | |
| %72:i32 = trunc %71 | |
| %73:i32 = mul %29, %72 | |
| %74:i32 = sub %70, %73 | |
| %75:i32 = phi %0, %69, %74 | |
| %76:i32 = shl %75, 1:i32 | |
| %77:i1 = ult %29, %76 | |
| infer %77 | |
| > | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 8388607:i32, %3 | |
| %5:i32 = ctlz %4 | |
| %6:i32 = subnsw 9:i32, %5 | |
| %7:i32 = phi %2, %6, 0:i32 | |
| %8:i32 = var | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = addnsw 4294967287:i32, %10 | |
| %12:i32 = addnsw %7, %11 | |
| %13:i32 = phi %1, %12, %7, 0:i32 | |
| %14:i32 = lshr %3, 23:i32 | |
| %15:i32 = and 255:i32, %14 | |
| %16:i32 = lshr %8, 23:i32 | |
| %17:i32 = and 255:i32, %16 | |
| %18:i32 = subnsw %15, %17 | |
| %19:i32 = addnsw %13, %18 | |
| %20:i32 = addnsw 4294967295:i32, %19 | |
| %21:i32 = phi %0, %20, %19 | |
| %22:i32 = add 127:i32, %21 (hasExternalUses) | |
| %23:i1 = slt 254:i32, %22 | |
| pc %23 0:i1 | |
| %24:i1 = slt %22, 1:i32 | |
| pc %24 0:i1 | |
| %25:i32 = addnw 24:i32, %10 | |
| %26:i32 = and 31:i32, %25 | |
| %27:i32 = shl %9, %26 | |
| %28:i32 = phi %1, %27, %9, %9 | |
| %29:i32 = or 8388608:i32, %28 (hasExternalUses) | |
| %30:i32 = shl %29, 8:i32 | |
| %31:i32 = sub 1963258675:i32, %30 | |
| %32:i64 = zext %31 | |
| %33:i64 = zext %30 | |
| %34:i64 = mulnuw %32, %33 | |
| %35:i64 = lshr %34, 32:i64 | |
| %36:i64 = subnsw 0:i64, %35 | |
| %37:i64 = and 4294967295:i64, %36 | |
| %38:i64 = mulnuw %37, %32 | |
| %39:i64 = lshr %38, 31:i64 | |
| %40:i64 = and 4294967295:i64, %39 | |
| %41:i64 = mulnuw %40, %33 | |
| %42:i64 = lshr %41, 32:i64 | |
| %43:i64 = subnsw 0:i64, %42 | |
| %44:i64 = and 4294967295:i64, %43 | |
| %45:i64 = mulnuw %44, %40 | |
| %46:i64 = lshr %45, 31:i64 | |
| %47:i64 = and 4294967295:i64, %46 | |
| %48:i64 = mulnuw %47, %33 | |
| %49:i64 = lshr %48, 32:i64 | |
| %50:i64 = subnsw 0:i64, %49 | |
| %51:i64 = and 4294967295:i64, %50 | |
| %52:i64 = mulnuw %51, %47 | |
| %53:i64 = lshr %52, 31:i64 | |
| %54:i64 = addnw 4294967294:i64, %53 | |
| %55:i64 = and 4294967295:i64, %54 | |
| %56:i32 = addnw 24:i32, %5 | |
| %57:i32 = and 31:i32, %56 | |
| %58:i32 = shl %4, %57 | |
| %59:i32 = phi %2, %58, %4 | |
| %60:i32 = phi %1, %59, %59, %4 | |
| %61:i32 = shl %60, 1:i32 | |
| %62:i32 = or 16777216:i32, %61 | |
| %63:i64 = zext %62 | |
| %64:i64 = mulnuw %55, %63 | |
| %65:i64 = lshr %64, 32:i64 | |
| %66:i32 = trunc %65 | |
| %67:i64 = lshr %64, 33:i64 | |
| %68:i32 = trunc %67 | |
| %69:i32 = phi %0, %66, %68 | |
| %70:i32 = and 8388607:i32, %69 | |
| %71:i32 = shlnw %22, 23:i32 | |
| %72:i32 = or %70, %71 | |
| %73:i32 = shl %60, 24:i32 | |
| %74:i32 = mul %29, %66 | |
| %75:i32 = sub %73, %74 | |
| %76:i32 = shl %60, 23:i32 | |
| %77:i32 = mul %29, %68 | |
| %78:i32 = sub %76, %77 | |
| %79:i32 = phi %0, %75, %78 | |
| %80:i32 = shl %79, 1:i32 | |
| %81:i1 = ult %29, %80 | |
| %82:i32 = zext %81 | |
| %83:i32 = add %72, %82 | |
| %84:i32 = xor %3, %8 | |
| %85:i32 = and 2147483648:i32, %84 (hasExternalUses) | |
| %86:i32 = or %83, %85 | |
| infer %86 | |
| > | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 8388607:i32, %3 | |
| %5:i32 = ctlz %4 | |
| %6:i32 = subnsw 9:i32, %5 | |
| %7:i32 = phi %2, %6, 0:i32 | |
| %8:i32 = var | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = addnsw 4294967287:i32, %10 | |
| %12:i32 = addnsw %7, %11 | |
| %13:i32 = phi %1, %12, %7, 0:i32 | |
| %14:i32 = lshr %3, 23:i32 | |
| %15:i32 = and 255:i32, %14 | |
| %16:i32 = lshr %8, 23:i32 | |
| %17:i32 = and 255:i32, %16 | |
| %18:i32 = subnsw %15, %17 | |
| %19:i32 = addnsw %13, %18 | |
| %20:i32 = addnsw 4294967295:i32, %19 | |
| %21:i32 = phi %0, %20, %19 | |
| %22:i32 = add 127:i32, %21 (hasExternalUses) | |
| %23:i1 = slt 254:i32, %22 | |
| pc %23 0:i1 | |
| %24:i1 = slt %22, 1:i32 | |
| pc %24 0:i1 | |
| %25:i32 = addnw 24:i32, %10 | |
| %26:i32 = and 31:i32, %25 | |
| %27:i32 = shl %9, %26 | |
| %28:i32 = phi %1, %27, %9, %9 | |
| %29:i32 = or 8388608:i32, %28 (hasExternalUses) | |
| %30:i32 = shl %29, 8:i32 | |
| %31:i32 = sub 1963258675:i32, %30 | |
| %32:i64 = zext %31 | |
| %33:i64 = zext %30 | |
| %34:i64 = mulnuw %32, %33 | |
| %35:i64 = lshr %34, 32:i64 | |
| %36:i64 = subnsw 0:i64, %35 | |
| %37:i64 = and 4294967295:i64, %36 | |
| %38:i64 = mulnuw %37, %32 | |
| %39:i64 = lshr %38, 31:i64 | |
| %40:i64 = and 4294967295:i64, %39 | |
| %41:i64 = mulnuw %40, %33 | |
| %42:i64 = lshr %41, 32:i64 | |
| %43:i64 = subnsw 0:i64, %42 | |
| %44:i64 = and 4294967295:i64, %43 | |
| %45:i64 = mulnuw %44, %40 | |
| %46:i64 = lshr %45, 31:i64 | |
| %47:i64 = and 4294967295:i64, %46 | |
| %48:i64 = mulnuw %47, %33 | |
| %49:i64 = lshr %48, 32:i64 | |
| %50:i64 = subnsw 0:i64, %49 | |
| %51:i64 = and 4294967295:i64, %50 | |
| %52:i64 = mulnuw %51, %47 | |
| %53:i64 = lshr %52, 31:i64 | |
| %54:i64 = addnw 4294967294:i64, %53 | |
| %55:i64 = and 4294967295:i64, %54 | |
| %56:i32 = addnw 24:i32, %5 | |
| %57:i32 = and 31:i32, %56 | |
| %58:i32 = shl %4, %57 | |
| %59:i32 = phi %2, %58, %4 | |
| %60:i32 = phi %1, %59, %59, %4 | |
| %61:i32 = shl %60, 1:i32 | |
| %62:i32 = or 16777216:i32, %61 | |
| %63:i64 = zext %62 | |
| %64:i64 = mulnuw %55, %63 | |
| %65:i64 = lshr %64, 32:i64 | |
| %66:i32 = trunc %65 | |
| %67:i64 = lshr %64, 33:i64 | |
| %68:i32 = trunc %67 | |
| %69:i32 = phi %0, %66, %68 | |
| %70:i32 = and 8388607:i32, %69 | |
| %71:i32 = shlnw %22, 23:i32 | |
| %72:i32 = or %70, %71 | |
| %73:i32 = shl %60, 24:i32 | |
| %74:i32 = mul %29, %66 | |
| %75:i32 = sub %73, %74 | |
| %76:i32 = shl %60, 23:i32 | |
| %77:i32 = mul %29, %68 | |
| %78:i32 = sub %76, %77 | |
| %79:i32 = phi %0, %75, %78 | |
| %80:i32 = shl %79, 1:i32 | |
| %81:i1 = ult %29, %80 | |
| %82:i32 = zext %81 | |
| %83:i32 = add %72, %82 | |
| infer %83 | |
| > | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 8388607:i32, %3 | |
| %5:i32 = ctlz %4 | |
| %6:i32 = subnsw 9:i32, %5 | |
| %7:i32 = phi %2, %6, 0:i32 | |
| %8:i32 = var | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = addnsw 4294967287:i32, %10 | |
| %12:i32 = addnsw %7, %11 | |
| %13:i32 = phi %1, %12, %7, 0:i32 | |
| %14:i32 = lshr %3, 23:i32 | |
| %15:i32 = and 255:i32, %14 | |
| %16:i32 = lshr %8, 23:i32 | |
| %17:i32 = and 255:i32, %16 | |
| %18:i32 = subnsw %15, %17 | |
| %19:i32 = addnsw %13, %18 | |
| %20:i32 = addnsw 4294967295:i32, %19 | |
| %21:i32 = phi %0, %20, %19 | |
| %22:i32 = add 127:i32, %21 (hasExternalUses) | |
| %23:i1 = slt 254:i32, %22 | |
| pc %23 0:i1 | |
| %24:i1 = slt %22, 1:i32 | |
| pc %24 0:i1 | |
| %25:i32 = addnw 24:i32, %5 | |
| %26:i32 = and 31:i32, %25 | |
| %27:i32 = shl %4, %26 | |
| %28:i32 = phi %2, %27, %4 | |
| %29:i32 = phi %1, %28, %28, %4 | |
| %30:i32 = shl %29, 24:i32 | |
| %31:i32 = addnw 24:i32, %10 | |
| %32:i32 = and 31:i32, %31 | |
| %33:i32 = shl %9, %32 | |
| %34:i32 = phi %1, %33, %9, %9 | |
| %35:i32 = or 8388608:i32, %34 | |
| %36:i32 = shl %35, 8:i32 | |
| %37:i32 = sub 1963258675:i32, %36 | |
| %38:i64 = zext %37 | |
| %39:i64 = zext %36 | |
| %40:i64 = mulnuw %38, %39 | |
| %41:i64 = lshr %40, 32:i64 | |
| %42:i64 = subnsw 0:i64, %41 | |
| %43:i64 = and 4294967295:i64, %42 | |
| %44:i64 = mulnuw %43, %38 | |
| %45:i64 = lshr %44, 31:i64 | |
| %46:i64 = and 4294967295:i64, %45 | |
| %47:i64 = mulnuw %46, %39 | |
| %48:i64 = lshr %47, 32:i64 | |
| %49:i64 = subnsw 0:i64, %48 | |
| %50:i64 = and 4294967295:i64, %49 | |
| %51:i64 = mulnuw %50, %46 | |
| %52:i64 = lshr %51, 31:i64 | |
| %53:i64 = and 4294967295:i64, %52 | |
| %54:i64 = mulnuw %53, %39 | |
| %55:i64 = lshr %54, 32:i64 | |
| %56:i64 = subnsw 0:i64, %55 | |
| %57:i64 = and 4294967295:i64, %56 | |
| %58:i64 = mulnuw %57, %53 | |
| %59:i64 = lshr %58, 31:i64 | |
| %60:i64 = addnw 4294967294:i64, %59 | |
| %61:i64 = and 4294967295:i64, %60 | |
| %62:i32 = shl %29, 1:i32 | |
| %63:i32 = or 16777216:i32, %62 | |
| %64:i64 = zext %63 | |
| %65:i64 = mulnuw %61, %64 | |
| %66:i64 = lshr %65, 32:i64 | |
| %67:i32 = trunc %66 | |
| %68:i32 = mul %35, %67 | |
| %69:i32 = sub %30, %68 | |
| %70:i32 = shl %29, 23:i32 | |
| %71:i64 = lshr %65, 33:i64 | |
| %72:i32 = trunc %71 | |
| %73:i32 = mul %35, %72 | |
| %74:i32 = sub %70, %73 | |
| %75:i32 = phi %0, %69, %74 | |
| %76:i32 = shl %75, 1:i32 | |
| infer %76 | |
| > | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 8388607:i32, %3 | |
| %5:i32 = ctlz %4 | |
| %6:i32 = subnsw 9:i32, %5 | |
| %7:i32 = phi %2, %6, 0:i32 | |
| %8:i32 = var | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = addnsw 4294967287:i32, %10 | |
| %12:i32 = addnsw %7, %11 | |
| %13:i32 = phi %1, %12, %7, 0:i32 | |
| %14:i32 = lshr %3, 23:i32 | |
| %15:i32 = and 255:i32, %14 | |
| %16:i32 = lshr %8, 23:i32 | |
| %17:i32 = and 255:i32, %16 | |
| %18:i32 = subnsw %15, %17 | |
| %19:i32 = addnsw %13, %18 | |
| %20:i32 = addnsw 4294967295:i32, %19 | |
| %21:i32 = phi %0, %20, %19 | |
| %22:i32 = add 127:i32, %21 (hasExternalUses) | |
| %23:i1 = slt 254:i32, %22 | |
| pc %23 0:i1 | |
| %24:i1 = slt %22, 1:i32 | |
| pc %24 0:i1 | |
| %25:i32 = shlnw %22, 23:i32 | |
| infer %25 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 8388607:i32, %3 | |
| %5:i32 = ctlz %4 | |
| %6:i32 = subnsw 9:i32, %5 | |
| %7:i32 = phi %2, %6, 0:i32 | |
| %8:i32 = var | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = addnsw 4294967287:i32, %10 | |
| %12:i32 = addnsw %7, %11 | |
| %13:i32 = phi %1, %12, %7, 0:i32 | |
| %14:i32 = lshr %3, 23:i32 | |
| %15:i32 = and 255:i32, %14 | |
| %16:i32 = lshr %8, 23:i32 | |
| %17:i32 = and 255:i32, %16 | |
| %18:i32 = subnsw %15, %17 | |
| %19:i32 = addnsw %13, %18 | |
| %20:i32 = addnsw 4294967295:i32, %19 | |
| %21:i32 = phi %0, %20, %19 | |
| %22:i32 = add 127:i32, %21 (hasExternalUses) | |
| %23:i1 = slt 254:i32, %22 | |
| pc %23 1:i1 | |
| %24:i32 = xor %3, %8 | |
| %25:i32 = and 2147483648:i32, %24 (hasExternalUses) | |
| %26:i32 = or 2139095040:i32, %25 | |
| infer %26 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 8388607:i32, %3 | |
| %5:i32 = ctlz %4 | |
| %6:i32 = subnsw 9:i32, %5 | |
| %7:i32 = phi %2, %6, 0:i32 | |
| %8:i32 = var | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = addnsw 4294967287:i32, %10 | |
| %12:i32 = addnsw %7, %11 | |
| %13:i32 = phi %1, %12, %7, 0:i32 | |
| %14:i32 = lshr %3, 23:i32 | |
| %15:i32 = and 255:i32, %14 (hasExternalUses) | |
| %16:i32 = lshr %8, 23:i32 | |
| %17:i32 = and 255:i32, %16 (hasExternalUses) | |
| %18:i32 = subnsw %15, %17 | |
| %19:i32 = addnsw %13, %18 | |
| %20:i32 = addnsw 4294967295:i32, %19 | |
| %21:i32 = phi %0, %20, %19 | |
| infer %21 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 8388607:i32, %3 | |
| %5:i32 = ctlz %4 | |
| %6:i32 = subnsw 9:i32, %5 | |
| %7:i32 = phi %2, %6, 0:i32 | |
| %8:i32 = var | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = subnsw 9:i32, %10 | |
| %12:i32 = addnsw %7, %11 | |
| %13:i32 = phi %1, %12, %7, 0:i32 | |
| %14:i32 = lshr %3, 23:i32 | |
| %15:i32 = and 255:i32, %14 | |
| %16:i32 = lshr %8, 23:i32 | |
| %17:i32 = and 255:i32, %16 | |
| %18:i32 = addnw %15, %17 | |
| %19:i32 = addnsw %13, %18 | |
| %20:i32 = addnsw 4294967170:i32, %19 | |
| %21:i32 = addnsw 4294967169:i32, %19 | |
| %22:i32 = phi %0, %20, %21 | |
| %23:i1 = slt 254:i32, %22 | |
| infer %23 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 8388607:i32, %3 | |
| %5:i32 = ctlz %4 | |
| %6:i32 = subnsw 9:i32, %5 | |
| %7:i32 = phi %2, %6, 0:i32 | |
| %8:i32 = var | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = subnsw 9:i32, %10 | |
| %12:i32 = addnsw %7, %11 | |
| %13:i32 = phi %1, %12, %7, 0:i32 | |
| %14:i32 = lshr %3, 23:i32 | |
| %15:i32 = and 255:i32, %14 | |
| %16:i32 = lshr %8, 23:i32 | |
| %17:i32 = and 255:i32, %16 | |
| %18:i32 = addnw %15, %17 | |
| %19:i32 = addnsw %13, %18 | |
| %20:i32 = addnsw 4294967170:i32, %19 | |
| %21:i32 = addnsw 4294967169:i32, %19 | |
| %22:i32 = phi %0, %20, %21 | |
| %23:i1 = slt 254:i32, %22 | |
| pc %23 0:i1 | |
| %24:i1 = slt %22, 1:i32 | |
| infer %24 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 8388607:i32, %3 | |
| %5:i32 = ctlz %4 | |
| %6:i32 = subnsw 9:i32, %5 | |
| %7:i32 = phi %2, %6, 0:i32 | |
| %8:i32 = var | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = subnsw 9:i32, %10 | |
| %12:i32 = addnsw %7, %11 | |
| %13:i32 = phi %1, %12, %7, 0:i32 | |
| %14:i32 = lshr %3, 23:i32 | |
| %15:i32 = and 255:i32, %14 | |
| %16:i32 = lshr %8, 23:i32 | |
| %17:i32 = and 255:i32, %16 | |
| %18:i32 = addnw %15, %17 | |
| %19:i32 = addnsw %13, %18 | |
| %20:i32 = addnsw 4294967170:i32, %19 | |
| %21:i32 = addnsw 4294967169:i32, %19 | |
| %22:i32 = phi %0, %20, %21 | |
| %23:i1 = slt 254:i32, %22 | |
| pc %23 0:i1 | |
| %24:i1 = slt %22, 1:i32 | |
| pc %24 0:i1 | |
| %25:i32 = addnw 24:i32, %5 | |
| %26:i32 = and 31:i32, %25 | |
| %27:i32 = shl %4, %26 | |
| %28:i32 = phi %2, %27, %4 | |
| %29:i32 = phi %1, %28, %28, %4 | |
| %30:i32 = or 8388608:i32, %29 | |
| %31:i64 = zext %30 | |
| %32:i32 = addnw 24:i32, %10 | |
| %33:i32 = and 31:i32, %32 | |
| %34:i32 = shl %9, %33 | |
| %35:i32 = phi %1, %34, %9, %9 | |
| %36:i32 = shl %35, 8:i32 | |
| %37:i32 = or 2147483648:i32, %36 | |
| %38:i64 = zext %37 | |
| %39:i64 = mulnuw %31, %38 | |
| %40:i64 = lshr %39, 32:i64 | |
| %41:i32 = trunc %40 | |
| %42:i32 = trunc %39 | |
| %43:i32 = lshr %42, 31:i32 | |
| %44:i64 = shlnw %40, 1:i64 | |
| %45:i32 = trunc %44 | |
| %46:i32 = or %43, %45 | |
| %47:i32 = phi %0, %41, %46 | |
| %48:i32 = and 8388607:i32, %47 | |
| %49:i32 = shlnw %22, 23:i32 | |
| %50:i32 = or %48, %49 | |
| infer %50 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 8388607:i32, %3 | |
| %5:i32 = ctlz %4 | |
| %6:i32 = subnsw 9:i32, %5 | |
| %7:i32 = phi %2, %6, 0:i32 | |
| %8:i32 = var | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = subnsw 9:i32, %10 | |
| %12:i32 = addnsw %7, %11 | |
| %13:i32 = phi %1, %12, %7, 0:i32 | |
| %14:i32 = lshr %3, 23:i32 | |
| %15:i32 = and 255:i32, %14 | |
| %16:i32 = lshr %8, 23:i32 | |
| %17:i32 = and 255:i32, %16 | |
| %18:i32 = addnw %15, %17 | |
| %19:i32 = addnsw %13, %18 | |
| %20:i32 = addnsw 4294967170:i32, %19 | |
| %21:i32 = addnsw 4294967169:i32, %19 | |
| %22:i32 = phi %0, %20, %21 | |
| %23:i1 = slt 254:i32, %22 | |
| pc %23 0:i1 | |
| %24:i1 = slt %22, 1:i32 | |
| pc %24 0:i1 | |
| %25:i32 = addnw 24:i32, %5 | |
| %26:i32 = and 31:i32, %25 | |
| %27:i32 = shl %4, %26 | |
| %28:i32 = phi %2, %27, %4 | |
| %29:i32 = phi %1, %28, %28, %4 | |
| %30:i32 = or 8388608:i32, %29 | |
| %31:i64 = zext %30 | |
| %32:i32 = addnw 24:i32, %10 | |
| %33:i32 = and 31:i32, %32 | |
| %34:i32 = shl %9, %33 | |
| %35:i32 = phi %1, %34, %9, %9 | |
| %36:i32 = shl %35, 8:i32 | |
| %37:i32 = or 2147483648:i32, %36 | |
| %38:i64 = zext %37 | |
| %39:i64 = mulnuw %31, %38 | |
| %40:i64 = lshr %39, 32:i64 | |
| %41:i32 = trunc %40 | |
| %42:i32 = trunc %39 | |
| %43:i32 = lshr %42, 31:i32 | |
| %44:i64 = shlnw %40, 1:i64 | |
| %45:i32 = trunc %44 | |
| %46:i32 = or %43, %45 | |
| %47:i32 = phi %0, %41, %46 | |
| %48:i32 = and 8388607:i32, %47 | |
| infer %48 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 8388607:i32, %3 | |
| %5:i32 = ctlz %4 | |
| %6:i32 = subnsw 9:i32, %5 | |
| %7:i32 = phi %2, %6, 0:i32 | |
| %8:i32 = var | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = subnsw 9:i32, %10 | |
| %12:i32 = addnsw %7, %11 | |
| %13:i32 = phi %1, %12, %7, 0:i32 | |
| %14:i32 = lshr %3, 23:i32 | |
| %15:i32 = and 255:i32, %14 | |
| %16:i32 = lshr %8, 23:i32 | |
| %17:i32 = and 255:i32, %16 | |
| %18:i32 = addnw %15, %17 | |
| %19:i32 = addnsw %13, %18 | |
| %20:i32 = addnsw 4294967170:i32, %19 | |
| %21:i32 = addnsw 4294967169:i32, %19 | |
| %22:i32 = phi %0, %20, %21 | |
| %23:i1 = slt 254:i32, %22 | |
| pc %23 0:i1 | |
| %24:i1 = slt %22, 1:i32 | |
| pc %24 0:i1 | |
| %25:i32 = shlnw %22, 23:i32 | |
| infer %25 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 8388607:i32, %3 | |
| %5:i32 = ctlz %4 | |
| %6:i32 = subnsw 9:i32, %5 | |
| %7:i32 = phi %2, %6, 0:i32 | |
| %8:i32 = var | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = subnsw 9:i32, %10 | |
| %12:i32 = addnsw %7, %11 | |
| %13:i32 = phi %1, %12, %7, 0:i32 | |
| %14:i32 = lshr %3, 23:i32 | |
| %15:i32 = and 255:i32, %14 | |
| %16:i32 = lshr %8, 23:i32 | |
| %17:i32 = and 255:i32, %16 | |
| %18:i32 = addnw %15, %17 | |
| %19:i32 = addnsw %13, %18 | |
| %20:i32 = addnsw 4294967170:i32, %19 | |
| %21:i32 = addnsw 4294967169:i32, %19 | |
| %22:i32 = phi %0, %20, %21 | |
| %23:i1 = slt 254:i32, %22 | |
| pc %23 0:i1 | |
| %24:i1 = slt %22, 1:i32 | |
| pc %24 1:i1 | |
| %25:i32 = sub 1:i32, %22 | |
| infer %25 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 8388607:i32, %3 | |
| %5:i32 = ctlz %4 | |
| %6:i32 = subnsw 9:i32, %5 | |
| %7:i32 = phi %2, %6, 0:i32 | |
| %8:i32 = var | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = subnsw 9:i32, %10 | |
| %12:i32 = addnsw %7, %11 | |
| %13:i32 = phi %1, %12, %7, 0:i32 | |
| %14:i32 = lshr %3, 23:i32 | |
| %15:i32 = and 255:i32, %14 | |
| %16:i32 = lshr %8, 23:i32 | |
| %17:i32 = and 255:i32, %16 | |
| %18:i32 = addnw %15, %17 | |
| %19:i32 = addnsw %13, %18 | |
| %20:i32 = addnsw 4294967170:i32, %19 | |
| %21:i32 = addnsw 4294967169:i32, %19 | |
| %22:i32 = phi %0, %20, %21 | |
| %23:i1 = slt 254:i32, %22 | |
| pc %23 0:i1 | |
| %24:i1 = slt %22, 1:i32 | |
| pc %24 1:i1 | |
| %25:i32 = sub 1:i32, %22 (hasExternalUses) | |
| %26:i1 = ult 31:i32, %25 | |
| infer %26 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 8388607:i32, %3 | |
| %5:i32 = ctlz %4 | |
| %6:i32 = subnsw 9:i32, %5 | |
| %7:i32 = phi %2, %6, 0:i32 | |
| %8:i32 = var | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = subnsw 9:i32, %10 | |
| %12:i32 = addnsw %7, %11 | |
| %13:i32 = phi %1, %12, %7, 0:i32 | |
| %14:i32 = lshr %3, 23:i32 | |
| %15:i32 = and 255:i32, %14 | |
| %16:i32 = lshr %8, 23:i32 | |
| %17:i32 = and 255:i32, %16 | |
| %18:i32 = addnw %15, %17 | |
| %19:i32 = addnsw %13, %18 | |
| %20:i32 = addnsw 4294967170:i32, %19 | |
| %21:i32 = addnsw 4294967169:i32, %19 | |
| %22:i32 = phi %0, %20, %21 | |
| %23:i1 = slt 254:i32, %22 | |
| pc %23 0:i1 | |
| %24:i1 = slt %22, 1:i32 | |
| pc %24 1:i1 | |
| %25:i32 = sub 1:i32, %22 (hasExternalUses) | |
| %26:i1 = ult 31:i32, %25 | |
| pc %26 0:i1 | |
| %27:i32 = addnsw 31:i32, %22 | |
| infer %27 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 8388607:i32, %3 | |
| %5:i32 = ctlz %4 | |
| %6:i32 = subnsw 9:i32, %5 | |
| %7:i32 = phi %2, %6, 0:i32 | |
| %8:i32 = var | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = subnsw 9:i32, %10 | |
| %12:i32 = addnsw %7, %11 | |
| %13:i32 = phi %1, %12, %7, 0:i32 | |
| %14:i32 = lshr %3, 23:i32 | |
| %15:i32 = and 255:i32, %14 | |
| %16:i32 = lshr %8, 23:i32 | |
| %17:i32 = and 255:i32, %16 | |
| %18:i32 = addnw %15, %17 | |
| %19:i32 = addnsw %13, %18 | |
| %20:i32 = addnsw 4294967170:i32, %19 | |
| %21:i32 = addnsw 4294967169:i32, %19 | |
| %22:i32 = phi %0, %20, %21 | |
| %23:i1 = slt 254:i32, %22 | |
| pc %23 0:i1 | |
| %24:i1 = slt %22, 1:i32 | |
| pc %24 1:i1 | |
| %25:i32 = sub 1:i32, %22 (hasExternalUses) | |
| %26:i1 = ult 31:i32, %25 | |
| pc %26 0:i1 | |
| %27:i32 = addnw 24:i32, %5 | |
| %28:i32 = and 31:i32, %27 | |
| %29:i32 = shl %4, %28 | |
| %30:i32 = phi %2, %29, %4 | |
| %31:i32 = phi %1, %30, %30, %4 | |
| %32:i32 = or 8388608:i32, %31 | |
| %33:i64 = zext %32 | |
| %34:i32 = addnw 24:i32, %10 | |
| %35:i32 = and 31:i32, %34 | |
| %36:i32 = shl %9, %35 | |
| %37:i32 = phi %1, %36, %9, %9 | |
| %38:i32 = shl %37, 8:i32 | |
| %39:i32 = or 2147483648:i32, %38 | |
| %40:i64 = zext %39 | |
| %41:i64 = mulnuw %33, %40 | |
| %42:i32 = trunc %41 | |
| %43:i32 = shl %42, 1:i32 | |
| %44:i32 = phi %0, %42, %43 | |
| %45:i32 = addnsw 31:i32, %22 (hasExternalUses) | |
| %46:i32 = shl %44, %45 | |
| infer %46 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 8388607:i32, %3 | |
| %5:i32 = ctlz %4 | |
| %6:i32 = subnsw 9:i32, %5 | |
| %7:i32 = phi %2, %6, 0:i32 | |
| %8:i32 = var | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = subnsw 9:i32, %10 | |
| %12:i32 = addnsw %7, %11 | |
| %13:i32 = phi %1, %12, %7, 0:i32 | |
| %14:i32 = lshr %3, 23:i32 | |
| %15:i32 = and 255:i32, %14 | |
| %16:i32 = lshr %8, 23:i32 | |
| %17:i32 = and 255:i32, %16 | |
| %18:i32 = addnw %15, %17 | |
| %19:i32 = addnsw %13, %18 | |
| %20:i32 = addnsw 4294967170:i32, %19 | |
| %21:i32 = addnsw 4294967169:i32, %19 | |
| %22:i32 = phi %0, %20, %21 | |
| %23:i1 = slt 254:i32, %22 | |
| pc %23 0:i1 | |
| %24:i1 = slt %22, 1:i32 | |
| pc %24 1:i1 | |
| %25:i32 = sub 1:i32, %22 (hasExternalUses) | |
| %26:i1 = ult 31:i32, %25 | |
| pc %26 0:i1 | |
| %27:i32 = addnw 24:i32, %5 | |
| %28:i32 = and 31:i32, %27 | |
| %29:i32 = shl %4, %28 | |
| %30:i32 = phi %2, %29, %4 | |
| %31:i32 = phi %1, %30, %30, %4 | |
| %32:i32 = or 8388608:i32, %31 | |
| %33:i64 = zext %32 | |
| %34:i32 = addnw 24:i32, %10 | |
| %35:i32 = and 31:i32, %34 | |
| %36:i32 = shl %9, %35 | |
| %37:i32 = phi %1, %36, %9, %9 | |
| %38:i32 = shl %37, 8:i32 | |
| %39:i32 = or 2147483648:i32, %38 | |
| %40:i64 = zext %39 | |
| %41:i64 = mulnuw %33, %40 | |
| %42:i32 = trunc %41 | |
| %43:i32 = shl %42, 1:i32 | |
| %44:i32 = phi %0, %42, %43 | |
| %45:i32 = lshr %44, %25 | |
| infer %45 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 8388607:i32, %3 | |
| %5:i32 = ctlz %4 | |
| %6:i32 = subnsw 9:i32, %5 | |
| %7:i32 = phi %2, %6, 0:i32 | |
| %8:i32 = var | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = subnsw 9:i32, %10 | |
| %12:i32 = addnsw %7, %11 | |
| %13:i32 = phi %1, %12, %7, 0:i32 | |
| %14:i32 = lshr %3, 23:i32 | |
| %15:i32 = and 255:i32, %14 | |
| %16:i32 = lshr %8, 23:i32 | |
| %17:i32 = and 255:i32, %16 | |
| %18:i32 = addnw %15, %17 | |
| %19:i32 = addnsw %13, %18 | |
| %20:i32 = addnsw 4294967170:i32, %19 | |
| %21:i32 = addnsw 4294967169:i32, %19 | |
| %22:i32 = phi %0, %20, %21 | |
| %23:i1 = slt 254:i32, %22 | |
| pc %23 0:i1 | |
| %24:i1 = slt %22, 1:i32 | |
| pc %24 1:i1 | |
| %25:i32 = sub 1:i32, %22 (hasExternalUses) | |
| %26:i1 = ult 31:i32, %25 | |
| pc %26 0:i1 | |
| %27:i32 = addnw 24:i32, %5 | |
| %28:i32 = and 31:i32, %27 | |
| %29:i32 = shl %4, %28 | |
| %30:i32 = phi %2, %29, %4 | |
| %31:i32 = phi %1, %30, %30, %4 | |
| %32:i32 = or 8388608:i32, %31 | |
| %33:i64 = zext %32 | |
| %34:i32 = addnw 24:i32, %10 | |
| %35:i32 = and 31:i32, %34 | |
| %36:i32 = shl %9, %35 | |
| %37:i32 = phi %1, %36, %9, %9 | |
| %38:i32 = shl %37, 8:i32 | |
| %39:i32 = or 2147483648:i32, %38 | |
| %40:i64 = zext %39 | |
| %41:i64 = mulnuw %33, %40 | |
| %42:i64 = lshr %41, 32:i64 | |
| %43:i32 = trunc %42 | |
| %44:i32 = trunc %41 | |
| %45:i32 = lshr %44, 31:i32 | |
| %46:i64 = shlnw %42, 1:i64 | |
| %47:i32 = trunc %46 | |
| %48:i32 = or %45, %47 | |
| %49:i32 = phi %0, %43, %48 | |
| %50:i32 = addnsw 31:i32, %22 | |
| %51:i32 = shl %49, %50 | |
| %52:i32 = shl %44, 1:i32 | |
| %53:i32 = phi %0, %44, %52 | |
| %54:i32 = lshr %53, %25 | |
| %55:i32 = or %51, %54 | |
| %56:i32 = shl %53, %50 | |
| %57:i32 = or %55, %56 | |
| infer %57 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 8388607:i32, %3 | |
| %5:i32 = ctlz %4 | |
| %6:i32 = subnsw 9:i32, %5 | |
| %7:i32 = phi %2, %6, 0:i32 | |
| %8:i32 = var | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = subnsw 9:i32, %10 | |
| %12:i32 = addnsw %7, %11 | |
| %13:i32 = phi %1, %12, %7, 0:i32 | |
| %14:i32 = lshr %3, 23:i32 | |
| %15:i32 = and 255:i32, %14 | |
| %16:i32 = lshr %8, 23:i32 | |
| %17:i32 = and 255:i32, %16 | |
| %18:i32 = addnw %15, %17 | |
| %19:i32 = addnsw %13, %18 | |
| %20:i32 = addnsw 4294967170:i32, %19 | |
| %21:i32 = addnsw 4294967169:i32, %19 | |
| %22:i32 = phi %0, %20, %21 | |
| %23:i1 = slt 254:i32, %22 | |
| pc %23 0:i1 | |
| %24:i1 = slt %22, 1:i32 | |
| pc %24 1:i1 | |
| %25:i32 = sub 1:i32, %22 (hasExternalUses) | |
| %26:i1 = ult 31:i32, %25 | |
| pc %26 0:i1 | |
| %27:i32 = addnw 24:i32, %5 | |
| %28:i32 = and 31:i32, %27 | |
| %29:i32 = shl %4, %28 | |
| %30:i32 = phi %2, %29, %4 | |
| %31:i32 = phi %1, %30, %30, %4 | |
| %32:i32 = or 8388608:i32, %31 | |
| %33:i64 = zext %32 | |
| %34:i32 = addnw 24:i32, %10 | |
| %35:i32 = and 31:i32, %34 | |
| %36:i32 = shl %9, %35 | |
| %37:i32 = phi %1, %36, %9, %9 | |
| %38:i32 = shl %37, 8:i32 | |
| %39:i32 = or 2147483648:i32, %38 | |
| %40:i64 = zext %39 | |
| %41:i64 = mulnuw %33, %40 | |
| %42:i64 = lshr %41, 32:i64 | |
| %43:i32 = trunc %42 | |
| %44:i32 = trunc %41 | |
| %45:i32 = lshr %44, 31:i32 | |
| %46:i64 = shlnw %42, 1:i64 | |
| %47:i32 = trunc %46 | |
| %48:i32 = or %45, %47 | |
| %49:i32 = phi %0, %43, %48 | |
| %50:i32 = addnsw 31:i32, %22 (hasExternalUses) | |
| %51:i32 = shl %49, %50 | |
| %52:i32 = shl %44, 1:i32 | |
| %53:i32 = phi %0, %44, %52 | |
| %54:i32 = lshr %53, %25 | |
| %55:i32 = or %51, %54 | |
| infer %55 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 8388607:i32, %3 | |
| %5:i32 = ctlz %4 | |
| %6:i32 = subnsw 9:i32, %5 | |
| %7:i32 = phi %2, %6, 0:i32 | |
| %8:i32 = var | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = subnsw 9:i32, %10 | |
| %12:i32 = addnsw %7, %11 | |
| %13:i32 = phi %1, %12, %7, 0:i32 | |
| %14:i32 = lshr %3, 23:i32 | |
| %15:i32 = and 255:i32, %14 | |
| %16:i32 = lshr %8, 23:i32 | |
| %17:i32 = and 255:i32, %16 | |
| %18:i32 = addnw %15, %17 | |
| %19:i32 = addnsw %13, %18 | |
| %20:i32 = addnsw 4294967170:i32, %19 | |
| %21:i32 = addnsw 4294967169:i32, %19 | |
| %22:i32 = phi %0, %20, %21 | |
| %23:i1 = slt 254:i32, %22 | |
| pc %23 0:i1 | |
| %24:i1 = slt %22, 1:i32 | |
| pc %24 1:i1 | |
| %25:i32 = sub 1:i32, %22 (hasExternalUses) | |
| %26:i1 = ult 31:i32, %25 | |
| pc %26 0:i1 | |
| %27:i32 = addnw 24:i32, %5 | |
| %28:i32 = and 31:i32, %27 | |
| %29:i32 = shl %4, %28 | |
| %30:i32 = phi %2, %29, %4 | |
| %31:i32 = phi %1, %30, %30, %4 | |
| %32:i32 = or 8388608:i32, %31 | |
| %33:i64 = zext %32 | |
| %34:i32 = addnw 24:i32, %10 | |
| %35:i32 = and 31:i32, %34 | |
| %36:i32 = shl %9, %35 | |
| %37:i32 = phi %1, %36, %9, %9 | |
| %38:i32 = shl %37, 8:i32 | |
| %39:i32 = or 2147483648:i32, %38 | |
| %40:i64 = zext %39 | |
| %41:i64 = mulnuw %33, %40 | |
| %42:i64 = lshr %41, 32:i64 | |
| %43:i32 = trunc %42 | |
| %44:i32 = trunc %41 | |
| %45:i32 = lshr %44, 31:i32 | |
| %46:i64 = shlnw %42, 1:i64 | |
| %47:i32 = trunc %46 | |
| %48:i32 = or %45, %47 | |
| %49:i32 = phi %0, %43, %48 | |
| %50:i32 = addnsw 31:i32, %22 (hasExternalUses) | |
| %51:i32 = shl %49, %50 | |
| infer %51 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 8388607:i32, %3 | |
| %5:i32 = ctlz %4 | |
| %6:i32 = subnsw 9:i32, %5 | |
| %7:i32 = phi %2, %6, 0:i32 | |
| %8:i32 = var | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = subnsw 9:i32, %10 | |
| %12:i32 = addnsw %7, %11 | |
| %13:i32 = phi %1, %12, %7, 0:i32 | |
| %14:i32 = lshr %3, 23:i32 | |
| %15:i32 = and 255:i32, %14 | |
| %16:i32 = lshr %8, 23:i32 | |
| %17:i32 = and 255:i32, %16 | |
| %18:i32 = addnw %15, %17 | |
| %19:i32 = addnsw %13, %18 | |
| %20:i32 = addnsw 4294967170:i32, %19 | |
| %21:i32 = addnsw 4294967169:i32, %19 | |
| %22:i32 = phi %0, %20, %21 | |
| %23:i1 = slt 254:i32, %22 | |
| pc %23 0:i1 | |
| %24:i1 = slt %22, 1:i32 | |
| pc %24 1:i1 | |
| %25:i32 = sub 1:i32, %22 (hasExternalUses) | |
| %26:i1 = ult 31:i32, %25 | |
| pc %26 0:i1 | |
| %27:i32 = addnw 24:i32, %5 | |
| %28:i32 = and 31:i32, %27 | |
| %29:i32 = shl %4, %28 | |
| %30:i32 = phi %2, %29, %4 | |
| %31:i32 = phi %1, %30, %30, %4 | |
| %32:i32 = or 8388608:i32, %31 | |
| %33:i64 = zext %32 | |
| %34:i32 = addnw 24:i32, %10 | |
| %35:i32 = and 31:i32, %34 | |
| %36:i32 = shl %9, %35 | |
| %37:i32 = phi %1, %36, %9, %9 | |
| %38:i32 = shl %37, 8:i32 | |
| %39:i32 = or 2147483648:i32, %38 | |
| %40:i64 = zext %39 | |
| %41:i64 = mulnuw %33, %40 | |
| %42:i64 = lshr %41, 32:i64 | |
| %43:i32 = trunc %42 | |
| %44:i32 = trunc %41 | |
| %45:i32 = lshr %44, 31:i32 | |
| %46:i64 = shlnw %42, 1:i64 | |
| %47:i32 = trunc %46 | |
| %48:i32 = or %45, %47 | |
| %49:i32 = phi %0, %43, %48 | |
| %50:i32 = lshr %49, %25 | |
| infer %50 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 8388607:i32, %3 | |
| %5:i32 = ctlz %4 | |
| %6:i32 = subnsw 9:i32, %5 | |
| %7:i32 = phi %2, %6, 0:i32 | |
| %8:i32 = var | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = subnsw 9:i32, %10 | |
| %12:i32 = addnsw %7, %11 | |
| %13:i32 = phi %1, %12, %7, 0:i32 | |
| %14:i32 = lshr %3, 23:i32 | |
| %15:i32 = and 255:i32, %14 | |
| %16:i32 = lshr %8, 23:i32 | |
| %17:i32 = and 255:i32, %16 | |
| %18:i32 = addnw %15, %17 | |
| %19:i32 = addnsw %13, %18 | |
| %20:i32 = addnsw 4294967170:i32, %19 | |
| %21:i32 = addnsw 4294967169:i32, %19 | |
| %22:i32 = phi %0, %20, %21 | |
| %23:i1 = slt 254:i32, %22 | |
| pc %23 1:i1 | |
| %24:i32 = xor %3, %8 | |
| %25:i32 = and 2147483648:i32, %24 (hasExternalUses) | |
| %26:i32 = or 2139095040:i32, %25 | |
| infer %26 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 8388607:i32, %3 | |
| %5:i32 = ctlz %4 | |
| %6:i32 = subnsw 9:i32, %5 | |
| %7:i32 = phi %2, %6, 0:i32 | |
| %8:i32 = var | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = subnsw 9:i32, %10 | |
| %12:i32 = addnsw %7, %11 | |
| %13:i32 = phi %1, %12, %7, 0:i32 | |
| %14:i32 = lshr %3, 23:i32 | |
| %15:i32 = and 255:i32, %14 (hasExternalUses) | |
| %16:i32 = lshr %8, 23:i32 | |
| %17:i32 = and 255:i32, %16 (hasExternalUses) | |
| %18:i32 = addnw %15, %17 | |
| %19:i32 = addnsw %13, %18 | |
| %20:i32 = addnsw 4294967170:i32, %19 | |
| %21:i32 = addnsw 4294967169:i32, %19 | |
| %22:i32 = phi %0, %20, %21 | |
| infer %22 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = addnsw 4294967284:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = subnsw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294967295:i32, %23 | |
| %25:i32 = phi %0, %24, %23 | |
| %26:i32 = add 1023:i32, %25 | |
| infer %26 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = addnsw 4294967284:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = subnsw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294967295:i32, %23 | |
| %25:i32 = phi %0, %24, %23 | |
| %26:i32 = add 1023:i32, %25 (hasExternalUses) | |
| %27:i1 = slt 2046:i32, %26 | |
| infer %27 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = addnsw 4294967284:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = subnsw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294967295:i32, %23 | |
| %25:i32 = phi %0, %24, %23 | |
| %26:i32 = add 1023:i32, %25 (hasExternalUses) | |
| %27:i1 = slt 2046:i32, %26 | |
| pc %27 0:i1 | |
| %28:i1 = slt %26, 1:i32 | |
| infer %28 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = addnsw 4294967284:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = subnsw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294967295:i32, %23 | |
| %25:i32 = phi %0, %24, %23 | |
| %26:i32 = add 1023:i32, %25 (hasExternalUses) | |
| %27:i1 = slt 2046:i32, %26 | |
| pc %27 0:i1 | |
| %28:i1 = slt %26, 1:i32 | |
| pc %28 0:i1 | |
| %29:i64 = addnw 53:i64, %11 | |
| %30:i64 = and 63:i64, %29 | |
| %31:i64 = shl %10, %30 | |
| %32:i64 = phi %1, %31, %10, %10 | |
| %33:i64 = or 4503599627370496:i64, %32 | |
| %34:i64 = lshr %33, 21:i64 | |
| %35:i64 = subnsw 1963258675:i64, %34 | |
| %36:i64 = and 4294967295:i64, %35 | |
| %37:i64 = and 4294967295:i64, %34 | |
| %38:i64 = mulnuw %36, %37 | |
| %39:i64 = lshr %38, 32:i64 | |
| %40:i64 = subnsw 0:i64, %39 | |
| %41:i64 = and 4294967295:i64, %40 | |
| %42:i64 = mulnuw %41, %36 | |
| %43:i64 = lshr %42, 31:i64 | |
| %44:i64 = and 4294967295:i64, %43 | |
| %45:i64 = mulnuw %44, %37 | |
| %46:i64 = lshr %45, 32:i64 | |
| %47:i64 = subnsw 0:i64, %46 | |
| %48:i64 = and 4294967295:i64, %47 | |
| %49:i64 = mulnuw %48, %44 | |
| %50:i64 = lshr %49, 31:i64 | |
| %51:i64 = and 4294967295:i64, %50 | |
| %52:i64 = mulnuw %51, %37 | |
| %53:i64 = lshr %52, 32:i64 | |
| %54:i64 = subnsw 0:i64, %53 | |
| %55:i64 = and 4294967295:i64, %54 | |
| %56:i64 = mulnuw %55, %51 | |
| %57:i64 = lshr %56, 31:i64 | |
| %58:i64 = addnw 4294967295:i64, %57 | |
| %59:i64 = and 4294967295:i64, %58 | |
| %60:i64 = mulnuw %59, %37 | |
| %61:i64 = shl %32, 11:i64 | |
| %62:i64 = and 4294965248:i64, %61 | |
| %63:i64 = mulnuw %62, %59 | |
| %64:i64 = lshr %63, 32:i64 | |
| %65:i64 = addnuw %60, %64 | |
| %66:i64 = sub 0:i64, %65 | |
| %67:i64 = lshr %66, 32:i64 | |
| %68:i64 = mulnuw %59, %67 | |
| %69:i64 = add 18446744073709551614:i64, %68 | |
| %70:i64 = and 4294967295:i64, %66 | |
| %71:i64 = mulnuw %59, %70 | |
| %72:i64 = lshr %71, 32:i64 | |
| %73:i64 = add %69, %72 | |
| %74:i128 = zext %73 | |
| %75:i64 = addnw 53:i64, %5 | |
| %76:i64 = and 63:i64, %75 | |
| %77:i64 = shl %4, %76 | |
| %78:i64 = phi %2, %77, %4 | |
| %79:i64 = phi %1, %78, %78, %4 | |
| %80:i64 = shl %79, 2:i64 | |
| %81:i64 = or 18014398509481984:i64, %80 | |
| %82:i128 = zext %81 | |
| %83:i128 = mulnuw %74, %82 | |
| %84:i128 = lshr %83, 64:i128 | |
| %85:i64 = trunc %84 | |
| %86:i128 = lshr %83, 65:i128 | |
| %87:i64 = trunc %86 | |
| %88:i64 = phi %0, %85, %87 | |
| %89:i64 = and 4503599627370495:i64, %88 | |
| infer %89 | |
| > | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = addnsw 4294967284:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = subnsw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294967295:i32, %23 | |
| %25:i32 = phi %0, %24, %23 | |
| %26:i32 = add 1023:i32, %25 (hasExternalUses) | |
| %27:i1 = slt 2046:i32, %26 | |
| pc %27 0:i1 | |
| %28:i1 = slt %26, 1:i32 | |
| pc %28 0:i1 | |
| %29:i64 = addnw 53:i64, %11 | |
| %30:i64 = and 63:i64, %29 | |
| %31:i64 = shl %10, %30 | |
| %32:i64 = phi %1, %31, %10, %10 | |
| %33:i64 = or 4503599627370496:i64, %32 | |
| %34:i64 = lshr %33, 21:i64 | |
| %35:i64 = subnsw 1963258675:i64, %34 | |
| %36:i64 = and 4294967295:i64, %35 | |
| %37:i64 = and 4294967295:i64, %34 | |
| %38:i64 = mulnuw %36, %37 | |
| %39:i64 = lshr %38, 32:i64 | |
| %40:i64 = subnsw 0:i64, %39 | |
| %41:i64 = and 4294967295:i64, %40 | |
| %42:i64 = mulnuw %41, %36 | |
| %43:i64 = lshr %42, 31:i64 | |
| %44:i64 = and 4294967295:i64, %43 | |
| %45:i64 = mulnuw %44, %37 | |
| %46:i64 = lshr %45, 32:i64 | |
| %47:i64 = subnsw 0:i64, %46 | |
| %48:i64 = and 4294967295:i64, %47 | |
| %49:i64 = mulnuw %48, %44 | |
| %50:i64 = lshr %49, 31:i64 | |
| %51:i64 = and 4294967295:i64, %50 | |
| %52:i64 = mulnuw %51, %37 | |
| %53:i64 = lshr %52, 32:i64 | |
| %54:i64 = subnsw 0:i64, %53 | |
| %55:i64 = and 4294967295:i64, %54 | |
| %56:i64 = mulnuw %55, %51 | |
| %57:i64 = lshr %56, 31:i64 | |
| %58:i64 = addnw 4294967295:i64, %57 | |
| %59:i64 = and 4294967295:i64, %58 | |
| %60:i64 = mulnuw %59, %37 | |
| %61:i64 = shl %32, 11:i64 | |
| %62:i64 = and 4294965248:i64, %61 | |
| %63:i64 = mulnuw %62, %59 | |
| %64:i64 = lshr %63, 32:i64 | |
| %65:i64 = addnuw %60, %64 | |
| %66:i64 = sub 0:i64, %65 | |
| %67:i64 = lshr %66, 32:i64 | |
| %68:i64 = mulnuw %59, %67 | |
| %69:i64 = and 4294967295:i64, %66 | |
| %70:i64 = mulnuw %59, %69 | |
| %71:i64 = lshr %70, 32:i64 | |
| %72:i64 = addnuw %68, %71 | |
| %73:i64 = add 18446744073709551614:i64, %72 | |
| %74:i128 = zext %73 | |
| %75:i64 = addnw 53:i64, %5 | |
| %76:i64 = and 63:i64, %75 | |
| %77:i64 = shl %4, %76 | |
| %78:i64 = phi %2, %77, %4 | |
| %79:i64 = phi %1, %78, %78, %4 | |
| %80:i64 = shl %79, 2:i64 | |
| %81:i64 = or 18014398509481984:i64, %80 | |
| %82:i128 = zext %81 | |
| %83:i128 = mulnuw %74, %82 | |
| %84:i128 = lshr %83, 64:i128 | |
| %85:i64 = trunc %84 | |
| %86:i128 = lshr %83, 65:i128 | |
| %87:i64 = trunc %86 | |
| %88:i64 = phi %0, %85, %87 | |
| %89:i64 = and 4503599627370495:i64, %88 | |
| %90:i64 = zext %26 | |
| %91:i64 = shlnw %90, 52:i64 | |
| %92:i64 = or %89, %91 | |
| infer %92 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = addnsw 4294967284:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = subnsw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294967295:i32, %23 | |
| %25:i32 = phi %0, %24, %23 | |
| %26:i32 = add 1023:i32, %25 (hasExternalUses) | |
| %27:i1 = slt 2046:i32, %26 | |
| pc %27 0:i1 | |
| %28:i1 = slt %26, 1:i32 | |
| pc %28 0:i1 | |
| %29:i64 = addnw 53:i64, %11 | |
| %30:i64 = and 63:i64, %29 | |
| %31:i64 = shl %10, %30 | |
| %32:i64 = phi %1, %31, %10, %10 | |
| %33:i64 = or 4503599627370496:i64, %32 | |
| %34:i64 = lshr %33, 21:i64 | |
| %35:i64 = subnsw 1963258675:i64, %34 | |
| %36:i64 = and 4294967295:i64, %35 | |
| %37:i64 = and 4294967295:i64, %34 | |
| %38:i64 = mulnuw %36, %37 | |
| %39:i64 = lshr %38, 32:i64 | |
| %40:i64 = subnsw 0:i64, %39 | |
| %41:i64 = and 4294967295:i64, %40 | |
| %42:i64 = mulnuw %41, %36 | |
| %43:i64 = lshr %42, 31:i64 | |
| %44:i64 = and 4294967295:i64, %43 | |
| %45:i64 = mulnuw %44, %37 | |
| %46:i64 = lshr %45, 32:i64 | |
| %47:i64 = subnsw 0:i64, %46 | |
| %48:i64 = and 4294967295:i64, %47 | |
| %49:i64 = mulnuw %48, %44 | |
| %50:i64 = lshr %49, 31:i64 | |
| %51:i64 = and 4294967295:i64, %50 | |
| %52:i64 = mulnuw %51, %37 | |
| %53:i64 = lshr %52, 32:i64 | |
| %54:i64 = subnsw 0:i64, %53 | |
| %55:i64 = and 4294967295:i64, %54 | |
| %56:i64 = mulnuw %55, %51 | |
| %57:i64 = lshr %56, 31:i64 | |
| %58:i64 = addnw 4294967295:i64, %57 | |
| %59:i64 = and 4294967295:i64, %58 | |
| %60:i64 = mulnuw %59, %37 | |
| %61:i64 = shl %32, 11:i64 | |
| %62:i64 = and 4294965248:i64, %61 | |
| %63:i64 = mulnuw %62, %59 | |
| %64:i64 = lshr %63, 32:i64 | |
| %65:i64 = addnuw %60, %64 | |
| %66:i64 = sub 0:i64, %65 | |
| %67:i64 = lshr %66, 32:i64 | |
| %68:i64 = mulnuw %59, %67 | |
| %69:i64 = and 4294967295:i64, %66 | |
| %70:i64 = mulnuw %59, %69 | |
| %71:i64 = lshr %70, 32:i64 | |
| %72:i64 = addnuw %68, %71 | |
| %73:i64 = add 18446744073709551614:i64, %72 | |
| %74:i128 = zext %73 | |
| %75:i64 = addnw 53:i64, %5 | |
| %76:i64 = and 63:i64, %75 | |
| %77:i64 = shl %4, %76 | |
| %78:i64 = phi %2, %77, %4 | |
| %79:i64 = phi %1, %78, %78, %4 | |
| %80:i64 = shl %79, 2:i64 | |
| %81:i64 = or 18014398509481984:i64, %80 | |
| %82:i128 = zext %81 | |
| %83:i128 = mulnuw %74, %82 | |
| %84:i128 = lshr %83, 64:i128 | |
| %85:i64 = trunc %84 | |
| %86:i128 = lshr %83, 65:i128 | |
| %87:i64 = trunc %86 | |
| %88:i64 = phi %0, %85, %87 | |
| %89:i64 = and 4503599627370495:i64, %88 | |
| infer %89 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = addnsw 4294967284:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = subnsw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294967295:i32, %23 | |
| %25:i32 = phi %0, %24, %23 | |
| %26:i32 = add 1023:i32, %25 (hasExternalUses) | |
| %27:i1 = slt 2046:i32, %26 | |
| pc %27 0:i1 | |
| %28:i1 = slt %26, 1:i32 | |
| pc %28 0:i1 | |
| %29:i64 = addnw 53:i64, %11 | |
| %30:i64 = and 63:i64, %29 | |
| %31:i64 = shl %10, %30 | |
| %32:i64 = phi %1, %31, %10, %10 | |
| %33:i64 = or 4503599627370496:i64, %32 (hasExternalUses) | |
| %34:i64 = addnw 53:i64, %5 | |
| %35:i64 = and 63:i64, %34 | |
| %36:i64 = shl %4, %35 | |
| %37:i64 = phi %2, %36, %4 | |
| %38:i64 = phi %1, %37, %37, %4 | |
| %39:i64 = shl %38, 53:i64 | |
| %40:i64 = lshr %33, 21:i64 | |
| %41:i64 = subnsw 1963258675:i64, %40 | |
| %42:i64 = and 4294967295:i64, %41 | |
| %43:i64 = and 4294967295:i64, %40 | |
| %44:i64 = mulnuw %42, %43 | |
| %45:i64 = lshr %44, 32:i64 | |
| %46:i64 = subnsw 0:i64, %45 | |
| %47:i64 = and 4294967295:i64, %46 | |
| %48:i64 = mulnuw %47, %42 | |
| %49:i64 = lshr %48, 31:i64 | |
| %50:i64 = and 4294967295:i64, %49 | |
| %51:i64 = mulnuw %50, %43 | |
| %52:i64 = lshr %51, 32:i64 | |
| %53:i64 = subnsw 0:i64, %52 | |
| %54:i64 = and 4294967295:i64, %53 | |
| %55:i64 = mulnuw %54, %50 | |
| %56:i64 = lshr %55, 31:i64 | |
| %57:i64 = and 4294967295:i64, %56 | |
| %58:i64 = mulnuw %57, %43 | |
| %59:i64 = lshr %58, 32:i64 | |
| %60:i64 = subnsw 0:i64, %59 | |
| %61:i64 = and 4294967295:i64, %60 | |
| %62:i64 = mulnuw %61, %57 | |
| %63:i64 = lshr %62, 31:i64 | |
| %64:i64 = addnw 4294967295:i64, %63 | |
| %65:i64 = and 4294967295:i64, %64 | |
| %66:i64 = mulnuw %65, %43 | |
| %67:i64 = shl %32, 11:i64 | |
| %68:i64 = and 4294965248:i64, %67 | |
| %69:i64 = mulnuw %68, %65 | |
| %70:i64 = lshr %69, 32:i64 | |
| %71:i64 = addnuw %66, %70 | |
| %72:i64 = sub 0:i64, %71 | |
| %73:i64 = lshr %72, 32:i64 | |
| %74:i64 = mulnuw %65, %73 | |
| %75:i64 = add 18446744073709551614:i64, %74 | |
| %76:i64 = and 4294967295:i64, %72 | |
| %77:i64 = mulnuw %65, %76 | |
| %78:i64 = lshr %77, 32:i64 | |
| %79:i64 = add %75, %78 | |
| %80:i128 = zext %79 | |
| %81:i64 = shl %38, 2:i64 | |
| %82:i64 = or 18014398509481984:i64, %81 | |
| %83:i128 = zext %82 | |
| %84:i128 = mulnuw %80, %83 | |
| %85:i128 = lshr %84, 64:i128 | |
| %86:i64 = trunc %85 | |
| %87:i64 = mul %33, %86 | |
| %88:i64 = sub %39, %87 | |
| %89:i64 = shl %38, 52:i64 | |
| %90:i128 = lshr %84, 65:i128 | |
| %91:i64 = trunc %90 | |
| %92:i64 = mul %33, %91 | |
| %93:i64 = sub %89, %92 | |
| %94:i64 = phi %0, %88, %93 | |
| %95:i64 = shl %94, 1:i64 | |
| %96:i1 = ult %33, %95 | |
| %97:i64 = zext %96 | |
| infer %97 | |
| > | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = addnsw 4294967284:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = subnsw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294967295:i32, %23 | |
| %25:i32 = phi %0, %24, %23 | |
| %26:i32 = add 1023:i32, %25 (hasExternalUses) | |
| %27:i1 = slt 2046:i32, %26 | |
| pc %27 0:i1 | |
| %28:i1 = slt %26, 1:i32 | |
| pc %28 0:i1 | |
| %29:i64 = addnw 53:i64, %11 | |
| %30:i64 = and 63:i64, %29 | |
| %31:i64 = shl %10, %30 | |
| %32:i64 = phi %1, %31, %10, %10 | |
| %33:i64 = or 4503599627370496:i64, %32 (hasExternalUses) | |
| %34:i64 = addnw 53:i64, %5 | |
| %35:i64 = and 63:i64, %34 | |
| %36:i64 = shl %4, %35 | |
| %37:i64 = phi %2, %36, %4 | |
| %38:i64 = phi %1, %37, %37, %4 | |
| %39:i64 = shl %38, 53:i64 | |
| %40:i64 = lshr %33, 21:i64 | |
| %41:i64 = subnsw 1963258675:i64, %40 | |
| %42:i64 = and 4294967295:i64, %41 | |
| %43:i64 = and 4294967295:i64, %40 | |
| %44:i64 = mulnuw %42, %43 | |
| %45:i64 = lshr %44, 32:i64 | |
| %46:i64 = subnsw 0:i64, %45 | |
| %47:i64 = and 4294967295:i64, %46 | |
| %48:i64 = mulnuw %47, %42 | |
| %49:i64 = lshr %48, 31:i64 | |
| %50:i64 = and 4294967295:i64, %49 | |
| %51:i64 = mulnuw %50, %43 | |
| %52:i64 = lshr %51, 32:i64 | |
| %53:i64 = subnsw 0:i64, %52 | |
| %54:i64 = and 4294967295:i64, %53 | |
| %55:i64 = mulnuw %54, %50 | |
| %56:i64 = lshr %55, 31:i64 | |
| %57:i64 = and 4294967295:i64, %56 | |
| %58:i64 = mulnuw %57, %43 | |
| %59:i64 = lshr %58, 32:i64 | |
| %60:i64 = subnsw 0:i64, %59 | |
| %61:i64 = and 4294967295:i64, %60 | |
| %62:i64 = mulnuw %61, %57 | |
| %63:i64 = lshr %62, 31:i64 | |
| %64:i64 = addnw 4294967295:i64, %63 | |
| %65:i64 = and 4294967295:i64, %64 | |
| %66:i64 = mulnuw %65, %43 | |
| %67:i64 = shl %32, 11:i64 | |
| %68:i64 = and 4294965248:i64, %67 | |
| %69:i64 = mulnuw %68, %65 | |
| %70:i64 = lshr %69, 32:i64 | |
| %71:i64 = addnuw %66, %70 | |
| %72:i64 = sub 0:i64, %71 | |
| %73:i64 = lshr %72, 32:i64 | |
| %74:i64 = mulnuw %65, %73 | |
| %75:i64 = add 18446744073709551614:i64, %74 | |
| %76:i64 = and 4294967295:i64, %72 | |
| %77:i64 = mulnuw %65, %76 | |
| %78:i64 = lshr %77, 32:i64 | |
| %79:i64 = add %75, %78 | |
| %80:i128 = zext %79 | |
| %81:i64 = shl %38, 2:i64 | |
| %82:i64 = or 18014398509481984:i64, %81 | |
| %83:i128 = zext %82 | |
| %84:i128 = mulnuw %80, %83 | |
| %85:i128 = lshr %84, 64:i128 | |
| %86:i64 = trunc %85 | |
| %87:i64 = mul %33, %86 | |
| %88:i64 = sub %39, %87 | |
| %89:i64 = shl %38, 52:i64 | |
| %90:i128 = lshr %84, 65:i128 | |
| %91:i64 = trunc %90 | |
| %92:i64 = mul %33, %91 | |
| %93:i64 = sub %89, %92 | |
| %94:i64 = phi %0, %88, %93 | |
| %95:i64 = shl %94, 1:i64 | |
| %96:i1 = ult %33, %95 | |
| infer %96 | |
| > | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = addnsw 4294967284:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = subnsw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294967295:i32, %23 | |
| %25:i32 = phi %0, %24, %23 | |
| %26:i32 = add 1023:i32, %25 (hasExternalUses) | |
| %27:i1 = slt 2046:i32, %26 | |
| pc %27 0:i1 | |
| %28:i1 = slt %26, 1:i32 | |
| pc %28 0:i1 | |
| %29:i64 = addnw 53:i64, %11 | |
| %30:i64 = and 63:i64, %29 | |
| %31:i64 = shl %10, %30 | |
| %32:i64 = phi %1, %31, %10, %10 | |
| %33:i64 = or 4503599627370496:i64, %32 (hasExternalUses) | |
| %34:i64 = addnw 53:i64, %5 | |
| %35:i64 = and 63:i64, %34 | |
| %36:i64 = shl %4, %35 | |
| %37:i64 = phi %2, %36, %4 | |
| %38:i64 = phi %1, %37, %37, %4 | |
| %39:i64 = shl %38, 53:i64 | |
| %40:i64 = lshr %33, 21:i64 | |
| %41:i64 = subnsw 1963258675:i64, %40 | |
| %42:i64 = and 4294967295:i64, %41 | |
| %43:i64 = and 4294967295:i64, %40 | |
| %44:i64 = mulnuw %42, %43 | |
| %45:i64 = lshr %44, 32:i64 | |
| %46:i64 = subnsw 0:i64, %45 | |
| %47:i64 = and 4294967295:i64, %46 | |
| %48:i64 = mulnuw %47, %42 | |
| %49:i64 = lshr %48, 31:i64 | |
| %50:i64 = and 4294967295:i64, %49 | |
| %51:i64 = mulnuw %50, %43 | |
| %52:i64 = lshr %51, 32:i64 | |
| %53:i64 = subnsw 0:i64, %52 | |
| %54:i64 = and 4294967295:i64, %53 | |
| %55:i64 = mulnuw %54, %50 | |
| %56:i64 = lshr %55, 31:i64 | |
| %57:i64 = and 4294967295:i64, %56 | |
| %58:i64 = mulnuw %57, %43 | |
| %59:i64 = lshr %58, 32:i64 | |
| %60:i64 = subnsw 0:i64, %59 | |
| %61:i64 = and 4294967295:i64, %60 | |
| %62:i64 = mulnuw %61, %57 | |
| %63:i64 = lshr %62, 31:i64 | |
| %64:i64 = addnw 4294967295:i64, %63 | |
| %65:i64 = and 4294967295:i64, %64 | |
| %66:i64 = mulnuw %65, %43 | |
| %67:i64 = shl %32, 11:i64 | |
| %68:i64 = and 4294965248:i64, %67 | |
| %69:i64 = mulnuw %68, %65 | |
| %70:i64 = lshr %69, 32:i64 | |
| %71:i64 = addnuw %66, %70 | |
| %72:i64 = sub 0:i64, %71 | |
| %73:i64 = lshr %72, 32:i64 | |
| %74:i64 = mulnuw %65, %73 | |
| %75:i64 = and 4294967295:i64, %72 | |
| %76:i64 = mulnuw %65, %75 | |
| %77:i64 = lshr %76, 32:i64 | |
| %78:i64 = addnuw %74, %77 | |
| %79:i64 = add 18446744073709551614:i64, %78 | |
| %80:i128 = zext %79 | |
| %81:i64 = shl %38, 2:i64 | |
| %82:i64 = or 18014398509481984:i64, %81 | |
| %83:i128 = zext %82 | |
| %84:i128 = mulnuw %80, %83 | |
| %85:i128 = lshr %84, 64:i128 | |
| %86:i64 = trunc %85 | |
| %87:i64 = mul %33, %86 | |
| %88:i64 = sub %39, %87 | |
| %89:i64 = shl %38, 52:i64 | |
| %90:i128 = lshr %84, 65:i128 | |
| %91:i64 = trunc %90 | |
| %92:i64 = mul %33, %91 | |
| %93:i64 = sub %89, %92 | |
| %94:i64 = phi %0, %88, %93 | |
| %95:i64 = shl %94, 1:i64 | |
| %96:i1 = ult %33, %95 | |
| %97:i64 = zext %96 | |
| infer %97 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = addnsw 4294967284:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = subnsw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294967295:i32, %23 | |
| %25:i32 = phi %0, %24, %23 | |
| %26:i32 = add 1023:i32, %25 (hasExternalUses) | |
| %27:i1 = slt 2046:i32, %26 | |
| pc %27 0:i1 | |
| %28:i1 = slt %26, 1:i32 | |
| pc %28 0:i1 | |
| %29:i64 = addnw 53:i64, %11 | |
| %30:i64 = and 63:i64, %29 | |
| %31:i64 = shl %10, %30 | |
| %32:i64 = phi %1, %31, %10, %10 | |
| %33:i64 = or 4503599627370496:i64, %32 (hasExternalUses) | |
| %34:i64 = addnw 53:i64, %5 | |
| %35:i64 = and 63:i64, %34 | |
| %36:i64 = shl %4, %35 | |
| %37:i64 = phi %2, %36, %4 | |
| %38:i64 = phi %1, %37, %37, %4 | |
| %39:i64 = shl %38, 53:i64 | |
| %40:i64 = lshr %33, 21:i64 | |
| %41:i64 = subnsw 1963258675:i64, %40 | |
| %42:i64 = and 4294967295:i64, %41 | |
| %43:i64 = and 4294967295:i64, %40 | |
| %44:i64 = mulnuw %42, %43 | |
| %45:i64 = lshr %44, 32:i64 | |
| %46:i64 = subnsw 0:i64, %45 | |
| %47:i64 = and 4294967295:i64, %46 | |
| %48:i64 = mulnuw %47, %42 | |
| %49:i64 = lshr %48, 31:i64 | |
| %50:i64 = and 4294967295:i64, %49 | |
| %51:i64 = mulnuw %50, %43 | |
| %52:i64 = lshr %51, 32:i64 | |
| %53:i64 = subnsw 0:i64, %52 | |
| %54:i64 = and 4294967295:i64, %53 | |
| %55:i64 = mulnuw %54, %50 | |
| %56:i64 = lshr %55, 31:i64 | |
| %57:i64 = and 4294967295:i64, %56 | |
| %58:i64 = mulnuw %57, %43 | |
| %59:i64 = lshr %58, 32:i64 | |
| %60:i64 = subnsw 0:i64, %59 | |
| %61:i64 = and 4294967295:i64, %60 | |
| %62:i64 = mulnuw %61, %57 | |
| %63:i64 = lshr %62, 31:i64 | |
| %64:i64 = addnw 4294967295:i64, %63 | |
| %65:i64 = and 4294967295:i64, %64 | |
| %66:i64 = mulnuw %65, %43 | |
| %67:i64 = shl %32, 11:i64 | |
| %68:i64 = and 4294965248:i64, %67 | |
| %69:i64 = mulnuw %68, %65 | |
| %70:i64 = lshr %69, 32:i64 | |
| %71:i64 = addnuw %66, %70 | |
| %72:i64 = sub 0:i64, %71 | |
| %73:i64 = lshr %72, 32:i64 | |
| %74:i64 = mulnuw %65, %73 | |
| %75:i64 = and 4294967295:i64, %72 | |
| %76:i64 = mulnuw %65, %75 | |
| %77:i64 = lshr %76, 32:i64 | |
| %78:i64 = addnuw %74, %77 | |
| %79:i64 = add 18446744073709551614:i64, %78 | |
| %80:i128 = zext %79 | |
| %81:i64 = shl %38, 2:i64 | |
| %82:i64 = or 18014398509481984:i64, %81 | |
| %83:i128 = zext %82 | |
| %84:i128 = mulnuw %80, %83 | |
| %85:i128 = lshr %84, 64:i128 | |
| %86:i64 = trunc %85 | |
| %87:i64 = mul %33, %86 | |
| %88:i64 = sub %39, %87 | |
| %89:i64 = shl %38, 52:i64 | |
| %90:i128 = lshr %84, 65:i128 | |
| %91:i64 = trunc %90 | |
| %92:i64 = mul %33, %91 | |
| %93:i64 = sub %89, %92 | |
| %94:i64 = phi %0, %88, %93 | |
| %95:i64 = shl %94, 1:i64 | |
| %96:i1 = ult %33, %95 | |
| infer %96 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = addnsw 4294967284:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = subnsw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294967295:i32, %23 | |
| %25:i32 = phi %0, %24, %23 | |
| %26:i32 = add 1023:i32, %25 (hasExternalUses) | |
| %27:i1 = slt 2046:i32, %26 | |
| pc %27 0:i1 | |
| %28:i1 = slt %26, 1:i32 | |
| pc %28 0:i1 | |
| %29:i64 = addnw 53:i64, %11 | |
| %30:i64 = and 63:i64, %29 | |
| %31:i64 = shl %10, %30 | |
| %32:i64 = phi %1, %31, %10, %10 | |
| %33:i64 = or 4503599627370496:i64, %32 (hasExternalUses) | |
| %34:i64 = lshr %33, 21:i64 | |
| %35:i64 = subnsw 1963258675:i64, %34 | |
| %36:i64 = and 4294967295:i64, %35 | |
| %37:i64 = and 4294967295:i64, %34 | |
| %38:i64 = mulnuw %36, %37 | |
| %39:i64 = lshr %38, 32:i64 | |
| %40:i64 = subnsw 0:i64, %39 | |
| %41:i64 = and 4294967295:i64, %40 | |
| %42:i64 = mulnuw %41, %36 | |
| %43:i64 = lshr %42, 31:i64 | |
| %44:i64 = and 4294967295:i64, %43 | |
| %45:i64 = mulnuw %44, %37 | |
| %46:i64 = lshr %45, 32:i64 | |
| %47:i64 = subnsw 0:i64, %46 | |
| %48:i64 = and 4294967295:i64, %47 | |
| %49:i64 = mulnuw %48, %44 | |
| %50:i64 = lshr %49, 31:i64 | |
| %51:i64 = and 4294967295:i64, %50 | |
| %52:i64 = mulnuw %51, %37 | |
| %53:i64 = lshr %52, 32:i64 | |
| %54:i64 = subnsw 0:i64, %53 | |
| %55:i64 = and 4294967295:i64, %54 | |
| %56:i64 = mulnuw %55, %51 | |
| %57:i64 = lshr %56, 31:i64 | |
| %58:i64 = addnw 4294967295:i64, %57 | |
| %59:i64 = and 4294967295:i64, %58 | |
| %60:i64 = mulnuw %59, %37 | |
| %61:i64 = shl %32, 11:i64 | |
| %62:i64 = and 4294965248:i64, %61 | |
| %63:i64 = mulnuw %62, %59 | |
| %64:i64 = lshr %63, 32:i64 | |
| %65:i64 = addnuw %60, %64 | |
| %66:i64 = sub 0:i64, %65 | |
| %67:i64 = lshr %66, 32:i64 | |
| %68:i64 = mulnuw %59, %67 | |
| %69:i64 = add 18446744073709551614:i64, %68 | |
| %70:i64 = and 4294967295:i64, %66 | |
| %71:i64 = mulnuw %59, %70 | |
| %72:i64 = lshr %71, 32:i64 | |
| %73:i64 = add %69, %72 | |
| %74:i128 = zext %73 | |
| %75:i64 = addnw 53:i64, %5 | |
| %76:i64 = and 63:i64, %75 | |
| %77:i64 = shl %4, %76 | |
| %78:i64 = phi %2, %77, %4 | |
| %79:i64 = phi %1, %78, %78, %4 | |
| %80:i64 = shl %79, 2:i64 | |
| %81:i64 = or 18014398509481984:i64, %80 | |
| %82:i128 = zext %81 | |
| %83:i128 = mulnuw %74, %82 | |
| %84:i128 = lshr %83, 64:i128 | |
| %85:i64 = trunc %84 | |
| %86:i128 = lshr %83, 65:i128 | |
| %87:i64 = trunc %86 | |
| %88:i64 = phi %0, %85, %87 | |
| %89:i64 = and 4503599627370495:i64, %88 | |
| %90:i64 = shl %79, 53:i64 | |
| %91:i64 = mul %33, %85 | |
| %92:i64 = sub %90, %91 | |
| %93:i64 = shl %79, 52:i64 | |
| %94:i64 = mul %33, %87 | |
| %95:i64 = sub %93, %94 | |
| %96:i64 = phi %0, %92, %95 | |
| %97:i64 = shl %96, 1:i64 | |
| %98:i1 = ult %33, %97 | |
| %99:i64 = zext %98 | |
| %100:i64 = addnw %89, %99 | |
| %101:i64 = zext %26 | |
| %102:i64 = shlnw %101, 52:i64 | |
| %103:i64 = addnuw %100, %102 | |
| %104:i64 = xor %3, %9 | |
| %105:i64 = and 9223372036854775808:i64, %104 (hasExternalUses) | |
| %106:i64 = or %103, %105 | |
| infer %106 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = addnsw 4294967284:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = subnsw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294967295:i32, %23 | |
| %25:i32 = phi %0, %24, %23 | |
| %26:i32 = add 1023:i32, %25 (hasExternalUses) | |
| %27:i1 = slt 2046:i32, %26 | |
| pc %27 0:i1 | |
| %28:i1 = slt %26, 1:i32 | |
| pc %28 0:i1 | |
| %29:i64 = addnw 53:i64, %11 | |
| %30:i64 = and 63:i64, %29 | |
| %31:i64 = shl %10, %30 | |
| %32:i64 = phi %1, %31, %10, %10 | |
| %33:i64 = or 4503599627370496:i64, %32 (hasExternalUses) | |
| %34:i64 = lshr %33, 21:i64 | |
| %35:i64 = subnsw 1963258675:i64, %34 | |
| %36:i64 = and 4294967295:i64, %35 | |
| %37:i64 = and 4294967295:i64, %34 | |
| %38:i64 = mulnuw %36, %37 | |
| %39:i64 = lshr %38, 32:i64 | |
| %40:i64 = subnsw 0:i64, %39 | |
| %41:i64 = and 4294967295:i64, %40 | |
| %42:i64 = mulnuw %41, %36 | |
| %43:i64 = lshr %42, 31:i64 | |
| %44:i64 = and 4294967295:i64, %43 | |
| %45:i64 = mulnuw %44, %37 | |
| %46:i64 = lshr %45, 32:i64 | |
| %47:i64 = subnsw 0:i64, %46 | |
| %48:i64 = and 4294967295:i64, %47 | |
| %49:i64 = mulnuw %48, %44 | |
| %50:i64 = lshr %49, 31:i64 | |
| %51:i64 = and 4294967295:i64, %50 | |
| %52:i64 = mulnuw %51, %37 | |
| %53:i64 = lshr %52, 32:i64 | |
| %54:i64 = subnsw 0:i64, %53 | |
| %55:i64 = and 4294967295:i64, %54 | |
| %56:i64 = mulnuw %55, %51 | |
| %57:i64 = lshr %56, 31:i64 | |
| %58:i64 = addnw 4294967295:i64, %57 | |
| %59:i64 = and 4294967295:i64, %58 | |
| %60:i64 = mulnuw %59, %37 | |
| %61:i64 = shl %32, 11:i64 | |
| %62:i64 = and 4294965248:i64, %61 | |
| %63:i64 = mulnuw %62, %59 | |
| %64:i64 = lshr %63, 32:i64 | |
| %65:i64 = addnuw %60, %64 | |
| %66:i64 = sub 0:i64, %65 | |
| %67:i64 = lshr %66, 32:i64 | |
| %68:i64 = mulnuw %59, %67 | |
| %69:i64 = add 18446744073709551614:i64, %68 | |
| %70:i64 = and 4294967295:i64, %66 | |
| %71:i64 = mulnuw %59, %70 | |
| %72:i64 = lshr %71, 32:i64 | |
| %73:i64 = add %69, %72 | |
| %74:i128 = zext %73 | |
| %75:i64 = addnw 53:i64, %5 | |
| %76:i64 = and 63:i64, %75 | |
| %77:i64 = shl %4, %76 | |
| %78:i64 = phi %2, %77, %4 | |
| %79:i64 = phi %1, %78, %78, %4 | |
| %80:i64 = shl %79, 2:i64 | |
| %81:i64 = or 18014398509481984:i64, %80 | |
| %82:i128 = zext %81 | |
| %83:i128 = mulnuw %74, %82 | |
| %84:i128 = lshr %83, 64:i128 | |
| %85:i64 = trunc %84 | |
| %86:i128 = lshr %83, 65:i128 | |
| %87:i64 = trunc %86 | |
| %88:i64 = phi %0, %85, %87 | |
| %89:i64 = and 4503599627370495:i64, %88 | |
| %90:i64 = shl %79, 53:i64 | |
| %91:i64 = mul %33, %85 | |
| %92:i64 = sub %90, %91 | |
| %93:i64 = shl %79, 52:i64 | |
| %94:i64 = mul %33, %87 | |
| %95:i64 = sub %93, %94 | |
| %96:i64 = phi %0, %92, %95 | |
| %97:i64 = shl %96, 1:i64 | |
| %98:i1 = ult %33, %97 | |
| %99:i64 = zext %98 | |
| %100:i64 = addnw %89, %99 | |
| %101:i64 = zext %26 | |
| %102:i64 = shlnw %101, 52:i64 | |
| %103:i64 = addnuw %100, %102 | |
| infer %103 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = addnsw 4294967284:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = subnsw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294967295:i32, %23 | |
| %25:i32 = phi %0, %24, %23 | |
| %26:i32 = add 1023:i32, %25 (hasExternalUses) | |
| %27:i1 = slt 2046:i32, %26 | |
| pc %27 0:i1 | |
| %28:i1 = slt %26, 1:i32 | |
| pc %28 0:i1 | |
| %29:i64 = addnw 53:i64, %11 | |
| %30:i64 = and 63:i64, %29 | |
| %31:i64 = shl %10, %30 | |
| %32:i64 = phi %1, %31, %10, %10 | |
| %33:i64 = or 4503599627370496:i64, %32 (hasExternalUses) | |
| %34:i64 = lshr %33, 21:i64 | |
| %35:i64 = subnsw 1963258675:i64, %34 | |
| %36:i64 = and 4294967295:i64, %35 | |
| %37:i64 = and 4294967295:i64, %34 | |
| %38:i64 = mulnuw %36, %37 | |
| %39:i64 = lshr %38, 32:i64 | |
| %40:i64 = subnsw 0:i64, %39 | |
| %41:i64 = and 4294967295:i64, %40 | |
| %42:i64 = mulnuw %41, %36 | |
| %43:i64 = lshr %42, 31:i64 | |
| %44:i64 = and 4294967295:i64, %43 | |
| %45:i64 = mulnuw %44, %37 | |
| %46:i64 = lshr %45, 32:i64 | |
| %47:i64 = subnsw 0:i64, %46 | |
| %48:i64 = and 4294967295:i64, %47 | |
| %49:i64 = mulnuw %48, %44 | |
| %50:i64 = lshr %49, 31:i64 | |
| %51:i64 = and 4294967295:i64, %50 | |
| %52:i64 = mulnuw %51, %37 | |
| %53:i64 = lshr %52, 32:i64 | |
| %54:i64 = subnsw 0:i64, %53 | |
| %55:i64 = and 4294967295:i64, %54 | |
| %56:i64 = mulnuw %55, %51 | |
| %57:i64 = lshr %56, 31:i64 | |
| %58:i64 = addnw 4294967295:i64, %57 | |
| %59:i64 = and 4294967295:i64, %58 | |
| %60:i64 = mulnuw %59, %37 | |
| %61:i64 = shl %32, 11:i64 | |
| %62:i64 = and 4294965248:i64, %61 | |
| %63:i64 = mulnuw %62, %59 | |
| %64:i64 = lshr %63, 32:i64 | |
| %65:i64 = addnuw %60, %64 | |
| %66:i64 = sub 0:i64, %65 | |
| %67:i64 = lshr %66, 32:i64 | |
| %68:i64 = mulnuw %59, %67 | |
| %69:i64 = add 18446744073709551614:i64, %68 | |
| %70:i64 = and 4294967295:i64, %66 | |
| %71:i64 = mulnuw %59, %70 | |
| %72:i64 = lshr %71, 32:i64 | |
| %73:i64 = add %69, %72 | |
| %74:i128 = zext %73 | |
| %75:i64 = addnw 53:i64, %5 | |
| %76:i64 = and 63:i64, %75 | |
| %77:i64 = shl %4, %76 | |
| %78:i64 = phi %2, %77, %4 | |
| %79:i64 = phi %1, %78, %78, %4 | |
| %80:i64 = shl %79, 2:i64 | |
| %81:i64 = or 18014398509481984:i64, %80 | |
| %82:i128 = zext %81 | |
| %83:i128 = mulnuw %74, %82 | |
| %84:i128 = lshr %83, 64:i128 | |
| %85:i64 = trunc %84 | |
| %86:i128 = lshr %83, 65:i128 | |
| %87:i64 = trunc %86 | |
| %88:i64 = phi %0, %85, %87 | |
| %89:i64 = and 4503599627370495:i64, %88 | |
| %90:i64 = shl %79, 53:i64 | |
| %91:i64 = mul %33, %85 | |
| %92:i64 = sub %90, %91 | |
| %93:i64 = shl %79, 52:i64 | |
| %94:i64 = mul %33, %87 | |
| %95:i64 = sub %93, %94 | |
| %96:i64 = phi %0, %92, %95 | |
| %97:i64 = shl %96, 1:i64 | |
| %98:i1 = ult %33, %97 | |
| %99:i64 = zext %98 | |
| %100:i64 = addnw %89, %99 | |
| %101:i64 = zext %26 | |
| %102:i64 = shlnw %101, 52:i64 | |
| %103:i64 = addnw %100, %102 | |
| %104:i64 = xor %3, %9 | |
| %105:i64 = and 9223372036854775808:i64, %104 (hasExternalUses) | |
| %106:i64 = or %103, %105 | |
| infer %106 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = addnsw 4294967284:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = subnsw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294967295:i32, %23 | |
| %25:i32 = phi %0, %24, %23 | |
| %26:i32 = add 1023:i32, %25 (hasExternalUses) | |
| %27:i1 = slt 2046:i32, %26 | |
| pc %27 0:i1 | |
| %28:i1 = slt %26, 1:i32 | |
| pc %28 0:i1 | |
| %29:i64 = addnw 53:i64, %11 | |
| %30:i64 = and 63:i64, %29 | |
| %31:i64 = shl %10, %30 | |
| %32:i64 = phi %1, %31, %10, %10 | |
| %33:i64 = or 4503599627370496:i64, %32 (hasExternalUses) | |
| %34:i64 = lshr %33, 21:i64 | |
| %35:i64 = subnsw 1963258675:i64, %34 | |
| %36:i64 = and 4294967295:i64, %35 | |
| %37:i64 = and 4294967295:i64, %34 | |
| %38:i64 = mulnuw %36, %37 | |
| %39:i64 = lshr %38, 32:i64 | |
| %40:i64 = subnsw 0:i64, %39 | |
| %41:i64 = and 4294967295:i64, %40 | |
| %42:i64 = mulnuw %41, %36 | |
| %43:i64 = lshr %42, 31:i64 | |
| %44:i64 = and 4294967295:i64, %43 | |
| %45:i64 = mulnuw %44, %37 | |
| %46:i64 = lshr %45, 32:i64 | |
| %47:i64 = subnsw 0:i64, %46 | |
| %48:i64 = and 4294967295:i64, %47 | |
| %49:i64 = mulnuw %48, %44 | |
| %50:i64 = lshr %49, 31:i64 | |
| %51:i64 = and 4294967295:i64, %50 | |
| %52:i64 = mulnuw %51, %37 | |
| %53:i64 = lshr %52, 32:i64 | |
| %54:i64 = subnsw 0:i64, %53 | |
| %55:i64 = and 4294967295:i64, %54 | |
| %56:i64 = mulnuw %55, %51 | |
| %57:i64 = lshr %56, 31:i64 | |
| %58:i64 = addnw 4294967295:i64, %57 | |
| %59:i64 = and 4294967295:i64, %58 | |
| %60:i64 = mulnuw %59, %37 | |
| %61:i64 = shl %32, 11:i64 | |
| %62:i64 = and 4294965248:i64, %61 | |
| %63:i64 = mulnuw %62, %59 | |
| %64:i64 = lshr %63, 32:i64 | |
| %65:i64 = addnuw %60, %64 | |
| %66:i64 = sub 0:i64, %65 | |
| %67:i64 = lshr %66, 32:i64 | |
| %68:i64 = mulnuw %59, %67 | |
| %69:i64 = add 18446744073709551614:i64, %68 | |
| %70:i64 = and 4294967295:i64, %66 | |
| %71:i64 = mulnuw %59, %70 | |
| %72:i64 = lshr %71, 32:i64 | |
| %73:i64 = add %69, %72 | |
| %74:i128 = zext %73 | |
| %75:i64 = addnw 53:i64, %5 | |
| %76:i64 = and 63:i64, %75 | |
| %77:i64 = shl %4, %76 | |
| %78:i64 = phi %2, %77, %4 | |
| %79:i64 = phi %1, %78, %78, %4 | |
| %80:i64 = shl %79, 2:i64 | |
| %81:i64 = or 18014398509481984:i64, %80 | |
| %82:i128 = zext %81 | |
| %83:i128 = mulnuw %74, %82 | |
| %84:i128 = lshr %83, 64:i128 | |
| %85:i64 = trunc %84 | |
| %86:i128 = lshr %83, 65:i128 | |
| %87:i64 = trunc %86 | |
| %88:i64 = phi %0, %85, %87 | |
| %89:i64 = and 4503599627370495:i64, %88 | |
| %90:i64 = shl %79, 53:i64 | |
| %91:i64 = mul %33, %85 | |
| %92:i64 = sub %90, %91 | |
| %93:i64 = shl %79, 52:i64 | |
| %94:i64 = mul %33, %87 | |
| %95:i64 = sub %93, %94 | |
| %96:i64 = phi %0, %92, %95 | |
| %97:i64 = shl %96, 1:i64 | |
| %98:i1 = ult %33, %97 | |
| %99:i64 = zext %98 | |
| %100:i64 = addnw %89, %99 | |
| %101:i64 = zext %26 | |
| %102:i64 = shlnw %101, 52:i64 | |
| %103:i64 = addnw %100, %102 | |
| infer %103 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = addnsw 4294967284:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = subnsw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294967295:i32, %23 | |
| %25:i32 = phi %0, %24, %23 | |
| %26:i32 = add 1023:i32, %25 (hasExternalUses) | |
| %27:i1 = slt 2046:i32, %26 | |
| pc %27 0:i1 | |
| %28:i1 = slt %26, 1:i32 | |
| pc %28 0:i1 | |
| %29:i64 = addnw 53:i64, %11 | |
| %30:i64 = and 63:i64, %29 | |
| %31:i64 = shl %10, %30 | |
| %32:i64 = phi %1, %31, %10, %10 | |
| %33:i64 = or 4503599627370496:i64, %32 (hasExternalUses) | |
| %34:i64 = lshr %33, 21:i64 | |
| %35:i64 = subnsw 1963258675:i64, %34 | |
| %36:i64 = and 4294967295:i64, %35 | |
| %37:i64 = and 4294967295:i64, %34 | |
| %38:i64 = mulnuw %36, %37 | |
| %39:i64 = lshr %38, 32:i64 | |
| %40:i64 = subnsw 0:i64, %39 | |
| %41:i64 = and 4294967295:i64, %40 | |
| %42:i64 = mulnuw %41, %36 | |
| %43:i64 = lshr %42, 31:i64 | |
| %44:i64 = and 4294967295:i64, %43 | |
| %45:i64 = mulnuw %44, %37 | |
| %46:i64 = lshr %45, 32:i64 | |
| %47:i64 = subnsw 0:i64, %46 | |
| %48:i64 = and 4294967295:i64, %47 | |
| %49:i64 = mulnuw %48, %44 | |
| %50:i64 = lshr %49, 31:i64 | |
| %51:i64 = and 4294967295:i64, %50 | |
| %52:i64 = mulnuw %51, %37 | |
| %53:i64 = lshr %52, 32:i64 | |
| %54:i64 = subnsw 0:i64, %53 | |
| %55:i64 = and 4294967295:i64, %54 | |
| %56:i64 = mulnuw %55, %51 | |
| %57:i64 = lshr %56, 31:i64 | |
| %58:i64 = addnw 4294967295:i64, %57 | |
| %59:i64 = and 4294967295:i64, %58 | |
| %60:i64 = mulnuw %59, %37 | |
| %61:i64 = shl %32, 11:i64 | |
| %62:i64 = and 4294965248:i64, %61 | |
| %63:i64 = mulnuw %62, %59 | |
| %64:i64 = lshr %63, 32:i64 | |
| %65:i64 = addnuw %60, %64 | |
| %66:i64 = sub 0:i64, %65 | |
| %67:i64 = lshr %66, 32:i64 | |
| %68:i64 = mulnuw %59, %67 | |
| %69:i64 = add 18446744073709551614:i64, %68 | |
| %70:i64 = and 4294967295:i64, %66 | |
| %71:i64 = mulnuw %59, %70 | |
| %72:i64 = lshr %71, 32:i64 | |
| %73:i64 = add %69, %72 | |
| %74:i128 = zext %73 | |
| %75:i64 = addnw 53:i64, %5 | |
| %76:i64 = and 63:i64, %75 | |
| %77:i64 = shl %4, %76 | |
| %78:i64 = phi %2, %77, %4 | |
| %79:i64 = phi %1, %78, %78, %4 | |
| %80:i64 = shl %79, 2:i64 | |
| %81:i64 = or 18014398509481984:i64, %80 | |
| %82:i128 = zext %81 | |
| %83:i128 = mulnuw %74, %82 | |
| %84:i128 = lshr %83, 64:i128 | |
| %85:i64 = trunc %84 | |
| %86:i128 = lshr %83, 65:i128 | |
| %87:i64 = trunc %86 | |
| %88:i64 = phi %0, %85, %87 | |
| %89:i64 = and 4503599627370495:i64, %88 | |
| %90:i64 = shl %79, 53:i64 | |
| %91:i64 = mul %33, %85 | |
| %92:i64 = sub %90, %91 | |
| %93:i64 = shl %79, 52:i64 | |
| %94:i64 = mul %33, %87 | |
| %95:i64 = sub %93, %94 | |
| %96:i64 = phi %0, %92, %95 | |
| %97:i64 = shl %96, 1:i64 | |
| %98:i1 = ult %33, %97 | |
| %99:i64 = zext %98 | |
| %100:i64 = addnw %89, %99 | |
| infer %100 | |
| > | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = addnsw 4294967284:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = subnsw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294967295:i32, %23 | |
| %25:i32 = phi %0, %24, %23 | |
| %26:i32 = add 1023:i32, %25 (hasExternalUses) | |
| %27:i1 = slt 2046:i32, %26 | |
| pc %27 0:i1 | |
| %28:i1 = slt %26, 1:i32 | |
| pc %28 0:i1 | |
| %29:i64 = addnw 53:i64, %11 | |
| %30:i64 = and 63:i64, %29 | |
| %31:i64 = shl %10, %30 | |
| %32:i64 = phi %1, %31, %10, %10 | |
| %33:i64 = or 4503599627370496:i64, %32 (hasExternalUses) | |
| %34:i64 = lshr %33, 21:i64 | |
| %35:i64 = subnsw 1963258675:i64, %34 | |
| %36:i64 = and 4294967295:i64, %35 | |
| %37:i64 = and 4294967295:i64, %34 | |
| %38:i64 = mulnuw %36, %37 | |
| %39:i64 = lshr %38, 32:i64 | |
| %40:i64 = subnsw 0:i64, %39 | |
| %41:i64 = and 4294967295:i64, %40 | |
| %42:i64 = mulnuw %41, %36 | |
| %43:i64 = lshr %42, 31:i64 | |
| %44:i64 = and 4294967295:i64, %43 | |
| %45:i64 = mulnuw %44, %37 | |
| %46:i64 = lshr %45, 32:i64 | |
| %47:i64 = subnsw 0:i64, %46 | |
| %48:i64 = and 4294967295:i64, %47 | |
| %49:i64 = mulnuw %48, %44 | |
| %50:i64 = lshr %49, 31:i64 | |
| %51:i64 = and 4294967295:i64, %50 | |
| %52:i64 = mulnuw %51, %37 | |
| %53:i64 = lshr %52, 32:i64 | |
| %54:i64 = subnsw 0:i64, %53 | |
| %55:i64 = and 4294967295:i64, %54 | |
| %56:i64 = mulnuw %55, %51 | |
| %57:i64 = lshr %56, 31:i64 | |
| %58:i64 = addnw 4294967295:i64, %57 | |
| %59:i64 = and 4294967295:i64, %58 | |
| %60:i64 = mulnuw %59, %37 | |
| %61:i64 = shl %32, 11:i64 | |
| %62:i64 = and 4294965248:i64, %61 | |
| %63:i64 = mulnuw %62, %59 | |
| %64:i64 = lshr %63, 32:i64 | |
| %65:i64 = addnuw %60, %64 | |
| %66:i64 = sub 0:i64, %65 | |
| %67:i64 = lshr %66, 32:i64 | |
| %68:i64 = mulnuw %59, %67 | |
| %69:i64 = and 4294967295:i64, %66 | |
| %70:i64 = mulnuw %59, %69 | |
| %71:i64 = lshr %70, 32:i64 | |
| %72:i64 = addnuw %68, %71 | |
| %73:i64 = add 18446744073709551614:i64, %72 | |
| %74:i128 = zext %73 | |
| %75:i64 = addnw 53:i64, %5 | |
| %76:i64 = and 63:i64, %75 | |
| %77:i64 = shl %4, %76 | |
| %78:i64 = phi %2, %77, %4 | |
| %79:i64 = phi %1, %78, %78, %4 | |
| %80:i64 = shl %79, 2:i64 | |
| %81:i64 = or 18014398509481984:i64, %80 | |
| %82:i128 = zext %81 | |
| %83:i128 = mulnuw %74, %82 | |
| %84:i128 = lshr %83, 64:i128 | |
| %85:i64 = trunc %84 | |
| %86:i128 = lshr %83, 65:i128 | |
| %87:i64 = trunc %86 | |
| %88:i64 = phi %0, %85, %87 | |
| %89:i64 = and 4503599627370495:i64, %88 | |
| %90:i64 = zext %26 | |
| %91:i64 = shlnw %90, 52:i64 | |
| %92:i64 = or %89, %91 | |
| %93:i64 = shl %79, 53:i64 | |
| %94:i64 = mul %33, %85 | |
| %95:i64 = sub %93, %94 | |
| %96:i64 = shl %79, 52:i64 | |
| %97:i64 = mul %33, %87 | |
| %98:i64 = sub %96, %97 | |
| %99:i64 = phi %0, %95, %98 | |
| %100:i64 = shl %99, 1:i64 | |
| %101:i1 = ult %33, %100 | |
| %102:i64 = zext %101 | |
| %103:i64 = addnuw %92, %102 | |
| %104:i64 = xor %3, %9 | |
| %105:i64 = and 9223372036854775808:i64, %104 (hasExternalUses) | |
| %106:i64 = or %103, %105 | |
| infer %106 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = addnsw 4294967284:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = subnsw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294967295:i32, %23 | |
| %25:i32 = phi %0, %24, %23 | |
| %26:i32 = add 1023:i32, %25 (hasExternalUses) | |
| %27:i1 = slt 2046:i32, %26 | |
| pc %27 0:i1 | |
| %28:i1 = slt %26, 1:i32 | |
| pc %28 0:i1 | |
| %29:i64 = addnw 53:i64, %11 | |
| %30:i64 = and 63:i64, %29 | |
| %31:i64 = shl %10, %30 | |
| %32:i64 = phi %1, %31, %10, %10 | |
| %33:i64 = or 4503599627370496:i64, %32 (hasExternalUses) | |
| %34:i64 = lshr %33, 21:i64 | |
| %35:i64 = subnsw 1963258675:i64, %34 | |
| %36:i64 = and 4294967295:i64, %35 | |
| %37:i64 = and 4294967295:i64, %34 | |
| %38:i64 = mulnuw %36, %37 | |
| %39:i64 = lshr %38, 32:i64 | |
| %40:i64 = subnsw 0:i64, %39 | |
| %41:i64 = and 4294967295:i64, %40 | |
| %42:i64 = mulnuw %41, %36 | |
| %43:i64 = lshr %42, 31:i64 | |
| %44:i64 = and 4294967295:i64, %43 | |
| %45:i64 = mulnuw %44, %37 | |
| %46:i64 = lshr %45, 32:i64 | |
| %47:i64 = subnsw 0:i64, %46 | |
| %48:i64 = and 4294967295:i64, %47 | |
| %49:i64 = mulnuw %48, %44 | |
| %50:i64 = lshr %49, 31:i64 | |
| %51:i64 = and 4294967295:i64, %50 | |
| %52:i64 = mulnuw %51, %37 | |
| %53:i64 = lshr %52, 32:i64 | |
| %54:i64 = subnsw 0:i64, %53 | |
| %55:i64 = and 4294967295:i64, %54 | |
| %56:i64 = mulnuw %55, %51 | |
| %57:i64 = lshr %56, 31:i64 | |
| %58:i64 = addnw 4294967295:i64, %57 | |
| %59:i64 = and 4294967295:i64, %58 | |
| %60:i64 = mulnuw %59, %37 | |
| %61:i64 = shl %32, 11:i64 | |
| %62:i64 = and 4294965248:i64, %61 | |
| %63:i64 = mulnuw %62, %59 | |
| %64:i64 = lshr %63, 32:i64 | |
| %65:i64 = addnuw %60, %64 | |
| %66:i64 = sub 0:i64, %65 | |
| %67:i64 = lshr %66, 32:i64 | |
| %68:i64 = mulnuw %59, %67 | |
| %69:i64 = and 4294967295:i64, %66 | |
| %70:i64 = mulnuw %59, %69 | |
| %71:i64 = lshr %70, 32:i64 | |
| %72:i64 = addnuw %68, %71 | |
| %73:i64 = add 18446744073709551614:i64, %72 | |
| %74:i128 = zext %73 | |
| %75:i64 = addnw 53:i64, %5 | |
| %76:i64 = and 63:i64, %75 | |
| %77:i64 = shl %4, %76 | |
| %78:i64 = phi %2, %77, %4 | |
| %79:i64 = phi %1, %78, %78, %4 | |
| %80:i64 = shl %79, 2:i64 | |
| %81:i64 = or 18014398509481984:i64, %80 | |
| %82:i128 = zext %81 | |
| %83:i128 = mulnuw %74, %82 | |
| %84:i128 = lshr %83, 64:i128 | |
| %85:i64 = trunc %84 | |
| %86:i128 = lshr %83, 65:i128 | |
| %87:i64 = trunc %86 | |
| %88:i64 = phi %0, %85, %87 | |
| %89:i64 = and 4503599627370495:i64, %88 | |
| %90:i64 = zext %26 | |
| %91:i64 = shlnw %90, 52:i64 | |
| %92:i64 = or %89, %91 | |
| %93:i64 = shl %79, 53:i64 | |
| %94:i64 = mul %33, %85 | |
| %95:i64 = sub %93, %94 | |
| %96:i64 = shl %79, 52:i64 | |
| %97:i64 = mul %33, %87 | |
| %98:i64 = sub %96, %97 | |
| %99:i64 = phi %0, %95, %98 | |
| %100:i64 = shl %99, 1:i64 | |
| %101:i1 = ult %33, %100 | |
| %102:i64 = zext %101 | |
| %103:i64 = addnuw %92, %102 | |
| infer %103 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = addnsw 4294967284:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = subnsw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294967295:i32, %23 | |
| %25:i32 = phi %0, %24, %23 | |
| %26:i32 = add 1023:i32, %25 (hasExternalUses) | |
| %27:i1 = slt 2046:i32, %26 | |
| pc %27 0:i1 | |
| %28:i1 = slt %26, 1:i32 | |
| pc %28 0:i1 | |
| %29:i64 = addnw 53:i64, %5 | |
| %30:i64 = and 63:i64, %29 | |
| %31:i64 = shl %4, %30 | |
| %32:i64 = phi %2, %31, %4 | |
| %33:i64 = phi %1, %32, %32, %4 | |
| %34:i64 = shl %33, 53:i64 | |
| %35:i64 = addnw 53:i64, %11 | |
| %36:i64 = and 63:i64, %35 | |
| %37:i64 = shl %10, %36 | |
| %38:i64 = phi %1, %37, %10, %10 | |
| %39:i64 = or 4503599627370496:i64, %38 | |
| %40:i64 = lshr %39, 21:i64 | |
| %41:i64 = subnsw 1963258675:i64, %40 | |
| %42:i64 = and 4294967295:i64, %41 | |
| %43:i64 = and 4294967295:i64, %40 | |
| %44:i64 = mulnuw %42, %43 | |
| %45:i64 = lshr %44, 32:i64 | |
| %46:i64 = subnsw 0:i64, %45 | |
| %47:i64 = and 4294967295:i64, %46 | |
| %48:i64 = mulnuw %47, %42 | |
| %49:i64 = lshr %48, 31:i64 | |
| %50:i64 = and 4294967295:i64, %49 | |
| %51:i64 = mulnuw %50, %43 | |
| %52:i64 = lshr %51, 32:i64 | |
| %53:i64 = subnsw 0:i64, %52 | |
| %54:i64 = and 4294967295:i64, %53 | |
| %55:i64 = mulnuw %54, %50 | |
| %56:i64 = lshr %55, 31:i64 | |
| %57:i64 = and 4294967295:i64, %56 | |
| %58:i64 = mulnuw %57, %43 | |
| %59:i64 = lshr %58, 32:i64 | |
| %60:i64 = subnsw 0:i64, %59 | |
| %61:i64 = and 4294967295:i64, %60 | |
| %62:i64 = mulnuw %61, %57 | |
| %63:i64 = lshr %62, 31:i64 | |
| %64:i64 = addnw 4294967295:i64, %63 | |
| %65:i64 = and 4294967295:i64, %64 | |
| %66:i64 = mulnuw %65, %43 | |
| %67:i64 = shl %38, 11:i64 | |
| %68:i64 = and 4294965248:i64, %67 | |
| %69:i64 = mulnuw %68, %65 | |
| %70:i64 = lshr %69, 32:i64 | |
| %71:i64 = addnuw %66, %70 | |
| %72:i64 = sub 0:i64, %71 | |
| %73:i64 = lshr %72, 32:i64 | |
| %74:i64 = mulnuw %65, %73 | |
| %75:i64 = add 18446744073709551614:i64, %74 | |
| %76:i64 = and 4294967295:i64, %72 | |
| %77:i64 = mulnuw %65, %76 | |
| %78:i64 = lshr %77, 32:i64 | |
| %79:i64 = add %75, %78 | |
| %80:i128 = zext %79 | |
| %81:i64 = shl %33, 2:i64 | |
| %82:i64 = or 18014398509481984:i64, %81 | |
| %83:i128 = zext %82 | |
| %84:i128 = mulnuw %80, %83 | |
| %85:i128 = lshr %84, 64:i128 | |
| %86:i64 = trunc %85 | |
| %87:i64 = mul %39, %86 | |
| %88:i64 = sub %34, %87 | |
| %89:i64 = shl %33, 52:i64 | |
| %90:i128 = lshr %84, 65:i128 | |
| %91:i64 = trunc %90 | |
| %92:i64 = mul %39, %91 | |
| %93:i64 = sub %89, %92 | |
| %94:i64 = phi %0, %88, %93 | |
| %95:i64 = shl %94, 1:i64 | |
| infer %95 | |
| > | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = addnsw 4294967284:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = subnsw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294967295:i32, %23 | |
| %25:i32 = phi %0, %24, %23 | |
| %26:i32 = add 1023:i32, %25 (hasExternalUses) | |
| %27:i1 = slt 2046:i32, %26 | |
| pc %27 0:i1 | |
| %28:i1 = slt %26, 1:i32 | |
| pc %28 0:i1 | |
| %29:i64 = addnw 53:i64, %5 | |
| %30:i64 = and 63:i64, %29 | |
| %31:i64 = shl %4, %30 | |
| %32:i64 = phi %2, %31, %4 | |
| %33:i64 = phi %1, %32, %32, %4 | |
| %34:i64 = shl %33, 53:i64 | |
| %35:i64 = addnw 53:i64, %11 | |
| %36:i64 = and 63:i64, %35 | |
| %37:i64 = shl %10, %36 | |
| %38:i64 = phi %1, %37, %10, %10 | |
| %39:i64 = or 4503599627370496:i64, %38 | |
| %40:i64 = lshr %39, 21:i64 | |
| %41:i64 = subnsw 1963258675:i64, %40 | |
| %42:i64 = and 4294967295:i64, %41 | |
| %43:i64 = and 4294967295:i64, %40 | |
| %44:i64 = mulnuw %42, %43 | |
| %45:i64 = lshr %44, 32:i64 | |
| %46:i64 = subnsw 0:i64, %45 | |
| %47:i64 = and 4294967295:i64, %46 | |
| %48:i64 = mulnuw %47, %42 | |
| %49:i64 = lshr %48, 31:i64 | |
| %50:i64 = and 4294967295:i64, %49 | |
| %51:i64 = mulnuw %50, %43 | |
| %52:i64 = lshr %51, 32:i64 | |
| %53:i64 = subnsw 0:i64, %52 | |
| %54:i64 = and 4294967295:i64, %53 | |
| %55:i64 = mulnuw %54, %50 | |
| %56:i64 = lshr %55, 31:i64 | |
| %57:i64 = and 4294967295:i64, %56 | |
| %58:i64 = mulnuw %57, %43 | |
| %59:i64 = lshr %58, 32:i64 | |
| %60:i64 = subnsw 0:i64, %59 | |
| %61:i64 = and 4294967295:i64, %60 | |
| %62:i64 = mulnuw %61, %57 | |
| %63:i64 = lshr %62, 31:i64 | |
| %64:i64 = addnw 4294967295:i64, %63 | |
| %65:i64 = and 4294967295:i64, %64 | |
| %66:i64 = mulnuw %65, %43 | |
| %67:i64 = shl %38, 11:i64 | |
| %68:i64 = and 4294965248:i64, %67 | |
| %69:i64 = mulnuw %68, %65 | |
| %70:i64 = lshr %69, 32:i64 | |
| %71:i64 = addnuw %66, %70 | |
| %72:i64 = sub 0:i64, %71 | |
| %73:i64 = lshr %72, 32:i64 | |
| %74:i64 = mulnuw %65, %73 | |
| %75:i64 = and 4294967295:i64, %72 | |
| %76:i64 = mulnuw %65, %75 | |
| %77:i64 = lshr %76, 32:i64 | |
| %78:i64 = addnuw %74, %77 | |
| %79:i64 = add 18446744073709551614:i64, %78 | |
| %80:i128 = zext %79 | |
| %81:i64 = shl %33, 2:i64 | |
| %82:i64 = or 18014398509481984:i64, %81 | |
| %83:i128 = zext %82 | |
| %84:i128 = mulnuw %80, %83 | |
| %85:i128 = lshr %84, 64:i128 | |
| %86:i64 = trunc %85 | |
| %87:i64 = mul %39, %86 | |
| %88:i64 = sub %34, %87 | |
| %89:i64 = shl %33, 52:i64 | |
| %90:i128 = lshr %84, 65:i128 | |
| %91:i64 = trunc %90 | |
| %92:i64 = mul %39, %91 | |
| %93:i64 = sub %89, %92 | |
| %94:i64 = phi %0, %88, %93 | |
| %95:i64 = shl %94, 1:i64 | |
| infer %95 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = addnsw 4294967284:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = subnsw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294967295:i32, %23 | |
| %25:i32 = phi %0, %24, %23 | |
| %26:i32 = add 1023:i32, %25 (hasExternalUses) | |
| %27:i1 = slt 2046:i32, %26 | |
| pc %27 0:i1 | |
| %28:i1 = slt %26, 1:i32 | |
| pc %28 0:i1 | |
| %29:i64 = zext %26 | |
| %30:i64 = shlnw %29, 52:i64 | |
| infer %30 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = addnsw 4294967284:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = subnsw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294967295:i32, %23 | |
| %25:i32 = phi %0, %24, %23 | |
| %26:i32 = add 1023:i32, %25 (hasExternalUses) | |
| %27:i1 = slt 2046:i32, %26 | |
| pc %27 0:i1 | |
| %28:i1 = slt %26, 1:i32 | |
| pc %28 0:i1 | |
| %29:i64 = zext %26 | |
| infer %29 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = addnsw 4294967284:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = subnsw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294967295:i32, %23 | |
| %25:i32 = phi %0, %24, %23 | |
| %26:i32 = add 1023:i32, %25 (hasExternalUses) | |
| %27:i1 = slt 2046:i32, %26 | |
| pc %27 1:i1 | |
| %28:i64 = xor %3, %9 | |
| %29:i64 = and 9223372036854775808:i64, %28 (hasExternalUses) | |
| %30:i64 = or 9218868437227405312:i64, %29 | |
| infer %30 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = addnsw 4294967284:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 (hasExternalUses) | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 (hasExternalUses) | |
| %21:i32 = trunc %20 | |
| %22:i32 = subnsw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294967295:i32, %23 | |
| %25:i32 = phi %0, %24, %23 | |
| infer %25 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = subnsw 12:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = addnw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294966274:i32, %23 | |
| %25:i32 = add 4294966273:i32, %23 | |
| %26:i32 = phi %0, %24, %25 | |
| %27:i1 = slt 2046:i32, %26 | |
| infer %27 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = subnsw 12:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = addnw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294966274:i32, %23 | |
| %25:i32 = add 4294966273:i32, %23 | |
| %26:i32 = phi %0, %24, %25 | |
| %27:i1 = slt 2046:i32, %26 | |
| pc %27 0:i1 | |
| %28:i1 = slt %26, 1:i32 | |
| infer %28 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = subnsw 12:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = addnw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294966274:i32, %23 | |
| %25:i32 = add 4294966273:i32, %23 | |
| %26:i32 = phi %0, %24, %25 | |
| %27:i1 = slt 2046:i32, %26 | |
| pc %27 0:i1 | |
| %28:i1 = slt %26, 1:i32 | |
| pc %28 0:i1 | |
| %29:i64 = addnw 53:i64, %5 | |
| %30:i64 = and 63:i64, %29 | |
| %31:i64 = shl %4, %30 | |
| %32:i64 = phi %2, %31, %4 | |
| %33:i64 = phi %1, %32, %32, %4 | |
| %34:i64 = or 4503599627370496:i64, %33 | |
| %35:i128 = zext %34 | |
| %36:i64 = addnw 53:i64, %11 | |
| %37:i64 = and 63:i64, %36 | |
| %38:i64 = shl %10, %37 | |
| %39:i64 = phi %1, %38, %10, %10 | |
| %40:i64 = shl %39, 11:i64 | |
| %41:i64 = or 9223372036854775808:i64, %40 | |
| %42:i128 = zext %41 | |
| %43:i128 = mulnuw %35, %42 | |
| %44:i128 = lshr %43, 64:i128 | |
| %45:i64 = trunc %44 | |
| %46:i64 = trunc %43 | |
| %47:i64 = lshr %46, 63:i64 | |
| %48:i128 = shlnw %44, 1:i128 | |
| %49:i64 = trunc %48 | |
| %50:i64 = or %47, %49 | |
| %51:i64 = phi %0, %45, %50 | |
| %52:i64 = and 4503599627370495:i64, %51 | |
| %53:i64 = zext %26 | |
| %54:i64 = shlnw %53, 52:i64 | |
| %55:i64 = or %52, %54 | |
| infer %55 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = subnsw 12:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = addnw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294966274:i32, %23 | |
| %25:i32 = add 4294966273:i32, %23 | |
| %26:i32 = phi %0, %24, %25 | |
| %27:i1 = slt 2046:i32, %26 | |
| pc %27 0:i1 | |
| %28:i1 = slt %26, 1:i32 | |
| pc %28 0:i1 | |
| %29:i64 = addnw 53:i64, %5 | |
| %30:i64 = and 63:i64, %29 | |
| %31:i64 = shl %4, %30 | |
| %32:i64 = phi %2, %31, %4 | |
| %33:i64 = phi %1, %32, %32, %4 | |
| %34:i64 = or 4503599627370496:i64, %33 | |
| %35:i128 = zext %34 | |
| %36:i64 = addnw 53:i64, %11 | |
| %37:i64 = and 63:i64, %36 | |
| %38:i64 = shl %10, %37 | |
| %39:i64 = phi %1, %38, %10, %10 | |
| %40:i64 = shl %39, 11:i64 | |
| %41:i64 = or 9223372036854775808:i64, %40 | |
| %42:i128 = zext %41 | |
| %43:i128 = mulnuw %35, %42 | |
| %44:i128 = lshr %43, 64:i128 | |
| %45:i64 = trunc %44 | |
| %46:i64 = trunc %43 | |
| %47:i64 = lshr %46, 63:i64 | |
| %48:i128 = shlnw %44, 1:i128 | |
| %49:i64 = trunc %48 | |
| %50:i64 = or %47, %49 | |
| %51:i64 = phi %0, %45, %50 | |
| %52:i64 = and 4503599627370495:i64, %51 | |
| infer %52 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = subnsw 12:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = addnw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294966274:i32, %23 | |
| %25:i32 = add 4294966273:i32, %23 | |
| %26:i32 = phi %0, %24, %25 | |
| %27:i1 = slt 2046:i32, %26 | |
| pc %27 0:i1 | |
| %28:i1 = slt %26, 1:i32 | |
| pc %28 0:i1 | |
| %29:i64 = zext %26 | |
| %30:i64 = shlnw %29, 52:i64 | |
| infer %30 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = subnsw 12:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = addnw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294966274:i32, %23 | |
| %25:i32 = add 4294966273:i32, %23 | |
| %26:i32 = phi %0, %24, %25 | |
| %27:i1 = slt 2046:i32, %26 | |
| pc %27 0:i1 | |
| %28:i1 = slt %26, 1:i32 | |
| pc %28 0:i1 | |
| %29:i64 = zext %26 | |
| infer %29 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = subnsw 12:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = addnw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294966274:i32, %23 | |
| %25:i32 = add 4294966273:i32, %23 | |
| %26:i32 = phi %0, %24, %25 | |
| %27:i1 = slt 2046:i32, %26 | |
| pc %27 0:i1 | |
| %28:i1 = slt %26, 1:i32 | |
| pc %28 1:i1 | |
| %29:i32 = sub 1:i32, %26 | |
| infer %29 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = subnsw 12:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = addnw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294966274:i32, %23 | |
| %25:i32 = add 4294966273:i32, %23 | |
| %26:i32 = phi %0, %24, %25 | |
| %27:i1 = slt 2046:i32, %26 | |
| pc %27 0:i1 | |
| %28:i1 = slt %26, 1:i32 | |
| pc %28 1:i1 | |
| %29:i32 = sub 1:i32, %26 (hasExternalUses) | |
| %30:i1 = ult 63:i32, %29 | |
| infer %30 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = subnsw 12:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = addnw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294966274:i32, %23 | |
| %25:i32 = add 4294966273:i32, %23 | |
| %26:i32 = phi %0, %24, %25 | |
| %27:i1 = slt 2046:i32, %26 | |
| pc %27 0:i1 | |
| %28:i1 = slt %26, 1:i32 | |
| pc %28 1:i1 | |
| %29:i32 = sub 1:i32, %26 (hasExternalUses) | |
| %30:i1 = ult 63:i32, %29 | |
| pc %30 0:i1 | |
| %31:i32 = addnsw 63:i32, %26 | |
| %32:i64 = zext %31 | |
| infer %32 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = subnsw 12:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = addnw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294966274:i32, %23 | |
| %25:i32 = add 4294966273:i32, %23 | |
| %26:i32 = phi %0, %24, %25 | |
| %27:i1 = slt 2046:i32, %26 | |
| pc %27 0:i1 | |
| %28:i1 = slt %26, 1:i32 | |
| pc %28 1:i1 | |
| %29:i32 = sub 1:i32, %26 (hasExternalUses) | |
| %30:i1 = ult 63:i32, %29 | |
| pc %30 0:i1 | |
| %31:i32 = addnsw 63:i32, %26 | |
| infer %31 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = subnsw 12:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = addnw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294966274:i32, %23 | |
| %25:i32 = add 4294966273:i32, %23 | |
| %26:i32 = phi %0, %24, %25 | |
| %27:i1 = slt 2046:i32, %26 | |
| pc %27 0:i1 | |
| %28:i1 = slt %26, 1:i32 | |
| pc %28 1:i1 | |
| %29:i32 = sub 1:i32, %26 (hasExternalUses) | |
| %30:i1 = ult 63:i32, %29 | |
| pc %30 0:i1 | |
| %31:i64 = addnw 53:i64, %5 | |
| %32:i64 = and 63:i64, %31 | |
| %33:i64 = shl %4, %32 | |
| %34:i64 = phi %2, %33, %4 | |
| %35:i64 = phi %1, %34, %34, %4 | |
| %36:i64 = or 4503599627370496:i64, %35 | |
| %37:i128 = zext %36 | |
| %38:i64 = addnw 53:i64, %11 | |
| %39:i64 = and 63:i64, %38 | |
| %40:i64 = shl %10, %39 | |
| %41:i64 = phi %1, %40, %10, %10 | |
| %42:i64 = shl %41, 11:i64 | |
| %43:i64 = or 9223372036854775808:i64, %42 | |
| %44:i128 = zext %43 | |
| %45:i128 = mulnuw %37, %44 | |
| %46:i128 = lshr %45, 64:i128 | |
| %47:i64 = trunc %46 | |
| %48:i64 = trunc %45 | |
| %49:i64 = lshr %48, 63:i64 | |
| %50:i128 = shlnw %46, 1:i128 | |
| %51:i64 = trunc %50 | |
| %52:i64 = or %49, %51 | |
| %53:i64 = phi %0, %47, %52 | |
| %54:i32 = addnsw 63:i32, %26 | |
| %55:i64 = zext %54 | |
| %56:i64 = shl %53, %55 | |
| %57:i64 = shl %48, 1:i64 | |
| %58:i64 = phi %0, %48, %57 | |
| %59:i64 = zext %29 (hasExternalUses) | |
| %60:i64 = lshr %58, %59 | |
| %61:i64 = or %56, %60 | |
| %62:i64 = shl %58, %55 | |
| %63:i64 = or %61, %62 | |
| infer %63 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = subnsw 12:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = addnw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294966274:i32, %23 | |
| %25:i32 = add 4294966273:i32, %23 | |
| %26:i32 = phi %0, %24, %25 | |
| %27:i1 = slt 2046:i32, %26 | |
| pc %27 0:i1 | |
| %28:i1 = slt %26, 1:i32 | |
| pc %28 1:i1 | |
| %29:i32 = sub 1:i32, %26 (hasExternalUses) | |
| %30:i1 = ult 63:i32, %29 | |
| pc %30 0:i1 | |
| %31:i64 = addnw 53:i64, %5 | |
| %32:i64 = and 63:i64, %31 | |
| %33:i64 = shl %4, %32 | |
| %34:i64 = phi %2, %33, %4 | |
| %35:i64 = phi %1, %34, %34, %4 | |
| %36:i64 = or 4503599627370496:i64, %35 | |
| %37:i128 = zext %36 | |
| %38:i64 = addnw 53:i64, %11 | |
| %39:i64 = and 63:i64, %38 | |
| %40:i64 = shl %10, %39 | |
| %41:i64 = phi %1, %40, %10, %10 | |
| %42:i64 = shl %41, 11:i64 | |
| %43:i64 = or 9223372036854775808:i64, %42 | |
| %44:i128 = zext %43 | |
| %45:i128 = mulnuw %37, %44 | |
| %46:i128 = lshr %45, 64:i128 | |
| %47:i64 = trunc %46 | |
| %48:i64 = trunc %45 | |
| %49:i64 = lshr %48, 63:i64 | |
| %50:i128 = shlnw %46, 1:i128 | |
| %51:i64 = trunc %50 | |
| %52:i64 = or %49, %51 | |
| %53:i64 = phi %0, %47, %52 | |
| %54:i32 = addnsw 63:i32, %26 | |
| %55:i64 = zext %54 (hasExternalUses) | |
| %56:i64 = shl %53, %55 | |
| %57:i64 = shl %48, 1:i64 | |
| %58:i64 = phi %0, %48, %57 | |
| %59:i64 = zext %29 (hasExternalUses) | |
| %60:i64 = lshr %58, %59 | |
| %61:i64 = or %56, %60 | |
| infer %61 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = subnsw 12:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = addnw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294966274:i32, %23 | |
| %25:i32 = add 4294966273:i32, %23 | |
| %26:i32 = phi %0, %24, %25 | |
| %27:i1 = slt 2046:i32, %26 | |
| pc %27 0:i1 | |
| %28:i1 = slt %26, 1:i32 | |
| pc %28 1:i1 | |
| %29:i32 = sub 1:i32, %26 (hasExternalUses) | |
| %30:i1 = ult 63:i32, %29 | |
| pc %30 0:i1 | |
| %31:i64 = addnw 53:i64, %5 | |
| %32:i64 = and 63:i64, %31 | |
| %33:i64 = shl %4, %32 | |
| %34:i64 = phi %2, %33, %4 | |
| %35:i64 = phi %1, %34, %34, %4 | |
| %36:i64 = or 4503599627370496:i64, %35 | |
| %37:i128 = zext %36 | |
| %38:i64 = addnw 53:i64, %11 | |
| %39:i64 = and 63:i64, %38 | |
| %40:i64 = shl %10, %39 | |
| %41:i64 = phi %1, %40, %10, %10 | |
| %42:i64 = shl %41, 11:i64 | |
| %43:i64 = or 9223372036854775808:i64, %42 | |
| %44:i128 = zext %43 | |
| %45:i128 = mulnuw %37, %44 | |
| %46:i128 = lshr %45, 64:i128 | |
| %47:i64 = trunc %46 | |
| %48:i64 = trunc %45 | |
| %49:i64 = lshr %48, 63:i64 | |
| %50:i128 = shlnw %46, 1:i128 | |
| %51:i64 = trunc %50 | |
| %52:i64 = or %49, %51 | |
| %53:i64 = phi %0, %47, %52 | |
| %54:i32 = addnsw 63:i32, %26 | |
| %55:i64 = zext %54 (hasExternalUses) | |
| %56:i64 = shl %53, %55 | |
| infer %56 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = subnsw 12:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = addnw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294966274:i32, %23 | |
| %25:i32 = add 4294966273:i32, %23 | |
| %26:i32 = phi %0, %24, %25 | |
| %27:i1 = slt 2046:i32, %26 | |
| pc %27 0:i1 | |
| %28:i1 = slt %26, 1:i32 | |
| pc %28 1:i1 | |
| %29:i32 = sub 1:i32, %26 (hasExternalUses) | |
| %30:i1 = ult 63:i32, %29 | |
| pc %30 0:i1 | |
| %31:i64 = addnw 53:i64, %5 | |
| %32:i64 = and 63:i64, %31 | |
| %33:i64 = shl %4, %32 | |
| %34:i64 = phi %2, %33, %4 | |
| %35:i64 = phi %1, %34, %34, %4 | |
| %36:i64 = or 4503599627370496:i64, %35 | |
| %37:i128 = zext %36 | |
| %38:i64 = addnw 53:i64, %11 | |
| %39:i64 = and 63:i64, %38 | |
| %40:i64 = shl %10, %39 | |
| %41:i64 = phi %1, %40, %10, %10 | |
| %42:i64 = shl %41, 11:i64 | |
| %43:i64 = or 9223372036854775808:i64, %42 | |
| %44:i128 = zext %43 | |
| %45:i128 = mulnuw %37, %44 | |
| %46:i128 = lshr %45, 64:i128 | |
| %47:i64 = trunc %46 | |
| %48:i64 = trunc %45 | |
| %49:i64 = lshr %48, 63:i64 | |
| %50:i128 = shlnw %46, 1:i128 | |
| %51:i64 = trunc %50 | |
| %52:i64 = or %49, %51 | |
| %53:i64 = phi %0, %47, %52 | |
| %54:i64 = zext %29 (hasExternalUses) | |
| %55:i64 = lshr %53, %54 | |
| infer %55 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = subnsw 12:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = addnw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294966274:i32, %23 | |
| %25:i32 = add 4294966273:i32, %23 | |
| %26:i32 = phi %0, %24, %25 | |
| %27:i1 = slt 2046:i32, %26 | |
| pc %27 0:i1 | |
| %28:i1 = slt %26, 1:i32 | |
| pc %28 1:i1 | |
| %29:i32 = sub 1:i32, %26 (hasExternalUses) | |
| %30:i1 = ult 63:i32, %29 | |
| pc %30 0:i1 | |
| %31:i64 = addnw 53:i64, %5 | |
| %32:i64 = and 63:i64, %31 | |
| %33:i64 = shl %4, %32 | |
| %34:i64 = phi %2, %33, %4 | |
| %35:i64 = phi %1, %34, %34, %4 | |
| %36:i64 = or 4503599627370496:i64, %35 | |
| %37:i128 = zext %36 | |
| %38:i64 = addnw 53:i64, %11 | |
| %39:i64 = and 63:i64, %38 | |
| %40:i64 = shl %10, %39 | |
| %41:i64 = phi %1, %40, %10, %10 | |
| %42:i64 = shl %41, 11:i64 | |
| %43:i64 = or 9223372036854775808:i64, %42 | |
| %44:i128 = zext %43 | |
| %45:i128 = mulnuw %37, %44 | |
| %46:i64 = trunc %45 | |
| %47:i64 = shl %46, 1:i64 | |
| %48:i64 = phi %0, %46, %47 | |
| %49:i32 = addnsw 63:i32, %26 | |
| %50:i64 = zext %49 (hasExternalUses) | |
| %51:i64 = shl %48, %50 | |
| infer %51 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = subnsw 12:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = addnw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294966274:i32, %23 | |
| %25:i32 = add 4294966273:i32, %23 | |
| %26:i32 = phi %0, %24, %25 | |
| %27:i1 = slt 2046:i32, %26 | |
| pc %27 0:i1 | |
| %28:i1 = slt %26, 1:i32 | |
| pc %28 1:i1 | |
| %29:i32 = sub 1:i32, %26 (hasExternalUses) | |
| %30:i1 = ult 63:i32, %29 | |
| pc %30 0:i1 | |
| %31:i64 = addnw 53:i64, %5 | |
| %32:i64 = and 63:i64, %31 | |
| %33:i64 = shl %4, %32 | |
| %34:i64 = phi %2, %33, %4 | |
| %35:i64 = phi %1, %34, %34, %4 | |
| %36:i64 = or 4503599627370496:i64, %35 | |
| %37:i128 = zext %36 | |
| %38:i64 = addnw 53:i64, %11 | |
| %39:i64 = and 63:i64, %38 | |
| %40:i64 = shl %10, %39 | |
| %41:i64 = phi %1, %40, %10, %10 | |
| %42:i64 = shl %41, 11:i64 | |
| %43:i64 = or 9223372036854775808:i64, %42 | |
| %44:i128 = zext %43 | |
| %45:i128 = mulnuw %37, %44 | |
| %46:i64 = trunc %45 | |
| %47:i64 = shl %46, 1:i64 | |
| %48:i64 = phi %0, %46, %47 | |
| %49:i64 = zext %29 (hasExternalUses) | |
| %50:i64 = lshr %48, %49 | |
| infer %50 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = subnsw 12:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = addnw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294966274:i32, %23 | |
| %25:i32 = add 4294966273:i32, %23 | |
| %26:i32 = phi %0, %24, %25 | |
| %27:i1 = slt 2046:i32, %26 | |
| pc %27 0:i1 | |
| %28:i1 = slt %26, 1:i32 | |
| pc %28 1:i1 | |
| %29:i32 = sub 1:i32, %26 (hasExternalUses) | |
| %30:i1 = ult 63:i32, %29 | |
| pc %30 0:i1 | |
| %31:i64 = zext %29 | |
| infer %31 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = subnsw 12:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 | |
| %21:i32 = trunc %20 | |
| %22:i32 = addnw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294966274:i32, %23 | |
| %25:i32 = add 4294966273:i32, %23 | |
| %26:i32 = phi %0, %24, %25 | |
| %27:i1 = slt 2046:i32, %26 | |
| pc %27 1:i1 | |
| %28:i64 = xor %3, %9 | |
| %29:i64 = and 9223372036854775808:i64, %28 (hasExternalUses) | |
| %30:i64 = or 9218868437227405312:i64, %29 | |
| infer %30 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnsw 12:i32, %6 | |
| %8:i32 = phi %2, %7, 0:i32 | |
| %9:i64 = var | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = subnsw 12:i32, %12 | |
| %14:i32 = addnsw %8, %13 | |
| %15:i32 = phi %1, %14, %8, 0:i32 | |
| %16:i64 = lshr %3, 52:i64 | |
| %17:i64 = and 2047:i64, %16 (hasExternalUses) | |
| %18:i32 = trunc %17 | |
| %19:i64 = lshr %9, 52:i64 | |
| %20:i64 = and 2047:i64, %19 (hasExternalUses) | |
| %21:i32 = trunc %20 | |
| %22:i32 = addnw %18, %21 | |
| %23:i32 = addnsw %15, %22 | |
| %24:i32 = add 4294966274:i32, %23 | |
| %25:i32 = add 4294966273:i32, %23 | |
| %26:i32 = phi %0, %24, %25 | |
| infer %26 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i64 = addnw 53:i64, %5 | |
| %7:i64 = and 63:i64, %6 | |
| %8:i64 = shl %4, %7 | |
| %9:i64 = phi %2, %8, %4 | |
| %10:i64 = phi %1, %9, %9, %4 | |
| %11:i64 = or 4503599627370496:i64, %10 | |
| %12:i128 = zext %11 | |
| %13:i64 = var | |
| %14:i64 = and 4503599627370495:i64, %13 | |
| %15:i64 = ctlz %14 | |
| %16:i64 = addnw 53:i64, %15 | |
| %17:i64 = and 63:i64, %16 | |
| %18:i64 = shl %14, %17 | |
| %19:i64 = phi %1, %18, %14, %14 | |
| %20:i64 = shl %19, 11:i64 | |
| %21:i64 = or 9223372036854775808:i64, %20 | |
| %22:i128 = zext %21 | |
| %23:i128 = mulnuw %12, %22 | |
| %24:i128 = lshr %23, 64:i128 | |
| %25:i64 = trunc %24 (hasExternalUses) | |
| %26:i64 = trunc %23 (hasExternalUses) | |
| %27:i64 = lshr %26, 63:i64 | |
| %28:i128 = shlnw %24, 1:i128 | |
| %29:i64 = trunc %28 | |
| %30:i64 = or %27, %29 | |
| %31:i64 = phi %0, %25, %30 | |
| infer %31 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i64 = addnw 53:i64, %5 | |
| %7:i64 = and 63:i64, %6 | |
| %8:i64 = shl %4, %7 | |
| %9:i64 = phi %2, %8, %4 | |
| %10:i64 = phi %1, %9, %9, %4 | |
| %11:i64 = or 4503599627370496:i64, %10 | |
| %12:i128 = zext %11 | |
| %13:i64 = var | |
| %14:i64 = and 4503599627370495:i64, %13 | |
| %15:i64 = ctlz %14 | |
| %16:i64 = addnw 53:i64, %15 | |
| %17:i64 = and 63:i64, %16 | |
| %18:i64 = shl %14, %17 | |
| %19:i64 = phi %1, %18, %14, %14 | |
| %20:i64 = shl %19, 11:i64 | |
| %21:i64 = or 9223372036854775808:i64, %20 | |
| %22:i128 = zext %21 | |
| %23:i128 = mulnuw %12, %22 (hasExternalUses) | |
| %24:i64 = trunc %23 (hasExternalUses) | |
| %25:i64 = shl %24, 1:i64 | |
| %26:i64 = phi %0, %24, %25 | |
| infer %26 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i64 = addnw 53:i64, %5 | |
| %7:i64 = and 63:i64, %6 | |
| %8:i64 = shl %4, %7 | |
| %9:i64 = phi %2, %8, %4 | |
| %10:i64 = phi %1, %9, %9, %4 | |
| %11:i64 = shl %10, 53:i64 | |
| %12:i64 = var | |
| %13:i64 = and 4503599627370495:i64, %12 | |
| %14:i64 = ctlz %13 | |
| %15:i64 = addnw 53:i64, %14 | |
| %16:i64 = and 63:i64, %15 | |
| %17:i64 = shl %13, %16 | |
| %18:i64 = phi %1, %17, %13, %13 | |
| %19:i64 = or 4503599627370496:i64, %18 (hasExternalUses) | |
| %20:i64 = lshr %19, 21:i64 | |
| %21:i64 = subnsw 1963258675:i64, %20 | |
| %22:i64 = and 4294967295:i64, %21 | |
| %23:i64 = and 4294967295:i64, %20 | |
| %24:i64 = mulnuw %22, %23 | |
| %25:i64 = lshr %24, 32:i64 | |
| %26:i64 = subnsw 0:i64, %25 | |
| %27:i64 = and 4294967295:i64, %26 | |
| %28:i64 = mulnuw %27, %22 | |
| %29:i64 = lshr %28, 31:i64 | |
| %30:i64 = and 4294967295:i64, %29 | |
| %31:i64 = mulnuw %30, %23 | |
| %32:i64 = lshr %31, 32:i64 | |
| %33:i64 = subnsw 0:i64, %32 | |
| %34:i64 = and 4294967295:i64, %33 | |
| %35:i64 = mulnuw %34, %30 | |
| %36:i64 = lshr %35, 31:i64 | |
| %37:i64 = and 4294967295:i64, %36 | |
| %38:i64 = mulnuw %37, %23 | |
| %39:i64 = lshr %38, 32:i64 | |
| %40:i64 = subnsw 0:i64, %39 | |
| %41:i64 = and 4294967295:i64, %40 | |
| %42:i64 = mulnuw %41, %37 | |
| %43:i64 = lshr %42, 31:i64 | |
| %44:i64 = addnw 4294967295:i64, %43 | |
| %45:i64 = and 4294967295:i64, %44 | |
| %46:i64 = mulnuw %45, %23 | |
| %47:i64 = shl %18, 11:i64 | |
| %48:i64 = and 4294965248:i64, %47 | |
| %49:i64 = mulnuw %48, %45 | |
| %50:i64 = lshr %49, 32:i64 | |
| %51:i64 = addnuw %46, %50 | |
| %52:i64 = sub 0:i64, %51 | |
| %53:i64 = lshr %52, 32:i64 | |
| %54:i64 = mulnuw %45, %53 | |
| %55:i64 = add 18446744073709551614:i64, %54 | |
| %56:i64 = and 4294967295:i64, %52 | |
| %57:i64 = mulnuw %45, %56 | |
| %58:i64 = lshr %57, 32:i64 | |
| %59:i64 = add %55, %58 | |
| %60:i128 = zext %59 | |
| %61:i64 = shl %10, 2:i64 | |
| %62:i64 = or 18014398509481984:i64, %61 | |
| %63:i128 = zext %62 | |
| %64:i128 = mulnuw %60, %63 | |
| %65:i128 = lshr %64, 64:i128 | |
| %66:i64 = trunc %65 (hasExternalUses) | |
| %67:i64 = mul %19, %66 | |
| %68:i64 = sub %11, %67 | |
| %69:i64 = shl %10, 52:i64 | |
| %70:i128 = lshr %64, 65:i128 | |
| %71:i64 = trunc %70 (hasExternalUses) | |
| %72:i64 = mul %19, %71 | |
| %73:i64 = sub %69, %72 | |
| %74:i64 = phi %0, %68, %73 | |
| infer %74 (demandedBits=0111111111111111111111111111111111111111111111111111111111111111) | |
| > | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 4503599627370495:i64, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i64 = addnw 53:i64, %5 | |
| %7:i64 = and 63:i64, %6 | |
| %8:i64 = shl %4, %7 | |
| %9:i64 = phi %2, %8, %4 | |
| %10:i64 = phi %1, %9, %9, %4 | |
| %11:i64 = shl %10, 53:i64 | |
| %12:i64 = var | |
| %13:i64 = and 4503599627370495:i64, %12 | |
| %14:i64 = ctlz %13 | |
| %15:i64 = addnw 53:i64, %14 | |
| %16:i64 = and 63:i64, %15 | |
| %17:i64 = shl %13, %16 | |
| %18:i64 = phi %1, %17, %13, %13 | |
| %19:i64 = or 4503599627370496:i64, %18 (hasExternalUses) | |
| %20:i64 = lshr %19, 21:i64 | |
| %21:i64 = subnsw 1963258675:i64, %20 | |
| %22:i64 = and 4294967295:i64, %21 | |
| %23:i64 = and 4294967295:i64, %20 | |
| %24:i64 = mulnuw %22, %23 | |
| %25:i64 = lshr %24, 32:i64 | |
| %26:i64 = subnsw 0:i64, %25 | |
| %27:i64 = and 4294967295:i64, %26 | |
| %28:i64 = mulnuw %27, %22 | |
| %29:i64 = lshr %28, 31:i64 | |
| %30:i64 = and 4294967295:i64, %29 | |
| %31:i64 = mulnuw %30, %23 | |
| %32:i64 = lshr %31, 32:i64 | |
| %33:i64 = subnsw 0:i64, %32 | |
| %34:i64 = and 4294967295:i64, %33 | |
| %35:i64 = mulnuw %34, %30 | |
| %36:i64 = lshr %35, 31:i64 | |
| %37:i64 = and 4294967295:i64, %36 | |
| %38:i64 = mulnuw %37, %23 | |
| %39:i64 = lshr %38, 32:i64 | |
| %40:i64 = subnsw 0:i64, %39 | |
| %41:i64 = and 4294967295:i64, %40 | |
| %42:i64 = mulnuw %41, %37 | |
| %43:i64 = lshr %42, 31:i64 | |
| %44:i64 = addnw 4294967295:i64, %43 | |
| %45:i64 = and 4294967295:i64, %44 | |
| %46:i64 = mulnuw %45, %23 | |
| %47:i64 = shl %18, 11:i64 | |
| %48:i64 = and 4294965248:i64, %47 | |
| %49:i64 = mulnuw %48, %45 | |
| %50:i64 = lshr %49, 32:i64 | |
| %51:i64 = addnuw %46, %50 | |
| %52:i64 = sub 0:i64, %51 | |
| %53:i64 = lshr %52, 32:i64 | |
| %54:i64 = mulnuw %45, %53 | |
| %55:i64 = and 4294967295:i64, %52 | |
| %56:i64 = mulnuw %45, %55 | |
| %57:i64 = lshr %56, 32:i64 | |
| %58:i64 = addnuw %54, %57 | |
| %59:i64 = add 18446744073709551614:i64, %58 | |
| %60:i128 = zext %59 | |
| %61:i64 = shl %10, 2:i64 | |
| %62:i64 = or 18014398509481984:i64, %61 | |
| %63:i128 = zext %62 | |
| %64:i128 = mulnuw %60, %63 | |
| %65:i128 = lshr %64, 64:i128 | |
| %66:i64 = trunc %65 (hasExternalUses) | |
| %67:i64 = mul %19, %66 | |
| %68:i64 = sub %11, %67 | |
| %69:i64 = shl %10, 52:i64 | |
| %70:i128 = lshr %64, 65:i128 | |
| %71:i64 = trunc %70 (hasExternalUses) | |
| %72:i64 = mul %19, %71 | |
| %73:i64 = sub %69, %72 | |
| %74:i64 = phi %0, %68, %73 | |
| infer %74 (demandedBits=0111111111111111111111111111111111111111111111111111111111111111) | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2:i32 = var | |
| %3:i32 = and 8388607:i32, %2 | |
| %4:i32 = ctlz %3 | |
| %5:i32 = addnw 24:i32, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %3, %6 | |
| %8:i32 = phi %1, %7, %3, %3 | |
| %9:i32 = or 8388608:i32, %8 (hasExternalUses) | |
| %10:i32 = shl %9, 8:i32 | |
| %11:i32 = sub 1963258675:i32, %10 | |
| %12:i64 = zext %11 | |
| %13:i64 = zext %10 | |
| %14:i64 = mulnuw %12, %13 | |
| %15:i64 = lshr %14, 32:i64 | |
| %16:i64 = subnsw 0:i64, %15 | |
| %17:i64 = and 4294967295:i64, %16 | |
| %18:i64 = mulnuw %17, %12 | |
| %19:i64 = lshr %18, 31:i64 | |
| %20:i64 = and 4294967295:i64, %19 | |
| %21:i64 = mulnuw %20, %13 | |
| %22:i64 = lshr %21, 32:i64 | |
| %23:i64 = subnsw 0:i64, %22 | |
| %24:i64 = and 4294967295:i64, %23 | |
| %25:i64 = mulnuw %24, %20 | |
| %26:i64 = lshr %25, 31:i64 | |
| %27:i64 = and 4294967295:i64, %26 | |
| %28:i64 = mulnuw %27, %13 | |
| %29:i64 = lshr %28, 32:i64 | |
| %30:i64 = subnsw 0:i64, %29 | |
| %31:i64 = and 4294967295:i64, %30 | |
| %32:i64 = mulnuw %31, %27 | |
| %33:i64 = lshr %32, 31:i64 | |
| %34:i64 = addnw 4294967294:i64, %33 | |
| %35:i64 = and 4294967295:i64, %34 | |
| %36 = block 2 | |
| %37:i32 = var | |
| %38:i32 = and 8388607:i32, %37 | |
| %39:i32 = ctlz %38 | |
| %40:i32 = addnw 24:i32, %39 | |
| %41:i32 = and 31:i32, %40 | |
| %42:i32 = shl %38, %41 | |
| %43:i32 = phi %36, %42, %38 | |
| %44:i32 = phi %1, %43, %43, %38 | |
| %45:i32 = shl %44, 1:i32 | |
| %46:i32 = or 16777216:i32, %45 | |
| %47:i64 = zext %46 | |
| %48:i64 = mulnuw %35, %47 | |
| %49:i64 = lshr %48, 32:i64 | |
| %50:i32 = trunc %49 (hasExternalUses) | |
| %51:i64 = lshr %48, 33:i64 | |
| %52:i32 = trunc %51 (hasExternalUses) | |
| %53:i32 = phi %0, %50, %52 | |
| infer %53 (demandedBits=00000000011111111111111111111111) | |
| > | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2:i32 = var | |
| %3:i32 = var | |
| %4:i32 = var | |
| %5:i32 = phi %1, %2, %3, %4 | |
| %6:i32 = var | |
| %7:i32 = phi %0, %5, %6 | |
| %8:i32 = and 1024:i32, %7 | |
| %9:i1 = eq 0:i32, %8 | |
| infer %9 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2:i32 = var | |
| %3:i32 = var | |
| %4:i32 = var | |
| %5:i32 = phi %1, %2, %3, %4 | |
| %6:i32 = var | |
| %7:i32 = phi %0, %5, %6 | |
| %8:i32 = and 1024:i32, %7 | |
| infer %8 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2:i32 = var | |
| %3:i32 = var | |
| %4:i32 = var | |
| %5:i32 = phi %1, %2, %3, %4 | |
| %6:i32 = var | |
| %7:i32 = phi %0, %5, %6 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2:i64 = var | |
| %3:i1 = eq 0:i64, %2 | |
| %4:i64 = var | |
| %5:i64 = select %3, 0:i64, %4 | |
| %6:i64 = phi %1, 0:i64, %5, %4 | |
| %7:i64 = phi %0, %6, 0:i64 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2:i64 = var | |
| %3:i64 = and 4503599627370495:i64, %2 | |
| %4:i64 = ctlz %3 | |
| %5:i64 = addnw 53:i64, %4 | |
| %6:i64 = and 63:i64, %5 | |
| %7:i64 = shl %3, %6 | |
| %8:i64 = phi %1, %7, %3, %3 | |
| %9:i64 = or 4503599627370496:i64, %8 (hasExternalUses) | |
| %10:i64 = lshr %9, 21:i64 | |
| %11:i64 = subnsw 1963258675:i64, %10 | |
| %12:i64 = and 4294967295:i64, %11 | |
| %13:i64 = and 4294967295:i64, %10 | |
| %14:i64 = mulnuw %12, %13 | |
| %15:i64 = lshr %14, 32:i64 | |
| %16:i64 = subnsw 0:i64, %15 | |
| %17:i64 = and 4294967295:i64, %16 | |
| %18:i64 = mulnuw %17, %12 | |
| %19:i64 = lshr %18, 31:i64 | |
| %20:i64 = and 4294967295:i64, %19 | |
| %21:i64 = mulnuw %20, %13 | |
| %22:i64 = lshr %21, 32:i64 | |
| %23:i64 = subnsw 0:i64, %22 | |
| %24:i64 = and 4294967295:i64, %23 | |
| %25:i64 = mulnuw %24, %20 | |
| %26:i64 = lshr %25, 31:i64 | |
| %27:i64 = and 4294967295:i64, %26 | |
| %28:i64 = mulnuw %27, %13 | |
| %29:i64 = lshr %28, 32:i64 | |
| %30:i64 = subnsw 0:i64, %29 | |
| %31:i64 = and 4294967295:i64, %30 | |
| %32:i64 = mulnuw %31, %27 | |
| %33:i64 = lshr %32, 31:i64 | |
| %34:i64 = addnw 4294967295:i64, %33 | |
| %35:i64 = and 4294967295:i64, %34 | |
| %36:i64 = mulnuw %35, %13 | |
| %37:i64 = shl %8, 11:i64 | |
| %38:i64 = and 4294965248:i64, %37 | |
| %39:i64 = mulnuw %38, %35 | |
| %40:i64 = lshr %39, 32:i64 | |
| %41:i64 = addnuw %36, %40 | |
| %42:i64 = sub 0:i64, %41 | |
| %43:i64 = lshr %42, 32:i64 | |
| %44:i64 = mulnuw %35, %43 | |
| %45:i64 = add 18446744073709551614:i64, %44 | |
| %46:i64 = and 4294967295:i64, %42 | |
| %47:i64 = mulnuw %35, %46 | |
| %48:i64 = lshr %47, 32:i64 | |
| %49:i64 = add %45, %48 | |
| %50:i128 = zext %49 | |
| %51 = block 2 | |
| %52:i64 = var | |
| %53:i64 = and 4503599627370495:i64, %52 | |
| %54:i64 = ctlz %53 | |
| %55:i64 = addnw 53:i64, %54 | |
| %56:i64 = and 63:i64, %55 | |
| %57:i64 = shl %53, %56 | |
| %58:i64 = phi %51, %57, %53 | |
| %59:i64 = phi %1, %58, %58, %53 | |
| %60:i64 = shl %59, 2:i64 | |
| %61:i64 = or 18014398509481984:i64, %60 | |
| %62:i128 = zext %61 | |
| %63:i128 = mulnuw %50, %62 | |
| %64:i128 = lshr %63, 64:i128 | |
| %65:i64 = trunc %64 (hasExternalUses) | |
| %66:i128 = lshr %63, 65:i128 | |
| %67:i64 = trunc %66 (hasExternalUses) | |
| %68:i64 = phi %0, %65, %67 | |
| infer %68 (demandedBits=0000000000001111111111111111111111111111111111111111111111111111) | |
| > | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2:i64 = var | |
| %3:i64 = and 4503599627370495:i64, %2 | |
| %4:i64 = ctlz %3 | |
| %5:i64 = addnw 53:i64, %4 | |
| %6:i64 = and 63:i64, %5 | |
| %7:i64 = shl %3, %6 | |
| %8:i64 = phi %1, %7, %3, %3 | |
| %9:i64 = or 4503599627370496:i64, %8 (hasExternalUses) | |
| %10:i64 = lshr %9, 21:i64 | |
| %11:i64 = subnsw 1963258675:i64, %10 | |
| %12:i64 = and 4294967295:i64, %11 | |
| %13:i64 = and 4294967295:i64, %10 | |
| %14:i64 = mulnuw %12, %13 | |
| %15:i64 = lshr %14, 32:i64 | |
| %16:i64 = subnsw 0:i64, %15 | |
| %17:i64 = and 4294967295:i64, %16 | |
| %18:i64 = mulnuw %17, %12 | |
| %19:i64 = lshr %18, 31:i64 | |
| %20:i64 = and 4294967295:i64, %19 | |
| %21:i64 = mulnuw %20, %13 | |
| %22:i64 = lshr %21, 32:i64 | |
| %23:i64 = subnsw 0:i64, %22 | |
| %24:i64 = and 4294967295:i64, %23 | |
| %25:i64 = mulnuw %24, %20 | |
| %26:i64 = lshr %25, 31:i64 | |
| %27:i64 = and 4294967295:i64, %26 | |
| %28:i64 = mulnuw %27, %13 | |
| %29:i64 = lshr %28, 32:i64 | |
| %30:i64 = subnsw 0:i64, %29 | |
| %31:i64 = and 4294967295:i64, %30 | |
| %32:i64 = mulnuw %31, %27 | |
| %33:i64 = lshr %32, 31:i64 | |
| %34:i64 = addnw 4294967295:i64, %33 | |
| %35:i64 = and 4294967295:i64, %34 | |
| %36:i64 = mulnuw %35, %13 | |
| %37:i64 = shl %8, 11:i64 | |
| %38:i64 = and 4294965248:i64, %37 | |
| %39:i64 = mulnuw %38, %35 | |
| %40:i64 = lshr %39, 32:i64 | |
| %41:i64 = addnuw %36, %40 | |
| %42:i64 = sub 0:i64, %41 | |
| %43:i64 = lshr %42, 32:i64 | |
| %44:i64 = mulnuw %35, %43 | |
| %45:i64 = and 4294967295:i64, %42 | |
| %46:i64 = mulnuw %35, %45 | |
| %47:i64 = lshr %46, 32:i64 | |
| %48:i64 = addnuw %44, %47 | |
| %49:i64 = add 18446744073709551614:i64, %48 | |
| %50:i128 = zext %49 | |
| %51 = block 2 | |
| %52:i64 = var | |
| %53:i64 = and 4503599627370495:i64, %52 | |
| %54:i64 = ctlz %53 | |
| %55:i64 = addnw 53:i64, %54 | |
| %56:i64 = and 63:i64, %55 | |
| %57:i64 = shl %53, %56 | |
| %58:i64 = phi %51, %57, %53 | |
| %59:i64 = phi %1, %58, %58, %53 | |
| %60:i64 = shl %59, 2:i64 | |
| %61:i64 = or 18014398509481984:i64, %60 | |
| %62:i128 = zext %61 | |
| %63:i128 = mulnuw %50, %62 | |
| %64:i128 = lshr %63, 64:i128 | |
| %65:i64 = trunc %64 (hasExternalUses) | |
| %66:i128 = lshr %63, 65:i128 | |
| %67:i64 = trunc %66 (hasExternalUses) | |
| %68:i64 = phi %0, %65, %67 | |
| infer %68 (demandedBits=0000000000001111111111111111111111111111111111111111111111111111) | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2:i64 = var | |
| %3:i64 = phi %1, 0:i64, %2, 0:i64 | |
| %4:i64 = var | |
| %5:i64 = add 1:i64, %4 | |
| %6:i64 = phi %0, %3, %5 | |
| %7:i1 = eq 0:i64, %6 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2:i64 = var | |
| %3:i64 = phi %1, 0:i64, %2, 0:i64 | |
| %4:i64 = var | |
| %5:i64 = add 1:i64, %4 | |
| %6:i64 = phi %0, %3, %5 | |
| %7:i1 = eq 0:i64, %6 (hasExternalUses) | |
| %8:i1 = select %7, 0:i1, 1:i1 | |
| infer %8 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2:i64 = var | |
| %3:i64 = phi %1, 0:i64, %2, 0:i64 | |
| %4:i64 = var | |
| %5:i64 = add 1:i64, %4 | |
| %6:i64 = phi %0, %3, %5 | |
| %7:i64 = add 18446744073709551615:i64, %6 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2:i64 = var | |
| %3:i64 = phi %1, 0:i64, %2, 0:i64 | |
| %4:i64 = var | |
| %5:i64 = add 1:i64, %4 (hasExternalUses) | |
| %6:i64 = phi %0, %3, %5 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2:i8 = phi %1, 1:i8, 0:i8, 0:i8 | |
| %3:i8 = phi %0, %2, 0:i8 | |
| %4:i1 = eq 0:i8, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <16> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 3 | |
| %2:i8 = phi %1, 1:i8, 0:i8, 0:i8 | |
| %3:i8 = phi %0, %2, 0:i8 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <12> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 4 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 2147483647:i32, %3 | |
| %5:i32 = var | |
| %6:i32 = and 2147483647:i32, %5 | |
| %7:i1 = ult %4, %6 | |
| %8:i32 = select %7, %5, %3 | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = addnw 24:i32, %10 | |
| %12:i32 = and 31:i32, %11 | |
| %13:i32 = shl %9, %12 | |
| %14:i32 = phi %2, %13, %9 | |
| %15:i32 = shl %14, 3:i32 | |
| %16:i32 = or 67108864:i32, %15 | |
| %17 = block 3 | |
| %18 = block 2 | |
| %19:i32 = select %7, %3, %5 | |
| %20:i32 = and 8388607:i32, %19 | |
| %21:i32 = ctlz %20 | |
| %22:i32 = addnw 24:i32, %21 | |
| %23:i32 = and 31:i32, %22 | |
| %24:i32 = shl %20, %23 | |
| %25:i32 = phi %18, %24, %20 | |
| %26:i32 = shl %25, 3:i32 | |
| %27:i32 = or 67108864:i32, %26 | |
| %28:i32 = subnsw 9:i32, %10 | |
| %29:i32 = lshr %8, 23:i32 | |
| %30:i32 = and 255:i32, %29 | |
| %31:i32 = phi %2, %28, %30 | |
| %32:i32 = subnsw 9:i32, %21 | |
| %33:i32 = lshr %19, 23:i32 | |
| %34:i32 = and 255:i32, %33 | |
| %35:i32 = phi %18, %32, %34 | |
| %36:i32 = subnsw %31, %35 | |
| %37:i32 = lshr %27, %36 | |
| %38:i32 = subnw 32:i32, %36 | |
| %39:i32 = shl %27, %38 | |
| %40:i1 = ne 0:i32, %39 | |
| %41:i32 = zext %40 | |
| %42:i32 = or %37, %41 | |
| %43:i32 = phi %17, %42, %27, 1:i32 | |
| %44:i32 = sub %16, %43 | |
| %45:i32 = ctlz %44 | |
| %46:i32 = addnsw 4294967291:i32, %45 | |
| %47:i32 = and 31:i32, %46 | |
| %48:i32 = shl %44, %47 | |
| %49:i32 = add %43, %16 | |
| %50:i32 = and 1:i32, %49 | |
| %51:i32 = lshr %49, 1:i32 | |
| %52:i32 = or %50, %51 | |
| %53:i32 = phi %1, %48, %44, %52, %49 | |
| %54:i32 = subnsw %31, %46 | |
| %55:i32 = addnsw 1:i32, %31 | |
| %56:i32 = phi %1, %54, %31, %55, %31 | |
| %57:i32 = subnsw 1:i32, %56 | |
| %58:i32 = and 31:i32, %57 | |
| %59:i32 = lshr %53, %58 | |
| %60:i32 = addnsw 31:i32, %56 | |
| %61:i32 = and 31:i32, %60 | |
| %62:i32 = shl %53, %61 | |
| %63:i1 = ne 0:i32, %62 | |
| %64:i32 = zext %63 | |
| %65:i32 = or %59, %64 | |
| %66:i32 = phi %0, %65, %53 | |
| %67:i32 = and 7:i32, %66 | |
| infer %67 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 4 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 2147483647:i32, %3 | |
| %5:i32 = var | |
| %6:i32 = and 2147483647:i32, %5 | |
| %7:i1 = ult %4, %6 | |
| %8:i32 = select %7, %5, %3 | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = addnw 24:i32, %10 | |
| %12:i32 = and 31:i32, %11 | |
| %13:i32 = shl %9, %12 | |
| %14:i32 = phi %2, %13, %9 | |
| %15:i32 = shl %14, 3:i32 | |
| %16:i32 = or 67108864:i32, %15 | |
| %17 = block 3 | |
| %18 = block 2 | |
| %19:i32 = select %7, %3, %5 | |
| %20:i32 = and 8388607:i32, %19 | |
| %21:i32 = ctlz %20 | |
| %22:i32 = addnw 24:i32, %21 | |
| %23:i32 = and 31:i32, %22 | |
| %24:i32 = shl %20, %23 | |
| %25:i32 = phi %18, %24, %20 | |
| %26:i32 = shl %25, 3:i32 | |
| %27:i32 = or 67108864:i32, %26 | |
| %28:i32 = subnsw 9:i32, %10 | |
| %29:i32 = lshr %8, 23:i32 | |
| %30:i32 = and 255:i32, %29 | |
| %31:i32 = phi %2, %28, %30 | |
| %32:i32 = subnsw 9:i32, %21 | |
| %33:i32 = lshr %19, 23:i32 | |
| %34:i32 = and 255:i32, %33 | |
| %35:i32 = phi %18, %32, %34 | |
| %36:i32 = subnsw %31, %35 | |
| %37:i32 = lshr %27, %36 | |
| %38:i32 = subnw 32:i32, %36 | |
| %39:i32 = shl %27, %38 | |
| %40:i1 = ne 0:i32, %39 | |
| %41:i32 = zext %40 | |
| %42:i32 = or %37, %41 | |
| %43:i32 = phi %17, %42, %27, 1:i32 | |
| %44:i32 = sub %16, %43 | |
| %45:i32 = ctlz %44 | |
| %46:i32 = addnsw 4294967291:i32, %45 | |
| %47:i32 = and 31:i32, %46 | |
| %48:i32 = shl %44, %47 | |
| %49:i32 = add %43, %16 | |
| %50:i32 = and 1:i32, %49 | |
| %51:i32 = lshr %49, 1:i32 | |
| %52:i32 = or %50, %51 | |
| %53:i32 = phi %1, %48, %44, %52, %49 | |
| %54:i32 = subnsw %31, %46 | |
| %55:i32 = addnsw 1:i32, %31 | |
| %56:i32 = phi %1, %54, %31, %55, %31 | |
| %57:i32 = subnsw 1:i32, %56 | |
| %58:i32 = and 31:i32, %57 | |
| %59:i32 = lshr %53, %58 | |
| %60:i32 = addnsw 31:i32, %56 | |
| %61:i32 = and 31:i32, %60 | |
| %62:i32 = shl %53, %61 | |
| %63:i1 = ne 0:i32, %62 | |
| %64:i32 = zext %63 | |
| %65:i32 = or %59, %64 | |
| %66:i32 = phi %0, %65, %53 | |
| %67:i32 = and 7:i32, %66 (hasExternalUses) | |
| %68:i1 = ult 4:i32, %67 | |
| infer %68 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 4 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 2147483647:i32, %3 | |
| %5:i32 = var | |
| %6:i32 = and 2147483647:i32, %5 | |
| %7:i1 = ult %4, %6 | |
| %8:i32 = select %7, %5, %3 | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = addnw 24:i32, %10 | |
| %12:i32 = and 31:i32, %11 | |
| %13:i32 = shl %9, %12 | |
| %14:i32 = phi %2, %13, %9 | |
| %15:i32 = shl %14, 3:i32 | |
| %16:i32 = or 67108864:i32, %15 | |
| %17 = block 3 | |
| %18 = block 2 | |
| %19:i32 = select %7, %3, %5 | |
| %20:i32 = and 8388607:i32, %19 | |
| %21:i32 = ctlz %20 | |
| %22:i32 = addnw 24:i32, %21 | |
| %23:i32 = and 31:i32, %22 | |
| %24:i32 = shl %20, %23 | |
| %25:i32 = phi %18, %24, %20 | |
| %26:i32 = shl %25, 3:i32 | |
| %27:i32 = or 67108864:i32, %26 | |
| %28:i32 = subnsw 9:i32, %10 | |
| %29:i32 = lshr %8, 23:i32 | |
| %30:i32 = and 255:i32, %29 | |
| %31:i32 = phi %2, %28, %30 | |
| %32:i32 = subnsw 9:i32, %21 | |
| %33:i32 = lshr %19, 23:i32 | |
| %34:i32 = and 255:i32, %33 | |
| %35:i32 = phi %18, %32, %34 | |
| %36:i32 = subnsw %31, %35 | |
| %37:i32 = lshr %27, %36 | |
| %38:i32 = subnw 32:i32, %36 | |
| %39:i32 = shl %27, %38 | |
| %40:i1 = ne 0:i32, %39 | |
| %41:i32 = zext %40 | |
| %42:i32 = or %37, %41 | |
| %43:i32 = phi %17, %42, %27, 1:i32 | |
| %44:i32 = sub %16, %43 | |
| %45:i32 = ctlz %44 | |
| %46:i32 = addnsw 4294967291:i32, %45 | |
| %47:i32 = and 31:i32, %46 | |
| %48:i32 = shl %44, %47 | |
| %49:i32 = add %43, %16 | |
| %50:i32 = and 1:i32, %49 | |
| %51:i32 = lshr %49, 1:i32 | |
| %52:i32 = or %50, %51 | |
| %53:i32 = phi %1, %48, %44, %52, %49 | |
| %54:i32 = subnsw %31, %46 | |
| %55:i32 = addnsw 1:i32, %31 | |
| %56:i32 = phi %1, %54, %31, %55, %31 | |
| %57:i32 = subnsw 1:i32, %56 | |
| %58:i32 = and 31:i32, %57 | |
| %59:i32 = lshr %53, %58 | |
| %60:i32 = addnsw 31:i32, %56 | |
| %61:i32 = and 31:i32, %60 | |
| %62:i32 = shl %53, %61 | |
| %63:i1 = ne 0:i32, %62 | |
| %64:i32 = zext %63 | |
| %65:i32 = or %59, %64 | |
| %66:i32 = phi %0, %65, %53 | |
| %67:i32 = and 7:i32, %66 (hasExternalUses) | |
| %68:i1 = ult 4:i32, %67 | |
| pc %68 0:i1 | |
| %69:i1 = eq 4:i32, %67 | |
| infer %69 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 4 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 2147483647:i32, %3 | |
| %5:i32 = var | |
| %6:i32 = and 2147483647:i32, %5 | |
| %7:i1 = ult %4, %6 | |
| %8:i32 = select %7, %5, %3 | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = addnw 24:i32, %10 | |
| %12:i32 = and 31:i32, %11 | |
| %13:i32 = shl %9, %12 | |
| %14:i32 = phi %2, %13, %9 | |
| %15:i32 = shl %14, 3:i32 | |
| %16:i32 = or 67108864:i32, %15 | |
| %17 = block 3 | |
| %18 = block 2 | |
| %19:i32 = select %7, %3, %5 | |
| %20:i32 = and 8388607:i32, %19 | |
| %21:i32 = ctlz %20 | |
| %22:i32 = addnw 24:i32, %21 | |
| %23:i32 = and 31:i32, %22 | |
| %24:i32 = shl %20, %23 | |
| %25:i32 = phi %18, %24, %20 | |
| %26:i32 = shl %25, 3:i32 | |
| %27:i32 = or 67108864:i32, %26 | |
| %28:i32 = subnsw 9:i32, %10 | |
| %29:i32 = lshr %8, 23:i32 | |
| %30:i32 = and 255:i32, %29 | |
| %31:i32 = phi %2, %28, %30 | |
| %32:i32 = subnsw 9:i32, %21 | |
| %33:i32 = lshr %19, 23:i32 | |
| %34:i32 = and 255:i32, %33 | |
| %35:i32 = phi %18, %32, %34 | |
| %36:i32 = subnsw %31, %35 | |
| %37:i32 = lshr %27, %36 | |
| %38:i32 = subnw 32:i32, %36 | |
| %39:i32 = shl %27, %38 | |
| %40:i1 = ne 0:i32, %39 | |
| %41:i32 = zext %40 | |
| %42:i32 = or %37, %41 | |
| %43:i32 = phi %17, %42, %27, 1:i32 | |
| %44:i32 = sub %16, %43 | |
| %45:i32 = ctlz %44 | |
| %46:i32 = addnsw 4294967291:i32, %45 | |
| %47:i32 = and 31:i32, %46 | |
| %48:i32 = shl %44, %47 | |
| %49:i32 = add %43, %16 | |
| %50:i32 = and 1:i32, %49 | |
| %51:i32 = lshr %49, 1:i32 | |
| %52:i32 = or %50, %51 | |
| %53:i32 = phi %1, %48, %44, %52, %49 | |
| %54:i32 = subnsw %31, %46 | |
| %55:i32 = addnsw 1:i32, %31 | |
| %56:i32 = phi %1, %54, %31, %55, %31 | |
| %57:i32 = subnsw 1:i32, %56 | |
| %58:i32 = and 31:i32, %57 | |
| %59:i32 = lshr %53, %58 | |
| %60:i32 = addnsw 31:i32, %56 | |
| %61:i32 = and 31:i32, %60 | |
| %62:i32 = shl %53, %61 | |
| %63:i1 = ne 0:i32, %62 | |
| %64:i32 = zext %63 | |
| %65:i32 = or %59, %64 | |
| %66:i32 = phi %0, %65, %53 | |
| %67:i32 = and 7:i32, %66 (hasExternalUses) | |
| %68:i1 = ult 4:i32, %67 | |
| pc %68 0:i1 | |
| %69:i1 = eq 4:i32, %67 | |
| pc %69 1:i1 | |
| %70:i32 = lshr %66, 3:i32 | |
| %71:i32 = and 1:i32, %70 | |
| %72:i32 = and 2147483648:i32, %8 (hasExternalUses) | |
| %73:i32 = and 8388607:i32, %70 | |
| %74:i32 = phi %0, 0:i32, %56 | |
| %75:i32 = shlnw %74, 23:i32 | |
| %76:i32 = or %73, %75 | |
| %77:i32 = or %72, %76 (hasExternalUses) | |
| %78:i32 = add %71, %77 | |
| infer %78 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 4 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 2147483647:i32, %3 | |
| %5:i32 = var | |
| %6:i32 = and 2147483647:i32, %5 | |
| %7:i1 = ult %4, %6 | |
| %8:i32 = select %7, %5, %3 | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = addnw 24:i32, %10 | |
| %12:i32 = and 31:i32, %11 | |
| %13:i32 = shl %9, %12 | |
| %14:i32 = phi %2, %13, %9 | |
| %15:i32 = shl %14, 3:i32 | |
| %16:i32 = or 67108864:i32, %15 | |
| %17 = block 3 | |
| %18 = block 2 | |
| %19:i32 = select %7, %3, %5 | |
| %20:i32 = and 8388607:i32, %19 | |
| %21:i32 = ctlz %20 | |
| %22:i32 = addnw 24:i32, %21 | |
| %23:i32 = and 31:i32, %22 | |
| %24:i32 = shl %20, %23 | |
| %25:i32 = phi %18, %24, %20 | |
| %26:i32 = shl %25, 3:i32 | |
| %27:i32 = or 67108864:i32, %26 | |
| %28:i32 = subnsw 9:i32, %10 | |
| %29:i32 = lshr %8, 23:i32 | |
| %30:i32 = and 255:i32, %29 | |
| %31:i32 = phi %2, %28, %30 | |
| %32:i32 = subnsw 9:i32, %21 | |
| %33:i32 = lshr %19, 23:i32 | |
| %34:i32 = and 255:i32, %33 | |
| %35:i32 = phi %18, %32, %34 | |
| %36:i32 = subnsw %31, %35 | |
| %37:i32 = lshr %27, %36 | |
| %38:i32 = subnw 32:i32, %36 | |
| %39:i32 = shl %27, %38 | |
| %40:i1 = ne 0:i32, %39 | |
| %41:i32 = zext %40 | |
| %42:i32 = or %37, %41 | |
| %43:i32 = phi %17, %42, %27, 1:i32 | |
| %44:i32 = sub %16, %43 | |
| %45:i32 = ctlz %44 | |
| %46:i32 = addnsw 4294967291:i32, %45 | |
| %47:i32 = and 31:i32, %46 | |
| %48:i32 = shl %44, %47 | |
| %49:i32 = add %43, %16 | |
| %50:i32 = and 1:i32, %49 | |
| %51:i32 = lshr %49, 1:i32 | |
| %52:i32 = or %50, %51 | |
| %53:i32 = phi %1, %48, %44, %52, %49 | |
| %54:i32 = subnsw %31, %46 | |
| %55:i32 = addnsw 1:i32, %31 | |
| %56:i32 = phi %1, %54, %31, %55, %31 | |
| %57:i32 = subnsw 1:i32, %56 | |
| %58:i32 = and 31:i32, %57 | |
| %59:i32 = lshr %53, %58 | |
| %60:i32 = addnsw 31:i32, %56 | |
| %61:i32 = and 31:i32, %60 | |
| %62:i32 = shl %53, %61 | |
| %63:i1 = ne 0:i32, %62 | |
| %64:i32 = zext %63 | |
| %65:i32 = or %59, %64 | |
| %66:i32 = phi %0, %65, %53 | |
| %67:i32 = and 7:i32, %66 (hasExternalUses) | |
| %68:i1 = ult 4:i32, %67 | |
| pc %68 0:i1 | |
| %69:i1 = eq 4:i32, %67 | |
| pc %69 1:i1 | |
| %70:i32 = lshr %66, 3:i32 | |
| %71:i32 = and 1:i32, %70 | |
| %72:i32 = and 8388607:i32, %70 | |
| %73:i32 = and 2147483648:i32, %8 (hasExternalUses) | |
| %74:i32 = phi %0, 0:i32, %56 | |
| %75:i32 = shlnw %74, 23:i32 | |
| %76:i32 = or %73, %75 | |
| %77:i32 = or %72, %76 (hasExternalUses) | |
| %78:i32 = add %71, %77 | |
| infer %78 | |
| > | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 4 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 2147483647:i32, %3 | |
| %5:i32 = var | |
| %6:i32 = and 2147483647:i32, %5 | |
| %7:i1 = ult %4, %6 | |
| %8:i32 = select %7, %5, %3 | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = addnw 24:i32, %10 | |
| %12:i32 = and 31:i32, %11 | |
| %13:i32 = shl %9, %12 | |
| %14:i32 = phi %2, %13, %9 | |
| %15:i32 = shl %14, 3:i32 | |
| %16:i32 = or 67108864:i32, %15 | |
| %17 = block 3 | |
| %18 = block 2 | |
| %19:i32 = select %7, %3, %5 | |
| %20:i32 = and 8388607:i32, %19 | |
| %21:i32 = ctlz %20 | |
| %22:i32 = addnw 24:i32, %21 | |
| %23:i32 = and 31:i32, %22 | |
| %24:i32 = shl %20, %23 | |
| %25:i32 = phi %18, %24, %20 | |
| %26:i32 = shl %25, 3:i32 | |
| %27:i32 = or 67108864:i32, %26 | |
| %28:i32 = subnsw 9:i32, %10 | |
| %29:i32 = lshr %8, 23:i32 | |
| %30:i32 = and 255:i32, %29 | |
| %31:i32 = phi %2, %28, %30 | |
| %32:i32 = subnsw 9:i32, %21 | |
| %33:i32 = lshr %19, 23:i32 | |
| %34:i32 = and 255:i32, %33 | |
| %35:i32 = phi %18, %32, %34 | |
| %36:i32 = subnsw %31, %35 | |
| %37:i32 = lshr %27, %36 | |
| %38:i32 = subnw 32:i32, %36 | |
| %39:i32 = shl %27, %38 | |
| %40:i1 = ne 0:i32, %39 | |
| %41:i32 = zext %40 | |
| %42:i32 = or %37, %41 | |
| %43:i32 = phi %17, %42, %27, 1:i32 | |
| %44:i32 = sub %16, %43 | |
| %45:i32 = ctlz %44 | |
| %46:i32 = addnsw 4294967291:i32, %45 | |
| %47:i32 = and 31:i32, %46 | |
| %48:i32 = shl %44, %47 | |
| %49:i32 = add %43, %16 | |
| %50:i32 = and 1:i32, %49 | |
| %51:i32 = lshr %49, 1:i32 | |
| %52:i32 = or %50, %51 | |
| %53:i32 = phi %1, %48, %44, %52, %49 | |
| %54:i32 = subnsw %31, %46 | |
| %55:i32 = addnsw 1:i32, %31 | |
| %56:i32 = phi %1, %54, %31, %55, %31 | |
| %57:i32 = subnsw 1:i32, %56 | |
| %58:i32 = and 31:i32, %57 | |
| %59:i32 = lshr %53, %58 | |
| %60:i32 = addnsw 31:i32, %56 | |
| %61:i32 = and 31:i32, %60 | |
| %62:i32 = shl %53, %61 | |
| %63:i1 = ne 0:i32, %62 | |
| %64:i32 = zext %63 | |
| %65:i32 = or %59, %64 | |
| %66:i32 = phi %0, %65, %53 | |
| %67:i32 = and 7:i32, %66 (hasExternalUses) | |
| %68:i1 = ult 4:i32, %67 | |
| pc %68 0:i1 | |
| %69:i1 = eq 4:i32, %67 | |
| pc %69 1:i1 | |
| %70:i32 = lshr %66, 3:i32 (hasExternalUses) | |
| %71:i32 = and 1:i32, %70 | |
| infer %71 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 4 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 2147483647:i32, %3 | |
| %5:i32 = var | |
| %6:i32 = and 2147483647:i32, %5 | |
| %7:i1 = ult %4, %6 | |
| %8:i32 = select %7, %5, %3 | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = addnw 24:i32, %10 | |
| %12:i32 = and 31:i32, %11 | |
| %13:i32 = shl %9, %12 | |
| %14:i32 = phi %2, %13, %9 | |
| %15:i32 = shl %14, 3:i32 | |
| %16:i32 = or 67108864:i32, %15 | |
| %17 = block 3 | |
| %18 = block 2 | |
| %19:i32 = select %7, %3, %5 | |
| %20:i32 = and 8388607:i32, %19 | |
| %21:i32 = ctlz %20 | |
| %22:i32 = addnw 24:i32, %21 | |
| %23:i32 = and 31:i32, %22 | |
| %24:i32 = shl %20, %23 | |
| %25:i32 = phi %18, %24, %20 | |
| %26:i32 = shl %25, 3:i32 | |
| %27:i32 = or 67108864:i32, %26 | |
| %28:i32 = subnsw 9:i32, %10 | |
| %29:i32 = lshr %8, 23:i32 | |
| %30:i32 = and 255:i32, %29 | |
| %31:i32 = phi %2, %28, %30 | |
| %32:i32 = subnsw 9:i32, %21 | |
| %33:i32 = lshr %19, 23:i32 | |
| %34:i32 = and 255:i32, %33 | |
| %35:i32 = phi %18, %32, %34 | |
| %36:i32 = subnsw %31, %35 | |
| %37:i32 = lshr %27, %36 | |
| %38:i32 = subnw 32:i32, %36 | |
| %39:i32 = shl %27, %38 | |
| %40:i1 = ne 0:i32, %39 | |
| %41:i32 = zext %40 | |
| %42:i32 = or %37, %41 | |
| %43:i32 = phi %17, %42, %27, 1:i32 | |
| %44:i32 = sub %16, %43 | |
| %45:i32 = ctlz %44 | |
| %46:i32 = addnsw 4294967291:i32, %45 | |
| %47:i32 = and 31:i32, %46 | |
| %48:i32 = shl %44, %47 | |
| %49:i32 = add %43, %16 | |
| %50:i32 = and 1:i32, %49 | |
| %51:i32 = lshr %49, 1:i32 | |
| %52:i32 = or %50, %51 | |
| %53:i32 = phi %1, %48, %44, %52, %49 | |
| %54:i32 = subnsw %31, %46 | |
| %55:i32 = addnsw 1:i32, %31 | |
| %56:i32 = phi %1, %54, %31, %55, %31 | |
| %57:i32 = subnsw 1:i32, %56 | |
| %58:i32 = and 31:i32, %57 | |
| %59:i32 = lshr %53, %58 | |
| %60:i32 = addnsw 31:i32, %56 | |
| %61:i32 = and 31:i32, %60 | |
| %62:i32 = shl %53, %61 | |
| %63:i1 = ne 0:i32, %62 | |
| %64:i32 = zext %63 | |
| %65:i32 = or %59, %64 | |
| %66:i32 = phi %0, %65, %53 | |
| %67:i32 = and 7:i32, %66 (hasExternalUses) | |
| %68:i1 = ult 4:i32, %67 | |
| pc %68 1:i1 | |
| %69:i32 = and 2147483648:i32, %8 (hasExternalUses) | |
| %70:i32 = lshr %66, 3:i32 (hasExternalUses) | |
| %71:i32 = and 8388607:i32, %70 | |
| %72:i32 = phi %0, 0:i32, %56 | |
| %73:i32 = shlnw %72, 23:i32 | |
| %74:i32 = or %71, %73 | |
| %75:i32 = or %69, %74 (hasExternalUses) | |
| %76:i32 = add 1:i32, %75 | |
| infer %76 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 4 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 2147483647:i32, %3 | |
| %5:i32 = var | |
| %6:i32 = and 2147483647:i32, %5 | |
| %7:i1 = ult %4, %6 | |
| %8:i32 = select %7, %5, %3 | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = addnw 24:i32, %10 | |
| %12:i32 = and 31:i32, %11 | |
| %13:i32 = shl %9, %12 | |
| %14:i32 = phi %2, %13, %9 | |
| %15:i32 = shl %14, 3:i32 | |
| %16:i32 = or 67108864:i32, %15 | |
| %17 = block 3 | |
| %18 = block 2 | |
| %19:i32 = select %7, %3, %5 | |
| %20:i32 = and 8388607:i32, %19 | |
| %21:i32 = ctlz %20 | |
| %22:i32 = addnw 24:i32, %21 | |
| %23:i32 = and 31:i32, %22 | |
| %24:i32 = shl %20, %23 | |
| %25:i32 = phi %18, %24, %20 | |
| %26:i32 = shl %25, 3:i32 | |
| %27:i32 = or 67108864:i32, %26 | |
| %28:i32 = subnsw 9:i32, %10 | |
| %29:i32 = lshr %8, 23:i32 | |
| %30:i32 = and 255:i32, %29 | |
| %31:i32 = phi %2, %28, %30 | |
| %32:i32 = subnsw 9:i32, %21 | |
| %33:i32 = lshr %19, 23:i32 | |
| %34:i32 = and 255:i32, %33 | |
| %35:i32 = phi %18, %32, %34 | |
| %36:i32 = subnsw %31, %35 | |
| %37:i32 = lshr %27, %36 | |
| %38:i32 = subnw 32:i32, %36 | |
| %39:i32 = shl %27, %38 | |
| %40:i1 = ne 0:i32, %39 | |
| %41:i32 = zext %40 | |
| %42:i32 = or %37, %41 | |
| %43:i32 = phi %17, %42, %27, 1:i32 | |
| %44:i32 = sub %16, %43 | |
| %45:i32 = ctlz %44 | |
| %46:i32 = addnsw 4294967291:i32, %45 | |
| %47:i32 = and 31:i32, %46 | |
| %48:i32 = shl %44, %47 | |
| %49:i32 = add %43, %16 | |
| %50:i32 = and 1:i32, %49 | |
| %51:i32 = lshr %49, 1:i32 | |
| %52:i32 = or %50, %51 | |
| %53:i32 = phi %1, %48, %44, %52, %49 | |
| %54:i32 = subnsw %31, %46 | |
| %55:i32 = addnsw 1:i32, %31 | |
| %56:i32 = phi %1, %54, %31, %55, %31 | |
| %57:i32 = subnsw 1:i32, %56 | |
| %58:i32 = and 31:i32, %57 | |
| %59:i32 = lshr %53, %58 | |
| %60:i32 = addnsw 31:i32, %56 | |
| %61:i32 = and 31:i32, %60 | |
| %62:i32 = shl %53, %61 | |
| %63:i1 = ne 0:i32, %62 | |
| %64:i32 = zext %63 | |
| %65:i32 = or %59, %64 | |
| %66:i32 = phi %0, %65, %53 | |
| %67:i32 = and 7:i32, %66 (hasExternalUses) | |
| %68:i1 = ult 4:i32, %67 | |
| pc %68 1:i1 | |
| %69:i32 = lshr %66, 3:i32 (hasExternalUses) | |
| %70:i32 = and 8388607:i32, %69 | |
| %71:i32 = and 2147483648:i32, %8 (hasExternalUses) | |
| %72:i32 = phi %0, 0:i32, %56 | |
| %73:i32 = shlnw %72, 23:i32 | |
| %74:i32 = or %71, %73 | |
| %75:i32 = or %70, %74 (hasExternalUses) | |
| %76:i32 = add 1:i32, %75 | |
| infer %76 | |
| > | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 4 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 2147483647:i32, %3 | |
| %5:i32 = var | |
| %6:i32 = and 2147483647:i32, %5 | |
| %7:i1 = ult %4, %6 | |
| %8:i32 = select %7, %5, %3 | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = addnw 24:i32, %10 | |
| %12:i32 = and 31:i32, %11 | |
| %13:i32 = shl %9, %12 | |
| %14:i32 = phi %2, %13, %9 | |
| %15:i32 = shl %14, 3:i32 | |
| %16:i32 = or 67108864:i32, %15 | |
| %17 = block 3 | |
| %18 = block 2 | |
| %19:i32 = select %7, %3, %5 | |
| %20:i32 = and 8388607:i32, %19 | |
| %21:i32 = ctlz %20 | |
| %22:i32 = addnw 24:i32, %21 | |
| %23:i32 = and 31:i32, %22 | |
| %24:i32 = shl %20, %23 | |
| %25:i32 = phi %18, %24, %20 | |
| %26:i32 = shl %25, 3:i32 | |
| %27:i32 = or 67108864:i32, %26 | |
| %28:i32 = subnsw 9:i32, %10 | |
| %29:i32 = lshr %8, 23:i32 | |
| %30:i32 = and 255:i32, %29 | |
| %31:i32 = phi %2, %28, %30 | |
| %32:i32 = subnsw 9:i32, %21 | |
| %33:i32 = lshr %19, 23:i32 | |
| %34:i32 = and 255:i32, %33 | |
| %35:i32 = phi %18, %32, %34 | |
| %36:i32 = subnsw %31, %35 | |
| %37:i32 = lshr %27, %36 | |
| %38:i32 = subnw 32:i32, %36 | |
| %39:i32 = shl %27, %38 | |
| %40:i1 = ne 0:i32, %39 | |
| %41:i32 = zext %40 | |
| %42:i32 = or %37, %41 | |
| %43:i32 = phi %17, %42, %27, 1:i32 | |
| %44:i32 = sub %16, %43 | |
| %45:i32 = ctlz %44 | |
| %46:i32 = addnsw 4294967291:i32, %45 | |
| %47:i32 = and 31:i32, %46 | |
| %48:i32 = shl %44, %47 | |
| %49:i32 = add %43, %16 | |
| %50:i32 = and 1:i32, %49 | |
| %51:i32 = lshr %49, 1:i32 | |
| %52:i32 = or %50, %51 | |
| %53:i32 = phi %1, %48, %44, %52, %49 | |
| %54:i32 = subnsw %31, %46 | |
| %55:i32 = addnsw 1:i32, %31 | |
| %56:i32 = phi %1, %54, %31, %55, %31 | |
| %57:i32 = subnsw 1:i32, %56 | |
| %58:i32 = and 31:i32, %57 | |
| %59:i32 = lshr %53, %58 | |
| %60:i32 = addnsw 31:i32, %56 | |
| %61:i32 = and 31:i32, %60 | |
| %62:i32 = shl %53, %61 | |
| %63:i1 = ne 0:i32, %62 | |
| %64:i32 = zext %63 | |
| %65:i32 = or %59, %64 | |
| %66:i32 = phi %0, %65, %53 | |
| %67:i32 = lshr %66, 3:i32 | |
| infer %67 (demandedBits=00000000011111111111111111111111) | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 4 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 2147483647:i32, %3 | |
| %5:i32 = var | |
| %6:i32 = and 2147483647:i32, %5 | |
| %7:i1 = ult %4, %6 | |
| %8:i32 = select %7, %5, %3 | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = addnw 24:i32, %10 | |
| %12:i32 = and 31:i32, %11 | |
| %13:i32 = shl %9, %12 | |
| %14:i32 = phi %2, %13, %9 | |
| %15:i32 = shl %14, 3:i32 | |
| %16:i32 = or 67108864:i32, %15 | |
| %17 = block 3 | |
| %18 = block 2 | |
| %19:i32 = select %7, %3, %5 | |
| %20:i32 = and 8388607:i32, %19 | |
| %21:i32 = ctlz %20 | |
| %22:i32 = addnw 24:i32, %21 | |
| %23:i32 = and 31:i32, %22 | |
| %24:i32 = shl %20, %23 | |
| %25:i32 = phi %18, %24, %20 | |
| %26:i32 = shl %25, 3:i32 | |
| %27:i32 = or 67108864:i32, %26 | |
| %28:i32 = subnsw 9:i32, %10 | |
| %29:i32 = lshr %8, 23:i32 | |
| %30:i32 = and 255:i32, %29 | |
| %31:i32 = phi %2, %28, %30 | |
| %32:i32 = subnsw 9:i32, %21 | |
| %33:i32 = lshr %19, 23:i32 | |
| %34:i32 = and 255:i32, %33 | |
| %35:i32 = phi %18, %32, %34 | |
| %36:i32 = subnsw %31, %35 | |
| %37:i32 = lshr %27, %36 | |
| %38:i32 = subnw 32:i32, %36 | |
| %39:i32 = shl %27, %38 | |
| %40:i1 = ne 0:i32, %39 | |
| %41:i32 = zext %40 | |
| %42:i32 = or %37, %41 | |
| %43:i32 = phi %17, %42, %27, 1:i32 | |
| %44:i32 = sub %16, %43 | |
| %45:i32 = ctlz %44 | |
| %46:i32 = addnsw 4294967291:i32, %45 | |
| %47:i32 = and 31:i32, %46 | |
| %48:i32 = shl %44, %47 | |
| %49:i32 = add %43, %16 | |
| %50:i32 = and 1:i32, %49 | |
| %51:i32 = lshr %49, 1:i32 | |
| %52:i32 = or %50, %51 | |
| %53:i32 = phi %1, %48, %44, %52, %49 | |
| %54:i32 = subnsw %31, %46 | |
| %55:i32 = addnsw 1:i32, %31 | |
| %56:i32 = phi %1, %54, %31, %55, %31 | |
| %57:i32 = subnsw 1:i32, %56 | |
| %58:i32 = and 31:i32, %57 | |
| %59:i32 = lshr %53, %58 | |
| %60:i32 = addnsw 31:i32, %56 | |
| %61:i32 = and 31:i32, %60 | |
| %62:i32 = shl %53, %61 | |
| %63:i1 = ne 0:i32, %62 | |
| %64:i32 = zext %63 | |
| %65:i32 = or %59, %64 | |
| %66:i32 = phi %0, %65, %53 | |
| %67:i32 = lshr %66, 3:i32 (hasExternalUses) | |
| %68:i32 = and 8388607:i32, %67 | |
| %69:i32 = phi %0, 0:i32, %56 | |
| %70:i32 = shlnw %69, 23:i32 | |
| %71:i32 = or %68, %70 | |
| infer %71 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 4 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 2147483647:i32, %3 | |
| %5:i32 = var | |
| %6:i32 = and 2147483647:i32, %5 | |
| %7:i1 = ult %4, %6 | |
| %8:i32 = select %7, %5, %3 | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = addnw 24:i32, %10 | |
| %12:i32 = and 31:i32, %11 | |
| %13:i32 = shl %9, %12 | |
| %14:i32 = phi %2, %13, %9 | |
| %15:i32 = shl %14, 3:i32 | |
| %16:i32 = or 67108864:i32, %15 | |
| %17 = block 3 | |
| %18 = block 2 | |
| %19:i32 = select %7, %3, %5 | |
| %20:i32 = and 8388607:i32, %19 | |
| %21:i32 = ctlz %20 | |
| %22:i32 = addnw 24:i32, %21 | |
| %23:i32 = and 31:i32, %22 | |
| %24:i32 = shl %20, %23 | |
| %25:i32 = phi %18, %24, %20 | |
| %26:i32 = shl %25, 3:i32 | |
| %27:i32 = or 67108864:i32, %26 | |
| %28:i32 = subnsw 9:i32, %10 | |
| %29:i32 = lshr %8, 23:i32 | |
| %30:i32 = and 255:i32, %29 | |
| %31:i32 = phi %2, %28, %30 | |
| %32:i32 = subnsw 9:i32, %21 | |
| %33:i32 = lshr %19, 23:i32 | |
| %34:i32 = and 255:i32, %33 | |
| %35:i32 = phi %18, %32, %34 | |
| %36:i32 = subnsw %31, %35 | |
| %37:i32 = lshr %27, %36 | |
| %38:i32 = subnw 32:i32, %36 | |
| %39:i32 = shl %27, %38 | |
| %40:i1 = ne 0:i32, %39 | |
| %41:i32 = zext %40 | |
| %42:i32 = or %37, %41 | |
| %43:i32 = phi %17, %42, %27, 1:i32 | |
| %44:i32 = sub %16, %43 | |
| %45:i32 = ctlz %44 | |
| %46:i32 = addnsw 4294967291:i32, %45 | |
| %47:i32 = and 31:i32, %46 | |
| %48:i32 = shl %44, %47 | |
| %49:i32 = add %43, %16 | |
| %50:i32 = and 1:i32, %49 | |
| %51:i32 = lshr %49, 1:i32 | |
| %52:i32 = or %50, %51 | |
| %53:i32 = phi %1, %48, %44, %52, %49 | |
| %54:i32 = subnsw %31, %46 | |
| %55:i32 = addnsw 1:i32, %31 | |
| %56:i32 = phi %1, %54, %31, %55, %31 | |
| %57:i32 = subnsw 1:i32, %56 | |
| %58:i32 = and 31:i32, %57 | |
| %59:i32 = lshr %53, %58 | |
| %60:i32 = addnsw 31:i32, %56 | |
| %61:i32 = and 31:i32, %60 | |
| %62:i32 = shl %53, %61 | |
| %63:i1 = ne 0:i32, %62 | |
| %64:i32 = zext %63 | |
| %65:i32 = or %59, %64 | |
| %66:i32 = phi %0, %65, %53 | |
| %67:i32 = lshr %66, 3:i32 (hasExternalUses) | |
| %68:i32 = and 8388607:i32, %67 | |
| infer %68 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 4 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 2147483647:i32, %3 | |
| %5:i32 = var | |
| %6:i32 = and 2147483647:i32, %5 | |
| %7:i1 = ult %4, %6 | |
| %8:i32 = select %7, %5, %3 | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = addnw 24:i32, %10 | |
| %12:i32 = and 31:i32, %11 | |
| %13:i32 = shl %9, %12 | |
| %14:i32 = phi %2, %13, %9 | |
| %15:i32 = shl %14, 3:i32 | |
| %16:i32 = or 67108864:i32, %15 | |
| %17 = block 3 | |
| %18 = block 2 | |
| %19:i32 = select %7, %3, %5 | |
| %20:i32 = and 8388607:i32, %19 | |
| %21:i32 = ctlz %20 | |
| %22:i32 = addnw 24:i32, %21 | |
| %23:i32 = and 31:i32, %22 | |
| %24:i32 = shl %20, %23 | |
| %25:i32 = phi %18, %24, %20 | |
| %26:i32 = shl %25, 3:i32 | |
| %27:i32 = or 67108864:i32, %26 | |
| %28:i32 = subnsw 9:i32, %10 | |
| %29:i32 = lshr %8, 23:i32 | |
| %30:i32 = and 255:i32, %29 | |
| %31:i32 = phi %2, %28, %30 | |
| %32:i32 = subnsw 9:i32, %21 | |
| %33:i32 = lshr %19, 23:i32 | |
| %34:i32 = and 255:i32, %33 | |
| %35:i32 = phi %18, %32, %34 | |
| %36:i32 = subnsw %31, %35 | |
| %37:i32 = lshr %27, %36 | |
| %38:i32 = subnw 32:i32, %36 | |
| %39:i32 = shl %27, %38 | |
| %40:i1 = ne 0:i32, %39 | |
| %41:i32 = zext %40 | |
| %42:i32 = or %37, %41 | |
| %43:i32 = phi %17, %42, %27, 1:i32 | |
| %44:i32 = sub %16, %43 | |
| %45:i32 = ctlz %44 | |
| %46:i32 = addnsw 4294967291:i32, %45 | |
| %47:i32 = and 31:i32, %46 | |
| %48:i32 = shl %44, %47 | |
| %49:i32 = add %43, %16 | |
| %50:i32 = and 1:i32, %49 | |
| %51:i32 = lshr %49, 1:i32 | |
| %52:i32 = or %50, %51 | |
| %53:i32 = phi %1, %48, %44, %52, %49 | |
| %54:i32 = subnsw %31, %46 | |
| %55:i32 = addnsw 1:i32, %31 | |
| %56:i32 = phi %1, %54, %31, %55, %31 | |
| %57:i32 = subnsw 1:i32, %56 | |
| %58:i32 = and 31:i32, %57 | |
| %59:i32 = lshr %53, %58 | |
| %60:i32 = addnsw 31:i32, %56 | |
| %61:i32 = and 31:i32, %60 | |
| %62:i32 = shl %53, %61 | |
| %63:i1 = ne 0:i32, %62 | |
| %64:i32 = zext %63 | |
| %65:i32 = or %59, %64 | |
| %66:i32 = phi %0, %65, %53 | |
| infer %66 (demandedBits=00000011111111111111111111111111) | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 4 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 2147483647:i32, %3 | |
| %5:i32 = var | |
| %6:i32 = and 2147483647:i32, %5 | |
| %7:i1 = ult %4, %6 | |
| %8:i32 = select %7, %5, %3 | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = subnsw 9:i32, %10 | |
| %12:i32 = lshr %8, 23:i32 | |
| %13:i32 = and 255:i32, %12 | |
| %14:i32 = phi %2, %11, %13 | |
| %15:i32 = addnw 24:i32, %10 | |
| %16:i32 = and 31:i32, %15 | |
| %17:i32 = shl %9, %16 | |
| %18:i32 = phi %2, %17, %9 | |
| %19:i32 = shl %18, 3:i32 | |
| %20:i32 = or 67108864:i32, %19 | |
| %21 = block 3 | |
| %22 = block 2 | |
| %23:i32 = select %7, %3, %5 | |
| %24:i32 = and 8388607:i32, %23 | |
| %25:i32 = ctlz %24 | |
| %26:i32 = addnw 24:i32, %25 | |
| %27:i32 = and 31:i32, %26 | |
| %28:i32 = shl %24, %27 | |
| %29:i32 = phi %22, %28, %24 | |
| %30:i32 = shl %29, 3:i32 | |
| %31:i32 = or 67108864:i32, %30 | |
| %32:i32 = subnsw 9:i32, %25 | |
| %33:i32 = lshr %23, 23:i32 | |
| %34:i32 = and 255:i32, %33 | |
| %35:i32 = phi %22, %32, %34 | |
| %36:i32 = subnsw %14, %35 | |
| %37:i32 = lshr %31, %36 | |
| %38:i32 = subnw 32:i32, %36 | |
| %39:i32 = shl %31, %38 | |
| %40:i1 = ne 0:i32, %39 | |
| %41:i32 = zext %40 | |
| %42:i32 = or %37, %41 | |
| %43:i32 = phi %21, %42, %31, 1:i32 | |
| %44:i32 = sub %20, %43 | |
| %45:i32 = ctlz %44 | |
| %46:i32 = addnsw 4294967291:i32, %45 | |
| %47:i32 = subnsw %14, %46 | |
| %48:i32 = addnsw 1:i32, %14 | |
| %49:i32 = phi %1, %47, %14, %48, %14 | |
| %50:i32 = phi %0, 0:i32, %49 | |
| %51:i32 = shlnw %50, 23:i32 | |
| infer %51 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 4 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 2147483647:i32, %3 | |
| %5:i32 = var | |
| %6:i32 = and 2147483647:i32, %5 | |
| %7:i1 = ult %4, %6 | |
| %8:i32 = select %7, %5, %3 | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = subnsw 9:i32, %10 | |
| %12:i32 = lshr %8, 23:i32 | |
| %13:i32 = and 255:i32, %12 | |
| %14:i32 = phi %2, %11, %13 | |
| %15:i32 = addnw 24:i32, %10 | |
| %16:i32 = and 31:i32, %15 | |
| %17:i32 = shl %9, %16 | |
| %18:i32 = phi %2, %17, %9 | |
| %19:i32 = shl %18, 3:i32 | |
| %20:i32 = or 67108864:i32, %19 | |
| %21 = block 3 | |
| %22 = block 2 | |
| %23:i32 = select %7, %3, %5 | |
| %24:i32 = and 8388607:i32, %23 | |
| %25:i32 = ctlz %24 | |
| %26:i32 = addnw 24:i32, %25 | |
| %27:i32 = and 31:i32, %26 | |
| %28:i32 = shl %24, %27 | |
| %29:i32 = phi %22, %28, %24 | |
| %30:i32 = shl %29, 3:i32 | |
| %31:i32 = or 67108864:i32, %30 | |
| %32:i32 = subnsw 9:i32, %25 | |
| %33:i32 = lshr %23, 23:i32 | |
| %34:i32 = and 255:i32, %33 | |
| %35:i32 = phi %22, %32, %34 | |
| %36:i32 = subnsw %14, %35 | |
| %37:i32 = lshr %31, %36 | |
| %38:i32 = subnw 32:i32, %36 | |
| %39:i32 = shl %31, %38 | |
| %40:i1 = ne 0:i32, %39 | |
| %41:i32 = zext %40 | |
| %42:i32 = or %37, %41 | |
| %43:i32 = phi %21, %42, %31, 1:i32 | |
| %44:i32 = sub %20, %43 | |
| %45:i32 = ctlz %44 | |
| %46:i32 = addnsw 4294967291:i32, %45 | |
| %47:i32 = subnsw %14, %46 | |
| %48:i32 = addnsw 1:i32, %14 | |
| %49:i32 = phi %1, %47, %14, %48, %14 | |
| %50:i32 = phi %0, 0:i32, %49 | |
| infer %50 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 4 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = and 2147483647:i32, %3 (hasExternalUses) | |
| %5:i32 = var | |
| %6:i32 = and 2147483647:i32, %5 (hasExternalUses) | |
| %7:i1 = ult %4, %6 (hasExternalUses) | |
| %8:i32 = select %7, %5, %3 (hasExternalUses) | |
| %9:i32 = and 8388607:i32, %8 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = addnw 24:i32, %10 | |
| %12:i32 = and 31:i32, %11 | |
| %13:i32 = shl %9, %12 | |
| %14:i32 = phi %2, %13, %9 | |
| %15:i32 = shl %14, 3:i32 | |
| %16:i32 = or 67108864:i32, %15 | |
| %17 = block 3 | |
| %18 = block 2 | |
| %19:i32 = select %7, %3, %5 | |
| %20:i32 = and 8388607:i32, %19 | |
| %21:i32 = ctlz %20 | |
| %22:i32 = addnw 24:i32, %21 | |
| %23:i32 = and 31:i32, %22 | |
| %24:i32 = shl %20, %23 | |
| %25:i32 = phi %18, %24, %20 | |
| %26:i32 = shl %25, 3:i32 | |
| %27:i32 = or 67108864:i32, %26 | |
| %28:i32 = subnsw 9:i32, %10 | |
| %29:i32 = lshr %8, 23:i32 | |
| %30:i32 = and 255:i32, %29 | |
| %31:i32 = phi %2, %28, %30 | |
| %32:i32 = subnsw 9:i32, %21 | |
| %33:i32 = lshr %19, 23:i32 | |
| %34:i32 = and 255:i32, %33 | |
| %35:i32 = phi %18, %32, %34 | |
| %36:i32 = subnsw %31, %35 | |
| %37:i32 = lshr %27, %36 | |
| %38:i32 = subnw 32:i32, %36 | |
| %39:i32 = shl %27, %38 | |
| %40:i1 = ne 0:i32, %39 | |
| %41:i32 = zext %40 | |
| %42:i32 = or %37, %41 | |
| %43:i32 = phi %17, %42, %27, 1:i32 | |
| %44:i32 = sub %16, %43 | |
| %45:i32 = ctlz %44 | |
| %46:i32 = addnsw 4294967291:i32, %45 | |
| %47:i32 = and 31:i32, %46 | |
| %48:i32 = shl %44, %47 | |
| %49:i32 = add %43, %16 | |
| %50:i32 = and 1:i32, %49 | |
| %51:i32 = lshr %49, 1:i32 | |
| %52:i32 = or %50, %51 | |
| %53:i32 = phi %1, %48, %44, %52, %49 | |
| %54:i32 = subnsw %31, %46 | |
| %55:i32 = addnsw 1:i32, %31 | |
| %56:i32 = phi %1, %54, %31, %55, %31 | |
| %57:i32 = subnsw 1:i32, %56 | |
| %58:i32 = and 31:i32, %57 | |
| %59:i32 = lshr %53, %58 | |
| %60:i32 = addnsw 31:i32, %56 | |
| %61:i32 = and 31:i32, %60 | |
| %62:i32 = shl %53, %61 | |
| %63:i1 = ne 0:i32, %62 | |
| %64:i32 = zext %63 | |
| %65:i32 = or %59, %64 | |
| %66:i32 = phi %0, %65, %53 | |
| %67:i32 = lshr %66, 3:i32 (hasExternalUses) | |
| %68:i32 = and 8388607:i32, %67 | |
| %69:i32 = and 2147483648:i32, %8 (hasExternalUses) | |
| %70:i32 = phi %0, 0:i32, %56 | |
| %71:i32 = shlnw %70, 23:i32 | |
| %72:i32 = or %69, %71 | |
| %73:i32 = or %68, %72 | |
| infer %73 | |
| > | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 4 | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = var | |
| %5:i32 = phi %2, %3, %4 | |
| %6:i32 = var | |
| %7:i32 = var | |
| %8:i32 = sub %6, %7 | |
| %9:i32 = sub %5, %8 | |
| %10:i32 = add 1:i32, %5 | |
| %11:i32 = phi %1, %9, %5, %10, %5 | |
| %12:i32 = phi %0, 0:i32, %11 | |
| infer %12 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 4 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 9223372036854775807:i64, %3 | |
| %5:i64 = var | |
| %6:i64 = and 9223372036854775807:i64, %5 | |
| %7:i1 = ult %4, %6 | |
| %8:i64 = select %7, %5, %3 | |
| %9:i64 = and 4503599627370495:i64, %8 | |
| %10:i64 = ctlz %9 | |
| %11:i32 = trunc %10 | |
| %12:i32 = subnsw 12:i32, %11 | |
| %13:i64 = lshr %8, 52:i64 | |
| %14:i32 = trunc %13 | |
| %15:i32 = and 2047:i32, %14 | |
| %16:i32 = phi %2, %12, %15 | |
| %17:i64 = addnw 53:i64, %10 | |
| %18:i64 = and 63:i64, %17 | |
| %19:i64 = shl %9, %18 | |
| %20:i64 = phi %2, %19, %9 | |
| %21:i64 = shl %20, 3:i64 | |
| %22:i64 = or 36028797018963968:i64, %21 | |
| %23 = block 3 | |
| %24 = block 2 | |
| %25:i64 = select %7, %3, %5 | |
| %26:i64 = and 4503599627370495:i64, %25 | |
| %27:i64 = ctlz %26 | |
| %28:i64 = addnw 53:i64, %27 | |
| %29:i64 = and 63:i64, %28 | |
| %30:i64 = shl %26, %29 | |
| %31:i64 = phi %24, %30, %26 | |
| %32:i64 = shl %31, 3:i64 | |
| %33:i64 = or 36028797018963968:i64, %32 | |
| %34:i32 = trunc %27 | |
| %35:i32 = subnsw 12:i32, %34 | |
| %36:i64 = lshr %25, 52:i64 | |
| %37:i32 = trunc %36 | |
| %38:i32 = and 2047:i32, %37 | |
| %39:i32 = phi %24, %35, %38 | |
| %40:i32 = subnsw %16, %39 | |
| %41:i64 = zext %40 | |
| %42:i64 = lshr %33, %41 | |
| %43:i32 = subnsw 0:i32, %40 | |
| %44:i32 = and 63:i32, %43 | |
| %45:i64 = zext %44 | |
| %46:i64 = shl %33, %45 | |
| %47:i1 = ne 0:i64, %46 | |
| %48:i64 = zext %47 | |
| %49:i64 = or %42, %48 | |
| %50:i64 = phi %23, %49, %33, 1:i64 | |
| %51:i64 = sub %22, %50 | |
| %52:i64 = ctlz %51 | |
| %53:i32 = trunc %52 | |
| %54:i32 = addnsw 4294967288:i32, %53 | |
| %55:i32 = subnsw %16, %54 | |
| %56:i32 = addnsw 1:i32, %16 | |
| %57:i32 = phi %1, %55, %16, %56, %16 | |
| %58:i32 = phi %0, 0:i32, %57 | |
| %59:i64 = zext %58 | |
| %60:i64 = shlnw %59, 52:i64 | |
| infer %60 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 4 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 9223372036854775807:i64, %3 | |
| %5:i64 = var | |
| %6:i64 = and 9223372036854775807:i64, %5 | |
| %7:i1 = ult %4, %6 | |
| %8:i64 = select %7, %5, %3 | |
| %9:i64 = and 4503599627370495:i64, %8 | |
| %10:i64 = ctlz %9 | |
| %11:i32 = trunc %10 | |
| %12:i32 = subnsw 12:i32, %11 | |
| %13:i64 = lshr %8, 52:i64 | |
| %14:i32 = trunc %13 | |
| %15:i32 = and 2047:i32, %14 | |
| %16:i32 = phi %2, %12, %15 | |
| %17:i64 = addnw 53:i64, %10 | |
| %18:i64 = and 63:i64, %17 | |
| %19:i64 = shl %9, %18 | |
| %20:i64 = phi %2, %19, %9 | |
| %21:i64 = shl %20, 3:i64 | |
| %22:i64 = or 36028797018963968:i64, %21 | |
| %23 = block 3 | |
| %24 = block 2 | |
| %25:i64 = select %7, %3, %5 | |
| %26:i64 = and 4503599627370495:i64, %25 | |
| %27:i64 = ctlz %26 | |
| %28:i64 = addnw 53:i64, %27 | |
| %29:i64 = and 63:i64, %28 | |
| %30:i64 = shl %26, %29 | |
| %31:i64 = phi %24, %30, %26 | |
| %32:i64 = shl %31, 3:i64 | |
| %33:i64 = or 36028797018963968:i64, %32 | |
| %34:i32 = trunc %27 | |
| %35:i32 = subnsw 12:i32, %34 | |
| %36:i64 = lshr %25, 52:i64 | |
| %37:i32 = trunc %36 | |
| %38:i32 = and 2047:i32, %37 | |
| %39:i32 = phi %24, %35, %38 | |
| %40:i32 = subnsw %16, %39 | |
| %41:i64 = zext %40 | |
| %42:i64 = lshr %33, %41 | |
| %43:i32 = subnsw 0:i32, %40 | |
| %44:i32 = and 63:i32, %43 | |
| %45:i64 = zext %44 | |
| %46:i64 = shl %33, %45 | |
| %47:i1 = ne 0:i64, %46 | |
| %48:i64 = zext %47 | |
| %49:i64 = or %42, %48 | |
| %50:i64 = phi %23, %49, %33, 1:i64 | |
| %51:i64 = sub %22, %50 | |
| %52:i64 = ctlz %51 | |
| %53:i32 = trunc %52 | |
| %54:i32 = addnsw 4294967288:i32, %53 | |
| %55:i32 = subnsw %16, %54 | |
| %56:i32 = addnsw 1:i32, %16 | |
| %57:i32 = phi %1, %55, %16, %56, %16 | |
| %58:i32 = phi %0, 0:i32, %57 | |
| %59:i64 = zext %58 | |
| infer %59 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 4 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 9223372036854775807:i64, %3 | |
| %5:i64 = var | |
| %6:i64 = and 9223372036854775807:i64, %5 | |
| %7:i1 = ult %4, %6 | |
| %8:i64 = select %7, %5, %3 | |
| %9:i64 = and 4503599627370495:i64, %8 | |
| %10:i64 = ctlz %9 | |
| %11:i32 = trunc %10 | |
| %12:i32 = subnsw 12:i32, %11 | |
| %13:i64 = lshr %8, 52:i64 | |
| %14:i32 = trunc %13 | |
| %15:i32 = and 2047:i32, %14 | |
| %16:i32 = phi %2, %12, %15 | |
| %17:i64 = addnw 53:i64, %10 | |
| %18:i64 = and 63:i64, %17 | |
| %19:i64 = shl %9, %18 | |
| %20:i64 = phi %2, %19, %9 | |
| %21:i64 = shl %20, 3:i64 | |
| %22:i64 = or 36028797018963968:i64, %21 | |
| %23 = block 3 | |
| %24 = block 2 | |
| %25:i64 = select %7, %3, %5 | |
| %26:i64 = and 4503599627370495:i64, %25 | |
| %27:i64 = ctlz %26 | |
| %28:i64 = addnw 53:i64, %27 | |
| %29:i64 = and 63:i64, %28 | |
| %30:i64 = shl %26, %29 | |
| %31:i64 = phi %24, %30, %26 | |
| %32:i64 = shl %31, 3:i64 | |
| %33:i64 = or 36028797018963968:i64, %32 | |
| %34:i32 = trunc %27 | |
| %35:i32 = subnsw 12:i32, %34 | |
| %36:i64 = lshr %25, 52:i64 | |
| %37:i32 = trunc %36 | |
| %38:i32 = and 2047:i32, %37 | |
| %39:i32 = phi %24, %35, %38 | |
| %40:i32 = subnsw %16, %39 | |
| %41:i64 = zext %40 | |
| %42:i64 = lshr %33, %41 | |
| %43:i32 = subnsw 0:i32, %40 | |
| %44:i32 = and 63:i32, %43 | |
| %45:i64 = zext %44 | |
| %46:i64 = shl %33, %45 | |
| %47:i1 = ne 0:i64, %46 | |
| %48:i64 = zext %47 | |
| %49:i64 = or %42, %48 | |
| %50:i64 = phi %23, %49, %33, 1:i64 | |
| %51:i64 = sub %22, %50 | |
| %52:i64 = ctlz %51 | |
| %53:i32 = trunc %52 | |
| %54:i32 = addnsw 4294967288:i32, %53 | |
| %55:i32 = subnsw %16, %54 | |
| %56:i32 = addnsw 1:i32, %16 | |
| %57:i32 = phi %1, %55, %16, %56, %16 | |
| %58:i32 = phi %0, 0:i32, %57 | |
| infer %58 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 4 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 9223372036854775807:i64, %3 | |
| %5:i64 = var | |
| %6:i64 = and 9223372036854775807:i64, %5 | |
| %7:i1 = ult %4, %6 | |
| %8:i64 = select %7, %5, %3 | |
| %9:i64 = and 4503599627370495:i64, %8 | |
| %10:i64 = ctlz %9 | |
| %11:i64 = addnw 53:i64, %10 | |
| %12:i64 = and 63:i64, %11 | |
| %13:i64 = shl %9, %12 | |
| %14:i64 = phi %2, %13, %9 | |
| %15:i64 = shl %14, 3:i64 | |
| %16:i64 = or 36028797018963968:i64, %15 | |
| %17 = block 3 | |
| %18 = block 2 | |
| %19:i64 = select %7, %3, %5 | |
| %20:i64 = and 4503599627370495:i64, %19 | |
| %21:i64 = ctlz %20 | |
| %22:i64 = addnw 53:i64, %21 | |
| %23:i64 = and 63:i64, %22 | |
| %24:i64 = shl %20, %23 | |
| %25:i64 = phi %18, %24, %20 | |
| %26:i64 = shl %25, 3:i64 | |
| %27:i64 = or 36028797018963968:i64, %26 | |
| %28:i32 = trunc %10 | |
| %29:i32 = subnsw 12:i32, %28 | |
| %30:i64 = lshr %8, 52:i64 | |
| %31:i32 = trunc %30 | |
| %32:i32 = and 2047:i32, %31 | |
| %33:i32 = phi %2, %29, %32 | |
| %34:i32 = trunc %21 | |
| %35:i32 = subnsw 12:i32, %34 | |
| %36:i64 = lshr %19, 52:i64 | |
| %37:i32 = trunc %36 | |
| %38:i32 = and 2047:i32, %37 | |
| %39:i32 = phi %18, %35, %38 | |
| %40:i32 = subnsw %33, %39 | |
| %41:i64 = zext %40 | |
| %42:i64 = lshr %27, %41 | |
| %43:i32 = subnsw 0:i32, %40 | |
| %44:i32 = and 63:i32, %43 | |
| %45:i64 = zext %44 | |
| %46:i64 = shl %27, %45 | |
| %47:i1 = ne 0:i64, %46 | |
| %48:i64 = zext %47 | |
| %49:i64 = or %42, %48 | |
| %50:i64 = phi %17, %49, %27, 1:i64 | |
| %51:i64 = sub %16, %50 | |
| %52:i64 = ctlz %51 | |
| %53:i32 = trunc %52 | |
| %54:i32 = addnsw 4294967288:i32, %53 | |
| %55:i32 = and 63:i32, %54 | |
| %56:i64 = zext %55 | |
| %57:i64 = shl %51, %56 | |
| %58:i64 = add %50, %16 | |
| %59:i64 = and 1:i64, %58 | |
| %60:i64 = lshr %58, 1:i64 | |
| %61:i64 = or %59, %60 | |
| %62:i64 = phi %1, %57, %51, %61, %58 | |
| %63:i32 = subnsw %33, %54 | |
| %64:i32 = addnsw 1:i32, %33 | |
| %65:i32 = phi %1, %63, %33, %64, %33 | |
| %66:i32 = subnsw 1:i32, %65 | |
| %67:i32 = and 63:i32, %66 | |
| %68:i64 = zext %67 | |
| %69:i64 = lshr %62, %68 | |
| %70:i32 = addnsw 63:i32, %65 | |
| %71:i32 = and 63:i32, %70 | |
| %72:i64 = zext %71 | |
| %73:i64 = shl %62, %72 | |
| %74:i1 = ne 0:i64, %73 | |
| %75:i64 = zext %74 | |
| %76:i64 = or %69, %75 | |
| %77:i64 = phi %0, %76, %62 | |
| %78:i32 = trunc %77 | |
| %79:i32 = and 7:i32, %78 | |
| infer %79 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 4 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 9223372036854775807:i64, %3 | |
| %5:i64 = var | |
| %6:i64 = and 9223372036854775807:i64, %5 | |
| %7:i1 = ult %4, %6 | |
| %8:i64 = select %7, %5, %3 | |
| %9:i64 = and 4503599627370495:i64, %8 | |
| %10:i64 = ctlz %9 | |
| %11:i64 = addnw 53:i64, %10 | |
| %12:i64 = and 63:i64, %11 | |
| %13:i64 = shl %9, %12 | |
| %14:i64 = phi %2, %13, %9 | |
| %15:i64 = shl %14, 3:i64 | |
| %16:i64 = or 36028797018963968:i64, %15 | |
| %17 = block 3 | |
| %18 = block 2 | |
| %19:i64 = select %7, %3, %5 | |
| %20:i64 = and 4503599627370495:i64, %19 | |
| %21:i64 = ctlz %20 | |
| %22:i64 = addnw 53:i64, %21 | |
| %23:i64 = and 63:i64, %22 | |
| %24:i64 = shl %20, %23 | |
| %25:i64 = phi %18, %24, %20 | |
| %26:i64 = shl %25, 3:i64 | |
| %27:i64 = or 36028797018963968:i64, %26 | |
| %28:i32 = trunc %10 | |
| %29:i32 = subnsw 12:i32, %28 | |
| %30:i64 = lshr %8, 52:i64 | |
| %31:i32 = trunc %30 | |
| %32:i32 = and 2047:i32, %31 | |
| %33:i32 = phi %2, %29, %32 | |
| %34:i32 = trunc %21 | |
| %35:i32 = subnsw 12:i32, %34 | |
| %36:i64 = lshr %19, 52:i64 | |
| %37:i32 = trunc %36 | |
| %38:i32 = and 2047:i32, %37 | |
| %39:i32 = phi %18, %35, %38 | |
| %40:i32 = subnsw %33, %39 | |
| %41:i64 = zext %40 | |
| %42:i64 = lshr %27, %41 | |
| %43:i32 = subnsw 0:i32, %40 | |
| %44:i32 = and 63:i32, %43 | |
| %45:i64 = zext %44 | |
| %46:i64 = shl %27, %45 | |
| %47:i1 = ne 0:i64, %46 | |
| %48:i64 = zext %47 | |
| %49:i64 = or %42, %48 | |
| %50:i64 = phi %17, %49, %27, 1:i64 | |
| %51:i64 = sub %16, %50 | |
| %52:i64 = ctlz %51 | |
| %53:i32 = trunc %52 | |
| %54:i32 = addnsw 4294967288:i32, %53 | |
| %55:i32 = and 63:i32, %54 | |
| %56:i64 = zext %55 | |
| %57:i64 = shl %51, %56 | |
| %58:i64 = add %50, %16 | |
| %59:i64 = and 1:i64, %58 | |
| %60:i64 = lshr %58, 1:i64 | |
| %61:i64 = or %59, %60 | |
| %62:i64 = phi %1, %57, %51, %61, %58 | |
| %63:i32 = subnsw %33, %54 | |
| %64:i32 = addnsw 1:i32, %33 | |
| %65:i32 = phi %1, %63, %33, %64, %33 | |
| %66:i32 = subnsw 1:i32, %65 | |
| %67:i32 = and 63:i32, %66 | |
| %68:i64 = zext %67 | |
| %69:i64 = lshr %62, %68 | |
| %70:i32 = addnsw 63:i32, %65 | |
| %71:i32 = and 63:i32, %70 | |
| %72:i64 = zext %71 | |
| %73:i64 = shl %62, %72 | |
| %74:i1 = ne 0:i64, %73 | |
| %75:i64 = zext %74 | |
| %76:i64 = or %69, %75 | |
| %77:i64 = phi %0, %76, %62 | |
| %78:i32 = trunc %77 | |
| %79:i32 = and 7:i32, %78 (hasExternalUses) | |
| %80:i1 = ult 4:i32, %79 | |
| infer %80 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 4 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 9223372036854775807:i64, %3 | |
| %5:i64 = var | |
| %6:i64 = and 9223372036854775807:i64, %5 | |
| %7:i1 = ult %4, %6 | |
| %8:i64 = select %7, %5, %3 | |
| %9:i64 = and 4503599627370495:i64, %8 | |
| %10:i64 = ctlz %9 | |
| %11:i64 = addnw 53:i64, %10 | |
| %12:i64 = and 63:i64, %11 | |
| %13:i64 = shl %9, %12 | |
| %14:i64 = phi %2, %13, %9 | |
| %15:i64 = shl %14, 3:i64 | |
| %16:i64 = or 36028797018963968:i64, %15 | |
| %17 = block 3 | |
| %18 = block 2 | |
| %19:i64 = select %7, %3, %5 | |
| %20:i64 = and 4503599627370495:i64, %19 | |
| %21:i64 = ctlz %20 | |
| %22:i64 = addnw 53:i64, %21 | |
| %23:i64 = and 63:i64, %22 | |
| %24:i64 = shl %20, %23 | |
| %25:i64 = phi %18, %24, %20 | |
| %26:i64 = shl %25, 3:i64 | |
| %27:i64 = or 36028797018963968:i64, %26 | |
| %28:i32 = trunc %10 | |
| %29:i32 = subnsw 12:i32, %28 | |
| %30:i64 = lshr %8, 52:i64 | |
| %31:i32 = trunc %30 | |
| %32:i32 = and 2047:i32, %31 | |
| %33:i32 = phi %2, %29, %32 | |
| %34:i32 = trunc %21 | |
| %35:i32 = subnsw 12:i32, %34 | |
| %36:i64 = lshr %19, 52:i64 | |
| %37:i32 = trunc %36 | |
| %38:i32 = and 2047:i32, %37 | |
| %39:i32 = phi %18, %35, %38 | |
| %40:i32 = subnsw %33, %39 | |
| %41:i64 = zext %40 | |
| %42:i64 = lshr %27, %41 | |
| %43:i32 = subnsw 0:i32, %40 | |
| %44:i32 = and 63:i32, %43 | |
| %45:i64 = zext %44 | |
| %46:i64 = shl %27, %45 | |
| %47:i1 = ne 0:i64, %46 | |
| %48:i64 = zext %47 | |
| %49:i64 = or %42, %48 | |
| %50:i64 = phi %17, %49, %27, 1:i64 | |
| %51:i64 = sub %16, %50 | |
| %52:i64 = ctlz %51 | |
| %53:i32 = trunc %52 | |
| %54:i32 = addnsw 4294967288:i32, %53 | |
| %55:i32 = and 63:i32, %54 | |
| %56:i64 = zext %55 | |
| %57:i64 = shl %51, %56 | |
| %58:i64 = add %50, %16 | |
| %59:i64 = and 1:i64, %58 | |
| %60:i64 = lshr %58, 1:i64 | |
| %61:i64 = or %59, %60 | |
| %62:i64 = phi %1, %57, %51, %61, %58 | |
| %63:i32 = subnsw %33, %54 | |
| %64:i32 = addnsw 1:i32, %33 | |
| %65:i32 = phi %1, %63, %33, %64, %33 | |
| %66:i32 = subnsw 1:i32, %65 | |
| %67:i32 = and 63:i32, %66 | |
| %68:i64 = zext %67 | |
| %69:i64 = lshr %62, %68 | |
| %70:i32 = addnsw 63:i32, %65 | |
| %71:i32 = and 63:i32, %70 | |
| %72:i64 = zext %71 | |
| %73:i64 = shl %62, %72 | |
| %74:i1 = ne 0:i64, %73 | |
| %75:i64 = zext %74 | |
| %76:i64 = or %69, %75 | |
| %77:i64 = phi %0, %76, %62 | |
| %78:i32 = trunc %77 | |
| %79:i32 = and 7:i32, %78 (hasExternalUses) | |
| %80:i1 = ult 4:i32, %79 | |
| pc %80 0:i1 | |
| %81:i1 = eq 4:i32, %79 | |
| infer %81 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 4 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 9223372036854775807:i64, %3 | |
| %5:i64 = var | |
| %6:i64 = and 9223372036854775807:i64, %5 | |
| %7:i1 = ult %4, %6 | |
| %8:i64 = select %7, %5, %3 | |
| %9:i64 = and 4503599627370495:i64, %8 | |
| %10:i64 = ctlz %9 | |
| %11:i64 = addnw 53:i64, %10 | |
| %12:i64 = and 63:i64, %11 | |
| %13:i64 = shl %9, %12 | |
| %14:i64 = phi %2, %13, %9 | |
| %15:i64 = shl %14, 3:i64 | |
| %16:i64 = or 36028797018963968:i64, %15 | |
| %17 = block 3 | |
| %18 = block 2 | |
| %19:i64 = select %7, %3, %5 | |
| %20:i64 = and 4503599627370495:i64, %19 | |
| %21:i64 = ctlz %20 | |
| %22:i64 = addnw 53:i64, %21 | |
| %23:i64 = and 63:i64, %22 | |
| %24:i64 = shl %20, %23 | |
| %25:i64 = phi %18, %24, %20 | |
| %26:i64 = shl %25, 3:i64 | |
| %27:i64 = or 36028797018963968:i64, %26 | |
| %28:i32 = trunc %10 | |
| %29:i32 = subnsw 12:i32, %28 | |
| %30:i64 = lshr %8, 52:i64 | |
| %31:i32 = trunc %30 | |
| %32:i32 = and 2047:i32, %31 | |
| %33:i32 = phi %2, %29, %32 | |
| %34:i32 = trunc %21 | |
| %35:i32 = subnsw 12:i32, %34 | |
| %36:i64 = lshr %19, 52:i64 | |
| %37:i32 = trunc %36 | |
| %38:i32 = and 2047:i32, %37 | |
| %39:i32 = phi %18, %35, %38 | |
| %40:i32 = subnsw %33, %39 | |
| %41:i64 = zext %40 | |
| %42:i64 = lshr %27, %41 | |
| %43:i32 = subnsw 0:i32, %40 | |
| %44:i32 = and 63:i32, %43 | |
| %45:i64 = zext %44 | |
| %46:i64 = shl %27, %45 | |
| %47:i1 = ne 0:i64, %46 | |
| %48:i64 = zext %47 | |
| %49:i64 = or %42, %48 | |
| %50:i64 = phi %17, %49, %27, 1:i64 | |
| %51:i64 = sub %16, %50 | |
| %52:i64 = ctlz %51 | |
| %53:i32 = trunc %52 | |
| %54:i32 = addnsw 4294967288:i32, %53 | |
| %55:i32 = and 63:i32, %54 | |
| %56:i64 = zext %55 | |
| %57:i64 = shl %51, %56 | |
| %58:i64 = add %50, %16 | |
| %59:i64 = and 1:i64, %58 | |
| %60:i64 = lshr %58, 1:i64 | |
| %61:i64 = or %59, %60 | |
| %62:i64 = phi %1, %57, %51, %61, %58 | |
| %63:i32 = subnsw %33, %54 | |
| %64:i32 = addnsw 1:i32, %33 | |
| %65:i32 = phi %1, %63, %33, %64, %33 | |
| %66:i32 = subnsw 1:i32, %65 | |
| %67:i32 = and 63:i32, %66 | |
| %68:i64 = zext %67 | |
| %69:i64 = lshr %62, %68 | |
| %70:i32 = addnsw 63:i32, %65 | |
| %71:i32 = and 63:i32, %70 | |
| %72:i64 = zext %71 | |
| %73:i64 = shl %62, %72 | |
| %74:i1 = ne 0:i64, %73 | |
| %75:i64 = zext %74 | |
| %76:i64 = or %69, %75 | |
| %77:i64 = phi %0, %76, %62 | |
| %78:i32 = trunc %77 | |
| %79:i32 = and 7:i32, %78 (hasExternalUses) | |
| %80:i1 = ult 4:i32, %79 | |
| pc %80 0:i1 | |
| %81:i1 = eq 4:i32, %79 | |
| pc %81 1:i1 | |
| %82:i64 = lshr %77, 3:i64 | |
| %83:i64 = and 1:i64, %82 | |
| %84:i64 = and 4503599627370495:i64, %82 | |
| %85:i64 = and 9223372036854775808:i64, %8 (hasExternalUses) | |
| %86:i64 = or %84, %85 | |
| %87:i32 = phi %0, 0:i32, %65 | |
| %88:i64 = zext %87 | |
| %89:i64 = shlnw %88, 52:i64 | |
| %90:i64 = or %86, %89 (hasExternalUses) | |
| %91:i64 = add %83, %90 | |
| infer %91 | |
| > | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 4 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 9223372036854775807:i64, %3 | |
| %5:i64 = var | |
| %6:i64 = and 9223372036854775807:i64, %5 | |
| %7:i1 = ult %4, %6 | |
| %8:i64 = select %7, %5, %3 | |
| %9:i64 = and 4503599627370495:i64, %8 | |
| %10:i64 = ctlz %9 | |
| %11:i64 = addnw 53:i64, %10 | |
| %12:i64 = and 63:i64, %11 | |
| %13:i64 = shl %9, %12 | |
| %14:i64 = phi %2, %13, %9 | |
| %15:i64 = shl %14, 3:i64 | |
| %16:i64 = or 36028797018963968:i64, %15 | |
| %17 = block 3 | |
| %18 = block 2 | |
| %19:i64 = select %7, %3, %5 | |
| %20:i64 = and 4503599627370495:i64, %19 | |
| %21:i64 = ctlz %20 | |
| %22:i64 = addnw 53:i64, %21 | |
| %23:i64 = and 63:i64, %22 | |
| %24:i64 = shl %20, %23 | |
| %25:i64 = phi %18, %24, %20 | |
| %26:i64 = shl %25, 3:i64 | |
| %27:i64 = or 36028797018963968:i64, %26 | |
| %28:i32 = trunc %10 | |
| %29:i32 = subnsw 12:i32, %28 | |
| %30:i64 = lshr %8, 52:i64 | |
| %31:i32 = trunc %30 | |
| %32:i32 = and 2047:i32, %31 | |
| %33:i32 = phi %2, %29, %32 | |
| %34:i32 = trunc %21 | |
| %35:i32 = subnsw 12:i32, %34 | |
| %36:i64 = lshr %19, 52:i64 | |
| %37:i32 = trunc %36 | |
| %38:i32 = and 2047:i32, %37 | |
| %39:i32 = phi %18, %35, %38 | |
| %40:i32 = subnsw %33, %39 | |
| %41:i64 = zext %40 | |
| %42:i64 = lshr %27, %41 | |
| %43:i32 = subnsw 0:i32, %40 | |
| %44:i32 = and 63:i32, %43 | |
| %45:i64 = zext %44 | |
| %46:i64 = shl %27, %45 | |
| %47:i1 = ne 0:i64, %46 | |
| %48:i64 = zext %47 | |
| %49:i64 = or %42, %48 | |
| %50:i64 = phi %17, %49, %27, 1:i64 | |
| %51:i64 = sub %16, %50 | |
| %52:i64 = ctlz %51 | |
| %53:i32 = trunc %52 | |
| %54:i32 = addnsw 4294967288:i32, %53 | |
| %55:i32 = and 63:i32, %54 | |
| %56:i64 = zext %55 | |
| %57:i64 = shl %51, %56 | |
| %58:i64 = add %50, %16 | |
| %59:i64 = and 1:i64, %58 | |
| %60:i64 = lshr %58, 1:i64 | |
| %61:i64 = or %59, %60 | |
| %62:i64 = phi %1, %57, %51, %61, %58 | |
| %63:i32 = subnsw %33, %54 | |
| %64:i32 = addnsw 1:i32, %33 | |
| %65:i32 = phi %1, %63, %33, %64, %33 | |
| %66:i32 = subnsw 1:i32, %65 | |
| %67:i32 = and 63:i32, %66 | |
| %68:i64 = zext %67 | |
| %69:i64 = lshr %62, %68 | |
| %70:i32 = addnsw 63:i32, %65 | |
| %71:i32 = and 63:i32, %70 | |
| %72:i64 = zext %71 | |
| %73:i64 = shl %62, %72 | |
| %74:i1 = ne 0:i64, %73 | |
| %75:i64 = zext %74 | |
| %76:i64 = or %69, %75 | |
| %77:i64 = phi %0, %76, %62 | |
| %78:i32 = trunc %77 | |
| %79:i32 = and 7:i32, %78 (hasExternalUses) | |
| %80:i1 = ult 4:i32, %79 | |
| pc %80 0:i1 | |
| %81:i1 = eq 4:i32, %79 | |
| pc %81 1:i1 | |
| %82:i64 = lshr %77, 3:i64 | |
| %83:i64 = and 1:i64, %82 | |
| %84:i64 = and 9223372036854775808:i64, %8 (hasExternalUses) | |
| %85:i64 = and 4503599627370495:i64, %82 | |
| %86:i32 = phi %0, 0:i32, %65 | |
| %87:i64 = zext %86 | |
| %88:i64 = shlnw %87, 52:i64 | |
| %89:i64 = or %85, %88 | |
| %90:i64 = or %84, %89 (hasExternalUses) | |
| %91:i64 = add %83, %90 | |
| infer %91 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 4 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 9223372036854775807:i64, %3 | |
| %5:i64 = var | |
| %6:i64 = and 9223372036854775807:i64, %5 | |
| %7:i1 = ult %4, %6 | |
| %8:i64 = select %7, %5, %3 | |
| %9:i64 = and 4503599627370495:i64, %8 | |
| %10:i64 = ctlz %9 | |
| %11:i64 = addnw 53:i64, %10 | |
| %12:i64 = and 63:i64, %11 | |
| %13:i64 = shl %9, %12 | |
| %14:i64 = phi %2, %13, %9 | |
| %15:i64 = shl %14, 3:i64 | |
| %16:i64 = or 36028797018963968:i64, %15 | |
| %17 = block 3 | |
| %18 = block 2 | |
| %19:i64 = select %7, %3, %5 | |
| %20:i64 = and 4503599627370495:i64, %19 | |
| %21:i64 = ctlz %20 | |
| %22:i64 = addnw 53:i64, %21 | |
| %23:i64 = and 63:i64, %22 | |
| %24:i64 = shl %20, %23 | |
| %25:i64 = phi %18, %24, %20 | |
| %26:i64 = shl %25, 3:i64 | |
| %27:i64 = or 36028797018963968:i64, %26 | |
| %28:i32 = trunc %10 | |
| %29:i32 = subnsw 12:i32, %28 | |
| %30:i64 = lshr %8, 52:i64 | |
| %31:i32 = trunc %30 | |
| %32:i32 = and 2047:i32, %31 | |
| %33:i32 = phi %2, %29, %32 | |
| %34:i32 = trunc %21 | |
| %35:i32 = subnsw 12:i32, %34 | |
| %36:i64 = lshr %19, 52:i64 | |
| %37:i32 = trunc %36 | |
| %38:i32 = and 2047:i32, %37 | |
| %39:i32 = phi %18, %35, %38 | |
| %40:i32 = subnsw %33, %39 | |
| %41:i64 = zext %40 | |
| %42:i64 = lshr %27, %41 | |
| %43:i32 = subnsw 0:i32, %40 | |
| %44:i32 = and 63:i32, %43 | |
| %45:i64 = zext %44 | |
| %46:i64 = shl %27, %45 | |
| %47:i1 = ne 0:i64, %46 | |
| %48:i64 = zext %47 | |
| %49:i64 = or %42, %48 | |
| %50:i64 = phi %17, %49, %27, 1:i64 | |
| %51:i64 = sub %16, %50 | |
| %52:i64 = ctlz %51 | |
| %53:i32 = trunc %52 | |
| %54:i32 = addnsw 4294967288:i32, %53 | |
| %55:i32 = and 63:i32, %54 | |
| %56:i64 = zext %55 | |
| %57:i64 = shl %51, %56 | |
| %58:i64 = add %50, %16 | |
| %59:i64 = and 1:i64, %58 | |
| %60:i64 = lshr %58, 1:i64 | |
| %61:i64 = or %59, %60 | |
| %62:i64 = phi %1, %57, %51, %61, %58 | |
| %63:i32 = subnsw %33, %54 | |
| %64:i32 = addnsw 1:i32, %33 | |
| %65:i32 = phi %1, %63, %33, %64, %33 | |
| %66:i32 = subnsw 1:i32, %65 | |
| %67:i32 = and 63:i32, %66 | |
| %68:i64 = zext %67 | |
| %69:i64 = lshr %62, %68 | |
| %70:i32 = addnsw 63:i32, %65 | |
| %71:i32 = and 63:i32, %70 | |
| %72:i64 = zext %71 | |
| %73:i64 = shl %62, %72 | |
| %74:i1 = ne 0:i64, %73 | |
| %75:i64 = zext %74 | |
| %76:i64 = or %69, %75 | |
| %77:i64 = phi %0, %76, %62 | |
| %78:i32 = trunc %77 | |
| %79:i32 = and 7:i32, %78 (hasExternalUses) | |
| %80:i1 = ult 4:i32, %79 | |
| pc %80 0:i1 | |
| %81:i1 = eq 4:i32, %79 | |
| pc %81 1:i1 | |
| %82:i64 = lshr %77, 3:i64 (hasExternalUses) | |
| %83:i64 = and 1:i64, %82 | |
| infer %83 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 4 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 9223372036854775807:i64, %3 | |
| %5:i64 = var | |
| %6:i64 = and 9223372036854775807:i64, %5 | |
| %7:i1 = ult %4, %6 | |
| %8:i64 = select %7, %5, %3 | |
| %9:i64 = and 4503599627370495:i64, %8 | |
| %10:i64 = ctlz %9 | |
| %11:i64 = addnw 53:i64, %10 | |
| %12:i64 = and 63:i64, %11 | |
| %13:i64 = shl %9, %12 | |
| %14:i64 = phi %2, %13, %9 | |
| %15:i64 = shl %14, 3:i64 | |
| %16:i64 = or 36028797018963968:i64, %15 | |
| %17 = block 3 | |
| %18 = block 2 | |
| %19:i64 = select %7, %3, %5 | |
| %20:i64 = and 4503599627370495:i64, %19 | |
| %21:i64 = ctlz %20 | |
| %22:i64 = addnw 53:i64, %21 | |
| %23:i64 = and 63:i64, %22 | |
| %24:i64 = shl %20, %23 | |
| %25:i64 = phi %18, %24, %20 | |
| %26:i64 = shl %25, 3:i64 | |
| %27:i64 = or 36028797018963968:i64, %26 | |
| %28:i32 = trunc %10 | |
| %29:i32 = subnsw 12:i32, %28 | |
| %30:i64 = lshr %8, 52:i64 | |
| %31:i32 = trunc %30 | |
| %32:i32 = and 2047:i32, %31 | |
| %33:i32 = phi %2, %29, %32 | |
| %34:i32 = trunc %21 | |
| %35:i32 = subnsw 12:i32, %34 | |
| %36:i64 = lshr %19, 52:i64 | |
| %37:i32 = trunc %36 | |
| %38:i32 = and 2047:i32, %37 | |
| %39:i32 = phi %18, %35, %38 | |
| %40:i32 = subnsw %33, %39 | |
| %41:i64 = zext %40 | |
| %42:i64 = lshr %27, %41 | |
| %43:i32 = subnsw 0:i32, %40 | |
| %44:i32 = and 63:i32, %43 | |
| %45:i64 = zext %44 | |
| %46:i64 = shl %27, %45 | |
| %47:i1 = ne 0:i64, %46 | |
| %48:i64 = zext %47 | |
| %49:i64 = or %42, %48 | |
| %50:i64 = phi %17, %49, %27, 1:i64 | |
| %51:i64 = sub %16, %50 | |
| %52:i64 = ctlz %51 | |
| %53:i32 = trunc %52 | |
| %54:i32 = addnsw 4294967288:i32, %53 | |
| %55:i32 = and 63:i32, %54 | |
| %56:i64 = zext %55 | |
| %57:i64 = shl %51, %56 | |
| %58:i64 = add %50, %16 | |
| %59:i64 = and 1:i64, %58 | |
| %60:i64 = lshr %58, 1:i64 | |
| %61:i64 = or %59, %60 | |
| %62:i64 = phi %1, %57, %51, %61, %58 | |
| %63:i32 = subnsw %33, %54 | |
| %64:i32 = addnsw 1:i32, %33 | |
| %65:i32 = phi %1, %63, %33, %64, %33 | |
| %66:i32 = subnsw 1:i32, %65 | |
| %67:i32 = and 63:i32, %66 | |
| %68:i64 = zext %67 | |
| %69:i64 = lshr %62, %68 | |
| %70:i32 = addnsw 63:i32, %65 | |
| %71:i32 = and 63:i32, %70 | |
| %72:i64 = zext %71 | |
| %73:i64 = shl %62, %72 | |
| %74:i1 = ne 0:i64, %73 | |
| %75:i64 = zext %74 | |
| %76:i64 = or %69, %75 | |
| %77:i64 = phi %0, %76, %62 | |
| %78:i32 = trunc %77 | |
| %79:i32 = and 7:i32, %78 (hasExternalUses) | |
| %80:i1 = ult 4:i32, %79 | |
| pc %80 1:i1 | |
| %81:i64 = and 9223372036854775808:i64, %8 (hasExternalUses) | |
| %82:i64 = lshr %77, 3:i64 (hasExternalUses) | |
| %83:i64 = and 4503599627370495:i64, %82 | |
| %84:i32 = phi %0, 0:i32, %65 | |
| %85:i64 = zext %84 | |
| %86:i64 = shlnw %85, 52:i64 | |
| %87:i64 = or %83, %86 | |
| %88:i64 = or %81, %87 (hasExternalUses) | |
| %89:i64 = add 1:i64, %88 | |
| infer %89 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 4 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 9223372036854775807:i64, %3 | |
| %5:i64 = var | |
| %6:i64 = and 9223372036854775807:i64, %5 | |
| %7:i1 = ult %4, %6 | |
| %8:i64 = select %7, %5, %3 | |
| %9:i64 = and 4503599627370495:i64, %8 | |
| %10:i64 = ctlz %9 | |
| %11:i64 = addnw 53:i64, %10 | |
| %12:i64 = and 63:i64, %11 | |
| %13:i64 = shl %9, %12 | |
| %14:i64 = phi %2, %13, %9 | |
| %15:i64 = shl %14, 3:i64 | |
| %16:i64 = or 36028797018963968:i64, %15 | |
| %17 = block 3 | |
| %18 = block 2 | |
| %19:i64 = select %7, %3, %5 | |
| %20:i64 = and 4503599627370495:i64, %19 | |
| %21:i64 = ctlz %20 | |
| %22:i64 = addnw 53:i64, %21 | |
| %23:i64 = and 63:i64, %22 | |
| %24:i64 = shl %20, %23 | |
| %25:i64 = phi %18, %24, %20 | |
| %26:i64 = shl %25, 3:i64 | |
| %27:i64 = or 36028797018963968:i64, %26 | |
| %28:i32 = trunc %10 | |
| %29:i32 = subnsw 12:i32, %28 | |
| %30:i64 = lshr %8, 52:i64 | |
| %31:i32 = trunc %30 | |
| %32:i32 = and 2047:i32, %31 | |
| %33:i32 = phi %2, %29, %32 | |
| %34:i32 = trunc %21 | |
| %35:i32 = subnsw 12:i32, %34 | |
| %36:i64 = lshr %19, 52:i64 | |
| %37:i32 = trunc %36 | |
| %38:i32 = and 2047:i32, %37 | |
| %39:i32 = phi %18, %35, %38 | |
| %40:i32 = subnsw %33, %39 | |
| %41:i64 = zext %40 | |
| %42:i64 = lshr %27, %41 | |
| %43:i32 = subnsw 0:i32, %40 | |
| %44:i32 = and 63:i32, %43 | |
| %45:i64 = zext %44 | |
| %46:i64 = shl %27, %45 | |
| %47:i1 = ne 0:i64, %46 | |
| %48:i64 = zext %47 | |
| %49:i64 = or %42, %48 | |
| %50:i64 = phi %17, %49, %27, 1:i64 | |
| %51:i64 = sub %16, %50 | |
| %52:i64 = ctlz %51 | |
| %53:i32 = trunc %52 | |
| %54:i32 = addnsw 4294967288:i32, %53 | |
| %55:i32 = and 63:i32, %54 | |
| %56:i64 = zext %55 | |
| %57:i64 = shl %51, %56 | |
| %58:i64 = add %50, %16 | |
| %59:i64 = and 1:i64, %58 | |
| %60:i64 = lshr %58, 1:i64 | |
| %61:i64 = or %59, %60 | |
| %62:i64 = phi %1, %57, %51, %61, %58 | |
| %63:i32 = subnsw %33, %54 | |
| %64:i32 = addnsw 1:i32, %33 | |
| %65:i32 = phi %1, %63, %33, %64, %33 | |
| %66:i32 = subnsw 1:i32, %65 | |
| %67:i32 = and 63:i32, %66 | |
| %68:i64 = zext %67 | |
| %69:i64 = lshr %62, %68 | |
| %70:i32 = addnsw 63:i32, %65 | |
| %71:i32 = and 63:i32, %70 | |
| %72:i64 = zext %71 | |
| %73:i64 = shl %62, %72 | |
| %74:i1 = ne 0:i64, %73 | |
| %75:i64 = zext %74 | |
| %76:i64 = or %69, %75 | |
| %77:i64 = phi %0, %76, %62 | |
| %78:i32 = trunc %77 | |
| %79:i32 = and 7:i32, %78 (hasExternalUses) | |
| %80:i1 = ult 4:i32, %79 | |
| pc %80 1:i1 | |
| %81:i64 = lshr %77, 3:i64 (hasExternalUses) | |
| %82:i64 = and 4503599627370495:i64, %81 | |
| %83:i64 = and 9223372036854775808:i64, %8 (hasExternalUses) | |
| %84:i64 = or %82, %83 | |
| %85:i32 = phi %0, 0:i32, %65 | |
| %86:i64 = zext %85 | |
| %87:i64 = shlnw %86, 52:i64 | |
| %88:i64 = or %84, %87 (hasExternalUses) | |
| %89:i64 = add 1:i64, %88 | |
| infer %89 | |
| > | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 4 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 9223372036854775807:i64, %3 | |
| %5:i64 = var | |
| %6:i64 = and 9223372036854775807:i64, %5 | |
| %7:i1 = ult %4, %6 | |
| %8:i64 = select %7, %5, %3 | |
| %9:i64 = and 4503599627370495:i64, %8 | |
| %10:i64 = ctlz %9 | |
| %11:i64 = addnw 53:i64, %10 | |
| %12:i64 = and 63:i64, %11 | |
| %13:i64 = shl %9, %12 | |
| %14:i64 = phi %2, %13, %9 | |
| %15:i64 = shl %14, 3:i64 | |
| %16:i64 = or 36028797018963968:i64, %15 | |
| %17 = block 3 | |
| %18 = block 2 | |
| %19:i64 = select %7, %3, %5 | |
| %20:i64 = and 4503599627370495:i64, %19 | |
| %21:i64 = ctlz %20 | |
| %22:i64 = addnw 53:i64, %21 | |
| %23:i64 = and 63:i64, %22 | |
| %24:i64 = shl %20, %23 | |
| %25:i64 = phi %18, %24, %20 | |
| %26:i64 = shl %25, 3:i64 | |
| %27:i64 = or 36028797018963968:i64, %26 | |
| %28:i32 = trunc %10 | |
| %29:i32 = subnsw 12:i32, %28 | |
| %30:i64 = lshr %8, 52:i64 | |
| %31:i32 = trunc %30 | |
| %32:i32 = and 2047:i32, %31 | |
| %33:i32 = phi %2, %29, %32 | |
| %34:i32 = trunc %21 | |
| %35:i32 = subnsw 12:i32, %34 | |
| %36:i64 = lshr %19, 52:i64 | |
| %37:i32 = trunc %36 | |
| %38:i32 = and 2047:i32, %37 | |
| %39:i32 = phi %18, %35, %38 | |
| %40:i32 = subnsw %33, %39 | |
| %41:i64 = zext %40 | |
| %42:i64 = lshr %27, %41 | |
| %43:i32 = subnsw 0:i32, %40 | |
| %44:i32 = and 63:i32, %43 | |
| %45:i64 = zext %44 | |
| %46:i64 = shl %27, %45 | |
| %47:i1 = ne 0:i64, %46 | |
| %48:i64 = zext %47 | |
| %49:i64 = or %42, %48 | |
| %50:i64 = phi %17, %49, %27, 1:i64 | |
| %51:i64 = sub %16, %50 | |
| %52:i64 = ctlz %51 | |
| %53:i32 = trunc %52 | |
| %54:i32 = addnsw 4294967288:i32, %53 | |
| %55:i32 = and 63:i32, %54 | |
| %56:i64 = zext %55 | |
| %57:i64 = shl %51, %56 | |
| %58:i64 = add %50, %16 | |
| %59:i64 = and 1:i64, %58 | |
| %60:i64 = lshr %58, 1:i64 | |
| %61:i64 = or %59, %60 | |
| %62:i64 = phi %1, %57, %51, %61, %58 | |
| %63:i32 = subnsw %33, %54 | |
| %64:i32 = addnsw 1:i32, %33 | |
| %65:i32 = phi %1, %63, %33, %64, %33 | |
| %66:i32 = subnsw 1:i32, %65 | |
| %67:i32 = and 63:i32, %66 | |
| %68:i64 = zext %67 | |
| %69:i64 = lshr %62, %68 | |
| %70:i32 = addnsw 63:i32, %65 | |
| %71:i32 = and 63:i32, %70 | |
| %72:i64 = zext %71 | |
| %73:i64 = shl %62, %72 | |
| %74:i1 = ne 0:i64, %73 | |
| %75:i64 = zext %74 | |
| %76:i64 = or %69, %75 | |
| %77:i64 = phi %0, %76, %62 | |
| %78:i32 = trunc %77 | |
| infer %78 (demandedBits=00000000000000000000000000000111) | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 4 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 9223372036854775807:i64, %3 | |
| %5:i64 = var | |
| %6:i64 = and 9223372036854775807:i64, %5 | |
| %7:i1 = ult %4, %6 | |
| %8:i64 = select %7, %5, %3 | |
| %9:i64 = and 4503599627370495:i64, %8 | |
| %10:i64 = ctlz %9 | |
| %11:i64 = addnw 53:i64, %10 | |
| %12:i64 = and 63:i64, %11 | |
| %13:i64 = shl %9, %12 | |
| %14:i64 = phi %2, %13, %9 | |
| %15:i64 = shl %14, 3:i64 | |
| %16:i64 = or 36028797018963968:i64, %15 | |
| %17 = block 3 | |
| %18 = block 2 | |
| %19:i64 = select %7, %3, %5 | |
| %20:i64 = and 4503599627370495:i64, %19 | |
| %21:i64 = ctlz %20 | |
| %22:i64 = addnw 53:i64, %21 | |
| %23:i64 = and 63:i64, %22 | |
| %24:i64 = shl %20, %23 | |
| %25:i64 = phi %18, %24, %20 | |
| %26:i64 = shl %25, 3:i64 | |
| %27:i64 = or 36028797018963968:i64, %26 | |
| %28:i32 = trunc %10 | |
| %29:i32 = subnsw 12:i32, %28 | |
| %30:i64 = lshr %8, 52:i64 | |
| %31:i32 = trunc %30 | |
| %32:i32 = and 2047:i32, %31 | |
| %33:i32 = phi %2, %29, %32 | |
| %34:i32 = trunc %21 | |
| %35:i32 = subnsw 12:i32, %34 | |
| %36:i64 = lshr %19, 52:i64 | |
| %37:i32 = trunc %36 | |
| %38:i32 = and 2047:i32, %37 | |
| %39:i32 = phi %18, %35, %38 | |
| %40:i32 = subnsw %33, %39 | |
| %41:i64 = zext %40 | |
| %42:i64 = lshr %27, %41 | |
| %43:i32 = subnsw 0:i32, %40 | |
| %44:i32 = and 63:i32, %43 | |
| %45:i64 = zext %44 | |
| %46:i64 = shl %27, %45 | |
| %47:i1 = ne 0:i64, %46 | |
| %48:i64 = zext %47 | |
| %49:i64 = or %42, %48 | |
| %50:i64 = phi %17, %49, %27, 1:i64 | |
| %51:i64 = sub %16, %50 | |
| %52:i64 = ctlz %51 | |
| %53:i32 = trunc %52 | |
| %54:i32 = addnsw 4294967288:i32, %53 | |
| %55:i32 = and 63:i32, %54 | |
| %56:i64 = zext %55 | |
| %57:i64 = shl %51, %56 | |
| %58:i64 = add %50, %16 | |
| %59:i64 = and 1:i64, %58 | |
| %60:i64 = lshr %58, 1:i64 | |
| %61:i64 = or %59, %60 | |
| %62:i64 = phi %1, %57, %51, %61, %58 | |
| %63:i32 = subnsw %33, %54 | |
| %64:i32 = addnsw 1:i32, %33 | |
| %65:i32 = phi %1, %63, %33, %64, %33 | |
| %66:i32 = subnsw 1:i32, %65 | |
| %67:i32 = and 63:i32, %66 | |
| %68:i64 = zext %67 | |
| %69:i64 = lshr %62, %68 | |
| %70:i32 = addnsw 63:i32, %65 | |
| %71:i32 = and 63:i32, %70 | |
| %72:i64 = zext %71 | |
| %73:i64 = shl %62, %72 | |
| %74:i1 = ne 0:i64, %73 | |
| %75:i64 = zext %74 | |
| %76:i64 = or %69, %75 | |
| %77:i64 = phi %0, %76, %62 | |
| %78:i64 = lshr %77, 3:i64 | |
| infer %78 (demandedBits=0000000000001111111111111111111111111111111111111111111111111111) | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 4 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 9223372036854775807:i64, %3 | |
| %5:i64 = var | |
| %6:i64 = and 9223372036854775807:i64, %5 | |
| %7:i1 = ult %4, %6 | |
| %8:i64 = select %7, %5, %3 | |
| %9:i64 = and 4503599627370495:i64, %8 | |
| %10:i64 = ctlz %9 | |
| %11:i64 = addnw 53:i64, %10 | |
| %12:i64 = and 63:i64, %11 | |
| %13:i64 = shl %9, %12 | |
| %14:i64 = phi %2, %13, %9 | |
| %15:i64 = shl %14, 3:i64 | |
| %16:i64 = or 36028797018963968:i64, %15 | |
| %17 = block 3 | |
| %18 = block 2 | |
| %19:i64 = select %7, %3, %5 | |
| %20:i64 = and 4503599627370495:i64, %19 | |
| %21:i64 = ctlz %20 | |
| %22:i64 = addnw 53:i64, %21 | |
| %23:i64 = and 63:i64, %22 | |
| %24:i64 = shl %20, %23 | |
| %25:i64 = phi %18, %24, %20 | |
| %26:i64 = shl %25, 3:i64 | |
| %27:i64 = or 36028797018963968:i64, %26 | |
| %28:i32 = trunc %10 | |
| %29:i32 = subnsw 12:i32, %28 | |
| %30:i64 = lshr %8, 52:i64 | |
| %31:i32 = trunc %30 | |
| %32:i32 = and 2047:i32, %31 | |
| %33:i32 = phi %2, %29, %32 | |
| %34:i32 = trunc %21 | |
| %35:i32 = subnsw 12:i32, %34 | |
| %36:i64 = lshr %19, 52:i64 | |
| %37:i32 = trunc %36 | |
| %38:i32 = and 2047:i32, %37 | |
| %39:i32 = phi %18, %35, %38 | |
| %40:i32 = subnsw %33, %39 | |
| %41:i64 = zext %40 | |
| %42:i64 = lshr %27, %41 | |
| %43:i32 = subnsw 0:i32, %40 | |
| %44:i32 = and 63:i32, %43 | |
| %45:i64 = zext %44 | |
| %46:i64 = shl %27, %45 | |
| %47:i1 = ne 0:i64, %46 | |
| %48:i64 = zext %47 | |
| %49:i64 = or %42, %48 | |
| %50:i64 = phi %17, %49, %27, 1:i64 | |
| %51:i64 = sub %16, %50 | |
| %52:i64 = ctlz %51 | |
| %53:i32 = trunc %52 | |
| %54:i32 = addnsw 4294967288:i32, %53 | |
| %55:i32 = and 63:i32, %54 | |
| %56:i64 = zext %55 | |
| %57:i64 = shl %51, %56 | |
| %58:i64 = add %50, %16 | |
| %59:i64 = and 1:i64, %58 | |
| %60:i64 = lshr %58, 1:i64 | |
| %61:i64 = or %59, %60 | |
| %62:i64 = phi %1, %57, %51, %61, %58 | |
| %63:i32 = subnsw %33, %54 | |
| %64:i32 = addnsw 1:i32, %33 | |
| %65:i32 = phi %1, %63, %33, %64, %33 | |
| %66:i32 = subnsw 1:i32, %65 | |
| %67:i32 = and 63:i32, %66 | |
| %68:i64 = zext %67 | |
| %69:i64 = lshr %62, %68 | |
| %70:i32 = addnsw 63:i32, %65 | |
| %71:i32 = and 63:i32, %70 | |
| %72:i64 = zext %71 | |
| %73:i64 = shl %62, %72 | |
| %74:i1 = ne 0:i64, %73 | |
| %75:i64 = zext %74 | |
| %76:i64 = or %69, %75 | |
| %77:i64 = phi %0, %76, %62 | |
| %78:i64 = lshr %77, 3:i64 (hasExternalUses) | |
| %79:i64 = and 4503599627370495:i64, %78 | |
| %80:i32 = phi %0, 0:i32, %65 | |
| %81:i64 = zext %80 | |
| %82:i64 = shlnw %81, 52:i64 | |
| %83:i64 = or %79, %82 | |
| infer %83 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 4 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 9223372036854775807:i64, %3 | |
| %5:i64 = var | |
| %6:i64 = and 9223372036854775807:i64, %5 | |
| %7:i1 = ult %4, %6 | |
| %8:i64 = select %7, %5, %3 | |
| %9:i64 = and 4503599627370495:i64, %8 | |
| %10:i64 = ctlz %9 | |
| %11:i64 = addnw 53:i64, %10 | |
| %12:i64 = and 63:i64, %11 | |
| %13:i64 = shl %9, %12 | |
| %14:i64 = phi %2, %13, %9 | |
| %15:i64 = shl %14, 3:i64 | |
| %16:i64 = or 36028797018963968:i64, %15 | |
| %17 = block 3 | |
| %18 = block 2 | |
| %19:i64 = select %7, %3, %5 | |
| %20:i64 = and 4503599627370495:i64, %19 | |
| %21:i64 = ctlz %20 | |
| %22:i64 = addnw 53:i64, %21 | |
| %23:i64 = and 63:i64, %22 | |
| %24:i64 = shl %20, %23 | |
| %25:i64 = phi %18, %24, %20 | |
| %26:i64 = shl %25, 3:i64 | |
| %27:i64 = or 36028797018963968:i64, %26 | |
| %28:i32 = trunc %10 | |
| %29:i32 = subnsw 12:i32, %28 | |
| %30:i64 = lshr %8, 52:i64 | |
| %31:i32 = trunc %30 | |
| %32:i32 = and 2047:i32, %31 | |
| %33:i32 = phi %2, %29, %32 | |
| %34:i32 = trunc %21 | |
| %35:i32 = subnsw 12:i32, %34 | |
| %36:i64 = lshr %19, 52:i64 | |
| %37:i32 = trunc %36 | |
| %38:i32 = and 2047:i32, %37 | |
| %39:i32 = phi %18, %35, %38 | |
| %40:i32 = subnsw %33, %39 | |
| %41:i64 = zext %40 | |
| %42:i64 = lshr %27, %41 | |
| %43:i32 = subnsw 0:i32, %40 | |
| %44:i32 = and 63:i32, %43 | |
| %45:i64 = zext %44 | |
| %46:i64 = shl %27, %45 | |
| %47:i1 = ne 0:i64, %46 | |
| %48:i64 = zext %47 | |
| %49:i64 = or %42, %48 | |
| %50:i64 = phi %17, %49, %27, 1:i64 | |
| %51:i64 = sub %16, %50 | |
| %52:i64 = ctlz %51 | |
| %53:i32 = trunc %52 | |
| %54:i32 = addnsw 4294967288:i32, %53 | |
| %55:i32 = and 63:i32, %54 | |
| %56:i64 = zext %55 | |
| %57:i64 = shl %51, %56 | |
| %58:i64 = add %50, %16 | |
| %59:i64 = and 1:i64, %58 | |
| %60:i64 = lshr %58, 1:i64 | |
| %61:i64 = or %59, %60 | |
| %62:i64 = phi %1, %57, %51, %61, %58 | |
| %63:i32 = subnsw %33, %54 | |
| %64:i32 = addnsw 1:i32, %33 | |
| %65:i32 = phi %1, %63, %33, %64, %33 | |
| %66:i32 = subnsw 1:i32, %65 | |
| %67:i32 = and 63:i32, %66 | |
| %68:i64 = zext %67 | |
| %69:i64 = lshr %62, %68 | |
| %70:i32 = addnsw 63:i32, %65 | |
| %71:i32 = and 63:i32, %70 | |
| %72:i64 = zext %71 | |
| %73:i64 = shl %62, %72 | |
| %74:i1 = ne 0:i64, %73 | |
| %75:i64 = zext %74 | |
| %76:i64 = or %69, %75 | |
| %77:i64 = phi %0, %76, %62 | |
| %78:i64 = lshr %77, 3:i64 (hasExternalUses) | |
| %79:i64 = and 4503599627370495:i64, %78 | |
| infer %79 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 4 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 9223372036854775807:i64, %3 | |
| %5:i64 = var | |
| %6:i64 = and 9223372036854775807:i64, %5 | |
| %7:i1 = ult %4, %6 | |
| %8:i64 = select %7, %5, %3 | |
| %9:i64 = and 4503599627370495:i64, %8 | |
| %10:i64 = ctlz %9 | |
| %11:i64 = addnw 53:i64, %10 | |
| %12:i64 = and 63:i64, %11 | |
| %13:i64 = shl %9, %12 | |
| %14:i64 = phi %2, %13, %9 | |
| %15:i64 = shl %14, 3:i64 | |
| %16:i64 = or 36028797018963968:i64, %15 | |
| %17 = block 3 | |
| %18 = block 2 | |
| %19:i64 = select %7, %3, %5 | |
| %20:i64 = and 4503599627370495:i64, %19 | |
| %21:i64 = ctlz %20 | |
| %22:i64 = addnw 53:i64, %21 | |
| %23:i64 = and 63:i64, %22 | |
| %24:i64 = shl %20, %23 | |
| %25:i64 = phi %18, %24, %20 | |
| %26:i64 = shl %25, 3:i64 | |
| %27:i64 = or 36028797018963968:i64, %26 | |
| %28:i32 = trunc %10 | |
| %29:i32 = subnsw 12:i32, %28 | |
| %30:i64 = lshr %8, 52:i64 | |
| %31:i32 = trunc %30 | |
| %32:i32 = and 2047:i32, %31 | |
| %33:i32 = phi %2, %29, %32 | |
| %34:i32 = trunc %21 | |
| %35:i32 = subnsw 12:i32, %34 | |
| %36:i64 = lshr %19, 52:i64 | |
| %37:i32 = trunc %36 | |
| %38:i32 = and 2047:i32, %37 | |
| %39:i32 = phi %18, %35, %38 | |
| %40:i32 = subnsw %33, %39 | |
| %41:i64 = zext %40 | |
| %42:i64 = lshr %27, %41 | |
| %43:i32 = subnsw 0:i32, %40 | |
| %44:i32 = and 63:i32, %43 | |
| %45:i64 = zext %44 | |
| %46:i64 = shl %27, %45 | |
| %47:i1 = ne 0:i64, %46 | |
| %48:i64 = zext %47 | |
| %49:i64 = or %42, %48 | |
| %50:i64 = phi %17, %49, %27, 1:i64 | |
| %51:i64 = sub %16, %50 | |
| %52:i64 = ctlz %51 | |
| %53:i32 = trunc %52 | |
| %54:i32 = addnsw 4294967288:i32, %53 | |
| %55:i32 = and 63:i32, %54 | |
| %56:i64 = zext %55 | |
| %57:i64 = shl %51, %56 | |
| %58:i64 = add %50, %16 | |
| %59:i64 = and 1:i64, %58 | |
| %60:i64 = lshr %58, 1:i64 | |
| %61:i64 = or %59, %60 | |
| %62:i64 = phi %1, %57, %51, %61, %58 | |
| %63:i32 = subnsw %33, %54 | |
| %64:i32 = addnsw 1:i32, %33 | |
| %65:i32 = phi %1, %63, %33, %64, %33 | |
| %66:i32 = subnsw 1:i32, %65 | |
| %67:i32 = and 63:i32, %66 | |
| %68:i64 = zext %67 | |
| %69:i64 = lshr %62, %68 | |
| %70:i32 = addnsw 63:i32, %65 | |
| %71:i32 = and 63:i32, %70 | |
| %72:i64 = zext %71 | |
| %73:i64 = shl %62, %72 | |
| %74:i1 = ne 0:i64, %73 | |
| %75:i64 = zext %74 | |
| %76:i64 = or %69, %75 | |
| %77:i64 = phi %0, %76, %62 | |
| infer %77 (demandedBits=0000000001111111111111111111111111111111111111111111111111111111) | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 4 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 9223372036854775807:i64, %3 (hasExternalUses) | |
| %5:i64 = var | |
| %6:i64 = and 9223372036854775807:i64, %5 (hasExternalUses) | |
| %7:i1 = ult %4, %6 (hasExternalUses) | |
| %8:i64 = select %7, %5, %3 (hasExternalUses) | |
| %9:i64 = and 4503599627370495:i64, %8 | |
| %10:i64 = ctlz %9 | |
| %11:i64 = addnw 53:i64, %10 | |
| %12:i64 = and 63:i64, %11 | |
| %13:i64 = shl %9, %12 | |
| %14:i64 = phi %2, %13, %9 | |
| %15:i64 = shl %14, 3:i64 | |
| %16:i64 = or 36028797018963968:i64, %15 | |
| %17 = block 3 | |
| %18 = block 2 | |
| %19:i64 = select %7, %3, %5 | |
| %20:i64 = and 4503599627370495:i64, %19 | |
| %21:i64 = ctlz %20 | |
| %22:i64 = addnw 53:i64, %21 | |
| %23:i64 = and 63:i64, %22 | |
| %24:i64 = shl %20, %23 | |
| %25:i64 = phi %18, %24, %20 | |
| %26:i64 = shl %25, 3:i64 | |
| %27:i64 = or 36028797018963968:i64, %26 | |
| %28:i32 = trunc %10 | |
| %29:i32 = subnsw 12:i32, %28 | |
| %30:i64 = lshr %8, 52:i64 | |
| %31:i32 = trunc %30 | |
| %32:i32 = and 2047:i32, %31 | |
| %33:i32 = phi %2, %29, %32 | |
| %34:i32 = trunc %21 | |
| %35:i32 = subnsw 12:i32, %34 | |
| %36:i64 = lshr %19, 52:i64 | |
| %37:i32 = trunc %36 | |
| %38:i32 = and 2047:i32, %37 | |
| %39:i32 = phi %18, %35, %38 | |
| %40:i32 = subnsw %33, %39 | |
| %41:i64 = zext %40 | |
| %42:i64 = lshr %27, %41 | |
| %43:i32 = subnsw 0:i32, %40 | |
| %44:i32 = and 63:i32, %43 | |
| %45:i64 = zext %44 | |
| %46:i64 = shl %27, %45 | |
| %47:i1 = ne 0:i64, %46 | |
| %48:i64 = zext %47 | |
| %49:i64 = or %42, %48 | |
| %50:i64 = phi %17, %49, %27, 1:i64 | |
| %51:i64 = sub %16, %50 | |
| %52:i64 = ctlz %51 | |
| %53:i32 = trunc %52 | |
| %54:i32 = addnsw 4294967288:i32, %53 | |
| %55:i32 = and 63:i32, %54 | |
| %56:i64 = zext %55 | |
| %57:i64 = shl %51, %56 | |
| %58:i64 = add %50, %16 | |
| %59:i64 = and 1:i64, %58 | |
| %60:i64 = lshr %58, 1:i64 | |
| %61:i64 = or %59, %60 | |
| %62:i64 = phi %1, %57, %51, %61, %58 | |
| %63:i32 = subnsw %33, %54 | |
| %64:i32 = addnsw 1:i32, %33 | |
| %65:i32 = phi %1, %63, %33, %64, %33 | |
| %66:i32 = subnsw 1:i32, %65 | |
| %67:i32 = and 63:i32, %66 | |
| %68:i64 = zext %67 | |
| %69:i64 = lshr %62, %68 | |
| %70:i32 = addnsw 63:i32, %65 | |
| %71:i32 = and 63:i32, %70 | |
| %72:i64 = zext %71 | |
| %73:i64 = shl %62, %72 | |
| %74:i1 = ne 0:i64, %73 | |
| %75:i64 = zext %74 | |
| %76:i64 = or %69, %75 | |
| %77:i64 = phi %0, %76, %62 | |
| %78:i64 = lshr %77, 3:i64 (hasExternalUses) | |
| %79:i64 = and 4503599627370495:i64, %78 | |
| %80:i64 = and 9223372036854775808:i64, %8 (hasExternalUses) | |
| %81:i64 = or %79, %80 | |
| %82:i32 = phi %0, 0:i32, %65 | |
| %83:i64 = zext %82 | |
| %84:i64 = shlnw %83, 52:i64 | |
| %85:i64 = or %81, %84 | |
| infer %85 | |
| > | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 4 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = and 9223372036854775807:i64, %3 (hasExternalUses) | |
| %5:i64 = var | |
| %6:i64 = and 9223372036854775807:i64, %5 (hasExternalUses) | |
| %7:i1 = ult %4, %6 (hasExternalUses) | |
| %8:i64 = select %7, %5, %3 (hasExternalUses) | |
| %9:i64 = and 4503599627370495:i64, %8 | |
| %10:i64 = ctlz %9 | |
| %11:i64 = addnw 53:i64, %10 | |
| %12:i64 = and 63:i64, %11 | |
| %13:i64 = shl %9, %12 | |
| %14:i64 = phi %2, %13, %9 | |
| %15:i64 = shl %14, 3:i64 | |
| %16:i64 = or 36028797018963968:i64, %15 | |
| %17 = block 3 | |
| %18 = block 2 | |
| %19:i64 = select %7, %3, %5 | |
| %20:i64 = and 4503599627370495:i64, %19 | |
| %21:i64 = ctlz %20 | |
| %22:i64 = addnw 53:i64, %21 | |
| %23:i64 = and 63:i64, %22 | |
| %24:i64 = shl %20, %23 | |
| %25:i64 = phi %18, %24, %20 | |
| %26:i64 = shl %25, 3:i64 | |
| %27:i64 = or 36028797018963968:i64, %26 | |
| %28:i32 = trunc %10 | |
| %29:i32 = subnsw 12:i32, %28 | |
| %30:i64 = lshr %8, 52:i64 | |
| %31:i32 = trunc %30 | |
| %32:i32 = and 2047:i32, %31 | |
| %33:i32 = phi %2, %29, %32 | |
| %34:i32 = trunc %21 | |
| %35:i32 = subnsw 12:i32, %34 | |
| %36:i64 = lshr %19, 52:i64 | |
| %37:i32 = trunc %36 | |
| %38:i32 = and 2047:i32, %37 | |
| %39:i32 = phi %18, %35, %38 | |
| %40:i32 = subnsw %33, %39 | |
| %41:i64 = zext %40 | |
| %42:i64 = lshr %27, %41 | |
| %43:i32 = subnsw 0:i32, %40 | |
| %44:i32 = and 63:i32, %43 | |
| %45:i64 = zext %44 | |
| %46:i64 = shl %27, %45 | |
| %47:i1 = ne 0:i64, %46 | |
| %48:i64 = zext %47 | |
| %49:i64 = or %42, %48 | |
| %50:i64 = phi %17, %49, %27, 1:i64 | |
| %51:i64 = sub %16, %50 | |
| %52:i64 = ctlz %51 | |
| %53:i32 = trunc %52 | |
| %54:i32 = addnsw 4294967288:i32, %53 | |
| %55:i32 = and 63:i32, %54 | |
| %56:i64 = zext %55 | |
| %57:i64 = shl %51, %56 | |
| %58:i64 = add %50, %16 | |
| %59:i64 = and 1:i64, %58 | |
| %60:i64 = lshr %58, 1:i64 | |
| %61:i64 = or %59, %60 | |
| %62:i64 = phi %1, %57, %51, %61, %58 | |
| %63:i32 = subnsw %33, %54 | |
| %64:i32 = addnsw 1:i32, %33 | |
| %65:i32 = phi %1, %63, %33, %64, %33 | |
| %66:i32 = subnsw 1:i32, %65 | |
| %67:i32 = and 63:i32, %66 | |
| %68:i64 = zext %67 | |
| %69:i64 = lshr %62, %68 | |
| %70:i32 = addnsw 63:i32, %65 | |
| %71:i32 = and 63:i32, %70 | |
| %72:i64 = zext %71 | |
| %73:i64 = shl %62, %72 | |
| %74:i1 = ne 0:i64, %73 | |
| %75:i64 = zext %74 | |
| %76:i64 = or %69, %75 | |
| %77:i64 = phi %0, %76, %62 | |
| %78:i64 = lshr %77, 3:i64 (hasExternalUses) | |
| %79:i64 = and 4503599627370495:i64, %78 | |
| %80:i64 = and 9223372036854775808:i64, %8 (hasExternalUses) | |
| %81:i64 = or %79, %80 | |
| infer %81 | |
| > | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 4 | |
| %2:i64 = var | |
| %3:i1 = eq 0:i64, %2 | |
| %4:i64 = var | |
| %5:i64 = select %3, 0:i64, %4 | |
| %6:i64 = var | |
| %7:i1 = eq 0:i64, %6 | |
| %8:i64 = select %7, 0:i64, %4 | |
| %9:i64 = phi %1, 0:i64, %5, 0:i64, %8 | |
| %10:i64 = phi %0, %9, %4 | |
| infer %10 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1 = block 4 | |
| %2:i8 = var (range=[-1,2)) | |
| %3:i8 = var (range=[-1,2)) | |
| %4:i8 = phi %1, %2, 1:i8, 255:i8, %3 | |
| %5:i8 = phi %0, %4, 0:i8 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i1 = phi %0, 0:i1, 1:i1 | |
| infer %1 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i1 = var | |
| %2:i1 = phi %0, %1, 0:i1 | |
| infer %2 | |
| > | |
| <noinfer> <> | |
| <sprofile > <13> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i1 = var | |
| %2:i1 = phi %0, %1, 1:i1 | |
| infer %2 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i1 = var | |
| %2:i1 = phi %0, 0:i1, %1 | |
| infer %2 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i1 = var | |
| %2:i1 = phi %0, 1:i1, %1 | |
| infer %2 | |
| > | |
| <noinfer> <> | |
| <sprofile > <23> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i1 = var | |
| %2:i1 = xor 1:i1, %1 | |
| %3:i1 = phi %0, %2, 0:i1 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i1 = var | |
| %2:i1 = xor 1:i1, %1 | |
| %3:i1 = phi %0, 1:i1, %2 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i1 = var | |
| %2:i1 = xor 1:i1, %1 | |
| %3:i8 = zext %2 | |
| %4:i8 = phi %0, 1:i8, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i1 = var | |
| %2:i8 = zext %1 | |
| %3:i8 = phi %0, 2:i8, %2 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i128 = phi %0, 0:i128, 340282366920938463463374607431768211455:i128 | |
| infer %1 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i128 = phi %0, 170141183460469231731687303715884105728:i128, 170141183460469231731687303715884105727:i128 | |
| infer %1 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i128 = var | |
| %2 = block 2 | |
| %3:i128 = var | |
| %4:i128 = var | |
| %5:i128 = phi %2, %3, %4 | |
| %6:i128 = phi %0, %1, %5 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i128 = var | |
| %2:i1 = eq 0:i128, %1 | |
| %3:i1 = phi %0, 1:i1, %2 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i128 = var | |
| %2:i1 = eq 0:i128, %1 | |
| %3:i1 = phi %0, 1:i1, %2 | |
| pc %3 0:i1 | |
| %4:i1 = slt %1, 0:i128 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i128 = var | |
| %2:i1 = slt %1, 0:i128 (hasExternalUses) | |
| %3:i128 = var | |
| %4:i1 = slt %3, 0:i128 (hasExternalUses) | |
| %5:i1 = xor %2, %4 | |
| %6 = block 4 | |
| %7:i128 = sub 0:i128, %1 | |
| %8:i128 = select %2, %7, %1 | |
| %9:i128 = and 18446744073709551615:i128, %8 | |
| %10:i128 = sub 0:i128, %3 | |
| %11:i128 = select %4, %10, %3 | |
| %12:i128 = and 18446744073709551615:i128, %11 | |
| %13:i128 = mulnuw %9, %12 | |
| %14:i128 = mul %8, %11 | |
| %15:i128 = lshr %11, 64:i128 | |
| %16:i128 = mulnw %9, %15 | |
| %17:i128 = shl %16, 64:i128 | |
| %18:i129 = uadd.with.overflow %13, %17 | |
| %19:i128 = extractvalue %18, 0:i32 | |
| %20:i128 = lshr %8, 64:i128 | |
| %21:i128 = mulnw %12, %20 | |
| %22:i128 = shl %21, 64:i128 | |
| %23:i129 = uadd.with.overflow %13, %22 | |
| %24:i128 = extractvalue %23, 0:i32 | |
| %25:i128 = phi %6, %13, %14, %19, %24 | |
| %26:i128 = sub 0:i128, %25 | |
| %27:i128 = select %5, %26, %25 (hasExternalUses) | |
| %28:i1 = slt %27, 0:i128 | |
| %29:i1 = xor %5, %28 | |
| %30:i1 = extractvalue %18, 1:i32 | |
| %31:i1 = ult 18446744073709551615:i128, %16 | |
| %32:i1 = select %30, 1:i1, %31 | |
| %33:i1 = extractvalue %23, 1:i32 | |
| %34:i1 = ult 18446744073709551615:i128, %21 | |
| %35:i1 = select %33, 1:i1, %34 | |
| %36:i1 = phi %6, 0:i1, 1:i1, %32, %35 | |
| %37:i1 = select %29, 1:i1, %36 | |
| %38:i32 = zext %37 | |
| %39:i32 = phi %0, 0:i32, %38 | |
| infer %39 | |
| > | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i128 = var | |
| %2:i1 = slt %1, 0:i128 (hasExternalUses) | |
| %3:i128 = var | |
| %4:i1 = slt %3, 0:i128 (hasExternalUses) | |
| %5:i1 = xor %2, %4 | |
| %6 = block 4 | |
| %7:i128 = sub 0:i128, %1 | |
| %8:i128 = select %2, %7, %1 | |
| %9:i128 = and 18446744073709551615:i128, %8 | |
| %10:i128 = sub 0:i128, %3 | |
| %11:i128 = select %4, %10, %3 | |
| %12:i128 = and 18446744073709551615:i128, %11 | |
| %13:i128 = mulnuw %9, %12 | |
| %14:i128 = mul %8, %11 | |
| %15:i128 = lshr %11, 64:i128 | |
| %16:i128 = mulnw %9, %15 | |
| %17:i128 = shl %16, 64:i128 | |
| %18:i129 = uadd.with.overflow %13, %17 | |
| %19:i128 = extractvalue %18, 0:i32 | |
| %20:i128 = lshr %8, 64:i128 | |
| %21:i128 = mulnw %12, %20 | |
| %22:i128 = shl %21, 64:i128 | |
| %23:i129 = uadd.with.overflow %13, %22 | |
| %24:i128 = extractvalue %23, 0:i32 | |
| %25:i128 = phi %6, %13, %14, %19, %24 | |
| %26:i128 = sub 0:i128, %25 | |
| %27:i128 = select %5, %26, %25 (hasExternalUses) | |
| %28:i1 = slt %27, 0:i128 | |
| %29:i1 = xor %5, %28 | |
| %30:i1 = extractvalue %18, 1:i32 | |
| %31:i1 = ult 18446744073709551615:i128, %16 | |
| %32:i1 = select %30, 1:i1, %31 | |
| %33:i1 = extractvalue %23, 1:i32 | |
| %34:i1 = ult 18446744073709551615:i128, %21 | |
| %35:i1 = select %33, 1:i1, %34 | |
| %36:i1 = phi %6, 0:i1, 1:i1, %32, %35 | |
| %37:i1 = select %29, 1:i1, %36 | |
| %38:i8 = zext %37 | |
| %39:i8 = phi %0, 0:i8, %38 | |
| infer %39 | |
| > | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i128 = var | |
| %2:i1 = slt %1, 0:i128 (hasExternalUses) | |
| %3:i128 = var | |
| %4:i1 = slt %3, 0:i128 (hasExternalUses) | |
| %5:i1 = xor %2, %4 | |
| %6 = block 4 | |
| %7:i128 = sub 0:i128, %1 | |
| %8:i128 = select %2, %7, %1 | |
| %9:i128 = sub 0:i128, %3 | |
| %10:i128 = select %4, %9, %3 | |
| %11:i128 = mul %8, %10 | |
| %12:i128 = and 18446744073709551615:i128, %8 | |
| %13:i128 = and 18446744073709551615:i128, %10 | |
| %14:i128 = mulnuw %12, %13 | |
| %15:i128 = lshr %10, 64:i128 | |
| %16:i128 = mulnw %12, %15 | |
| %17:i128 = shl %16, 64:i128 | |
| %18:i129 = uadd.with.overflow %14, %17 | |
| %19:i128 = extractvalue %18, 0:i32 | |
| %20:i128 = lshr %8, 64:i128 | |
| %21:i128 = mulnw %13, %20 | |
| %22:i128 = shl %21, 64:i128 | |
| %23:i129 = uadd.with.overflow %14, %22 | |
| %24:i128 = extractvalue %23, 0:i32 | |
| %25:i128 = phi %6, %11, %19, %24, %14 | |
| %26:i128 = sub 0:i128, %25 | |
| %27:i128 = select %5, %26, %25 (hasExternalUses) | |
| %28:i1 = slt %27, 0:i128 | |
| %29:i1 = xor %5, %28 | |
| %30:i1 = extractvalue %18, 1:i32 | |
| %31:i1 = ult 18446744073709551615:i128, %16 | |
| %32:i1 = select %30, 1:i1, %31 | |
| %33:i1 = extractvalue %23, 1:i32 | |
| %34:i1 = ult 18446744073709551615:i128, %21 | |
| %35:i1 = select %33, 1:i1, %34 | |
| %36:i1 = phi %6, 1:i1, %32, %35, 0:i1 | |
| %37:i1 = select %29, 1:i1, %36 | |
| %38:i32 = zext %37 | |
| %39:i32 = phi %0, 0:i32, %38 | |
| infer %39 | |
| > | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i128 = var | |
| %2:i1 = slt %1, 0:i128 (hasExternalUses) | |
| %3:i128 = var | |
| %4:i1 = slt %3, 0:i128 (hasExternalUses) | |
| %5:i1 = xor %2, %4 | |
| %6 = block 4 | |
| %7:i128 = sub 0:i128, %1 | |
| %8:i128 = select %2, %7, %1 | |
| %9:i128 = sub 0:i128, %3 | |
| %10:i128 = select %4, %9, %3 | |
| %11:i128 = mul %8, %10 | |
| %12:i128 = and 18446744073709551615:i128, %8 | |
| %13:i128 = and 18446744073709551615:i128, %10 | |
| %14:i128 = mulnuw %12, %13 | |
| %15:i128 = lshr %10, 64:i128 | |
| %16:i128 = mulnw %12, %15 | |
| %17:i128 = shl %16, 64:i128 | |
| %18:i129 = uadd.with.overflow %14, %17 | |
| %19:i128 = extractvalue %18, 0:i32 | |
| %20:i128 = lshr %8, 64:i128 | |
| %21:i128 = mulnw %13, %20 | |
| %22:i128 = shl %21, 64:i128 | |
| %23:i129 = uadd.with.overflow %14, %22 | |
| %24:i128 = extractvalue %23, 0:i32 | |
| %25:i128 = phi %6, %11, %19, %24, %14 | |
| %26:i128 = sub 0:i128, %25 | |
| %27:i128 = select %5, %26, %25 (hasExternalUses) | |
| %28:i1 = slt %27, 0:i128 | |
| %29:i1 = xor %5, %28 | |
| %30:i1 = extractvalue %18, 1:i32 | |
| %31:i1 = ult 18446744073709551615:i128, %16 | |
| %32:i1 = select %30, 1:i1, %31 | |
| %33:i1 = extractvalue %23, 1:i32 | |
| %34:i1 = ult 18446744073709551615:i128, %21 | |
| %35:i1 = select %33, 1:i1, %34 | |
| %36:i1 = phi %6, 1:i1, %32, %35, 0:i1 | |
| %37:i1 = select %29, 1:i1, %36 | |
| %38:i8 = zext %37 | |
| %39:i8 = phi %0, 0:i8, %38 | |
| infer %39 | |
| > | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i128 = var | |
| %2:i1 = slt %1, 0:i128 (hasExternalUses) | |
| %3:i128 = var | |
| %4:i1 = slt %3, 0:i128 (hasExternalUses) | |
| %5:i1 = xor %2, %4 (hasExternalUses) | |
| %6 = block 4 | |
| %7:i128 = sub 0:i128, %1 | |
| %8:i128 = select %2, %7, %1 | |
| %9:i128 = and 18446744073709551615:i128, %8 | |
| %10:i128 = sub 0:i128, %3 | |
| %11:i128 = select %4, %10, %3 | |
| %12:i128 = and 18446744073709551615:i128, %11 | |
| %13:i128 = mulnuw %9, %12 | |
| %14:i128 = mul %8, %11 | |
| %15:i128 = lshr %11, 64:i128 | |
| %16:i128 = mulnw %9, %15 | |
| %17:i128 = shl %16, 64:i128 | |
| %18:i129 = uadd.with.overflow %13, %17 | |
| %19:i128 = extractvalue %18, 0:i32 | |
| %20:i128 = lshr %8, 64:i128 | |
| %21:i128 = mulnw %12, %20 | |
| %22:i128 = shl %21, 64:i128 | |
| %23:i129 = uadd.with.overflow %13, %22 | |
| %24:i128 = extractvalue %23, 0:i32 | |
| %25:i128 = phi %6, %13, %14, %19, %24 | |
| %26:i128 = sub 0:i128, %25 | |
| %27:i128 = select %5, %26, %25 (hasExternalUses) | |
| %28:i128 = phi %0, 0:i128, %27 | |
| infer %28 | |
| > | |
| <noinfer> <> | |
| <sprofile > <12> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i128 = var | |
| %2:i1 = slt %1, 0:i128 (hasExternalUses) | |
| %3:i128 = var | |
| %4:i1 = slt %3, 0:i128 (hasExternalUses) | |
| %5:i1 = xor %2, %4 (hasExternalUses) | |
| %6 = block 4 | |
| %7:i128 = sub 0:i128, %1 | |
| %8:i128 = select %2, %7, %1 | |
| %9:i128 = sub 0:i128, %3 | |
| %10:i128 = select %4, %9, %3 | |
| %11:i128 = mul %8, %10 | |
| %12:i128 = and 18446744073709551615:i128, %8 | |
| %13:i128 = and 18446744073709551615:i128, %10 | |
| %14:i128 = mulnuw %12, %13 | |
| %15:i128 = lshr %10, 64:i128 | |
| %16:i128 = mulnw %12, %15 | |
| %17:i128 = shl %16, 64:i128 | |
| %18:i129 = uadd.with.overflow %14, %17 | |
| %19:i128 = extractvalue %18, 0:i32 | |
| %20:i128 = lshr %8, 64:i128 | |
| %21:i128 = mulnw %13, %20 | |
| %22:i128 = shl %21, 64:i128 | |
| %23:i129 = uadd.with.overflow %14, %22 | |
| %24:i128 = extractvalue %23, 0:i32 | |
| %25:i128 = phi %6, %11, %19, %24, %14 | |
| %26:i128 = sub 0:i128, %25 | |
| %27:i128 = select %5, %26, %25 (hasExternalUses) | |
| %28:i128 = phi %0, 0:i128, %27 | |
| infer %28 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i128 = var | |
| %2:i128 = var | |
| %3:i128 = phi %0, %1, %2 | |
| %4:i1 = slt %3, 0:i128 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i128 = var | |
| %2:i128 = var | |
| %3:i128 = phi %0, %1, %2 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <23> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i128 = var | |
| %2:i128 = var | |
| %3:i128 = sub %1, %2 (hasExternalUses) | |
| %4:i128 = var | |
| %5:i128 = sub %3, %4 | |
| %6:i128 = phi %0, %5, %3 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i16 = var | |
| %2:i16 = phi %0, 0:i16, %1 | |
| %3:i24 = zext %2 | |
| %4:i24 = shlnuw %3, 8:i24 | |
| %5:i8 = phi %0, 1:i8, 0:i8 | |
| %6:i24 = zext %5 | |
| %7:i24 = or %4, %6 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i16 = var | |
| %2:i16 = phi %0, 0:i16, %1 | |
| %3:i24 = zext %2 | |
| %4:i24 = shlnuw %3, 8:i24 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i16 = var | |
| %2:i16 = phi %0, 0:i16, %1 | |
| %3:i24 = zext %2 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i16 = var | |
| %2:i16 = phi %0, 0:i16, %1 | |
| infer %2 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i16 = var | |
| %2:i16 = var | |
| %3:i16 = phi %0, %1, %2 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i24 = var | |
| %2:i24 = lshr %1, 8:i24 | |
| %3:i16 = trunc %2 | |
| %4:i16 = phi %0, 0:i16, %3 | |
| %5:i24 = zext %4 | |
| %6:i24 = shlnuw %5, 8:i24 | |
| %7:i8 = trunc %1 | |
| %8:i8 = phi %0, 14:i8, %7 | |
| %9:i24 = zext %8 | |
| %10:i24 = or %6, %9 | |
| infer %10 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i24 = var | |
| %2:i24 = lshr %1, 8:i24 | |
| %3:i16 = trunc %2 | |
| %4:i16 = phi %0, 0:i16, %3 | |
| %5:i24 = zext %4 | |
| %6:i24 = shlnuw %5, 8:i24 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i24 = var | |
| %2:i24 = lshr %1, 8:i24 | |
| %3:i16 = trunc %2 | |
| %4:i16 = phi %0, 0:i16, %3 | |
| %5:i24 = zext %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i24 = var | |
| %2:i24 = lshr %1, 8:i24 | |
| %3:i16 = trunc %2 | |
| %4:i16 = phi %0, 0:i16, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i24 = var | |
| %2:i8 = trunc %1 | |
| %3:i8 = phi %0, 14:i8, %2 | |
| %4:i24 = zext %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i24 = var | |
| %2:i8 = trunc %1 | |
| %3:i8 = phi %0, 14:i8, %2 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = phi %0, 0:i32, 1:i32 | |
| infer %1 | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = phi %0, 0:i32, 4294967295:i32 | |
| infer %1 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = phi %0, 1:i32, 0:i32 | |
| infer %1 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = phi %0, 2147483648:i32, 2147483647:i32 | |
| infer %1 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11:i32 = var | |
| %12:i32 = var | |
| %13:i32 = phi %10, %11, %12 | |
| %14:i32 = var | |
| %15:i32 = phi %9, %13, %14 | |
| %16:i32 = var | |
| %17:i32 = phi %8, %15, %16 | |
| %18:i32 = var | |
| %19:i32 = phi %7, %17, %18 | |
| %20:i32 = var | |
| %21:i32 = phi %6, %19, %20 | |
| %22:i32 = var | |
| %23:i32 = phi %5, %21, %22 | |
| %24:i32 = var | |
| %25:i32 = phi %4, %23, %24 | |
| %26:i32 = var | |
| %27:i32 = phi %3, %25, %26 | |
| %28:i32 = var | |
| %29:i32 = phi %2, %27, %28 | |
| %30:i32 = phi %0, %1, %29 | |
| %31:i1 = eq 0:i32, %30 | |
| infer %31 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 2 | |
| %11:i32 = var | |
| %12:i32 = var | |
| %13:i32 = phi %10, %11, %12 | |
| %14:i32 = var | |
| %15:i32 = phi %9, %13, %14 | |
| %16:i32 = var | |
| %17:i32 = phi %8, %15, %16 | |
| %18:i32 = var | |
| %19:i32 = phi %7, %17, %18 | |
| %20:i32 = var | |
| %21:i32 = phi %6, %19, %20 | |
| %22:i32 = var | |
| %23:i32 = phi %5, %21, %22 | |
| %24:i32 = var | |
| %25:i32 = phi %4, %23, %24 | |
| %26:i32 = var | |
| %27:i32 = phi %3, %25, %26 | |
| %28:i32 = var | |
| %29:i32 = phi %2, %27, %28 | |
| %30:i32 = phi %0, %1, %29 | |
| infer %30 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 3 | |
| %11:i32 = var | |
| %12:i32 = var | |
| %13:i32 = var | |
| %14:i32 = phi %10, %11, %12, %13 | |
| %15:i32 = var | |
| %16:i32 = phi %9, %14, %15 | |
| %17:i32 = var | |
| %18:i32 = phi %8, %16, %17 | |
| %19:i32 = var | |
| %20:i32 = phi %7, %18, %19 | |
| %21:i32 = var | |
| %22:i32 = phi %6, %20, %21 | |
| %23:i32 = var | |
| %24:i32 = phi %5, %22, %23 | |
| %25:i32 = var | |
| %26:i32 = phi %4, %24, %25 | |
| %27:i32 = var | |
| %28:i32 = phi %3, %26, %27 | |
| %29:i32 = var | |
| %30:i32 = phi %2, %28, %29 | |
| %31:i32 = phi %0, %1, %30 | |
| %32:i1 = eq 0:i32, %31 | |
| infer %32 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7 = block 2 | |
| %8 = block 2 | |
| %9 = block 2 | |
| %10 = block 3 | |
| %11:i32 = var | |
| %12:i32 = var | |
| %13:i32 = var | |
| %14:i32 = phi %10, %11, %12, %13 | |
| %15:i32 = var | |
| %16:i32 = phi %9, %14, %15 | |
| %17:i32 = var | |
| %18:i32 = phi %8, %16, %17 | |
| %19:i32 = var | |
| %20:i32 = phi %7, %18, %19 | |
| %21:i32 = var | |
| %22:i32 = phi %6, %20, %21 | |
| %23:i32 = var | |
| %24:i32 = phi %5, %22, %23 | |
| %25:i32 = var | |
| %26:i32 = phi %4, %24, %25 | |
| %27:i32 = var | |
| %28:i32 = phi %3, %26, %27 | |
| %29:i32 = var | |
| %30:i32 = phi %2, %28, %29 | |
| %31:i32 = phi %0, %1, %30 | |
| infer %31 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4:i32 = var | |
| %5:i32 = phi %3, %4, %1 | |
| %6:i32 = var | |
| %7 = block 2 | |
| %8:i64 = var | |
| %9:i64 = add 18446744073709551615:i64, %8 | |
| %10:i64 = phi %7, %9, %8 | |
| %11:i32 = trunc %10 | |
| %12:i32 = and 31:i32, %11 | |
| %13:i32 = lshr %6, %12 | |
| %14:i32 = phi %2, %5, %13 | |
| %15:i32 = phi %0, %1, %14 | |
| infer %15 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6:i32 = var | |
| %7:i32 = phi %5, %6, %3 | |
| %8:i32 = var | |
| %9 = block 2 | |
| %10:i64 = var | |
| %11:i64 = add 18446744073709551615:i64, %10 | |
| %12:i64 = phi %9, %11, %10 | |
| %13:i32 = trunc %12 | |
| %14:i32 = and 31:i32, %13 | |
| %15:i32 = lshr %8, %14 | |
| %16:i32 = phi %4, %7, %15 | |
| %17:i32 = phi %2, %3, %16 | |
| %18:i32 = phi %0, %1, %17 | |
| infer %18 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2 = block 2 | |
| %3:i32 = var | |
| %4:i32 = phi %2, %3, 0:i32 | |
| %5:i32 = add %1, %4 | |
| %6:i32 = phi %0, %5, %4 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i1 = eq 0:i32, %1 | |
| %3:i1 = phi %0, 0:i1, %2 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i1 = eq 0:i32, %1 | |
| %3:i1 = phi %0, 1:i1, %2 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i1 = eq 0:i32, %1 | |
| %3:i1 = phi %0, 1:i1, %2 | |
| pc %3 0:i1 | |
| %4:i1 = slt %1, 0:i32 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i1 = slt %1, 0:i32 | |
| %3:i32 = sub 0:i32, %1 | |
| %4:i32 = select %2, %3, %1 | |
| %5:i32 = var | |
| %6:i1 = slt %5, 0:i32 | |
| %7:i32 = sub 0:i32, %5 | |
| %8:i32 = select %6, %7, %5 | |
| %9:i32 = ctlz %4 | |
| %10:i32 = ctlz %8 | |
| %11:i32 = subnsw %9, %10 | |
| %12:i32 = and 31:i32, %11 | |
| %13:i32 = shl %4, %12 | |
| %14:i1 = ult %8, %13 | |
| %15:i64 = select %14, 18446744073709551615:i64, 0:i64 | |
| %16:i64 = zext %11 | |
| %17:i64 = addnsw %15, %16 | |
| %18:i32 = trunc %17 | |
| %19:i32 = and 31:i32, %18 | |
| %20:i32 = shl %4, %19 | |
| %21:i32 = lshr %20, 1:i32 | |
| %22:i32 = phi %0, %21, %20 | |
| %23:i32 = addnsw 4294967295:i32, %22 | |
| %24:i32 = var | |
| %25:i32 = shl %24, 1:i32 | |
| %26:i32 = sub %25, %23 (hasExternalUses) | |
| %27:i32 = ashr %26, 31:i32 | |
| %28:i32 = and %23, %27 | |
| infer %28 | |
| > | |
| <noinfer> <> | |
| <sprofile > <16> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i1 = slt %1, 0:i32 | |
| %3:i32 = sub 0:i32, %1 | |
| %4:i32 = select %2, %3, %1 | |
| %5:i32 = var | |
| %6:i1 = slt %5, 0:i32 | |
| %7:i32 = sub 0:i32, %5 | |
| %8:i32 = select %6, %7, %5 | |
| %9:i32 = ctlz %4 | |
| %10:i32 = ctlz %8 | |
| %11:i32 = subnsw %9, %10 | |
| %12:i32 = and 31:i32, %11 | |
| %13:i32 = shl %4, %12 | |
| %14:i1 = ult %8, %13 | |
| %15:i64 = select %14, 18446744073709551615:i64, 0:i64 | |
| %16:i64 = zext %11 | |
| %17:i64 = addnsw %15, %16 | |
| %18:i32 = trunc %17 | |
| %19:i32 = and 31:i32, %18 | |
| %20:i32 = shl %4, %19 | |
| %21:i32 = lshr %20, 1:i32 | |
| %22:i32 = phi %0, %21, %20 | |
| %23:i32 = addnsw 4294967295:i32, %22 | |
| infer %23 | |
| > | |
| <noinfer> <> | |
| <sprofile > <16> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i1 = slt %1, 0:i32 | |
| %3:i32 = sub 0:i32, %1 | |
| %4:i32 = select %2, %3, %1 | |
| %5:i32 = var | |
| %6:i1 = slt %5, 0:i32 | |
| %7:i32 = sub 0:i32, %5 | |
| %8:i32 = select %6, %7, %5 | |
| %9:i32 = ctlz %8 | |
| %10:i32 = ctlz %4 | |
| %11:i32 = subnsw %9, %10 | |
| %12:i32 = and 31:i32, %11 | |
| %13:i32 = shl %8, %12 | |
| %14:i1 = ult %4, %13 | |
| %15:i64 = select %14, 18446744073709551615:i64, 0:i64 | |
| %16:i64 = zext %11 | |
| %17:i64 = addnsw %15, %16 | |
| %18:i32 = trunc %17 | |
| %19:i32 = and 31:i32, %18 | |
| %20:i32 = shlnuw 1:i32, %19 | |
| %21:i32 = shl %8, %19 | |
| %22:i32 = sub %4, %21 | |
| %23:i32 = lshr %21, 1:i32 | |
| %24:i32 = sub %22, %23 | |
| %25:i1 = slt 4294967295:i32, %24 | |
| %26:i64 = addnsw 18446744073709551615:i64, %17 | |
| %27:i32 = trunc %26 | |
| %28:i32 = and 31:i32, %27 | |
| %29:i32 = shlnuw 1:i32, %28 | |
| %30:i32 = select %25, %29, 0:i32 | |
| %31:i32 = or %20, %30 | |
| %32:i32 = phi %0, %31, %20 | |
| %33 = block 2 | |
| %34:i32 = select %25, %24, %22 | |
| %35:i32 = phi %0, %34, %22 | |
| %36:i32 = var | |
| %37:i32 = shl %36, 1:i32 | |
| %38:i32 = phi %0, %23, %21 | |
| %39:i32 = addnsw 4294967295:i32, %38 | |
| %40:i32 = sub %37, %39 | |
| %41:i32 = ashr %40, 31:i32 | |
| %42:i32 = and %39, %41 | |
| %43:i32 = add %40, %42 | |
| %44:i32 = phi %33, %35, %43 | |
| %45:i32 = phi %0, %29, %20 | |
| %46:i32 = add 4294967295:i32, %45 | |
| %47:i32 = and %44, %46 | |
| %48:i32 = or %32, %47 | |
| infer %48 | |
| > | |
| <sprofile > <12> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i1 = slt %1, 0:i32 | |
| %3:i32 = sub 0:i32, %1 | |
| %4:i32 = select %2, %3, %1 | |
| %5:i32 = var | |
| %6:i1 = slt %5, 0:i32 | |
| %7:i32 = sub 0:i32, %5 | |
| %8:i32 = select %6, %7, %5 | |
| %9:i32 = ctlz %8 | |
| %10:i32 = ctlz %4 | |
| %11:i32 = subnsw %9, %10 | |
| %12:i32 = and 31:i32, %11 | |
| %13:i32 = shl %8, %12 | |
| %14:i1 = ult %4, %13 | |
| %15:i64 = select %14, 18446744073709551615:i64, 0:i64 | |
| %16:i64 = zext %11 | |
| %17:i64 = addnsw %15, %16 | |
| %18:i32 = trunc %17 | |
| %19:i32 = and 31:i32, %18 | |
| %20:i32 = shlnuw 1:i32, %19 | |
| %21:i32 = shl %8, %19 | |
| %22:i32 = sub %4, %21 | |
| %23:i32 = lshr %21, 1:i32 | |
| %24:i32 = sub %22, %23 | |
| %25:i1 = slt 4294967295:i32, %24 | |
| %26:i64 = addnsw 18446744073709551615:i64, %17 | |
| %27:i32 = trunc %26 | |
| %28:i32 = and 31:i32, %27 | |
| %29:i32 = shlnuw 1:i32, %28 | |
| %30:i32 = select %25, %29, 0:i32 | |
| %31:i32 = or %20, %30 | |
| %32:i32 = phi %0, %31, %20 | |
| %33:i32 = var | |
| %34:i32 = phi %0, %29, %20 | |
| %35:i32 = add 4294967295:i32, %34 | |
| %36:i32 = and %33, %35 | |
| %37:i32 = or %32, %36 | |
| infer %37 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i1 = slt %1, 0:i32 | |
| %3:i32 = sub 0:i32, %1 | |
| %4:i32 = select %2, %3, %1 | |
| %5:i32 = var | |
| %6:i1 = slt %5, 0:i32 | |
| %7:i32 = sub 0:i32, %5 | |
| %8:i32 = select %6, %7, %5 | |
| %9:i32 = ctlz %8 | |
| %10:i32 = ctlz %4 | |
| %11:i32 = subnsw %9, %10 | |
| %12:i32 = and 31:i32, %11 | |
| %13:i32 = shl %8, %12 | |
| %14:i1 = ult %4, %13 | |
| %15:i64 = select %14, 18446744073709551615:i64, 0:i64 | |
| %16:i64 = zext %11 | |
| %17:i64 = addnsw %15, %16 | |
| %18:i64 = addnsw 18446744073709551615:i64, %17 | |
| %19:i32 = trunc %18 | |
| %20:i32 = and 31:i32, %19 | |
| %21:i32 = shlnuw 1:i32, %20 | |
| %22:i32 = trunc %17 | |
| %23:i32 = and 31:i32, %22 | |
| %24:i32 = shlnuw 1:i32, %23 | |
| %25:i32 = phi %0, %21, %24 | |
| %26:i32 = add 4294967295:i32, %25 | |
| infer %26 | |
| > | |
| <noinfer> <> | |
| <sprofile > <16> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i1 = slt %1, 0:i32 | |
| %3:i32 = sub 0:i32, %1 | |
| %4:i32 = select %2, %3, %1 | |
| %5:i32 = var | |
| %6:i1 = slt %5, 0:i32 | |
| %7:i32 = sub 0:i32, %5 | |
| %8:i32 = select %6, %7, %5 | |
| %9:i32 = ctlz %8 | |
| %10:i32 = ctlz %4 | |
| %11:i32 = subnsw %9, %10 | |
| %12:i32 = and 31:i32, %11 | |
| %13:i32 = shl %8, %12 | |
| %14:i1 = ult %4, %13 | |
| %15:i64 = select %14, 18446744073709551615:i64, 0:i64 | |
| %16:i64 = zext %11 | |
| %17:i64 = addnsw %15, %16 | |
| %18:i64 = addnsw 18446744073709551615:i64, %17 | |
| %19:i64 = phi %0, %18, %17 | |
| %20:i1 = eq 0:i64, %19 | |
| infer %20 | |
| > | |
| <noinfer> <> | |
| <sprofile > <12> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i1 = slt %1, 0:i32 | |
| %3:i32 = sub 0:i32, %1 | |
| %4:i32 = select %2, %3, %1 | |
| %5:i32 = var | |
| %6:i1 = slt %5, 0:i32 | |
| %7:i32 = sub 0:i32, %5 | |
| %8:i32 = select %6, %7, %5 | |
| %9:i32 = ctlz %8 | |
| %10:i32 = ctlz %4 | |
| %11:i32 = subnsw %9, %10 | |
| %12:i32 = and 31:i32, %11 | |
| %13:i32 = shl %8, %12 | |
| %14:i1 = ult %4, %13 | |
| %15:i64 = select %14, 18446744073709551615:i64, 0:i64 | |
| %16:i64 = zext %11 | |
| %17:i64 = addnsw %15, %16 | |
| %18:i64 = addnsw 18446744073709551615:i64, %17 | |
| %19:i64 = phi %0, %18, %17 | |
| %20:i32 = trunc %19 | |
| %21:i32 = and 31:i32, %20 | |
| infer %21 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i1 = slt %1, 0:i32 | |
| %3:i32 = sub 0:i32, %1 | |
| %4:i32 = select %2, %3, %1 | |
| %5:i32 = var | |
| %6:i1 = slt %5, 0:i32 | |
| %7:i32 = sub 0:i32, %5 | |
| %8:i32 = select %6, %7, %5 | |
| %9:i32 = ctlz %8 | |
| %10:i32 = ctlz %4 | |
| %11:i32 = subnsw %9, %10 | |
| %12:i32 = and 31:i32, %11 | |
| %13:i32 = shl %8, %12 | |
| %14:i1 = ult %4, %13 | |
| %15:i64 = select %14, 18446744073709551615:i64, 0:i64 | |
| %16:i64 = zext %11 | |
| %17:i64 = addnsw %15, %16 | |
| %18:i64 = addnsw 18446744073709551615:i64, %17 | |
| %19:i64 = phi %0, %18, %17 | |
| %20:i32 = trunc %19 | |
| infer %20 (demandedBits=00000000000000000000000000011111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i1 = slt %1, 0:i32 | |
| %3:i32 = sub 0:i32, %1 | |
| %4:i32 = select %2, %3, %1 | |
| %5:i32 = var (range=[1,-2147483647)) | |
| %6:i32 = ctlz %5 | |
| %7:i32 = ctlz %4 | |
| %8:i32 = subnsw %6, %7 | |
| %9:i32 = and 31:i32, %8 | |
| %10:i32 = shl %5, %9 | |
| %11:i1 = ult %4, %10 | |
| %12:i64 = select %11, 18446744073709551615:i64, 0:i64 | |
| %13:i64 = zext %8 | |
| %14:i64 = addnsw %12, %13 | |
| %15:i64 = addnsw 18446744073709551615:i64, %14 | |
| %16:i64 = phi %0, %15, %14 | |
| %17:i1 = eq 0:i64, %16 | |
| infer %17 | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i1 = slt %1, 0:i32 | |
| %3:i32 = sub 0:i32, %1 | |
| %4:i32 = select %2, %3, %1 | |
| %5:i32 = var (range=[1,-2147483647)) | |
| %6:i32 = ctlz %5 | |
| %7:i32 = ctlz %4 | |
| %8:i32 = subnsw %6, %7 | |
| %9:i32 = and 31:i32, %8 | |
| %10:i32 = shl %5, %9 | |
| %11:i1 = ult %4, %10 | |
| %12:i64 = select %11, 18446744073709551615:i64, 0:i64 | |
| %13:i64 = zext %8 | |
| %14:i64 = addnsw %12, %13 | |
| %15:i64 = addnsw 18446744073709551615:i64, %14 | |
| %16:i64 = phi %0, %15, %14 | |
| %17:i32 = trunc %16 | |
| %18:i32 = and 31:i32, %17 | |
| infer %18 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i1 = slt %1, 0:i32 | |
| %3:i32 = sub 0:i32, %1 | |
| %4:i32 = select %2, %3, %1 | |
| %5:i32 = var (range=[1,-2147483647)) | |
| %6:i32 = ctlz %5 | |
| %7:i32 = ctlz %4 | |
| %8:i32 = subnsw %6, %7 | |
| %9:i32 = and 31:i32, %8 | |
| %10:i32 = shl %5, %9 | |
| %11:i1 = ult %4, %10 | |
| %12:i64 = select %11, 18446744073709551615:i64, 0:i64 | |
| %13:i64 = zext %8 | |
| %14:i64 = addnsw %12, %13 | |
| %15:i64 = addnsw 18446744073709551615:i64, %14 | |
| %16:i64 = phi %0, %15, %14 | |
| %17:i32 = trunc %16 | |
| infer %17 (demandedBits=00000000000000000000000000011111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i1 = slt %1, 0:i32 (hasExternalUses) | |
| %3:i32 = sub 0:i32, %1 | |
| %4:i32 = select %2, %3, %1 (hasExternalUses) | |
| %5:i32 = var | |
| %6:i1 = slt %5, 0:i32 (hasExternalUses) | |
| %7:i32 = sub 0:i32, %5 | |
| %8:i32 = select %6, %7, %5 (hasExternalUses) | |
| %9:i32 = ctlz %4 | |
| %10:i32 = ctlz %8 | |
| %11:i32 = subnsw %9, %10 | |
| %12:i32 = and 31:i32, %11 | |
| %13:i32 = shl %4, %12 | |
| %14:i1 = ult %8, %13 | |
| %15:i64 = select %14, 18446744073709551615:i64, 0:i64 | |
| %16:i64 = zext %11 | |
| %17:i64 = addnsw %15, %16 (hasExternalUses) | |
| %18:i32 = trunc %17 | |
| %19:i32 = and 31:i32, %18 (hasExternalUses) | |
| %20:i32 = shl %4, %19 (hasExternalUses) | |
| %21:i32 = lshr %20, 1:i32 (hasExternalUses) | |
| %22:i32 = phi %0, %21, %20 | |
| infer %22 | |
| > | |
| <noinfer> <> | |
| <sprofile > <16> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i1 = slt %1, 0:i32 (hasExternalUses) | |
| %3:i32 = sub 0:i32, %1 | |
| %4:i32 = select %2, %3, %1 (hasExternalUses) | |
| %5:i32 = var | |
| %6:i1 = slt %5, 0:i32 (hasExternalUses) | |
| %7:i32 = sub 0:i32, %5 | |
| %8:i32 = select %6, %7, %5 (hasExternalUses) | |
| %9:i32 = ctlz %8 | |
| %10:i32 = ctlz %4 | |
| %11:i32 = subnsw %9, %10 | |
| %12:i32 = and 31:i32, %11 | |
| %13:i32 = shl %8, %12 | |
| %14:i1 = ult %4, %13 | |
| %15:i64 = select %14, 18446744073709551615:i64, 0:i64 | |
| %16:i64 = zext %11 | |
| %17:i64 = addnsw %15, %16 (hasExternalUses) | |
| %18:i32 = trunc %17 | |
| %19:i32 = and 31:i32, %18 | |
| %20:i32 = shlnuw 1:i32, %19 (hasExternalUses) | |
| %21:i32 = shl %8, %19 (hasExternalUses) | |
| %22:i32 = sub %4, %21 (hasExternalUses) | |
| %23:i32 = lshr %21, 1:i32 (hasExternalUses) | |
| %24:i32 = sub %22, %23 (hasExternalUses) | |
| %25:i1 = slt 4294967295:i32, %24 (hasExternalUses) | |
| %26:i64 = addnsw 18446744073709551615:i64, %17 (hasExternalUses) | |
| %27:i32 = trunc %26 | |
| %28:i32 = and 31:i32, %27 | |
| %29:i32 = shlnuw 1:i32, %28 (hasExternalUses) | |
| %30:i32 = select %25, %29, 0:i32 | |
| %31:i32 = or %20, %30 (hasExternalUses) | |
| %32:i32 = phi %0, %31, %20 | |
| infer %32 | |
| > | |
| <sprofile > <16> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i1 = slt %1, 0:i32 (hasExternalUses) | |
| %3:i32 = sub 0:i32, %1 | |
| %4:i32 = select %2, %3, %1 (hasExternalUses) | |
| %5:i32 = var | |
| %6:i1 = slt %5, 0:i32 (hasExternalUses) | |
| %7:i32 = sub 0:i32, %5 | |
| %8:i32 = select %6, %7, %5 (hasExternalUses) | |
| %9:i32 = ctlz %8 | |
| %10:i32 = ctlz %4 | |
| %11:i32 = subnsw %9, %10 | |
| %12:i32 = and 31:i32, %11 | |
| %13:i32 = shl %8, %12 | |
| %14:i1 = ult %4, %13 | |
| %15:i64 = select %14, 18446744073709551615:i64, 0:i64 | |
| %16:i64 = zext %11 | |
| %17:i64 = addnsw %15, %16 (hasExternalUses) | |
| %18:i32 = trunc %17 | |
| %19:i32 = and 31:i32, %18 (hasExternalUses) | |
| %20:i32 = shl %8, %19 (hasExternalUses) | |
| %21:i32 = sub %4, %20 (hasExternalUses) | |
| %22:i32 = lshr %20, 1:i32 (hasExternalUses) | |
| %23:i32 = sub %21, %22 | |
| %24:i1 = slt 4294967295:i32, %23 (hasExternalUses) | |
| %25:i32 = select %24, %23, %21 (hasExternalUses) | |
| %26:i32 = phi %0, %25, %21 | |
| infer %26 | |
| > | |
| <noinfer> <> | |
| <sprofile > <16> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i1 = slt %1, 0:i32 (hasExternalUses) | |
| %3:i32 = sub 0:i32, %1 | |
| %4:i32 = select %2, %3, %1 (hasExternalUses) | |
| %5:i32 = var | |
| %6:i1 = slt %5, 0:i32 (hasExternalUses) | |
| %7:i32 = sub 0:i32, %5 | |
| %8:i32 = select %6, %7, %5 (hasExternalUses) | |
| %9:i32 = ctlz %8 | |
| %10:i32 = ctlz %4 | |
| %11:i32 = subnsw %9, %10 | |
| %12:i32 = and 31:i32, %11 | |
| %13:i32 = shl %8, %12 | |
| %14:i1 = ult %4, %13 | |
| %15:i64 = select %14, 18446744073709551615:i64, 0:i64 | |
| %16:i64 = zext %11 | |
| %17:i64 = addnsw %15, %16 (hasExternalUses) | |
| %18:i64 = addnsw 18446744073709551615:i64, %17 (hasExternalUses) | |
| %19:i32 = trunc %18 | |
| %20:i32 = and 31:i32, %19 | |
| %21:i32 = shlnuw 1:i32, %20 (hasExternalUses) | |
| %22:i32 = trunc %17 | |
| %23:i32 = and 31:i32, %22 (hasExternalUses) | |
| %24:i32 = shlnuw 1:i32, %23 (hasExternalUses) | |
| %25:i32 = phi %0, %21, %24 | |
| infer %25 | |
| > | |
| <noinfer> <> | |
| <sprofile > <16> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i1 = slt %1, 0:i32 (hasExternalUses) | |
| %3:i32 = sub 0:i32, %1 | |
| %4:i32 = select %2, %3, %1 (hasExternalUses) | |
| %5:i32 = var | |
| %6:i1 = slt %5, 0:i32 (hasExternalUses) | |
| %7:i32 = sub 0:i32, %5 | |
| %8:i32 = select %6, %7, %5 (hasExternalUses) | |
| %9:i32 = ctlz %8 | |
| %10:i32 = ctlz %4 | |
| %11:i32 = subnsw %9, %10 | |
| %12:i32 = and 31:i32, %11 | |
| %13:i32 = shl %8, %12 | |
| %14:i1 = ult %4, %13 | |
| %15:i64 = select %14, 18446744073709551615:i64, 0:i64 | |
| %16:i64 = zext %11 | |
| %17:i64 = addnsw %15, %16 (hasExternalUses) | |
| %18:i64 = addnsw 18446744073709551615:i64, %17 (hasExternalUses) | |
| %19:i64 = phi %0, %18, %17 | |
| infer %19 | |
| > | |
| <noinfer> <> | |
| <sprofile > <16> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i1 = slt %1, 0:i32 (hasExternalUses) | |
| %3:i32 = sub 0:i32, %1 | |
| %4:i32 = select %2, %3, %1 (hasExternalUses) | |
| %5:i32 = var (range=[1,-2147483647)) | |
| %6:i32 = ctlz %5 | |
| %7:i32 = ctlz %4 | |
| %8:i32 = subnsw %6, %7 | |
| %9:i32 = and 31:i32, %8 | |
| %10:i32 = shl %5, %9 | |
| %11:i1 = ult %4, %10 | |
| %12:i64 = select %11, 18446744073709551615:i64, 0:i64 | |
| %13:i64 = zext %8 | |
| %14:i64 = addnsw %12, %13 (hasExternalUses) | |
| %15:i32 = trunc %14 | |
| %16:i32 = and 31:i32, %15 | |
| %17:i32 = shl %5, %16 (hasExternalUses) | |
| %18:i32 = sub %4, %17 (hasExternalUses) | |
| %19:i32 = lshr %17, 1:i32 (hasExternalUses) | |
| %20:i32 = sub %18, %19 | |
| %21:i1 = slt 4294967295:i32, %20 | |
| %22:i32 = select %21, %20, %18 (hasExternalUses) | |
| %23:i32 = phi %0, %22, %18 | |
| infer %23 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i1 = slt %1, 0:i32 (hasExternalUses) | |
| %3:i32 = sub 0:i32, %1 | |
| %4:i32 = select %2, %3, %1 (hasExternalUses) | |
| %5:i32 = var (range=[1,-2147483647)) | |
| %6:i32 = ctlz %5 | |
| %7:i32 = ctlz %4 | |
| %8:i32 = subnsw %6, %7 | |
| %9:i32 = and 31:i32, %8 | |
| %10:i32 = shl %5, %9 | |
| %11:i1 = ult %4, %10 | |
| %12:i64 = select %11, 18446744073709551615:i64, 0:i64 | |
| %13:i64 = zext %8 | |
| %14:i64 = addnsw %12, %13 (hasExternalUses) | |
| %15:i64 = addnsw 18446744073709551615:i64, %14 | |
| %16:i64 = phi %0, %15, %14 | |
| infer %16 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i1 = slt %1, 0:i32 (hasExternalUses) | |
| %3:i32 = var | |
| %4:i1 = slt %3, 0:i32 (hasExternalUses) | |
| %5:i1 = xor %2, %4 | |
| %6 = block 4 | |
| %7:i32 = sub 0:i32, %1 | |
| %8:i32 = select %2, %7, %1 | |
| %9:i32 = and 65535:i32, %8 | |
| %10:i32 = sub 0:i32, %3 | |
| %11:i32 = select %4, %10, %3 | |
| %12:i32 = and 65535:i32, %11 | |
| %13:i32 = mulnuw %9, %12 | |
| %14:i32 = mul %8, %11 | |
| %15:i32 = lshr %11, 16:i32 | |
| %16:i32 = mulnw %9, %15 | |
| %17:i32 = shl %16, 16:i32 | |
| %18:i33 = uadd.with.overflow %13, %17 | |
| %19:i32 = extractvalue %18, 0:i32 | |
| %20:i32 = lshr %8, 16:i32 | |
| %21:i32 = mulnw %12, %20 | |
| %22:i32 = shl %21, 16:i32 | |
| %23:i33 = uadd.with.overflow %13, %22 | |
| %24:i32 = extractvalue %23, 0:i32 | |
| %25:i32 = phi %6, %13, %14, %19, %24 | |
| %26:i32 = sub 0:i32, %25 | |
| %27:i32 = select %5, %26, %25 (hasExternalUses) | |
| %28:i1 = slt %27, 0:i32 | |
| %29:i1 = xor %5, %28 | |
| %30:i1 = extractvalue %18, 1:i32 | |
| %31:i1 = ult 65535:i32, %16 | |
| %32:i1 = select %30, 1:i1, %31 | |
| %33:i1 = extractvalue %23, 1:i32 | |
| %34:i1 = ult 65535:i32, %21 | |
| %35:i1 = select %33, 1:i1, %34 | |
| %36:i1 = phi %6, 0:i1, 1:i1, %32, %35 | |
| %37:i1 = select %29, 1:i1, %36 | |
| %38:i32 = zext %37 | |
| %39:i32 = phi %0, 0:i32, %38 | |
| infer %39 | |
| > | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i1 = slt %1, 0:i32 (hasExternalUses) | |
| %3:i32 = var | |
| %4:i1 = slt %3, 0:i32 (hasExternalUses) | |
| %5:i1 = xor %2, %4 | |
| %6 = block 4 | |
| %7:i32 = sub 0:i32, %1 | |
| %8:i32 = select %2, %7, %1 | |
| %9:i32 = sub 0:i32, %3 | |
| %10:i32 = select %4, %9, %3 | |
| %11:i32 = mul %8, %10 | |
| %12:i32 = and 65535:i32, %8 | |
| %13:i32 = and 65535:i32, %10 | |
| %14:i32 = mulnuw %12, %13 | |
| %15:i32 = lshr %10, 16:i32 | |
| %16:i32 = mulnw %12, %15 | |
| %17:i32 = shl %16, 16:i32 | |
| %18:i33 = uadd.with.overflow %14, %17 | |
| %19:i32 = extractvalue %18, 0:i32 | |
| %20:i32 = lshr %8, 16:i32 | |
| %21:i32 = mulnw %13, %20 | |
| %22:i32 = shl %21, 16:i32 | |
| %23:i33 = uadd.with.overflow %14, %22 | |
| %24:i32 = extractvalue %23, 0:i32 | |
| %25:i32 = phi %6, %11, %19, %24, %14 | |
| %26:i32 = sub 0:i32, %25 | |
| %27:i32 = select %5, %26, %25 (hasExternalUses) | |
| %28:i1 = slt %27, 0:i32 | |
| %29:i1 = xor %5, %28 | |
| %30:i1 = extractvalue %18, 1:i32 | |
| %31:i1 = ult 65535:i32, %16 | |
| %32:i1 = select %30, 1:i1, %31 | |
| %33:i1 = extractvalue %23, 1:i32 | |
| %34:i1 = ult 65535:i32, %21 | |
| %35:i1 = select %33, 1:i1, %34 | |
| %36:i1 = phi %6, 1:i1, %32, %35, 0:i1 | |
| %37:i1 = select %29, 1:i1, %36 | |
| %38:i32 = zext %37 | |
| %39:i32 = phi %0, 0:i32, %38 | |
| infer %39 | |
| > | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i1 = slt %1, 0:i32 (hasExternalUses) | |
| %3:i32 = var | |
| %4:i1 = slt %3, 0:i32 (hasExternalUses) | |
| %5:i1 = xor %2, %4 (hasExternalUses) | |
| %6 = block 4 | |
| %7:i32 = sub 0:i32, %1 | |
| %8:i32 = select %2, %7, %1 | |
| %9:i32 = and 65535:i32, %8 | |
| %10:i32 = sub 0:i32, %3 | |
| %11:i32 = select %4, %10, %3 | |
| %12:i32 = and 65535:i32, %11 | |
| %13:i32 = mulnuw %9, %12 | |
| %14:i32 = mul %8, %11 | |
| %15:i32 = lshr %11, 16:i32 | |
| %16:i32 = mulnw %9, %15 | |
| %17:i32 = shl %16, 16:i32 | |
| %18:i33 = uadd.with.overflow %13, %17 | |
| %19:i32 = extractvalue %18, 0:i32 | |
| %20:i32 = lshr %8, 16:i32 | |
| %21:i32 = mulnw %12, %20 | |
| %22:i32 = shl %21, 16:i32 | |
| %23:i33 = uadd.with.overflow %13, %22 | |
| %24:i32 = extractvalue %23, 0:i32 | |
| %25:i32 = phi %6, %13, %14, %19, %24 | |
| %26:i32 = sub 0:i32, %25 | |
| %27:i32 = select %5, %26, %25 (hasExternalUses) | |
| %28:i32 = phi %0, 0:i32, %27 | |
| infer %28 | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i1 = slt %1, 0:i32 (hasExternalUses) | |
| %3:i32 = var | |
| %4:i1 = slt %3, 0:i32 (hasExternalUses) | |
| %5:i1 = xor %2, %4 (hasExternalUses) | |
| %6 = block 4 | |
| %7:i32 = sub 0:i32, %1 | |
| %8:i32 = select %2, %7, %1 | |
| %9:i32 = sub 0:i32, %3 | |
| %10:i32 = select %4, %9, %3 | |
| %11:i32 = mul %8, %10 | |
| %12:i32 = and 65535:i32, %8 | |
| %13:i32 = and 65535:i32, %10 | |
| %14:i32 = mulnuw %12, %13 | |
| %15:i32 = lshr %10, 16:i32 | |
| %16:i32 = mulnw %12, %15 | |
| %17:i32 = shl %16, 16:i32 | |
| %18:i33 = uadd.with.overflow %14, %17 | |
| %19:i32 = extractvalue %18, 0:i32 | |
| %20:i32 = lshr %8, 16:i32 | |
| %21:i32 = mulnw %13, %20 | |
| %22:i32 = shl %21, 16:i32 | |
| %23:i33 = uadd.with.overflow %14, %22 | |
| %24:i32 = extractvalue %23, 0:i32 | |
| %25:i32 = phi %6, %11, %19, %24, %14 | |
| %26:i32 = sub 0:i32, %25 | |
| %27:i32 = select %5, %26, %25 (hasExternalUses) | |
| %28:i32 = phi %0, 0:i32, %27 | |
| infer %28 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = and 2147483647:i32, %1 | |
| %3:i32 = var | |
| %4:i32 = and 2147483647:i32, %3 | |
| %5:i1 = ult %2, %4 | |
| %6:i32 = select %5, %1, %3 | |
| %7:i32 = and 8388607:i32, %6 | |
| %8:i32 = ctlz %7 | |
| %9:i32 = addnw 24:i32, %8 | |
| %10:i32 = and 31:i32, %9 | |
| %11:i32 = shl %7, %10 | |
| %12:i32 = phi %0, %11, %7 | |
| %13:i32 = shl %12, 3:i32 | |
| %14:i32 = or 67108864:i32, %13 | |
| infer %14 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = and 2147483647:i32, %1 | |
| %3:i32 = var | |
| %4:i32 = and 2147483647:i32, %3 | |
| %5:i1 = ult %2, %4 | |
| %6:i32 = select %5, %1, %3 | |
| %7:i32 = and 8388607:i32, %6 | |
| %8:i32 = ctlz %7 | |
| %9:i32 = addnw 24:i32, %8 | |
| %10:i32 = and 31:i32, %9 | |
| %11:i32 = shl %7, %10 | |
| %12:i32 = phi %0, %11, %7 | |
| %13:i32 = shl %12, 3:i32 | |
| infer %13 (demandedBits=11111011111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = and 2147483647:i32, %1 | |
| %3:i32 = var | |
| %4:i32 = and 2147483647:i32, %3 | |
| %5:i1 = ult %2, %4 | |
| %6:i32 = select %5, %3, %1 | |
| %7:i32 = and 8388607:i32, %6 | |
| %8:i32 = ctlz %7 | |
| %9:i32 = addnw 24:i32, %8 | |
| %10:i32 = and 31:i32, %9 | |
| %11:i32 = shl %7, %10 | |
| %12:i32 = phi %0, %11, %7 | |
| %13:i32 = shl %12, 3:i32 | |
| %14:i32 = or 67108864:i32, %13 | |
| infer %14 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = and 2147483647:i32, %1 | |
| %3:i32 = var | |
| %4:i32 = and 2147483647:i32, %3 | |
| %5:i1 = ult %2, %4 | |
| %6:i32 = select %5, %3, %1 | |
| %7:i32 = and 8388607:i32, %6 | |
| %8:i32 = ctlz %7 | |
| %9:i32 = addnw 24:i32, %8 | |
| %10:i32 = and 31:i32, %9 | |
| %11:i32 = shl %7, %10 | |
| %12:i32 = phi %0, %11, %7 | |
| %13:i32 = shl %12, 3:i32 | |
| infer %13 (demandedBits=11111011111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = and 2147483647:i32, %1 | |
| %3:i32 = var | |
| %4:i32 = and 2147483647:i32, %3 | |
| %5:i1 = ult %2, %4 | |
| %6:i32 = select %5, %3, %1 | |
| %7:i32 = and 8388607:i32, %6 | |
| %8:i32 = ctlz %7 | |
| %9:i32 = subnsw 9:i32, %8 | |
| %10:i32 = lshr %6, 23:i32 | |
| %11:i32 = and 255:i32, %10 | |
| %12:i32 = phi %0, %9, %11 | |
| %13 = block 2 | |
| %14:i32 = select %5, %1, %3 | |
| %15:i32 = and 8388607:i32, %14 | |
| %16:i32 = ctlz %15 | |
| %17:i32 = subnsw 9:i32, %16 | |
| %18:i32 = lshr %14, 23:i32 | |
| %19:i32 = and 255:i32, %18 | |
| %20:i32 = phi %13, %17, %19 | |
| %21:i32 = subnsw %12, %20 | |
| infer %21 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = and 2147483647:i32, %1 | |
| %3:i32 = var | |
| %4:i32 = and 2147483647:i32, %3 | |
| %5:i1 = ult %2, %4 | |
| %6:i32 = select %5, %3, %1 | |
| %7:i32 = and 8388607:i32, %6 | |
| %8:i32 = ctlz %7 | |
| %9:i32 = subnsw 9:i32, %8 | |
| %10:i32 = lshr %6, 23:i32 | |
| %11:i32 = and 255:i32, %10 | |
| %12:i32 = phi %0, %9, %11 | |
| %13 = block 2 | |
| %14:i32 = select %5, %1, %3 | |
| %15:i32 = and 8388607:i32, %14 | |
| %16:i32 = ctlz %15 | |
| %17:i32 = subnsw 9:i32, %16 | |
| %18:i32 = lshr %14, 23:i32 | |
| %19:i32 = and 255:i32, %18 | |
| %20:i32 = phi %13, %17, %19 | |
| %21:i32 = subnsw %12, %20 (hasExternalUses) | |
| %22:i1 = eq 0:i32, %21 | |
| infer %22 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = and 2147483647:i32, %1 | |
| %3:i32 = var | |
| %4:i32 = and 2147483647:i32, %3 | |
| %5:i1 = ult %2, %4 | |
| %6:i32 = select %5, %3, %1 | |
| %7:i32 = and 8388607:i32, %6 | |
| %8:i32 = ctlz %7 | |
| %9:i32 = subnsw 9:i32, %8 | |
| %10:i32 = lshr %6, 23:i32 | |
| %11:i32 = and 255:i32, %10 | |
| %12:i32 = phi %0, %9, %11 | |
| %13 = block 2 | |
| %14:i32 = select %5, %1, %3 | |
| %15:i32 = and 8388607:i32, %14 | |
| %16:i32 = ctlz %15 | |
| %17:i32 = subnsw 9:i32, %16 | |
| %18:i32 = lshr %14, 23:i32 | |
| %19:i32 = and 255:i32, %18 | |
| %20:i32 = phi %13, %17, %19 | |
| %21:i32 = subnsw %12, %20 (hasExternalUses) | |
| %22:i1 = eq 0:i32, %21 | |
| pc %22 0:i1 | |
| %23:i1 = ult %21, 32:i32 | |
| infer %23 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = and 2147483647:i32, %1 | |
| %3:i32 = var | |
| %4:i32 = and 2147483647:i32, %3 | |
| %5:i1 = ult %2, %4 | |
| %6:i32 = select %5, %3, %1 | |
| %7:i32 = and 8388607:i32, %6 | |
| %8:i32 = ctlz %7 | |
| %9:i32 = subnsw 9:i32, %8 | |
| %10:i32 = lshr %6, 23:i32 | |
| %11:i32 = and 255:i32, %10 | |
| %12:i32 = phi %0, %9, %11 | |
| %13 = block 2 | |
| %14:i32 = select %5, %1, %3 | |
| %15:i32 = and 8388607:i32, %14 | |
| %16:i32 = ctlz %15 | |
| %17:i32 = subnsw 9:i32, %16 | |
| %18:i32 = lshr %14, 23:i32 | |
| %19:i32 = and 255:i32, %18 | |
| %20:i32 = phi %13, %17, %19 | |
| %21:i32 = subnsw %12, %20 (hasExternalUses) | |
| %22:i1 = eq 0:i32, %21 | |
| pc %22 0:i1 | |
| %23:i1 = ult %21, 32:i32 | |
| pc %23 1:i1 | |
| %24:i32 = addnw 24:i32, %16 | |
| %25:i32 = and 31:i32, %24 | |
| %26:i32 = shl %15, %25 | |
| %27:i32 = phi %13, %26, %15 | |
| %28:i32 = shl %27, 3:i32 | |
| %29:i32 = or 67108864:i32, %28 (hasExternalUses) | |
| %30:i32 = lshr %29, %21 | |
| %31:i32 = subnw 32:i32, %21 | |
| %32:i32 = shl %29, %31 | |
| %33:i1 = ne 0:i32, %32 | |
| %34:i32 = zext %33 | |
| %35:i32 = or %30, %34 | |
| infer %35 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = and 2147483647:i32, %1 | |
| %3:i32 = var | |
| %4:i32 = and 2147483647:i32, %3 | |
| %5:i1 = ult %2, %4 | |
| %6:i32 = select %5, %3, %1 | |
| %7:i32 = and 8388607:i32, %6 | |
| %8:i32 = ctlz %7 | |
| %9:i32 = subnsw 9:i32, %8 | |
| %10:i32 = lshr %6, 23:i32 | |
| %11:i32 = and 255:i32, %10 | |
| %12:i32 = phi %0, %9, %11 | |
| %13 = block 2 | |
| %14:i32 = select %5, %1, %3 | |
| %15:i32 = and 8388607:i32, %14 | |
| %16:i32 = ctlz %15 | |
| %17:i32 = subnsw 9:i32, %16 | |
| %18:i32 = lshr %14, 23:i32 | |
| %19:i32 = and 255:i32, %18 | |
| %20:i32 = phi %13, %17, %19 | |
| %21:i32 = subnsw %12, %20 (hasExternalUses) | |
| %22:i1 = eq 0:i32, %21 | |
| pc %22 0:i1 | |
| %23:i1 = ult %21, 32:i32 | |
| pc %23 1:i1 | |
| %24:i32 = addnw 24:i32, %16 | |
| %25:i32 = and 31:i32, %24 | |
| %26:i32 = shl %15, %25 | |
| %27:i32 = phi %13, %26, %15 | |
| %28:i32 = shl %27, 3:i32 | |
| %29:i32 = or 67108864:i32, %28 (hasExternalUses) | |
| %30:i32 = lshr %29, %21 | |
| infer %30 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = and 2147483647:i32, %1 | |
| %3:i32 = var | |
| %4:i32 = and 2147483647:i32, %3 | |
| %5:i1 = ult %2, %4 | |
| %6:i32 = select %5, %3, %1 | |
| %7:i32 = and 8388607:i32, %6 | |
| %8:i32 = ctlz %7 | |
| %9:i32 = subnsw 9:i32, %8 | |
| %10:i32 = lshr %6, 23:i32 | |
| %11:i32 = and 255:i32, %10 | |
| %12:i32 = phi %0, %9, %11 | |
| %13 = block 2 | |
| %14:i32 = select %5, %1, %3 | |
| %15:i32 = and 8388607:i32, %14 | |
| %16:i32 = ctlz %15 | |
| %17:i32 = subnsw 9:i32, %16 | |
| %18:i32 = lshr %14, 23:i32 | |
| %19:i32 = and 255:i32, %18 | |
| %20:i32 = phi %13, %17, %19 | |
| %21:i32 = subnsw %12, %20 (hasExternalUses) | |
| %22:i1 = eq 0:i32, %21 | |
| pc %22 0:i1 | |
| %23:i1 = ult %21, 32:i32 | |
| pc %23 1:i1 | |
| %24:i32 = addnw 24:i32, %16 | |
| %25:i32 = and 31:i32, %24 | |
| %26:i32 = shl %15, %25 | |
| %27:i32 = phi %13, %26, %15 | |
| %28:i32 = shl %27, 3:i32 | |
| %29:i32 = or 67108864:i32, %28 (hasExternalUses) | |
| %30:i32 = subnw 32:i32, %21 | |
| %31:i32 = shl %29, %30 | |
| %32:i1 = ne 0:i32, %31 | |
| %33:i32 = zext %32 | |
| infer %33 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = and 2147483647:i32, %1 | |
| %3:i32 = var | |
| %4:i32 = and 2147483647:i32, %3 | |
| %5:i1 = ult %2, %4 | |
| %6:i32 = select %5, %3, %1 | |
| %7:i32 = and 8388607:i32, %6 | |
| %8:i32 = ctlz %7 | |
| %9:i32 = subnsw 9:i32, %8 | |
| %10:i32 = lshr %6, 23:i32 | |
| %11:i32 = and 255:i32, %10 | |
| %12:i32 = phi %0, %9, %11 | |
| %13 = block 2 | |
| %14:i32 = select %5, %1, %3 | |
| %15:i32 = and 8388607:i32, %14 | |
| %16:i32 = ctlz %15 | |
| %17:i32 = subnsw 9:i32, %16 | |
| %18:i32 = lshr %14, 23:i32 | |
| %19:i32 = and 255:i32, %18 | |
| %20:i32 = phi %13, %17, %19 | |
| %21:i32 = subnsw %12, %20 (hasExternalUses) | |
| %22:i1 = eq 0:i32, %21 | |
| pc %22 0:i1 | |
| %23:i1 = ult %21, 32:i32 | |
| pc %23 1:i1 | |
| %24:i32 = addnw 24:i32, %16 | |
| %25:i32 = and 31:i32, %24 | |
| %26:i32 = shl %15, %25 | |
| %27:i32 = phi %13, %26, %15 | |
| %28:i32 = shl %27, 3:i32 | |
| %29:i32 = or 67108864:i32, %28 (hasExternalUses) | |
| %30:i32 = subnw 32:i32, %21 | |
| %31:i32 = shl %29, %30 | |
| %32:i1 = ne 0:i32, %31 | |
| infer %32 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = and 2147483647:i32, %1 | |
| %3:i32 = var | |
| %4:i32 = and 2147483647:i32, %3 | |
| %5:i1 = ult %2, %4 | |
| %6:i32 = select %5, %3, %1 | |
| %7:i32 = and 8388607:i32, %6 | |
| %8:i32 = ctlz %7 | |
| %9:i32 = subnsw 9:i32, %8 | |
| %10:i32 = lshr %6, 23:i32 | |
| %11:i32 = and 255:i32, %10 | |
| %12:i32 = phi %0, %9, %11 | |
| %13 = block 2 | |
| %14:i32 = select %5, %1, %3 | |
| %15:i32 = and 8388607:i32, %14 | |
| %16:i32 = ctlz %15 | |
| %17:i32 = subnsw 9:i32, %16 | |
| %18:i32 = lshr %14, 23:i32 | |
| %19:i32 = and 255:i32, %18 | |
| %20:i32 = phi %13, %17, %19 | |
| %21:i32 = subnsw %12, %20 (hasExternalUses) | |
| %22:i1 = eq 0:i32, %21 | |
| pc %22 0:i1 | |
| %23:i1 = ult %21, 32:i32 | |
| pc %23 1:i1 | |
| %24:i32 = addnw 24:i32, %16 | |
| %25:i32 = and 31:i32, %24 | |
| %26:i32 = shl %15, %25 | |
| %27:i32 = phi %13, %26, %15 | |
| %28:i32 = shl %27, 3:i32 | |
| %29:i32 = or 67108864:i32, %28 (hasExternalUses) | |
| %30:i32 = subnw 32:i32, %21 | |
| %31:i32 = shl %29, %30 | |
| infer %31 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = and 2147483647:i32, %1 | |
| %3:i32 = var | |
| %4:i32 = and 2147483647:i32, %3 | |
| %5:i1 = ult %2, %4 | |
| %6:i32 = select %5, %3, %1 | |
| %7:i32 = and 8388607:i32, %6 | |
| %8:i32 = ctlz %7 | |
| %9:i32 = subnsw 9:i32, %8 | |
| %10:i32 = lshr %6, 23:i32 | |
| %11:i32 = and 255:i32, %10 | |
| %12:i32 = phi %0, %9, %11 | |
| %13 = block 2 | |
| %14:i32 = select %5, %1, %3 | |
| %15:i32 = and 8388607:i32, %14 | |
| %16:i32 = ctlz %15 | |
| %17:i32 = subnsw 9:i32, %16 | |
| %18:i32 = lshr %14, 23:i32 | |
| %19:i32 = and 255:i32, %18 | |
| %20:i32 = phi %13, %17, %19 | |
| %21:i32 = subnsw %12, %20 (hasExternalUses) | |
| %22:i1 = eq 0:i32, %21 | |
| pc %22 0:i1 | |
| %23:i1 = ult %21, 32:i32 | |
| pc %23 1:i1 | |
| %24:i32 = subnw 32:i32, %21 | |
| infer %24 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = and 2147483647:i32, %1 (hasExternalUses) | |
| %3:i32 = var | |
| %4:i32 = and 2147483647:i32, %3 (hasExternalUses) | |
| %5:i1 = ult %2, %4 (hasExternalUses) | |
| %6:i32 = select %5, %1, %3 (hasExternalUses) | |
| %7:i32 = and 8388607:i32, %6 | |
| %8:i32 = ctlz %7 (hasExternalUses) | |
| %9:i32 = addnw 24:i32, %8 | |
| %10:i32 = and 31:i32, %9 | |
| %11:i32 = shl %7, %10 | |
| %12:i32 = phi %0, %11, %7 | |
| infer %12 (demandedBits=00011111011111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = and 2147483647:i32, %1 (hasExternalUses) | |
| %3:i32 = var | |
| %4:i32 = and 2147483647:i32, %3 (hasExternalUses) | |
| %5:i1 = ult %2, %4 (hasExternalUses) | |
| %6:i32 = select %5, %1, %3 (hasExternalUses) | |
| %7:i32 = and 8388607:i32, %6 (hasExternalUses) | |
| %8:i32 = ctlz %7 (hasExternalUses) | |
| %9:i32 = subnsw 9:i32, %8 | |
| %10:i32 = lshr %6, 23:i32 | |
| %11:i32 = and 255:i32, %10 (hasExternalUses) | |
| %12:i32 = phi %0, %9, %11 | |
| infer %12 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = and 2147483647:i32, %1 (hasExternalUses) | |
| %3:i32 = var | |
| %4:i32 = and 2147483647:i32, %3 (hasExternalUses) | |
| %5:i1 = ult %2, %4 (hasExternalUses) | |
| %6:i32 = select %5, %3, %1 (hasExternalUses) | |
| %7:i32 = and 8388607:i32, %6 | |
| %8:i32 = ctlz %7 (hasExternalUses) | |
| %9:i32 = addnw 24:i32, %8 | |
| %10:i32 = and 31:i32, %9 | |
| %11:i32 = shl %7, %10 | |
| %12:i32 = phi %0, %11, %7 | |
| infer %12 (demandedBits=00011111011111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = and 2147483647:i32, %1 (hasExternalUses) | |
| %3:i32 = var | |
| %4:i32 = and 2147483647:i32, %3 (hasExternalUses) | |
| %5:i1 = ult %2, %4 (hasExternalUses) | |
| %6:i32 = select %5, %3, %1 (hasExternalUses) | |
| %7:i32 = and 8388607:i32, %6 (hasExternalUses) | |
| %8:i32 = ctlz %7 (hasExternalUses) | |
| %9:i32 = subnsw 9:i32, %8 | |
| %10:i32 = lshr %6, 23:i32 | |
| %11:i32 = and 255:i32, %10 (hasExternalUses) | |
| %12:i32 = phi %0, %9, %11 | |
| infer %12 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = or 8388608:i32, %2 | |
| %4:i128 = zext %3 | |
| %5:i32 = lshr %1, 23:i32 | |
| %6:i16 = trunc %5 | |
| %7:i16 = and 255:i16, %6 | |
| %8:i16 = subnw 150:i16, %7 | |
| %9:i32 = sext %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = lshr %4, %10 | |
| %12:i16 = addnsw 65386:i16, %7 | |
| %13:i32 = sext %12 | |
| %14:i128 = zext %13 | |
| %15:i128 = shl %4, %14 | |
| %16:i128 = phi %0, %11, %15 | |
| %17:i128 = sub 0:i128, %16 | |
| infer %17 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = or 8388608:i32, %2 | |
| %4:i128 = zext %3 | |
| %5:i32 = lshr %1, 23:i32 | |
| %6:i16 = trunc %5 | |
| %7:i16 = and 255:i16, %6 | |
| %8:i16 = subnw 150:i16, %7 | |
| %9:i32 = sext %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = lshr %4, %10 | |
| %12:i32 = and 8388607:i32, %1 | |
| %13:i32 = or 8388608:i32, %12 | |
| %14:i128 = zext %13 | |
| %15:i16 = addnsw 65386:i16, %7 | |
| %16:i32 = sext %15 | |
| %17:i128 = zext %16 | |
| %18:i128 = shl %14, %17 | |
| %19:i128 = phi %0, %11, %18 | |
| %20:i128 = sub 0:i128, %19 | |
| infer %20 | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = or 8388608:i32, %2 | |
| %4:i128 = zext %3 | |
| %5:i32 = lshr %1, 23:i32 | |
| %6:i16 = trunc %5 | |
| %7:i16 = and 255:i16, %6 (hasExternalUses) | |
| %8:i16 = subnw 150:i16, %7 | |
| %9:i32 = sext %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = lshr %4, %10 | |
| %12:i16 = addnsw 65386:i16, %7 | |
| %13:i32 = sext %12 | |
| %14:i128 = zext %13 | |
| %15:i128 = shl %4, %14 | |
| %16:i128 = phi %0, %11, %15 | |
| infer %16 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = or 8388608:i32, %2 | |
| %4:i128 = zext %3 | |
| %5:i32 = lshr %1, 23:i32 | |
| %6:i16 = trunc %5 | |
| %7:i16 = and 255:i16, %6 (hasExternalUses) | |
| %8:i16 = subnw 150:i16, %7 | |
| %9:i32 = sext %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = lshr %4, %10 | |
| %12:i32 = and 8388607:i32, %1 | |
| %13:i32 = or 8388608:i32, %12 | |
| %14:i128 = zext %13 | |
| %15:i16 = addnsw 65386:i16, %7 | |
| %16:i32 = sext %15 | |
| %17:i128 = zext %16 | |
| %18:i128 = shl %14, %17 | |
| %19:i128 = phi %0, %11, %18 | |
| infer %19 | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = or 8388608:i32, %2 | |
| %4:i32 = lshr %1, 23:i32 | |
| %5:i16 = trunc %4 | |
| %6:i16 = and 255:i16, %5 | |
| %7:i16 = subnw 150:i16, %6 | |
| %8:i32 = zext %7 | |
| %9:i32 = lshr %3, %8 | |
| %10:i16 = addnsw 65386:i16, %6 | |
| %11:i32 = zext %10 | |
| %12:i32 = shl %3, %11 | |
| %13:i32 = phi %0, %9, %12 | |
| %14:i32 = sub 0:i32, %13 | |
| infer %14 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = or 8388608:i32, %2 | |
| %4:i32 = lshr %1, 23:i32 | |
| %5:i16 = trunc %4 | |
| %6:i16 = and 255:i16, %5 | |
| %7:i16 = subnw 150:i16, %6 | |
| %8:i32 = zext %7 | |
| %9:i32 = lshr %3, %8 | |
| %10:i32 = and 8388607:i32, %1 | |
| %11:i32 = or 8388608:i32, %10 | |
| %12:i16 = addnsw 65386:i16, %6 | |
| %13:i32 = zext %12 | |
| %14:i32 = shl %11, %13 | |
| %15:i32 = phi %0, %9, %14 | |
| %16:i32 = sub 0:i32, %15 | |
| infer %16 | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = or 8388608:i32, %2 | |
| %4:i32 = lshr %1, 23:i32 | |
| %5:i16 = trunc %4 | |
| %6:i16 = and 255:i16, %5 (hasExternalUses) | |
| %7:i16 = subnw 150:i16, %6 | |
| %8:i32 = zext %7 | |
| %9:i32 = lshr %3, %8 | |
| %10:i16 = addnsw 65386:i16, %6 | |
| %11:i32 = zext %10 | |
| %12:i32 = shl %3, %11 | |
| %13:i32 = phi %0, %9, %12 | |
| infer %13 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = or 8388608:i32, %2 | |
| %4:i32 = lshr %1, 23:i32 | |
| %5:i16 = trunc %4 | |
| %6:i16 = and 255:i16, %5 (hasExternalUses) | |
| %7:i16 = subnw 150:i16, %6 | |
| %8:i32 = zext %7 | |
| %9:i32 = lshr %3, %8 | |
| %10:i32 = and 8388607:i32, %1 | |
| %11:i32 = or 8388608:i32, %10 | |
| %12:i16 = addnsw 65386:i16, %6 | |
| %13:i32 = zext %12 | |
| %14:i32 = shl %11, %13 | |
| %15:i32 = phi %0, %9, %14 | |
| infer %15 | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = or 8388608:i32, %2 | |
| %4:i64 = zext %3 | |
| %5:i32 = lshr %1, 23:i32 | |
| %6:i16 = trunc %5 | |
| %7:i16 = and 255:i16, %6 | |
| %8:i16 = subnw 150:i16, %7 | |
| %9:i64 = zext %8 | |
| %10:i64 = lshr %4, %9 | |
| %11:i16 = addnsw 65386:i16, %7 | |
| %12:i64 = zext %11 | |
| %13:i64 = shl %4, %12 | |
| %14:i64 = phi %0, %10, %13 | |
| %15:i64 = sub 0:i64, %14 | |
| infer %15 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = or 8388608:i32, %2 | |
| %4:i64 = zext %3 | |
| %5:i32 = lshr %1, 23:i32 | |
| %6:i16 = trunc %5 | |
| %7:i16 = and 255:i16, %6 | |
| %8:i16 = subnw 150:i16, %7 | |
| %9:i64 = zext %8 | |
| %10:i64 = lshr %4, %9 | |
| %11:i32 = and 8388607:i32, %1 | |
| %12:i32 = or 8388608:i32, %11 | |
| %13:i64 = zext %12 | |
| %14:i16 = addnsw 65386:i16, %7 | |
| %15:i64 = zext %14 | |
| %16:i64 = shl %13, %15 | |
| %17:i64 = phi %0, %10, %16 | |
| %18:i64 = sub 0:i64, %17 | |
| infer %18 | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = or 8388608:i32, %2 | |
| %4:i64 = zext %3 | |
| %5:i32 = lshr %1, 23:i32 | |
| %6:i16 = trunc %5 | |
| %7:i16 = and 255:i16, %6 (hasExternalUses) | |
| %8:i16 = subnw 150:i16, %7 | |
| %9:i64 = zext %8 | |
| %10:i64 = lshr %4, %9 | |
| %11:i16 = addnsw 65386:i16, %7 | |
| %12:i64 = zext %11 | |
| %13:i64 = shl %4, %12 | |
| %14:i64 = phi %0, %10, %13 | |
| infer %14 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = or 8388608:i32, %2 | |
| %4:i64 = zext %3 | |
| %5:i32 = lshr %1, 23:i32 | |
| %6:i16 = trunc %5 | |
| %7:i16 = and 255:i16, %6 (hasExternalUses) | |
| %8:i16 = subnw 150:i16, %7 | |
| %9:i64 = zext %8 | |
| %10:i64 = lshr %4, %9 | |
| %11:i32 = and 8388607:i32, %1 | |
| %12:i32 = or 8388608:i32, %11 | |
| %13:i64 = zext %12 | |
| %14:i16 = addnsw 65386:i16, %7 | |
| %15:i64 = zext %14 | |
| %16:i64 = shl %13, %15 | |
| %17:i64 = phi %0, %10, %16 | |
| infer %17 | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 (hasExternalUses) | |
| %3:i32 = ctlz %2 (hasExternalUses) | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 31:i32, %4 | |
| %6:i32 = shl %2, %5 | |
| %7:i32 = phi %0, %6, %2 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 (hasExternalUses) | |
| %3:i32 = ctlz %2 (hasExternalUses) | |
| %4:i32 = subnsw 9:i32, %3 | |
| %5:i32 = phi %0, %4, 0:i32 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = ctlz %1 | |
| %3:i32 = addnw 24:i32, %2 | |
| %4:i32 = and 31:i32, %3 | |
| %5:i32 = shl %1, %4 | |
| %6 = block 3 | |
| %7:i32 = subnsw 6:i32, %2 | |
| %8:i32 = and 31:i32, %7 | |
| %9:i32 = lshr %1, %8 | |
| %10:i32 = addnw 26:i32, %2 | |
| %11:i32 = and 31:i32, %10 | |
| %12:i32 = shl %1, %11 | |
| %13:i1 = ne 0:i32, %12 | |
| %14:i32 = zext %13 | |
| %15:i32 = or %9, %14 | |
| %16:i32 = shl %1, 1:i32 | |
| %17:i32 = phi %6, %15, %16, %1 | |
| %18:i32 = lshr %17, 2:i32 | |
| %19:i32 = and 1:i32, %18 | |
| %20:i32 = or %17, %19 | |
| %21:i32 = add 1:i32, %20 | |
| %22:i32 = and 67108864:i32, %21 | |
| %23:i1 = eq 0:i32, %22 | |
| %24:i32 = select %23, 2:i32, 3:i32 | |
| %25:i32 = lshr %21, %24 | |
| %26:i32 = phi %0, %5, %25 | |
| %27:i32 = and 8388607:i32, %26 | |
| %28:i32 = xor 31:i32, %2 | |
| %29:i32 = subnw 32:i32, %2 | |
| %30:i32 = select %23, %28, %29 | |
| %31:i32 = phi %0, %28, %30 | |
| %32:i32 = shlnsw %31, 23:i32 | |
| %33:i32 = addnsw 1065353216:i32, %32 | |
| %34:i32 = and 2139095040:i32, %33 | |
| %35:i32 = or %27, %34 | |
| infer %35 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = ctlz %1 | |
| %3:i32 = addnw 24:i32, %2 | |
| %4:i32 = and 31:i32, %3 | |
| %5:i32 = shl %1, %4 | |
| %6 = block 3 | |
| %7:i32 = subnsw 6:i32, %2 | |
| %8:i32 = and 31:i32, %7 | |
| %9:i32 = lshr %1, %8 | |
| %10:i32 = addnw 26:i32, %2 | |
| %11:i32 = and 31:i32, %10 | |
| %12:i32 = shl %1, %11 | |
| %13:i1 = ne 0:i32, %12 | |
| %14:i32 = zext %13 | |
| %15:i32 = or %9, %14 | |
| %16:i32 = shl %1, 1:i32 | |
| %17:i32 = phi %6, %15, %16, %1 | |
| %18:i32 = lshr %17, 2:i32 | |
| %19:i32 = and 1:i32, %18 | |
| %20:i32 = or %17, %19 | |
| %21:i32 = add 1:i32, %20 | |
| %22:i32 = and 67108864:i32, %21 | |
| %23:i1 = eq 0:i32, %22 | |
| %24:i32 = select %23, 2:i32, 3:i32 | |
| %25:i32 = lshr %21, %24 | |
| %26:i32 = phi %0, %5, %25 | |
| %27:i32 = and 8388607:i32, %26 | |
| infer %27 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = ctlz %1 | |
| %3:i32 = xor 31:i32, %2 | |
| %4 = block 3 | |
| %5:i32 = subnsw 6:i32, %2 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = lshr %1, %6 | |
| %8:i32 = addnw 26:i32, %2 | |
| %9:i32 = and 31:i32, %8 | |
| %10:i32 = shl %1, %9 | |
| %11:i1 = ne 0:i32, %10 | |
| %12:i32 = zext %11 | |
| %13:i32 = or %7, %12 | |
| %14:i32 = shl %1, 1:i32 | |
| %15:i32 = phi %4, %13, %14, %1 | |
| %16:i32 = lshr %15, 2:i32 | |
| %17:i32 = and 1:i32, %16 | |
| %18:i32 = or %15, %17 | |
| %19:i32 = add 1:i32, %18 | |
| %20:i32 = and 67108864:i32, %19 | |
| %21:i1 = eq 0:i32, %20 | |
| %22:i32 = subnw 32:i32, %2 | |
| %23:i32 = select %21, %3, %22 | |
| %24:i32 = phi %0, %3, %23 | |
| %25:i32 = shlnsw %24, 23:i32 | |
| %26:i32 = addnsw 1065353216:i32, %25 | |
| %27:i32 = and 2139095040:i32, %26 | |
| infer %27 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = ctlz %1 | |
| %3:i32 = xor 31:i32, %2 | |
| %4 = block 3 | |
| %5:i32 = subnsw 6:i32, %2 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = lshr %1, %6 | |
| %8:i32 = addnw 26:i32, %2 | |
| %9:i32 = and 31:i32, %8 | |
| %10:i32 = shl %1, %9 | |
| %11:i1 = ne 0:i32, %10 | |
| %12:i32 = zext %11 | |
| %13:i32 = or %7, %12 | |
| %14:i32 = shl %1, 1:i32 | |
| %15:i32 = phi %4, %13, %14, %1 | |
| %16:i32 = lshr %15, 2:i32 | |
| %17:i32 = and 1:i32, %16 | |
| %18:i32 = or %15, %17 | |
| %19:i32 = add 1:i32, %18 | |
| %20:i32 = and 67108864:i32, %19 | |
| %21:i1 = eq 0:i32, %20 | |
| %22:i32 = subnw 32:i32, %2 | |
| %23:i32 = select %21, %3, %22 | |
| %24:i32 = phi %0, %3, %23 | |
| %25:i32 = shlnsw %24, 23:i32 | |
| %26:i32 = addnsw 1065353216:i32, %25 | |
| infer %26 (demandedBits=01111111100000000000000000000000) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = ctlz %1 | |
| %3:i32 = xor 31:i32, %2 | |
| %4 = block 3 | |
| %5:i32 = subnsw 6:i32, %2 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = lshr %1, %6 | |
| %8:i32 = addnw 26:i32, %2 | |
| %9:i32 = and 31:i32, %8 | |
| %10:i32 = shl %1, %9 | |
| %11:i1 = ne 0:i32, %10 | |
| %12:i32 = zext %11 | |
| %13:i32 = or %7, %12 | |
| %14:i32 = shl %1, 1:i32 | |
| %15:i32 = phi %4, %13, %14, %1 | |
| %16:i32 = lshr %15, 2:i32 | |
| %17:i32 = and 1:i32, %16 | |
| %18:i32 = or %15, %17 | |
| %19:i32 = add 1:i32, %18 | |
| %20:i32 = and 67108864:i32, %19 | |
| %21:i1 = eq 0:i32, %20 | |
| %22:i32 = subnw 32:i32, %2 | |
| %23:i32 = select %21, %3, %22 | |
| %24:i32 = phi %0, %3, %23 | |
| %25:i32 = shlnsw %24, 23:i32 | |
| infer %25 (demandedBits=01111111110000000000000000000000) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = ctlz %1 (hasExternalUses) | |
| %3:i32 = addnw 24:i32, %2 | |
| %4:i32 = and 31:i32, %3 | |
| %5:i32 = shl %1, %4 | |
| %6 = block 3 | |
| %7:i32 = subnsw 6:i32, %2 | |
| %8:i32 = and 31:i32, %7 | |
| %9:i32 = lshr %1, %8 | |
| %10:i32 = addnw 26:i32, %2 | |
| %11:i32 = and 31:i32, %10 | |
| %12:i32 = shl %1, %11 | |
| %13:i1 = ne 0:i32, %12 | |
| %14:i32 = zext %13 | |
| %15:i32 = or %9, %14 | |
| %16:i32 = shl %1, 1:i32 | |
| %17:i32 = phi %6, %15, %16, %1 | |
| %18:i32 = lshr %17, 2:i32 | |
| %19:i32 = and 1:i32, %18 | |
| %20:i32 = or %17, %19 | |
| %21:i32 = add 1:i32, %20 | |
| %22:i32 = and 67108864:i32, %21 | |
| %23:i1 = eq 0:i32, %22 (hasExternalUses) | |
| %24:i32 = select %23, 2:i32, 3:i32 | |
| %25:i32 = lshr %21, %24 | |
| %26:i32 = phi %0, %5, %25 | |
| infer %26 (demandedBits=00000000011111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = ctlz %1 (hasExternalUses) | |
| %3:i32 = xor 31:i32, %2 | |
| %4 = block 3 | |
| %5:i32 = subnsw 6:i32, %2 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = lshr %1, %6 | |
| %8:i32 = addnw 26:i32, %2 | |
| %9:i32 = and 31:i32, %8 | |
| %10:i32 = shl %1, %9 | |
| %11:i1 = ne 0:i32, %10 | |
| %12:i32 = zext %11 | |
| %13:i32 = or %7, %12 | |
| %14:i32 = shl %1, 1:i32 | |
| %15:i32 = phi %4, %13, %14, %1 | |
| %16:i32 = lshr %15, 2:i32 | |
| %17:i32 = and 1:i32, %16 | |
| %18:i32 = or %15, %17 | |
| %19:i32 = add 1:i32, %18 (hasExternalUses) | |
| %20:i32 = and 67108864:i32, %19 | |
| %21:i1 = eq 0:i32, %20 (hasExternalUses) | |
| %22:i32 = subnw 32:i32, %2 (hasExternalUses) | |
| %23:i32 = select %21, %3, %22 | |
| %24:i32 = phi %0, %3, %23 | |
| infer %24 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = lshr %1, 8:i32 | |
| %3:i8 = trunc %2 | |
| %4:i8 = var | |
| %5:i8 = phi %0, %3, %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = phi %0, %1, %1 | |
| %3:i64 = sext %2 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = phi %0, %1, %1 | |
| infer %2 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = phi %0, %1, 0:i32 | |
| %3:i32 = var | |
| %4:i32 = sub %2, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = phi %0, %1, 0:i32 | |
| infer %2 | |
| > | |
| <noinfer> <> | |
| <sprofile > <5> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = phi %0, 0:i32, %1 | |
| infer %2 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = sub 128:i32, %1 (hasExternalUses) | |
| %3:i32 = sub 127:i32, %1 (hasExternalUses) | |
| %4:i32 = phi %0, %2, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = sub 32:i32, %1 (hasExternalUses) | |
| %3:i32 = sub 31:i32, %1 (hasExternalUses) | |
| %4:i32 = phi %0, %2, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = sub 64:i32, %1 (hasExternalUses) | |
| %3:i32 = sub 63:i32, %1 (hasExternalUses) | |
| %4:i32 = phi %0, %2, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i1 = eq %1, %2 | |
| %4:i1 = phi %0, %3, 1:i1 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i1 = eq %1, %2 | |
| %4:i1 = phi %0, 1:i1, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i32 = ctlz %1 | |
| %4:i32 = ctlz %2 | |
| %5:i32 = subnsw %3, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %1, %6 | |
| %8:i1 = ult %2, %7 | |
| %9:i64 = select %8, 18446744073709551615:i64, 0:i64 | |
| %10:i64 = zext %5 | |
| %11:i64 = addnsw %9, %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = and 31:i32, %12 | |
| %14:i32 = shl %1, %13 | |
| %15:i32 = lshr %14, 1:i32 | |
| %16:i32 = phi %0, %15, %14 | |
| %17:i32 = addnsw 4294967295:i32, %16 | |
| %18:i32 = var | |
| %19:i32 = shl %18, 1:i32 | |
| %20:i32 = sub %19, %17 (hasExternalUses) | |
| %21:i32 = ashr %20, 31:i32 | |
| %22:i32 = and %17, %21 | |
| infer %22 | |
| > | |
| <noinfer> <> | |
| <sprofile > <24> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i32 = ctlz %1 | |
| %4:i32 = ctlz %2 | |
| %5:i32 = subnsw %3, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %1, %6 | |
| %8:i1 = ult %2, %7 | |
| %9:i64 = select %8, 18446744073709551615:i64, 0:i64 | |
| %10:i64 = zext %5 | |
| %11:i64 = addnsw %9, %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = and 31:i32, %12 | |
| %14:i32 = shl %1, %13 | |
| %15:i32 = lshr %14, 1:i32 | |
| %16:i32 = phi %0, %15, %14 | |
| %17:i32 = addnsw 4294967295:i32, %16 | |
| infer %17 | |
| > | |
| <noinfer> <> | |
| <sprofile > <24> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i32 = ctlz %1 | |
| %4:i32 = ctlz %2 | |
| %5:i32 = subnsw %3, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %1, %6 | |
| %8:i1 = ult %2, %7 | |
| %9:i64 = select %8, 18446744073709551615:i64, 0:i64 | |
| %10:i64 = zext %5 | |
| %11:i64 = addnsw %9, %10 (hasExternalUses) | |
| %12:i32 = trunc %11 | |
| %13:i32 = and 31:i32, %12 | |
| %14:i32 = shl %1, %13 (hasExternalUses) | |
| %15:i32 = lshr %14, 1:i32 (hasExternalUses) | |
| %16:i32 = phi %0, %15, %14 | |
| infer %16 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i32 = ctlz %1 | |
| %4:i32 = ctlz %2 | |
| %5:i32 = subnsw %3, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %1, %6 | |
| %8:i1 = ult %2, %7 | |
| %9:i64 = select %8, 18446744073709551615:i64, 0:i64 | |
| %10:i64 = zext %5 | |
| %11:i64 = addnsw %9, %10 (hasExternalUses) | |
| %12:i32 = trunc %11 | |
| %13:i32 = and 31:i32, %12 (hasExternalUses) | |
| %14:i32 = shl %1, %13 (hasExternalUses) | |
| %15:i32 = lshr %14, 1:i32 (hasExternalUses) | |
| %16:i32 = phi %0, %15, %14 | |
| infer %16 | |
| > | |
| <noinfer> <> | |
| <sprofile > <16> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i32 = ctlz %2 | |
| %4:i32 = ctlz %1 | |
| %5:i32 = subnsw %3, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %2, %6 | |
| %8:i1 = ult %1, %7 | |
| %9:i64 = select %8, 18446744073709551615:i64, 0:i64 | |
| %10:i64 = zext %5 | |
| %11:i64 = addnsw %9, %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = and 31:i32, %12 | |
| %14:i32 = shlnuw 1:i32, %13 | |
| %15:i32 = shl %2, %13 | |
| %16:i32 = sub %1, %15 | |
| %17:i32 = lshr %15, 1:i32 | |
| %18:i32 = sub %16, %17 | |
| %19:i1 = slt 4294967295:i32, %18 | |
| %20:i64 = addnsw 18446744073709551615:i64, %11 | |
| %21:i32 = trunc %20 | |
| %22:i32 = and 31:i32, %21 | |
| %23:i32 = shlnuw 1:i32, %22 | |
| %24:i32 = select %19, %23, 0:i32 | |
| %25:i32 = or %14, %24 | |
| %26:i32 = phi %0, %25, %14 | |
| %27 = block 2 | |
| %28:i32 = select %19, %18, %16 | |
| %29:i32 = phi %0, %28, %16 | |
| %30:i32 = var | |
| %31:i32 = shl %30, 1:i32 | |
| %32:i32 = phi %0, %17, %15 | |
| %33:i32 = addnsw 4294967295:i32, %32 | |
| %34:i32 = sub %31, %33 | |
| %35:i32 = ashr %34, 31:i32 | |
| %36:i32 = and %33, %35 | |
| %37:i32 = add %34, %36 | |
| %38:i32 = phi %27, %29, %37 | |
| %39:i32 = phi %0, %23, %14 | |
| %40:i32 = add 4294967295:i32, %39 | |
| %41:i32 = and %38, %40 | |
| %42:i32 = or %26, %41 | |
| infer %42 | |
| > | |
| <sprofile > <12> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i32 = ctlz %2 | |
| %4:i32 = ctlz %1 | |
| %5:i32 = subnsw %3, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %2, %6 | |
| %8:i1 = ult %1, %7 | |
| %9:i64 = select %8, 18446744073709551615:i64, 0:i64 | |
| %10:i64 = zext %5 | |
| %11:i64 = addnsw %9, %10 | |
| %12:i32 = trunc %11 | |
| %13:i32 = and 31:i32, %12 | |
| %14:i32 = shlnuw 1:i32, %13 | |
| %15:i32 = shl %2, %13 | |
| %16:i32 = sub %1, %15 | |
| %17:i32 = lshr %15, 1:i32 | |
| %18:i32 = sub %16, %17 | |
| %19:i1 = slt 4294967295:i32, %18 | |
| %20:i64 = addnsw 18446744073709551615:i64, %11 | |
| %21:i32 = trunc %20 | |
| %22:i32 = and 31:i32, %21 | |
| %23:i32 = shlnuw 1:i32, %22 | |
| %24:i32 = select %19, %23, 0:i32 | |
| %25:i32 = or %14, %24 | |
| %26:i32 = phi %0, %25, %14 | |
| %27:i32 = var | |
| %28:i32 = phi %0, %23, %14 | |
| %29:i32 = add 4294967295:i32, %28 | |
| %30:i32 = and %27, %29 | |
| %31:i32 = or %26, %30 | |
| infer %31 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i32 = ctlz %2 | |
| %4:i32 = ctlz %1 | |
| %5:i32 = subnsw %3, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %2, %6 | |
| %8:i1 = ult %1, %7 | |
| %9:i64 = select %8, 18446744073709551615:i64, 0:i64 | |
| %10:i64 = zext %5 | |
| %11:i64 = addnsw %9, %10 | |
| %12:i64 = addnsw 18446744073709551615:i64, %11 | |
| %13:i32 = trunc %12 | |
| %14:i32 = and 31:i32, %13 | |
| %15:i32 = shlnuw 1:i32, %14 | |
| %16:i32 = trunc %11 | |
| %17:i32 = and 31:i32, %16 | |
| %18:i32 = shlnuw 1:i32, %17 | |
| %19:i32 = phi %0, %15, %18 | |
| %20:i32 = add 4294967295:i32, %19 | |
| infer %20 | |
| > | |
| <noinfer> <> | |
| <sprofile > <16> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i32 = ctlz %2 | |
| %4:i32 = ctlz %1 | |
| %5:i32 = subnsw %3, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %2, %6 | |
| %8:i1 = ult %1, %7 | |
| %9:i64 = select %8, 18446744073709551615:i64, 0:i64 | |
| %10:i64 = zext %5 | |
| %11:i64 = addnsw %9, %10 | |
| %12:i64 = addnsw 18446744073709551615:i64, %11 | |
| %13:i64 = phi %0, %12, %11 | |
| %14:i1 = eq 0:i64, %13 | |
| infer %14 | |
| > | |
| <noinfer> <> | |
| <sprofile > <18> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i32 = ctlz %2 | |
| %4:i32 = ctlz %1 | |
| %5:i32 = subnsw %3, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %2, %6 | |
| %8:i1 = ult %1, %7 | |
| %9:i64 = select %8, 18446744073709551615:i64, 0:i64 | |
| %10:i64 = zext %5 | |
| %11:i64 = addnsw %9, %10 | |
| %12:i64 = addnsw 18446744073709551615:i64, %11 | |
| %13:i64 = phi %0, %12, %11 | |
| %14:i32 = trunc %13 | |
| %15:i32 = and 31:i32, %14 | |
| infer %15 | |
| > | |
| <noinfer> <> | |
| <sprofile > <16> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i32 = ctlz %2 | |
| %4:i32 = ctlz %1 | |
| %5:i32 = subnsw %3, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %2, %6 | |
| %8:i1 = ult %1, %7 | |
| %9:i64 = select %8, 18446744073709551615:i64, 0:i64 | |
| %10:i64 = zext %5 | |
| %11:i64 = addnsw %9, %10 | |
| %12:i64 = addnsw 18446744073709551615:i64, %11 | |
| %13:i64 = phi %0, %12, %11 | |
| %14:i32 = trunc %13 | |
| infer %14 (demandedBits=00000000000000000000000000011111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <16> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i32 = ctlz %2 | |
| %4:i32 = ctlz %1 | |
| %5:i32 = subnsw %3, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %2, %6 | |
| %8:i1 = ult %1, %7 | |
| %9:i64 = select %8, 18446744073709551615:i64, 0:i64 | |
| %10:i64 = zext %5 | |
| %11:i64 = addnsw %9, %10 (hasExternalUses) | |
| %12:i32 = trunc %11 | |
| %13:i32 = and 31:i32, %12 | |
| %14:i32 = shl %2, %13 (hasExternalUses) | |
| %15:i32 = sub %1, %14 (hasExternalUses) | |
| %16:i32 = lshr %14, 1:i32 (hasExternalUses) | |
| %17:i32 = sub %15, %16 | |
| %18:i1 = slt 4294967295:i32, %17 | |
| %19:i32 = select %18, %17, %15 (hasExternalUses) | |
| %20:i32 = phi %0, %19, %15 | |
| infer %20 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i32 = ctlz %2 | |
| %4:i32 = ctlz %1 | |
| %5:i32 = subnsw %3, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %2, %6 | |
| %8:i1 = ult %1, %7 | |
| %9:i64 = select %8, 18446744073709551615:i64, 0:i64 | |
| %10:i64 = zext %5 | |
| %11:i64 = addnsw %9, %10 (hasExternalUses) | |
| %12:i32 = trunc %11 | |
| %13:i32 = and 31:i32, %12 | |
| %14:i32 = shlnuw 1:i32, %13 (hasExternalUses) | |
| %15:i32 = shl %2, %13 (hasExternalUses) | |
| %16:i32 = sub %1, %15 (hasExternalUses) | |
| %17:i32 = lshr %15, 1:i32 (hasExternalUses) | |
| %18:i32 = sub %16, %17 (hasExternalUses) | |
| %19:i1 = slt 4294967295:i32, %18 (hasExternalUses) | |
| %20:i64 = addnsw 18446744073709551615:i64, %11 (hasExternalUses) | |
| %21:i32 = trunc %20 | |
| %22:i32 = and 31:i32, %21 | |
| %23:i32 = shlnuw 1:i32, %22 (hasExternalUses) | |
| %24:i32 = select %19, %23, 0:i32 | |
| %25:i32 = or %14, %24 (hasExternalUses) | |
| %26:i32 = phi %0, %25, %14 | |
| infer %26 | |
| > | |
| <noinfer> <> | |
| <sprofile > <16> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i32 = ctlz %2 | |
| %4:i32 = ctlz %1 | |
| %5:i32 = subnsw %3, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %2, %6 | |
| %8:i1 = ult %1, %7 | |
| %9:i64 = select %8, 18446744073709551615:i64, 0:i64 | |
| %10:i64 = zext %5 | |
| %11:i64 = addnsw %9, %10 (hasExternalUses) | |
| %12:i32 = trunc %11 | |
| %13:i32 = and 31:i32, %12 (hasExternalUses) | |
| %14:i32 = shl %2, %13 (hasExternalUses) | |
| %15:i32 = sub %1, %14 (hasExternalUses) | |
| %16:i32 = lshr %14, 1:i32 (hasExternalUses) | |
| %17:i32 = sub %15, %16 | |
| %18:i1 = slt 4294967295:i32, %17 (hasExternalUses) | |
| %19:i32 = select %18, %17, %15 (hasExternalUses) | |
| %20:i32 = phi %0, %19, %15 | |
| infer %20 | |
| > | |
| <noinfer> <> | |
| <sprofile > <16> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i32 = ctlz %2 | |
| %4:i32 = ctlz %1 | |
| %5:i32 = subnsw %3, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %2, %6 | |
| %8:i1 = ult %1, %7 | |
| %9:i64 = select %8, 18446744073709551615:i64, 0:i64 | |
| %10:i64 = zext %5 | |
| %11:i64 = addnsw %9, %10 (hasExternalUses) | |
| %12:i64 = addnsw 18446744073709551615:i64, %11 | |
| %13:i64 = phi %0, %12, %11 | |
| infer %13 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i32 = ctlz %2 | |
| %4:i32 = ctlz %1 | |
| %5:i32 = subnsw %3, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %2, %6 | |
| %8:i1 = ult %1, %7 | |
| %9:i64 = select %8, 18446744073709551615:i64, 0:i64 | |
| %10:i64 = zext %5 | |
| %11:i64 = addnsw %9, %10 (hasExternalUses) | |
| %12:i64 = addnsw 18446744073709551615:i64, %11 (hasExternalUses) | |
| %13:i32 = trunc %12 | |
| %14:i32 = and 31:i32, %13 | |
| %15:i32 = shlnuw 1:i32, %14 (hasExternalUses) | |
| %16:i32 = trunc %11 | |
| %17:i32 = and 31:i32, %16 (hasExternalUses) | |
| %18:i32 = shlnuw 1:i32, %17 (hasExternalUses) | |
| %19:i32 = phi %0, %15, %18 | |
| infer %19 | |
| > | |
| <noinfer> <> | |
| <sprofile > <16> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i32 = ctlz %2 | |
| %4:i32 = ctlz %1 | |
| %5:i32 = subnsw %3, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %2, %6 | |
| %8:i1 = ult %1, %7 | |
| %9:i64 = select %8, 18446744073709551615:i64, 0:i64 | |
| %10:i64 = zext %5 | |
| %11:i64 = addnsw %9, %10 (hasExternalUses) | |
| %12:i64 = addnsw 18446744073709551615:i64, %11 (hasExternalUses) | |
| %13:i64 = phi %0, %12, %11 | |
| infer %13 | |
| > | |
| <noinfer> <> | |
| <sprofile > <16> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i32 = phi %0, %1, %2 | |
| %4:i1 = eq 0:i32, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i32 = phi %0, %1, %2 | |
| %4:i1 = slt %3, 0:i32 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i32 = phi %0, %1, %2 | |
| %4:i1 = slt 2046:i32, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i32 = phi %0, %1, %2 | |
| %4:i1 = slt 2046:i32, %3 | |
| pc %4 0:i1 | |
| %5:i1 = slt %3, 1:i32 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i32 = phi %0, %1, %2 | |
| %4:i1 = slt 254:i32, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i32 = phi %0, %1, %2 | |
| %4:i1 = slt 254:i32, %3 | |
| pc %4 0:i1 | |
| %5:i1 = slt %3, 1:i32 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i32 = phi %0, %1, %2 | |
| %4:i16 = trunc %3 | |
| %5:i16 = and 61440:i16, %4 | |
| %6:i1 = ne 16384:i16, %5 | |
| pc %6 1:i1 | |
| %7:i1 = ne 4096:i16, %5 | |
| pc %7 1:i1 | |
| %8:i1 = ne 40960:i16, %5 | |
| pc %8 1:i1 | |
| %9:i32 = and 64:i32, %3 | |
| %10:i1 = eq 0:i32, %9 | |
| %11:i8 = select %10, 2:i8, 1:i8 | |
| infer %11 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i32 = phi %0, %1, %2 | |
| %4:i16 = trunc %3 | |
| %5:i16 = and 61440:i16, %4 | |
| %6:i1 = ne 16384:i16, %5 | |
| pc %6 1:i1 | |
| %7:i1 = ne 4096:i16, %5 | |
| pc %7 1:i1 | |
| %8:i1 = ne 40960:i16, %5 | |
| pc %8 1:i1 | |
| %9:i32 = and 64:i32, %3 | |
| %10:i1 = eq 0:i32, %9 | |
| infer %10 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i32 = phi %0, %1, %2 | |
| %4:i16 = trunc %3 | |
| %5:i16 = and 61440:i16, %4 | |
| %6:i1 = ne 16384:i16, %5 | |
| pc %6 1:i1 | |
| %7:i1 = ne 4096:i16, %5 | |
| pc %7 1:i1 | |
| %8:i1 = ne 40960:i16, %5 | |
| pc %8 1:i1 | |
| %9:i32 = and 64:i32, %3 | |
| infer %9 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i32 = phi %0, %1, %2 | |
| %4:i16 = trunc %3 | |
| %5:i16 = and 61440:i16, %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i32 = phi %0, %1, %2 | |
| %4:i16 = trunc %3 | |
| infer %4 (demandedBits=1111000000000000) | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i32 = phi %0, %1, %2 | |
| %4:i32 = add 1:i32, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i32 = phi %0, %1, %2 | |
| %4:i32 = and 2:i32, %3 | |
| %5:i1 = eq 0:i32, %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i32 = phi %0, %1, %2 | |
| %4:i32 = and 2:i32, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i32 = phi %0, %1, %2 | |
| %4:i32 = var | |
| %5:i1 = ult %3, %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i32 = phi %0, %1, %2 | |
| %4:i32 = var | |
| %5:i32 = var | |
| %6:i32 = sub %4, %5 (hasExternalUses) | |
| %7:i32 = sub %3, %6 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i32 = phi %0, %1, %2 | |
| %4:i64 = sext %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i32 = phi %0, %1, %2 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <42> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i32 = phi %0, %1, %2 | |
| infer %3 (demandedBits=00000000000000001111000001000000) | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i32 = sub %1, %2 | |
| %4:i64 = zext %3 (hasExternalUses) | |
| %5:i64 = addnsw 18446744073709551615:i64, %4 | |
| %6:i64 = phi %0, %5, %4 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i32 = var | |
| %3:i32 = sub %1, %2 (hasExternalUses) | |
| %4:i64 = zext %3 | |
| %5:i64 = addnsw 18446744073709551615:i64, %4 | |
| %6:i64 = phi %0, %5, %4 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i64 = var | |
| %3:i32 = trunc %2 | |
| %4:i32 = and 31:i32, %3 (hasExternalUses) | |
| %5:i32 = shl %1, %4 (hasExternalUses) | |
| %6:i32 = lshr %5, 1:i32 (hasExternalUses) | |
| %7:i32 = phi %0, %6, %5 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i64 = zext %1 | |
| %3:i64 = shlnuw %2, 32:i64 | |
| %4:i64 = phi %0, 0:i64, %3 | |
| %5:i8 = var (knownBits=00000xxx) (nonNegative) (signBits=5) (range=[0,8)) | |
| %6:i64 = zext %5 | |
| %7:i64 = shlnw %6, 8:i64 | |
| %8:i64 = phi %0, %7, 0:i64 | |
| %9:i64 = or %4, %8 | |
| infer %9 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i64 = zext %1 | |
| %3:i64 = shlnuw %2, 32:i64 | |
| %4:i64 = phi %0, 0:i64, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var | |
| %2:i8 = trunc %1 (hasExternalUses) | |
| %3:i8 = var | |
| %4:i8 = phi %0, %2, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var (knownBits=00000000000xxxxxxxxxxxxxxxxxxxxx) (nonNegative) (signBits=11) (range=[0,1114112)) | |
| %2:i32 = phi %0, 1114112:i32, %1 | |
| infer %2 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var (knownBits=00000000000xxxxxxxxxxxxxxxxxxxxx) (nonNegative) (signBits=11) (range=[0,1114112)) | |
| %2:i32 = var (knownBits=00000000000xxxxxxxxxxxxxxxxxxxxx) (nonNegative) (signBits=11) (range=[0,1114112)) | |
| %3:i1 = ule %1, %2 | |
| %4:i1 = phi %0, %3, 0:i1 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var (knownBits=00000000000xxxxxxxxxxxxxxxxxxxxx) (nonNegative) (signBits=11) (range=[0,1114112)) | |
| %2:i32 = var (knownBits=00000000000xxxxxxxxxxxxxxxxxxxxx) (nonNegative) (signBits=11) (range=[0,1114112)) | |
| %3:i1 = ule %1, %2 | |
| %4:i1 = phi %0, %3, 0:i1 | |
| pc %4 0:i1 | |
| %5:i32 = var (knownBits=00000000000xxxxxxxxxxxxxxxxxxxxx) (nonNegative) (signBits=11) (range=[0,1114112)) | |
| %6:i1 = ult %2, %5 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var (range=[1,-2147483647)) | |
| %2:i32 = ctlz %1 | |
| %3:i32 = addnw 24:i32, %2 | |
| %4:i32 = and 31:i32, %3 | |
| %5:i32 = shl %1, %4 | |
| %6 = block 3 | |
| %7:i32 = subnsw 6:i32, %2 | |
| %8:i32 = and 31:i32, %7 | |
| %9:i32 = lshr %1, %8 | |
| %10:i32 = addnw 26:i32, %2 | |
| %11:i32 = and 31:i32, %10 | |
| %12:i32 = shl %1, %11 | |
| %13:i1 = ne 0:i32, %12 | |
| %14:i32 = zext %13 | |
| %15:i32 = or %9, %14 | |
| %16:i32 = shl %1, 1:i32 | |
| %17:i32 = phi %6, %15, %16, %1 | |
| %18:i32 = lshr %17, 2:i32 | |
| %19:i32 = and 1:i32, %18 | |
| %20:i32 = or %17, %19 | |
| %21:i32 = add 1:i32, %20 | |
| %22:i32 = and 67108864:i32, %21 | |
| %23:i1 = eq 0:i32, %22 | |
| %24:i32 = select %23, 2:i32, 3:i32 | |
| %25:i32 = lshr %21, %24 | |
| %26:i32 = phi %0, %5, %25 | |
| %27:i32 = and 8388607:i32, %26 | |
| %28:i32 = subnsw 31:i32, %2 | |
| %29:i32 = subnw 32:i32, %2 | |
| %30:i32 = select %23, %28, %29 | |
| %31:i32 = phi %0, %28, %30 | |
| %32:i32 = shlnsw %31, 23:i32 | |
| %33:i32 = addnsw 1065353216:i32, %32 | |
| %34:i32 = and 2139095040:i32, %33 | |
| %35:i32 = var | |
| %36:i32 = and 2147483648:i32, %35 | |
| %37:i32 = or %34, %36 | |
| %38:i32 = or %27, %37 | |
| infer %38 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var (range=[1,-2147483647)) | |
| %2:i32 = ctlz %1 | |
| %3:i32 = addnw 24:i32, %2 | |
| %4:i32 = and 31:i32, %3 | |
| %5:i32 = shl %1, %4 | |
| %6 = block 3 | |
| %7:i32 = subnsw 6:i32, %2 | |
| %8:i32 = and 31:i32, %7 | |
| %9:i32 = lshr %1, %8 | |
| %10:i32 = addnw 26:i32, %2 | |
| %11:i32 = and 31:i32, %10 | |
| %12:i32 = shl %1, %11 | |
| %13:i1 = ne 0:i32, %12 | |
| %14:i32 = zext %13 | |
| %15:i32 = or %9, %14 | |
| %16:i32 = shl %1, 1:i32 | |
| %17:i32 = phi %6, %15, %16, %1 | |
| %18:i32 = lshr %17, 2:i32 | |
| %19:i32 = and 1:i32, %18 | |
| %20:i32 = or %17, %19 | |
| %21:i32 = add 1:i32, %20 | |
| %22:i32 = and 67108864:i32, %21 | |
| %23:i1 = eq 0:i32, %22 | |
| %24:i32 = select %23, 2:i32, 3:i32 | |
| %25:i32 = lshr %21, %24 | |
| %26:i32 = phi %0, %5, %25 | |
| %27:i32 = and 8388607:i32, %26 | |
| %28:i32 = var | |
| %29:i32 = and 2147483648:i32, %28 | |
| %30:i32 = or %27, %29 | |
| infer %30 | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var (range=[1,-2147483647)) | |
| %2:i32 = ctlz %1 | |
| %3:i32 = addnw 24:i32, %2 | |
| %4:i32 = and 31:i32, %3 | |
| %5:i32 = shl %1, %4 | |
| %6 = block 3 | |
| %7:i32 = subnsw 6:i32, %2 | |
| %8:i32 = and 31:i32, %7 | |
| %9:i32 = lshr %1, %8 | |
| %10:i32 = addnw 26:i32, %2 | |
| %11:i32 = and 31:i32, %10 | |
| %12:i32 = shl %1, %11 | |
| %13:i1 = ne 0:i32, %12 | |
| %14:i32 = zext %13 | |
| %15:i32 = or %9, %14 | |
| %16:i32 = shl %1, 1:i32 | |
| %17:i32 = phi %6, %15, %16, %1 | |
| %18:i32 = lshr %17, 2:i32 | |
| %19:i32 = and 1:i32, %18 | |
| %20:i32 = or %17, %19 | |
| %21:i32 = add 1:i32, %20 | |
| %22:i32 = and 67108864:i32, %21 | |
| %23:i1 = eq 0:i32, %22 | |
| %24:i32 = select %23, 2:i32, 3:i32 | |
| %25:i32 = lshr %21, %24 | |
| %26:i32 = phi %0, %5, %25 | |
| %27:i32 = and 8388607:i32, %26 | |
| infer %27 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var (range=[1,-2147483647)) | |
| %2:i32 = ctlz %1 | |
| %3:i32 = subnsw 31:i32, %2 | |
| %4 = block 3 | |
| %5:i32 = subnsw 6:i32, %2 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = lshr %1, %6 | |
| %8:i32 = addnw 26:i32, %2 | |
| %9:i32 = and 31:i32, %8 | |
| %10:i32 = shl %1, %9 | |
| %11:i1 = ne 0:i32, %10 | |
| %12:i32 = zext %11 | |
| %13:i32 = or %7, %12 | |
| %14:i32 = shl %1, 1:i32 | |
| %15:i32 = phi %4, %13, %14, %1 | |
| %16:i32 = lshr %15, 2:i32 | |
| %17:i32 = and 1:i32, %16 | |
| %18:i32 = or %15, %17 | |
| %19:i32 = add 1:i32, %18 | |
| %20:i32 = and 67108864:i32, %19 | |
| %21:i1 = eq 0:i32, %20 | |
| %22:i32 = subnw 32:i32, %2 | |
| %23:i32 = select %21, %3, %22 | |
| %24:i32 = phi %0, %3, %23 | |
| %25:i32 = shlnsw %24, 23:i32 | |
| %26:i32 = addnsw 1065353216:i32, %25 | |
| %27:i32 = and 2139095040:i32, %26 | |
| %28:i32 = addnw 24:i32, %2 | |
| %29:i32 = and 31:i32, %28 | |
| %30:i32 = shl %1, %29 | |
| %31:i32 = select %21, 2:i32, 3:i32 | |
| %32:i32 = lshr %19, %31 | |
| %33:i32 = phi %0, %30, %32 | |
| %34:i32 = and 8388607:i32, %33 | |
| %35:i32 = var | |
| %36:i32 = and 2147483648:i32, %35 | |
| %37:i32 = or %34, %36 | |
| %38:i32 = or %27, %37 | |
| infer %38 | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var (range=[1,-2147483647)) | |
| %2:i32 = ctlz %1 | |
| %3:i32 = subnsw 31:i32, %2 | |
| %4 = block 3 | |
| %5:i32 = subnsw 6:i32, %2 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = lshr %1, %6 | |
| %8:i32 = addnw 26:i32, %2 | |
| %9:i32 = and 31:i32, %8 | |
| %10:i32 = shl %1, %9 | |
| %11:i1 = ne 0:i32, %10 | |
| %12:i32 = zext %11 | |
| %13:i32 = or %7, %12 | |
| %14:i32 = shl %1, 1:i32 | |
| %15:i32 = phi %4, %13, %14, %1 | |
| %16:i32 = lshr %15, 2:i32 | |
| %17:i32 = and 1:i32, %16 | |
| %18:i32 = or %15, %17 | |
| %19:i32 = add 1:i32, %18 | |
| %20:i32 = and 67108864:i32, %19 | |
| %21:i1 = eq 0:i32, %20 | |
| %22:i32 = subnw 32:i32, %2 | |
| %23:i32 = select %21, %3, %22 | |
| %24:i32 = phi %0, %3, %23 | |
| %25:i32 = shlnsw %24, 23:i32 | |
| %26:i32 = addnsw 1065353216:i32, %25 | |
| %27:i32 = and 2139095040:i32, %26 | |
| %28:i32 = var | |
| %29:i32 = and 2147483648:i32, %28 | |
| %30:i32 = or %27, %29 | |
| infer %30 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var (range=[1,-2147483647)) | |
| %2:i32 = ctlz %1 | |
| %3:i32 = subnsw 31:i32, %2 | |
| %4 = block 3 | |
| %5:i32 = subnsw 6:i32, %2 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = lshr %1, %6 | |
| %8:i32 = addnw 26:i32, %2 | |
| %9:i32 = and 31:i32, %8 | |
| %10:i32 = shl %1, %9 | |
| %11:i1 = ne 0:i32, %10 | |
| %12:i32 = zext %11 | |
| %13:i32 = or %7, %12 | |
| %14:i32 = shl %1, 1:i32 | |
| %15:i32 = phi %4, %13, %14, %1 | |
| %16:i32 = lshr %15, 2:i32 | |
| %17:i32 = and 1:i32, %16 | |
| %18:i32 = or %15, %17 | |
| %19:i32 = add 1:i32, %18 | |
| %20:i32 = and 67108864:i32, %19 | |
| %21:i1 = eq 0:i32, %20 | |
| %22:i32 = subnw 32:i32, %2 | |
| %23:i32 = select %21, %3, %22 | |
| %24:i32 = phi %0, %3, %23 | |
| %25:i32 = shlnsw %24, 23:i32 | |
| %26:i32 = addnsw 1065353216:i32, %25 | |
| %27:i32 = and 2139095040:i32, %26 | |
| infer %27 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var (range=[1,-2147483647)) | |
| %2:i32 = ctlz %1 | |
| %3:i32 = subnsw 31:i32, %2 | |
| %4 = block 3 | |
| %5:i32 = subnsw 6:i32, %2 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = lshr %1, %6 | |
| %8:i32 = addnw 26:i32, %2 | |
| %9:i32 = and 31:i32, %8 | |
| %10:i32 = shl %1, %9 | |
| %11:i1 = ne 0:i32, %10 | |
| %12:i32 = zext %11 | |
| %13:i32 = or %7, %12 | |
| %14:i32 = shl %1, 1:i32 | |
| %15:i32 = phi %4, %13, %14, %1 | |
| %16:i32 = lshr %15, 2:i32 | |
| %17:i32 = and 1:i32, %16 | |
| %18:i32 = or %15, %17 | |
| %19:i32 = add 1:i32, %18 | |
| %20:i32 = and 67108864:i32, %19 | |
| %21:i1 = eq 0:i32, %20 | |
| %22:i32 = subnw 32:i32, %2 | |
| %23:i32 = select %21, %3, %22 | |
| %24:i32 = phi %0, %3, %23 | |
| %25:i32 = shlnsw %24, 23:i32 | |
| %26:i32 = addnsw 1065353216:i32, %25 | |
| infer %26 (demandedBits=01111111100000000000000000000000) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var (range=[1,-2147483647)) | |
| %2:i32 = ctlz %1 | |
| %3:i32 = subnsw 31:i32, %2 | |
| %4 = block 3 | |
| %5:i32 = subnsw 6:i32, %2 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = lshr %1, %6 | |
| %8:i32 = addnw 26:i32, %2 | |
| %9:i32 = and 31:i32, %8 | |
| %10:i32 = shl %1, %9 | |
| %11:i1 = ne 0:i32, %10 | |
| %12:i32 = zext %11 | |
| %13:i32 = or %7, %12 | |
| %14:i32 = shl %1, 1:i32 | |
| %15:i32 = phi %4, %13, %14, %1 | |
| %16:i32 = lshr %15, 2:i32 | |
| %17:i32 = and 1:i32, %16 | |
| %18:i32 = or %15, %17 | |
| %19:i32 = add 1:i32, %18 | |
| %20:i32 = and 67108864:i32, %19 | |
| %21:i1 = eq 0:i32, %20 | |
| %22:i32 = subnw 32:i32, %2 | |
| %23:i32 = select %21, %3, %22 | |
| %24:i32 = phi %0, %3, %23 | |
| %25:i32 = shlnsw %24, 23:i32 | |
| infer %25 (demandedBits=01111111110000000000000000000000) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var (range=[1,-2147483647)) | |
| %2:i32 = ctlz %1 (hasExternalUses) | |
| %3:i32 = addnw 24:i32, %2 | |
| %4:i32 = and 31:i32, %3 | |
| %5:i32 = shl %1, %4 | |
| %6 = block 3 | |
| %7:i32 = subnsw 6:i32, %2 | |
| %8:i32 = and 31:i32, %7 | |
| %9:i32 = lshr %1, %8 | |
| %10:i32 = addnw 26:i32, %2 | |
| %11:i32 = and 31:i32, %10 | |
| %12:i32 = shl %1, %11 | |
| %13:i1 = ne 0:i32, %12 | |
| %14:i32 = zext %13 | |
| %15:i32 = or %9, %14 | |
| %16:i32 = shl %1, 1:i32 | |
| %17:i32 = phi %6, %15, %16, %1 | |
| %18:i32 = lshr %17, 2:i32 | |
| %19:i32 = and 1:i32, %18 | |
| %20:i32 = or %17, %19 | |
| %21:i32 = add 1:i32, %20 | |
| %22:i32 = and 67108864:i32, %21 | |
| %23:i1 = eq 0:i32, %22 (hasExternalUses) | |
| %24:i32 = select %23, 2:i32, 3:i32 | |
| %25:i32 = lshr %21, %24 | |
| %26:i32 = phi %0, %5, %25 | |
| infer %26 (demandedBits=00000000011111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var (range=[1,-2147483647)) | |
| %2:i32 = ctlz %1 (hasExternalUses) | |
| %3:i32 = subnsw 31:i32, %2 | |
| %4 = block 3 | |
| %5:i32 = subnsw 6:i32, %2 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = lshr %1, %6 | |
| %8:i32 = addnw 26:i32, %2 | |
| %9:i32 = and 31:i32, %8 | |
| %10:i32 = shl %1, %9 | |
| %11:i1 = ne 0:i32, %10 | |
| %12:i32 = zext %11 | |
| %13:i32 = or %7, %12 | |
| %14:i32 = shl %1, 1:i32 | |
| %15:i32 = phi %4, %13, %14, %1 | |
| %16:i32 = lshr %15, 2:i32 | |
| %17:i32 = and 1:i32, %16 | |
| %18:i32 = or %15, %17 | |
| %19:i32 = add 1:i32, %18 (hasExternalUses) | |
| %20:i32 = and 67108864:i32, %19 | |
| %21:i1 = eq 0:i32, %20 (hasExternalUses) | |
| %22:i32 = subnw 32:i32, %2 (hasExternalUses) | |
| %23:i32 = select %21, %3, %22 | |
| %24:i32 = phi %0, %3, %23 | |
| infer %24 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var (range=[1,-2147483647)) | |
| %2:i32 = var | |
| %3:i1 = slt %2, 0:i32 | |
| %4:i32 = sub 0:i32, %2 | |
| %5:i32 = select %3, %4, %2 | |
| %6:i32 = ctlz %1 | |
| %7:i32 = ctlz %5 | |
| %8:i32 = subnsw %6, %7 | |
| %9:i32 = and 31:i32, %8 | |
| %10:i32 = shl %1, %9 | |
| %11:i1 = ult %5, %10 | |
| %12:i64 = select %11, 18446744073709551615:i64, 0:i64 | |
| %13:i64 = zext %8 | |
| %14:i64 = addnsw %12, %13 | |
| %15:i32 = trunc %14 | |
| %16:i32 = and 31:i32, %15 | |
| %17:i32 = shl %1, %16 | |
| %18:i32 = lshr %17, 1:i32 | |
| %19:i32 = phi %0, %18, %17 | |
| %20:i32 = addnsw 4294967295:i32, %19 | |
| %21:i32 = var | |
| %22:i32 = shl %21, 1:i32 | |
| %23:i32 = sub %22, %20 (hasExternalUses) | |
| %24:i32 = ashr %23, 31:i32 | |
| %25:i32 = and %20, %24 | |
| infer %25 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var (range=[1,-2147483647)) | |
| %2:i32 = var | |
| %3:i1 = slt %2, 0:i32 | |
| %4:i32 = sub 0:i32, %2 | |
| %5:i32 = select %3, %4, %2 | |
| %6:i32 = ctlz %1 | |
| %7:i32 = ctlz %5 | |
| %8:i32 = subnsw %6, %7 | |
| %9:i32 = and 31:i32, %8 | |
| %10:i32 = shl %1, %9 | |
| %11:i1 = ult %5, %10 | |
| %12:i64 = select %11, 18446744073709551615:i64, 0:i64 | |
| %13:i64 = zext %8 | |
| %14:i64 = addnsw %12, %13 | |
| %15:i32 = trunc %14 | |
| %16:i32 = and 31:i32, %15 | |
| %17:i32 = shl %1, %16 | |
| %18:i32 = lshr %17, 1:i32 | |
| %19:i32 = phi %0, %18, %17 | |
| %20:i32 = addnsw 4294967295:i32, %19 | |
| infer %20 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i32 = var (range=[1,-2147483647)) | |
| %2:i32 = var | |
| %3:i1 = slt %2, 0:i32 (hasExternalUses) | |
| %4:i32 = sub 0:i32, %2 | |
| %5:i32 = select %3, %4, %2 (hasExternalUses) | |
| %6:i32 = ctlz %1 | |
| %7:i32 = ctlz %5 | |
| %8:i32 = subnsw %6, %7 | |
| %9:i32 = and 31:i32, %8 | |
| %10:i32 = shl %1, %9 | |
| %11:i1 = ult %5, %10 | |
| %12:i64 = select %11, 18446744073709551615:i64, 0:i64 | |
| %13:i64 = zext %8 | |
| %14:i64 = addnsw %12, %13 (hasExternalUses) | |
| %15:i32 = trunc %14 | |
| %16:i32 = and 31:i32, %15 | |
| %17:i32 = shl %1, %16 (hasExternalUses) | |
| %18:i32 = lshr %17, 1:i32 (hasExternalUses) | |
| %19:i32 = phi %0, %18, %17 | |
| infer %19 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = phi %0, 0:i64, 18446744073709551615:i64 | |
| infer %1 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = phi %0, 0:i64, 1:i64 | |
| %2:i32 = var | |
| %3:i64 = zext %2 | |
| %4:i64 = shlnuw %3, 32:i64 | |
| %5:i64 = or %1, %4 | |
| %6:i64 = or 256:i64, %5 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = phi %0, 0:i64, 1:i64 | |
| %2:i32 = var | |
| %3:i64 = zext %2 | |
| %4:i64 = shlnuw %3, 32:i64 | |
| %5:i64 = or %1, %4 | |
| %6:i64 = or 768:i64, %5 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = phi %0, 0:i64, 1:i64 | |
| %2:i32 = var | |
| %3:i64 = zext %2 | |
| %4:i64 = shlnuw %3, 32:i64 | |
| %5:i64 = or %1, %4 | |
| infer %5 (demandedBits=1111111111111111111111111111111111111111111111111111110011111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = phi %0, 0:i64, 1:i64 | |
| %2:i32 = var | |
| %3:i64 = zext %2 | |
| %4:i64 = shlnuw %3, 32:i64 | |
| %5:i64 = or %1, %4 | |
| infer %5 (demandedBits=1111111111111111111111111111111111111111111111111111111011111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = phi %0, 0:i64, 1:i64 | |
| %2:i32 = var | |
| %3:i64 = zext %2 | |
| %4:i64 = shlnuw %3, 32:i64 | |
| %5:i64 = phi %0, 0:i64, %4 | |
| %6:i8 = var (knownBits=00000xxx) (nonNegative) (signBits=5) (range=[0,8)) | |
| %7:i64 = zext %6 | |
| %8:i64 = shlnw %7, 8:i64 | |
| %9:i64 = phi %0, %8, 0:i64 | |
| %10:i64 = or %5, %9 | |
| %11:i64 = or %1, %10 | |
| infer %11 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = phi %0, 0:i64, 1:i64 | |
| infer %1 | |
| > | |
| <noinfer> <> | |
| <sprofile > <23> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = phi %0, 0:i64, 1:i64 | |
| infer %1 (demandedBits=1111111111111111111111111111111111111111111111111111110011111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = phi %0, 0:i64, 1:i64 | |
| infer %1 (demandedBits=1111111111111111111111111111111111111111111111111111111011111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = phi %0, 0:i64, 8:i64 | |
| infer %1 | |
| > | |
| <noinfer> <> | |
| <sprofile > <9> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = phi %0, 1:i64, 0:i64 | |
| infer %1 | |
| > | |
| <noinfer> <> | |
| <sprofile > <22> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = phi %0, 64:i64, 32:i64 | |
| %2:i64 = addnsw 18446744073709551600:i64, %1 | |
| infer %2 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = phi %0, 64:i64, 32:i64 | |
| infer %1 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = phi %0, 8:i64, 0:i64 | |
| infer %1 | |
| > | |
| <noinfer> <> | |
| <sprofile > <18> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = phi %0, 9223372036854775808:i64, 9223372036854775807:i64 | |
| infer %1 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2 = block 2 | |
| %3 = block 2 | |
| %4:i64 = var | |
| %5:i64 = phi %3, %4, %1 | |
| %6:i64 = var | |
| %7 = block 2 | |
| %8:i64 = var | |
| %9:i64 = add 18446744073709551615:i64, %8 | |
| %10:i64 = phi %7, %9, %8 | |
| %11:i64 = and 63:i64, %10 | |
| %12:i64 = lshr %6, %11 | |
| %13:i64 = phi %2, %5, %12 | |
| %14:i64 = phi %0, %1, %13 | |
| infer %14 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6:i64 = var | |
| %7:i64 = phi %5, %6, %3 | |
| %8:i64 = var | |
| %9 = block 2 | |
| %10:i64 = var | |
| %11:i64 = add 18446744073709551615:i64, %10 | |
| %12:i64 = phi %9, %11, %10 | |
| %13:i64 = and 63:i64, %12 | |
| %14:i64 = lshr %8, %13 | |
| %15:i64 = phi %4, %7, %14 | |
| %16:i64 = phi %2, %3, %15 | |
| %17:i64 = phi %0, %1, %16 | |
| infer %17 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4 = block 3 | |
| %5 = block 3 | |
| %6 = block 2 | |
| %7:i64 = var | |
| %8:i64 = add 18446744073709551615:i64, %7 | |
| %9:i64 = phi %6, %7, %8 | |
| %10:i64 = add 18446744073709551615:i64, %9 | |
| %11:i64 = phi %5, %9, %9, %10 | |
| %12:i64 = phi %4, %11, %9, %7 | |
| %13:i64 = add %3, %12 | |
| %14:i64 = var | |
| %15:i64 = phi %2, %13, %14 | |
| %16:i64 = phi %0, %1, %15 | |
| %17:i1 = ult 18446744073709551613:i64, %16 | |
| infer %17 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4 = block 3 | |
| %5 = block 3 | |
| %6 = block 2 | |
| %7:i64 = var | |
| %8:i64 = add 18446744073709551615:i64, %7 | |
| %9:i64 = phi %6, %7, %8 | |
| %10:i64 = add 18446744073709551615:i64, %9 | |
| %11:i64 = phi %5, %9, %9, %10 | |
| %12:i64 = phi %4, %11, %9, %7 | |
| %13:i64 = add %3, %12 | |
| %14:i64 = var | |
| %15:i64 = phi %2, %13, %14 | |
| %16:i64 = phi %0, %1, %15 | |
| %17:i1 = ult 18446744073709551613:i64, %16 | |
| pc %17 0:i1 | |
| %18:i64 = add 2:i64, %1 | |
| %19:i64 = add 2:i64, %15 | |
| %20:i64 = phi %0, %18, %19 | |
| %21:i1 = ult 4096:i64, %20 | |
| infer %21 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4 = block 3 | |
| %5 = block 3 | |
| %6 = block 2 | |
| %7:i64 = var | |
| %8:i64 = add 18446744073709551615:i64, %7 | |
| %9:i64 = phi %6, %7, %8 | |
| %10:i64 = add 18446744073709551615:i64, %9 | |
| %11:i64 = phi %5, %9, %9, %10 | |
| %12:i64 = phi %4, %11, %9, %7 | |
| %13:i64 = add %3, %12 | |
| %14:i64 = var | |
| %15:i64 = phi %2, %13, %14 | |
| %16:i64 = phi %0, %1, %15 | |
| infer %16 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4 = block 5 | |
| %5 = block 2 | |
| %6:i64 = var | |
| %7:i64 = add 18446744073709551615:i64, %6 | |
| %8:i64 = phi %5, %6, %7 | |
| %9:i64 = add 18446744073709551615:i64, %8 | |
| %10:i64 = phi %4, 1:i64, %8, %9, %6, %6 | |
| %11:i64 = add %3, %10 | |
| %12:i64 = var | |
| %13:i64 = phi %2, %11, %12 | |
| %14:i64 = phi %0, %1, %13 | |
| %15:i1 = ult 18446744073709551613:i64, %14 | |
| infer %15 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4 = block 5 | |
| %5 = block 2 | |
| %6:i64 = var | |
| %7:i64 = add 18446744073709551615:i64, %6 | |
| %8:i64 = phi %5, %6, %7 | |
| %9:i64 = add 18446744073709551615:i64, %8 | |
| %10:i64 = phi %4, 1:i64, %8, %9, %6, %6 | |
| %11:i64 = add %3, %10 | |
| %12:i64 = var | |
| %13:i64 = phi %2, %11, %12 | |
| %14:i64 = phi %0, %1, %13 | |
| %15:i1 = ult 18446744073709551613:i64, %14 | |
| pc %15 0:i1 | |
| %16:i64 = add 2:i64, %1 | |
| %17:i64 = add 2:i64, %13 | |
| %18:i64 = phi %0, %16, %17 | |
| %19:i1 = ult 4096:i64, %18 | |
| infer %19 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4 = block 5 | |
| %5 = block 2 | |
| %6:i64 = var | |
| %7:i64 = add 18446744073709551615:i64, %6 | |
| %8:i64 = phi %5, %6, %7 | |
| %9:i64 = add 18446744073709551615:i64, %8 | |
| %10:i64 = phi %4, 1:i64, %8, %9, %6, %6 | |
| %11:i64 = add %3, %10 | |
| %12:i64 = var | |
| %13:i64 = phi %2, %11, %12 | |
| %14:i64 = phi %0, %1, %13 | |
| infer %14 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4 = block 5 | |
| %5:i64 = var | |
| %6 = block 2 | |
| %7:i64 = add 18446744073709551615:i64, %5 | |
| %8:i64 = phi %6, %7, %5 | |
| %9:i64 = add 18446744073709551615:i64, %8 | |
| %10:i64 = phi %4, 1:i64, %5, %8, %9, %5 | |
| %11:i64 = add %3, %10 | |
| %12:i64 = var | |
| %13:i64 = phi %2, %11, %12 | |
| %14:i64 = phi %0, %1, %13 | |
| %15:i1 = ult 18446744073709551613:i64, %14 | |
| infer %15 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4 = block 5 | |
| %5:i64 = var | |
| %6 = block 2 | |
| %7:i64 = add 18446744073709551615:i64, %5 | |
| %8:i64 = phi %6, %7, %5 | |
| %9:i64 = add 18446744073709551615:i64, %8 | |
| %10:i64 = phi %4, 1:i64, %5, %8, %9, %5 | |
| %11:i64 = add %3, %10 | |
| %12:i64 = var | |
| %13:i64 = phi %2, %11, %12 | |
| %14:i64 = phi %0, %1, %13 | |
| %15:i1 = ult 18446744073709551613:i64, %14 | |
| pc %15 0:i1 | |
| %16:i64 = add 2:i64, %1 | |
| %17:i64 = add 2:i64, %13 | |
| %18:i64 = phi %0, %16, %17 | |
| %19:i1 = ult 4096:i64, %18 | |
| infer %19 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4 = block 5 | |
| %5:i64 = var | |
| %6 = block 2 | |
| %7:i64 = add 18446744073709551615:i64, %5 | |
| %8:i64 = phi %6, %7, %5 | |
| %9:i64 = add 18446744073709551615:i64, %8 | |
| %10:i64 = phi %4, 1:i64, %5, %8, %9, %5 | |
| %11:i64 = add %3, %10 | |
| %12:i64 = var | |
| %13:i64 = phi %2, %11, %12 | |
| %14:i64 = phi %0, %1, %13 | |
| infer %14 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = var | |
| %5:i64 = phi %2, %3, %4 | |
| %6:i64 = phi %0, %1, %5 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2 = block 3 | |
| %3 = block 3 | |
| %4 = block 2 | |
| %5:i64 = var | |
| %6:i64 = add 18446744073709551615:i64, %5 | |
| %7:i64 = phi %4, %5, %6 | |
| %8:i64 = add 18446744073709551615:i64, %7 | |
| %9:i64 = phi %3, %7, %7, %8 | |
| %10:i64 = phi %2, %9, %7, %5 | |
| %11:i64 = add %1, %10 | |
| %12:i64 = var | |
| %13:i64 = phi %0, %11, %12 | |
| %14:i64 = add 2:i64, %13 | |
| infer %14 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2 = block 3 | |
| %3 = block 3 | |
| %4 = block 2 | |
| %5:i64 = var | |
| %6:i64 = add 18446744073709551615:i64, %5 | |
| %7:i64 = phi %4, %5, %6 | |
| %8:i64 = add 18446744073709551615:i64, %7 | |
| %9:i64 = phi %3, %7, %7, %8 | |
| %10:i64 = phi %2, %9, %7, %5 | |
| %11:i64 = add %1, %10 | |
| %12:i64 = var | |
| %13:i64 = phi %0, %11, %12 | |
| %14:i64 = add 2:i64, %13 (hasExternalUses) | |
| %15:i1 = ult 4095:i64, %14 | |
| infer %15 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2 = block 3 | |
| %3 = block 3 | |
| %4 = block 2 | |
| %5:i64 = var | |
| %6:i64 = add 18446744073709551615:i64, %5 | |
| %7:i64 = phi %4, %5, %6 | |
| %8:i64 = add 18446744073709551615:i64, %7 | |
| %9:i64 = phi %3, %7, %7, %8 | |
| %10:i64 = phi %2, %9, %7, %5 | |
| %11:i64 = add %1, %10 (hasExternalUses) | |
| %12:i64 = var | |
| %13:i64 = phi %0, %11, %12 | |
| infer %13 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2 = block 5 | |
| %3 = block 2 | |
| %4:i64 = var | |
| %5:i64 = add 18446744073709551615:i64, %4 | |
| %6:i64 = phi %3, %4, %5 | |
| %7:i64 = add 18446744073709551615:i64, %6 | |
| %8:i64 = phi %2, 1:i64, %6, %7, %4, %4 | |
| %9:i64 = add %1, %8 | |
| %10:i64 = var | |
| %11:i64 = phi %0, %9, %10 | |
| %12:i64 = add 2:i64, %11 | |
| infer %12 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2 = block 5 | |
| %3 = block 2 | |
| %4:i64 = var | |
| %5:i64 = add 18446744073709551615:i64, %4 | |
| %6:i64 = phi %3, %4, %5 | |
| %7:i64 = add 18446744073709551615:i64, %6 | |
| %8:i64 = phi %2, 1:i64, %6, %7, %4, %4 | |
| %9:i64 = add %1, %8 | |
| %10:i64 = var | |
| %11:i64 = phi %0, %9, %10 | |
| %12:i64 = add 2:i64, %11 (hasExternalUses) | |
| %13:i1 = ult 4095:i64, %12 | |
| infer %13 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2 = block 5 | |
| %3 = block 2 | |
| %4:i64 = var | |
| %5:i64 = add 18446744073709551615:i64, %4 | |
| %6:i64 = phi %3, %4, %5 | |
| %7:i64 = add 18446744073709551615:i64, %6 | |
| %8:i64 = phi %2, 1:i64, %6, %7, %4, %4 | |
| %9:i64 = add %1, %8 (hasExternalUses) | |
| %10:i64 = var | |
| %11:i64 = phi %0, %9, %10 | |
| infer %11 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2 = block 5 | |
| %3:i64 = var | |
| %4 = block 2 | |
| %5:i64 = add 18446744073709551615:i64, %3 | |
| %6:i64 = phi %4, %5, %3 | |
| %7:i64 = add 18446744073709551615:i64, %6 | |
| %8:i64 = phi %2, 1:i64, %3, %6, %7, %3 | |
| %9:i64 = add %1, %8 | |
| %10:i64 = var | |
| %11:i64 = phi %0, %9, %10 | |
| %12:i64 = add 2:i64, %11 | |
| infer %12 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2 = block 5 | |
| %3:i64 = var | |
| %4 = block 2 | |
| %5:i64 = add 18446744073709551615:i64, %3 | |
| %6:i64 = phi %4, %5, %3 | |
| %7:i64 = add 18446744073709551615:i64, %6 | |
| %8:i64 = phi %2, 1:i64, %3, %6, %7, %3 | |
| %9:i64 = add %1, %8 | |
| %10:i64 = var | |
| %11:i64 = phi %0, %9, %10 | |
| %12:i64 = add 2:i64, %11 (hasExternalUses) | |
| %13:i1 = ult 4095:i64, %12 | |
| infer %13 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2 = block 5 | |
| %3:i64 = var | |
| %4 = block 2 | |
| %5:i64 = add 18446744073709551615:i64, %3 | |
| %6:i64 = phi %4, %5, %3 | |
| %7:i64 = add 18446744073709551615:i64, %6 | |
| %8:i64 = phi %2, 1:i64, %3, %6, %7, %3 | |
| %9:i64 = add %1, %8 (hasExternalUses) | |
| %10:i64 = var | |
| %11:i64 = phi %0, %9, %10 | |
| infer %11 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i1 = eq 0:i64, %1 | |
| %3:i1 = phi %0, 1:i1, %2 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i1 = eq 0:i64, %1 | |
| %3:i1 = phi %0, 1:i1, %2 | |
| pc %3 0:i1 | |
| %4:i1 = slt %1, 0:i64 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i1 = eq 0:i64, %1 | |
| %3:i64 = var | |
| %4:i64 = select %2, 0:i64, %3 | |
| %5:i64 = phi %0, 0:i64, %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i1 = eq 0:i64, %1 | |
| %3:i8 = zext %2 | |
| %4:i8 = phi %0, %3, 1:i8 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i1 = eq 18446744073709551615:i64, %1 | |
| %3:i1 = phi %0, %2, 1:i1 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i1 = slt %1, 0:i64 | |
| %3:i64 = sub 0:i64, %1 | |
| %4:i64 = select %2, %3, %1 | |
| %5:i64 = ctlz %4 | |
| %6:i64 = var | |
| %7:i1 = slt %6, 0:i64 | |
| %8:i64 = sub 0:i64, %6 | |
| %9:i64 = select %7, %8, %6 | |
| %10:i64 = ctlz %9 | |
| %11:i64 = subnsw %5, %10 | |
| %12:i64 = and 4294967295:i64, %11 | |
| %13:i64 = and 63:i64, %11 | |
| %14:i64 = shl %4, %13 | |
| %15:i1 = ult %9, %14 | |
| %16:i64 = select %15, 18446744073709551615:i64, 0:i64 | |
| %17:i64 = addnsw %12, %16 | |
| %18:i64 = addnsw 18446744073709551615:i64, %17 | |
| %19:i64 = and 63:i64, %18 | |
| %20:i64 = shlnuw 1:i64, %19 | |
| %21:i64 = and 63:i64, %17 | |
| %22:i64 = shlnuw 1:i64, %21 | |
| %23:i64 = phi %0, %20, %22 | |
| %24:i64 = add 18446744073709551615:i64, %23 | |
| infer %24 | |
| > | |
| <noinfer> <> | |
| <sprofile > <16> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i1 = slt %1, 0:i64 | |
| %3:i64 = sub 0:i64, %1 | |
| %4:i64 = select %2, %3, %1 | |
| %5:i64 = ctlz %4 | |
| %6:i64 = var | |
| %7:i1 = slt %6, 0:i64 | |
| %8:i64 = sub 0:i64, %6 | |
| %9:i64 = select %7, %8, %6 | |
| %10:i64 = ctlz %9 | |
| %11:i64 = subnsw %5, %10 | |
| %12:i64 = and 4294967295:i64, %11 | |
| %13:i64 = and 63:i64, %11 | |
| %14:i64 = shl %4, %13 | |
| %15:i1 = ult %9, %14 | |
| %16:i64 = select %15, 18446744073709551615:i64, 0:i64 | |
| %17:i64 = addnsw %12, %16 | |
| %18:i64 = addnsw 18446744073709551615:i64, %17 | |
| %19:i64 = phi %0, %18, %17 | |
| %20:i1 = eq 0:i64, %19 | |
| infer %20 | |
| > | |
| <noinfer> <> | |
| <sprofile > <12> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i1 = slt %1, 0:i64 | |
| %3:i64 = sub 0:i64, %1 | |
| %4:i64 = select %2, %3, %1 | |
| %5:i64 = ctlz %4 | |
| %6:i64 = var | |
| %7:i1 = slt %6, 0:i64 | |
| %8:i64 = sub 0:i64, %6 | |
| %9:i64 = select %7, %8, %6 | |
| %10:i64 = ctlz %9 | |
| %11:i64 = subnsw %5, %10 | |
| %12:i64 = and 4294967295:i64, %11 | |
| %13:i64 = and 63:i64, %11 | |
| %14:i64 = shl %4, %13 | |
| %15:i1 = ult %9, %14 | |
| %16:i64 = select %15, 18446744073709551615:i64, 0:i64 | |
| %17:i64 = addnsw %12, %16 | |
| %18:i64 = addnsw 18446744073709551615:i64, %17 | |
| %19:i64 = phi %0, %18, %17 | |
| %20:i64 = and 63:i64, %19 | |
| infer %20 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i1 = slt %1, 0:i64 | |
| %3:i64 = sub 0:i64, %1 | |
| %4:i64 = select %2, %3, %1 | |
| %5:i64 = ctlz %4 | |
| %6:i64 = var | |
| %7:i1 = slt %6, 0:i64 | |
| %8:i64 = sub 0:i64, %6 | |
| %9:i64 = select %7, %8, %6 | |
| %10:i64 = ctlz %9 | |
| %11:i64 = subnsw %5, %10 | |
| %12:i64 = and 4294967295:i64, %11 | |
| %13:i64 = and 63:i64, %11 | |
| %14:i64 = shl %4, %13 | |
| %15:i1 = ult %9, %14 | |
| %16:i64 = select %15, 18446744073709551615:i64, 0:i64 | |
| %17:i64 = addnsw %12, %16 | |
| %18:i64 = and 63:i64, %17 | |
| %19:i64 = shl %4, %18 | |
| %20:i64 = lshr %19, 1:i64 | |
| %21:i64 = phi %0, %20, %19 | |
| %22:i64 = addnsw 18446744073709551615:i64, %21 | |
| %23:i64 = var | |
| %24:i64 = shl %23, 1:i64 | |
| %25:i64 = sub %24, %22 (hasExternalUses) | |
| %26:i64 = ashr %25, 63:i64 | |
| %27:i64 = and %22, %26 | |
| infer %27 | |
| > | |
| <noinfer> <> | |
| <sprofile > <16> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i1 = slt %1, 0:i64 | |
| %3:i64 = sub 0:i64, %1 | |
| %4:i64 = select %2, %3, %1 | |
| %5:i64 = ctlz %4 | |
| %6:i64 = var | |
| %7:i1 = slt %6, 0:i64 | |
| %8:i64 = sub 0:i64, %6 | |
| %9:i64 = select %7, %8, %6 | |
| %10:i64 = ctlz %9 | |
| %11:i64 = subnsw %5, %10 | |
| %12:i64 = and 4294967295:i64, %11 | |
| %13:i64 = and 63:i64, %11 | |
| %14:i64 = shl %4, %13 | |
| %15:i1 = ult %9, %14 | |
| %16:i64 = select %15, 18446744073709551615:i64, 0:i64 | |
| %17:i64 = addnsw %12, %16 | |
| %18:i64 = and 63:i64, %17 | |
| %19:i64 = shl %4, %18 | |
| %20:i64 = lshr %19, 1:i64 | |
| %21:i64 = phi %0, %20, %19 | |
| %22:i64 = addnsw 18446744073709551615:i64, %21 | |
| infer %22 | |
| > | |
| <noinfer> <> | |
| <sprofile > <16> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i1 = slt %1, 0:i64 | |
| %3:i64 = sub 0:i64, %1 | |
| %4:i64 = select %2, %3, %1 | |
| %5:i64 = ctlz %4 | |
| %6:i64 = var | |
| %7:i1 = slt %6, 0:i64 | |
| %8:i64 = sub 0:i64, %6 | |
| %9:i64 = select %7, %8, %6 | |
| %10:i64 = ctlz %9 | |
| %11:i64 = subnsw %5, %10 | |
| %12:i64 = and 4294967295:i64, %11 | |
| %13:i64 = and 63:i64, %11 | |
| %14:i64 = shl %4, %13 | |
| %15:i1 = ult %9, %14 | |
| %16:i64 = select %15, 18446744073709551615:i64, 0:i64 | |
| %17:i64 = addnsw %12, %16 | |
| %18:i64 = and 63:i64, %17 | |
| %19:i64 = shlnuw 1:i64, %18 | |
| %20:i64 = shl %4, %18 | |
| %21:i64 = sub %9, %20 | |
| %22:i64 = lshr %20, 1:i64 | |
| %23:i64 = sub %21, %22 | |
| %24:i1 = slt 18446744073709551615:i64, %23 | |
| %25:i64 = addnsw 18446744073709551615:i64, %17 | |
| %26:i64 = and 63:i64, %25 | |
| %27:i64 = shlnuw 1:i64, %26 | |
| %28:i64 = select %24, %27, 0:i64 | |
| %29:i64 = or %19, %28 | |
| %30:i64 = phi %0, %29, %19 | |
| %31 = block 2 | |
| %32:i64 = select %24, %23, %21 | |
| %33:i64 = phi %0, %32, %21 | |
| %34:i64 = var | |
| %35:i64 = shl %34, 1:i64 | |
| %36:i64 = phi %0, %22, %20 | |
| %37:i64 = addnsw 18446744073709551615:i64, %36 | |
| %38:i64 = sub %35, %37 | |
| %39:i64 = ashr %38, 63:i64 | |
| %40:i64 = and %37, %39 | |
| %41:i64 = add %38, %40 | |
| %42:i64 = phi %31, %33, %41 | |
| %43:i64 = phi %0, %27, %19 | |
| %44:i64 = add 18446744073709551615:i64, %43 | |
| %45:i64 = and %42, %44 | |
| %46:i64 = or %30, %45 | |
| infer %46 | |
| > | |
| <sprofile > <12> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i1 = slt %1, 0:i64 | |
| %3:i64 = sub 0:i64, %1 | |
| %4:i64 = select %2, %3, %1 | |
| %5:i64 = ctlz %4 | |
| %6:i64 = var | |
| %7:i1 = slt %6, 0:i64 | |
| %8:i64 = sub 0:i64, %6 | |
| %9:i64 = select %7, %8, %6 | |
| %10:i64 = ctlz %9 | |
| %11:i64 = subnsw %5, %10 | |
| %12:i64 = and 4294967295:i64, %11 | |
| %13:i64 = and 63:i64, %11 | |
| %14:i64 = shl %4, %13 | |
| %15:i1 = ult %9, %14 | |
| %16:i64 = select %15, 18446744073709551615:i64, 0:i64 | |
| %17:i64 = addnsw %12, %16 | |
| %18:i64 = and 63:i64, %17 | |
| %19:i64 = shlnuw 1:i64, %18 | |
| %20:i64 = shl %4, %18 | |
| %21:i64 = sub %9, %20 | |
| %22:i64 = lshr %20, 1:i64 | |
| %23:i64 = sub %21, %22 | |
| %24:i1 = slt 18446744073709551615:i64, %23 | |
| %25:i64 = addnsw 18446744073709551615:i64, %17 | |
| %26:i64 = and 63:i64, %25 | |
| %27:i64 = shlnuw 1:i64, %26 | |
| %28:i64 = select %24, %27, 0:i64 | |
| %29:i64 = or %19, %28 | |
| %30:i64 = phi %0, %29, %19 | |
| %31:i64 = var | |
| %32:i64 = phi %0, %27, %19 | |
| %33:i64 = add 18446744073709551615:i64, %32 | |
| %34:i64 = and %31, %33 | |
| %35:i64 = or %30, %34 | |
| infer %35 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i1 = slt %1, 0:i64 (hasExternalUses) | |
| %3:i64 = sub 0:i64, %1 | |
| %4:i64 = select %2, %3, %1 (hasExternalUses) | |
| %5:i64 = ctlz %4 | |
| %6:i64 = var | |
| %7:i1 = slt %6, 0:i64 (hasExternalUses) | |
| %8:i64 = sub 0:i64, %6 | |
| %9:i64 = select %7, %8, %6 (hasExternalUses) | |
| %10:i64 = ctlz %9 | |
| %11:i64 = subnsw %5, %10 | |
| %12:i64 = and 4294967295:i64, %11 | |
| %13:i64 = and 63:i64, %11 | |
| %14:i64 = shl %4, %13 | |
| %15:i1 = ult %9, %14 | |
| %16:i64 = select %15, 18446744073709551615:i64, 0:i64 | |
| %17:i64 = addnsw %12, %16 (hasExternalUses) | |
| %18:i64 = addnsw 18446744073709551615:i64, %17 (hasExternalUses) | |
| %19:i64 = and 63:i64, %18 | |
| %20:i64 = shlnuw 1:i64, %19 (hasExternalUses) | |
| %21:i64 = and 63:i64, %17 (hasExternalUses) | |
| %22:i64 = shlnuw 1:i64, %21 (hasExternalUses) | |
| %23:i64 = phi %0, %20, %22 | |
| infer %23 | |
| > | |
| <noinfer> <> | |
| <sprofile > <16> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i1 = slt %1, 0:i64 (hasExternalUses) | |
| %3:i64 = sub 0:i64, %1 | |
| %4:i64 = select %2, %3, %1 (hasExternalUses) | |
| %5:i64 = ctlz %4 | |
| %6:i64 = var | |
| %7:i1 = slt %6, 0:i64 (hasExternalUses) | |
| %8:i64 = sub 0:i64, %6 | |
| %9:i64 = select %7, %8, %6 (hasExternalUses) | |
| %10:i64 = ctlz %9 | |
| %11:i64 = subnsw %5, %10 | |
| %12:i64 = and 4294967295:i64, %11 | |
| %13:i64 = and 63:i64, %11 | |
| %14:i64 = shl %4, %13 | |
| %15:i1 = ult %9, %14 | |
| %16:i64 = select %15, 18446744073709551615:i64, 0:i64 | |
| %17:i64 = addnsw %12, %16 (hasExternalUses) | |
| %18:i64 = addnsw 18446744073709551615:i64, %17 (hasExternalUses) | |
| %19:i64 = phi %0, %18, %17 | |
| infer %19 | |
| > | |
| <noinfer> <> | |
| <sprofile > <16> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i1 = slt %1, 0:i64 (hasExternalUses) | |
| %3:i64 = sub 0:i64, %1 | |
| %4:i64 = select %2, %3, %1 (hasExternalUses) | |
| %5:i64 = ctlz %4 | |
| %6:i64 = var | |
| %7:i1 = slt %6, 0:i64 (hasExternalUses) | |
| %8:i64 = sub 0:i64, %6 | |
| %9:i64 = select %7, %8, %6 (hasExternalUses) | |
| %10:i64 = ctlz %9 | |
| %11:i64 = subnsw %5, %10 | |
| %12:i64 = and 4294967295:i64, %11 | |
| %13:i64 = and 63:i64, %11 | |
| %14:i64 = shl %4, %13 | |
| %15:i1 = ult %9, %14 | |
| %16:i64 = select %15, 18446744073709551615:i64, 0:i64 | |
| %17:i64 = addnsw %12, %16 (hasExternalUses) | |
| %18:i64 = and 63:i64, %17 | |
| %19:i64 = shlnuw 1:i64, %18 (hasExternalUses) | |
| %20:i64 = shl %4, %18 (hasExternalUses) | |
| %21:i64 = sub %9, %20 (hasExternalUses) | |
| %22:i64 = lshr %20, 1:i64 (hasExternalUses) | |
| %23:i64 = sub %21, %22 (hasExternalUses) | |
| %24:i1 = slt 18446744073709551615:i64, %23 (hasExternalUses) | |
| %25:i64 = addnsw 18446744073709551615:i64, %17 (hasExternalUses) | |
| %26:i64 = and 63:i64, %25 | |
| %27:i64 = shlnuw 1:i64, %26 (hasExternalUses) | |
| %28:i64 = select %24, %27, 0:i64 | |
| %29:i64 = or %19, %28 (hasExternalUses) | |
| %30:i64 = phi %0, %29, %19 | |
| infer %30 | |
| > | |
| <sprofile > <16> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i1 = slt %1, 0:i64 (hasExternalUses) | |
| %3:i64 = sub 0:i64, %1 | |
| %4:i64 = select %2, %3, %1 (hasExternalUses) | |
| %5:i64 = ctlz %4 | |
| %6:i64 = var | |
| %7:i1 = slt %6, 0:i64 (hasExternalUses) | |
| %8:i64 = sub 0:i64, %6 | |
| %9:i64 = select %7, %8, %6 (hasExternalUses) | |
| %10:i64 = ctlz %9 | |
| %11:i64 = subnsw %5, %10 | |
| %12:i64 = and 4294967295:i64, %11 | |
| %13:i64 = and 63:i64, %11 | |
| %14:i64 = shl %4, %13 | |
| %15:i1 = ult %9, %14 | |
| %16:i64 = select %15, 18446744073709551615:i64, 0:i64 | |
| %17:i64 = addnsw %12, %16 (hasExternalUses) | |
| %18:i64 = and 63:i64, %17 (hasExternalUses) | |
| %19:i64 = shl %4, %18 (hasExternalUses) | |
| %20:i64 = lshr %19, 1:i64 (hasExternalUses) | |
| %21:i64 = phi %0, %20, %19 | |
| infer %21 | |
| > | |
| <noinfer> <> | |
| <sprofile > <16> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i1 = slt %1, 0:i64 (hasExternalUses) | |
| %3:i64 = sub 0:i64, %1 | |
| %4:i64 = select %2, %3, %1 (hasExternalUses) | |
| %5:i64 = var | |
| %6:i1 = slt %5, 0:i64 (hasExternalUses) | |
| %7:i64 = sub 0:i64, %5 | |
| %8:i64 = select %6, %7, %5 (hasExternalUses) | |
| %9:i64 = ctlz %8 | |
| %10:i64 = ctlz %4 | |
| %11:i64 = subnsw %9, %10 | |
| %12:i64 = and 4294967295:i64, %11 | |
| %13:i64 = and 63:i64, %11 | |
| %14:i64 = shl %8, %13 | |
| %15:i1 = ult %4, %14 | |
| %16:i64 = select %15, 18446744073709551615:i64, 0:i64 | |
| %17:i64 = addnsw %12, %16 (hasExternalUses) | |
| %18:i64 = and 63:i64, %17 (hasExternalUses) | |
| %19:i64 = shl %8, %18 (hasExternalUses) | |
| %20:i64 = sub %4, %19 (hasExternalUses) | |
| %21:i64 = lshr %19, 1:i64 (hasExternalUses) | |
| %22:i64 = sub %20, %21 | |
| %23:i1 = slt 18446744073709551615:i64, %22 (hasExternalUses) | |
| %24:i64 = select %23, %22, %20 (hasExternalUses) | |
| %25:i64 = phi %0, %24, %20 | |
| infer %25 | |
| > | |
| <noinfer> <> | |
| <sprofile > <16> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i1 = slt %1, 0:i64 (hasExternalUses) | |
| %3:i64 = sub 0:i64, %1 | |
| %4:i64 = select %2, %3, %1 (hasExternalUses) | |
| %5:i64 = var (range=[1,-9223372036854775807)) | |
| %6:i64 = ctlz %5 | |
| %7:i64 = ctlz %4 | |
| %8:i64 = subnsw %6, %7 | |
| %9:i64 = and 4294967295:i64, %8 | |
| %10:i64 = and 63:i64, %8 | |
| %11:i64 = shl %5, %10 | |
| %12:i1 = ult %4, %11 | |
| %13:i64 = select %12, 18446744073709551615:i64, 0:i64 | |
| %14:i64 = addnsw %9, %13 (hasExternalUses) | |
| %15:i64 = and 63:i64, %14 | |
| %16:i64 = shl %5, %15 (hasExternalUses) | |
| %17:i64 = sub %4, %16 (hasExternalUses) | |
| %18:i64 = lshr %16, 1:i64 (hasExternalUses) | |
| %19:i64 = sub %17, %18 | |
| %20:i1 = slt 18446744073709551615:i64, %19 | |
| %21:i64 = select %20, %19, %17 (hasExternalUses) | |
| %22:i64 = phi %0, %21, %17 | |
| infer %22 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i1 = slt %1, 0:i64 (hasExternalUses) | |
| %3:i64 = var | |
| %4:i1 = slt %3, 0:i64 (hasExternalUses) | |
| %5:i1 = xor %2, %4 | |
| %6 = block 4 | |
| %7:i64 = sub 0:i64, %1 | |
| %8:i64 = select %2, %7, %1 | |
| %9:i64 = and 4294967295:i64, %8 | |
| %10:i64 = sub 0:i64, %3 | |
| %11:i64 = select %4, %10, %3 | |
| %12:i64 = and 4294967295:i64, %11 | |
| %13:i64 = mulnuw %9, %12 | |
| %14:i64 = mul %8, %11 | |
| %15:i64 = lshr %11, 32:i64 | |
| %16:i64 = mulnw %9, %15 | |
| %17:i64 = shl %16, 32:i64 | |
| %18:i65 = uadd.with.overflow %13, %17 | |
| %19:i64 = extractvalue %18, 0:i32 | |
| %20:i64 = lshr %8, 32:i64 | |
| %21:i64 = mulnw %12, %20 | |
| %22:i64 = shl %21, 32:i64 | |
| %23:i65 = uadd.with.overflow %13, %22 | |
| %24:i64 = extractvalue %23, 0:i32 | |
| %25:i64 = phi %6, %13, %14, %19, %24 | |
| %26:i64 = sub 0:i64, %25 | |
| %27:i64 = select %5, %26, %25 (hasExternalUses) | |
| %28:i1 = slt %27, 0:i64 | |
| %29:i1 = xor %5, %28 | |
| %30:i1 = extractvalue %18, 1:i32 | |
| %31:i1 = ult 4294967295:i64, %16 | |
| %32:i1 = select %30, 1:i1, %31 | |
| %33:i1 = extractvalue %23, 1:i32 | |
| %34:i1 = ult 4294967295:i64, %21 | |
| %35:i1 = select %33, 1:i1, %34 | |
| %36:i1 = phi %6, 0:i1, 1:i1, %32, %35 | |
| %37:i1 = select %29, 1:i1, %36 | |
| %38:i32 = zext %37 | |
| %39:i32 = phi %0, 0:i32, %38 | |
| infer %39 | |
| > | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i1 = slt %1, 0:i64 (hasExternalUses) | |
| %3:i64 = var | |
| %4:i1 = slt %3, 0:i64 (hasExternalUses) | |
| %5:i1 = xor %2, %4 | |
| %6 = block 4 | |
| %7:i64 = sub 0:i64, %1 | |
| %8:i64 = select %2, %7, %1 | |
| %9:i64 = sub 0:i64, %3 | |
| %10:i64 = select %4, %9, %3 | |
| %11:i64 = mul %8, %10 | |
| %12:i64 = and 4294967295:i64, %8 | |
| %13:i64 = and 4294967295:i64, %10 | |
| %14:i64 = mulnuw %12, %13 | |
| %15:i64 = lshr %10, 32:i64 | |
| %16:i64 = mulnw %12, %15 | |
| %17:i64 = shl %16, 32:i64 | |
| %18:i65 = uadd.with.overflow %14, %17 | |
| %19:i64 = extractvalue %18, 0:i32 | |
| %20:i64 = lshr %8, 32:i64 | |
| %21:i64 = mulnw %13, %20 | |
| %22:i64 = shl %21, 32:i64 | |
| %23:i65 = uadd.with.overflow %14, %22 | |
| %24:i64 = extractvalue %23, 0:i32 | |
| %25:i64 = phi %6, %11, %19, %24, %14 | |
| %26:i64 = sub 0:i64, %25 | |
| %27:i64 = select %5, %26, %25 (hasExternalUses) | |
| %28:i1 = slt %27, 0:i64 | |
| %29:i1 = xor %5, %28 | |
| %30:i1 = extractvalue %18, 1:i32 | |
| %31:i1 = ult 4294967295:i64, %16 | |
| %32:i1 = select %30, 1:i1, %31 | |
| %33:i1 = extractvalue %23, 1:i32 | |
| %34:i1 = ult 4294967295:i64, %21 | |
| %35:i1 = select %33, 1:i1, %34 | |
| %36:i1 = phi %6, 1:i1, %32, %35, 0:i1 | |
| %37:i1 = select %29, 1:i1, %36 | |
| %38:i32 = zext %37 | |
| %39:i32 = phi %0, 0:i32, %38 | |
| infer %39 | |
| > | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i1 = slt %1, 0:i64 (hasExternalUses) | |
| %3:i64 = var | |
| %4:i1 = slt %3, 0:i64 (hasExternalUses) | |
| %5:i1 = xor %2, %4 (hasExternalUses) | |
| %6 = block 4 | |
| %7:i64 = sub 0:i64, %1 | |
| %8:i64 = select %2, %7, %1 | |
| %9:i64 = and 4294967295:i64, %8 | |
| %10:i64 = sub 0:i64, %3 | |
| %11:i64 = select %4, %10, %3 | |
| %12:i64 = and 4294967295:i64, %11 | |
| %13:i64 = mulnuw %9, %12 | |
| %14:i64 = mul %8, %11 | |
| %15:i64 = lshr %11, 32:i64 | |
| %16:i64 = mulnw %9, %15 | |
| %17:i64 = shl %16, 32:i64 | |
| %18:i65 = uadd.with.overflow %13, %17 | |
| %19:i64 = extractvalue %18, 0:i32 | |
| %20:i64 = lshr %8, 32:i64 | |
| %21:i64 = mulnw %12, %20 | |
| %22:i64 = shl %21, 32:i64 | |
| %23:i65 = uadd.with.overflow %13, %22 | |
| %24:i64 = extractvalue %23, 0:i32 | |
| %25:i64 = phi %6, %13, %14, %19, %24 | |
| %26:i64 = sub 0:i64, %25 | |
| %27:i64 = select %5, %26, %25 (hasExternalUses) | |
| %28:i64 = phi %0, 0:i64, %27 | |
| infer %28 | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i1 = slt %1, 0:i64 (hasExternalUses) | |
| %3:i64 = var | |
| %4:i1 = slt %3, 0:i64 (hasExternalUses) | |
| %5:i1 = xor %2, %4 (hasExternalUses) | |
| %6 = block 4 | |
| %7:i64 = sub 0:i64, %1 | |
| %8:i64 = select %2, %7, %1 | |
| %9:i64 = sub 0:i64, %3 | |
| %10:i64 = select %4, %9, %3 | |
| %11:i64 = mul %8, %10 | |
| %12:i64 = and 4294967295:i64, %8 | |
| %13:i64 = and 4294967295:i64, %10 | |
| %14:i64 = mulnuw %12, %13 | |
| %15:i64 = lshr %10, 32:i64 | |
| %16:i64 = mulnw %12, %15 | |
| %17:i64 = shl %16, 32:i64 | |
| %18:i65 = uadd.with.overflow %14, %17 | |
| %19:i64 = extractvalue %18, 0:i32 | |
| %20:i64 = lshr %8, 32:i64 | |
| %21:i64 = mulnw %13, %20 | |
| %22:i64 = shl %21, 32:i64 | |
| %23:i65 = uadd.with.overflow %14, %22 | |
| %24:i64 = extractvalue %23, 0:i32 | |
| %25:i64 = phi %6, %11, %19, %24, %14 | |
| %26:i64 = sub 0:i64, %25 | |
| %27:i64 = select %5, %26, %25 (hasExternalUses) | |
| %28:i64 = phi %0, 0:i64, %27 | |
| infer %28 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i1 = slt 2147483647:i64, %1 | |
| %3:i1 = phi %0, 1:i1, %2 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i1 = slt 2147483647:i64, %1 | |
| %3:i1 = phi %0, 1:i1, %2 | |
| pc %3 0:i1 | |
| %4:i32 = trunc %1 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i1 = ult 4096:i64, %1 | |
| %3:i1 = phi %0, 1:i1, %2 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i32 = trunc %1 | |
| %3:i32 = and 31:i32, %2 (hasExternalUses) | |
| %4:i32 = shl 1:i32, %3 (hasExternalUses) | |
| %5 = block 2 | |
| %6 = block 2 | |
| %7:i64 = add 18446744073709551615:i64, %1 | |
| %8:i32 = trunc %7 | |
| %9:i32 = and 31:i32, %8 | |
| %10:i32 = shl 1:i32, %9 | |
| %11:i32 = or %4, %10 | |
| %12:i32 = phi %6, %11, %4 | |
| %13 = block 2 | |
| %14:i32 = phi %13, %12, %4 | |
| %15:i32 = var | |
| %16:i32 = phi %13, %10, %4 | |
| %17:i32 = add 4294967295:i32, %16 | |
| %18:i32 = and %15, %17 | |
| %19:i32 = or %14, %18 | |
| %20:i32 = phi %5, %12, %19 | |
| %21:i32 = phi %0, %4, %20 | |
| infer %21 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i32 = trunc %1 | |
| %3:i32 = and 31:i32, %2 (hasExternalUses) | |
| %4:i32 = shl 1:i32, %3 (hasExternalUses) | |
| %5:i64 = add 18446744073709551615:i64, %1 (hasExternalUses) | |
| %6:i32 = trunc %5 | |
| %7:i32 = and 31:i32, %6 | |
| %8:i32 = shl 1:i32, %7 (hasExternalUses) | |
| %9:i32 = or %4, %8 | |
| %10:i32 = phi %0, %9, %4 | |
| infer %10 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i32 = trunc %1 | |
| %3:i32 = phi %0, 0:i32, %2 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i32 = trunc %1 | |
| %3:i32 = sub 0:i32, %2 | |
| %4:i32 = phi %0, %3, 0:i32 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i32 = trunc %1 | |
| %3:i32 = sub 0:i32, %2 | |
| %4:i32 = var | |
| %5:i32 = phi %0, %3, %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i32 = trunc %1 | |
| %3:i32 = sub 0:i32, %2 (hasExternalUses) | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6:i64 = var | |
| %7:i64 = var | |
| %8:i64 = phi %5, %6, %7 | |
| %9:i32 = trunc %8 | |
| %10:i32 = sub 0:i32, %9 | |
| %11:i32 = phi %4, %10, %3 | |
| %12:i32 = phi %0, %3, %11 | |
| infer %12 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i32 = var | |
| %3:i32 = sub 63:i32, %2 | |
| %4:i32 = and 63:i32, %3 | |
| %5:i64 = zext %4 | |
| %6:i64 = lshr %1, %5 | |
| %7:i64 = add 18446744073709551615:i64, %6 | |
| %8:i64 = phi %0, 0:i64, %7 | |
| %9:i128 = zext %8 | |
| infer %9 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i32 = var | |
| %3:i32 = sub 63:i32, %2 | |
| %4:i32 = and 63:i32, %3 | |
| %5:i64 = zext %4 | |
| %6:i64 = lshr %1, %5 | |
| %7:i64 = add 18446744073709551615:i64, %6 | |
| %8:i64 = phi %0, 0:i64, %7 | |
| %9:i64 = add 1:i64, %8 | |
| infer %9 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i32 = var | |
| %3:i32 = sub 63:i32, %2 | |
| %4:i32 = and 63:i32, %3 | |
| %5:i64 = zext %4 | |
| %6:i64 = lshr %1, %5 (hasExternalUses) | |
| %7:i64 = add 18446744073709551615:i64, %6 | |
| %8:i64 = phi %0, 0:i64, %7 | |
| infer %8 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = add 18446744073709551615:i64, %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = and 31:i32, %3 | |
| %5:i32 = shl 1:i32, %4 | |
| %6:i32 = trunc %1 | |
| %7:i32 = and 31:i32, %6 | |
| %8:i32 = shl 1:i32, %7 | |
| %9:i32 = phi %0, %5, %8 | |
| %10:i32 = add 4294967295:i32, %9 | |
| infer %10 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = add 18446744073709551615:i64, %1 | |
| %3:i64 = and 63:i64, %2 | |
| %4:i64 = shl 1:i64, %3 | |
| %5:i64 = and 63:i64, %1 | |
| %6:i64 = shl 1:i64, %5 | |
| %7:i64 = phi %0, %4, %6 | |
| %8:i64 = add 18446744073709551615:i64, %7 | |
| infer %8 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = add 18446744073709551615:i64, %1 | |
| %3:i64 = phi %0, %1, %2 | |
| %4:i1 = ult 1:i64, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = add 18446744073709551615:i64, %1 | |
| %3:i64 = phi %0, %1, %2 | |
| %4:i1 = ult 1:i64, %3 | |
| pc %4 1:i1 | |
| %5:i64 = add 18446744073709551615:i64, %3 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = add 18446744073709551615:i64, %1 | |
| %3:i64 = phi %0, %1, %2 | |
| %4:i64 = add 18446744073709551615:i64, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = add 18446744073709551615:i64, %1 | |
| %3:i64 = phi %0, %2, %1 | |
| %4:i32 = trunc %3 | |
| %5:i32 = and 31:i32, %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = add 18446744073709551615:i64, %1 | |
| %3:i64 = phi %0, %2, %1 | |
| %4:i32 = trunc %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = add 18446744073709551615:i64, %1 | |
| %3:i64 = phi %0, %2, %1 | |
| %4:i64 = add 18446744073709551615:i64, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = add 18446744073709551615:i64, %1 | |
| %3:i64 = phi %0, %2, %1 | |
| %4:i64 = and 63:i64, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = add 18446744073709551615:i64, %1 | |
| %3:i64 = var | |
| %4:i64 = sub %2, %3 | |
| %5:i64 = phi %0, %4, %2 | |
| %6:i64 = var | |
| %7:i1 = ult %5, %6 | |
| %8:i64 = select %7, %5, %6 | |
| infer %8 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = add 18446744073709551615:i64, %1 | |
| %3:i64 = var | |
| %4:i64 = sub %2, %3 | |
| %5:i64 = phi %0, %4, %2 | |
| %6:i64 = var | |
| %7:i1 = ult %5, %6 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = add 18446744073709551615:i64, %1 (hasExternalUses) | |
| %3:i32 = trunc %2 | |
| %4:i32 = and 31:i32, %3 | |
| %5:i32 = shl 1:i32, %4 (hasExternalUses) | |
| %6:i32 = trunc %1 | |
| %7:i32 = and 31:i32, %6 (hasExternalUses) | |
| %8:i32 = shl 1:i32, %7 (hasExternalUses) | |
| %9:i32 = phi %0, %5, %8 | |
| infer %9 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = add 18446744073709551615:i64, %1 (hasExternalUses) | |
| %3:i64 = and 63:i64, %2 | |
| %4:i64 = shl 1:i64, %3 (hasExternalUses) | |
| %5:i64 = and 63:i64, %1 (hasExternalUses) | |
| %6:i64 = shl 1:i64, %5 (hasExternalUses) | |
| %7:i64 = phi %0, %4, %6 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = add 18446744073709551615:i64, %1 (hasExternalUses) | |
| %3:i64 = phi %0, %1, %2 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = add 18446744073709551615:i64, %1 (hasExternalUses) | |
| %3:i64 = phi %0, %2, %1 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = add 18446744073709551615:i64, %1 (hasExternalUses) | |
| %3:i64 = phi %0, %2, 0:i64 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = add 18446744073709551615:i64, %1 (hasExternalUses) | |
| %3:i64 = var | |
| %4:i64 = sub %2, %3 | |
| %5:i64 = phi %0, %4, %2 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = add 1:i64, %1 | |
| %3:i64 = phi %0, %1, %2 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = add 1:i64, %1 | |
| %3:i64 = var | |
| %4:i1 = ult %2, %3 | |
| %5:i1 = phi %0, 1:i1, %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = add 1:i64, %1 | |
| %3:i64 = var | |
| %4:i64 = add 1:i64, %3 (hasExternalUses) | |
| %5:i64 = phi %0, %2, %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <9> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = add 1:i64, %1 | |
| %3:i64 = var | |
| %4:i64 = phi %0, %2, %3 | |
| %5:i1 = eq 0:i64, %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = add 1:i64, %1 | |
| %3:i64 = var | |
| %4:i64 = phi %0, %2, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| %7:i32 = subnw 64:i32, %6 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = add 1:i64, %1 | |
| %3:i64 = var | |
| %4:i64 = phi %0, %2, %3 | |
| %5:i64 = ctlz %4 | |
| %6:i32 = trunc %5 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = add 1:i64, %1 | |
| %3:i64 = var | |
| %4:i64 = phi %0, %2, %3 | |
| %5:i64 = ctlz %4 | |
| infer %5 (demandedBits=0000000000000000000000000000000011111111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = add 1:i64, %1 (hasExternalUses) | |
| %3:i64 = var | |
| %4:i64 = add 1:i64, %3 | |
| %5:i64 = phi %0, %2, %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = add 1:i64, %1 (hasExternalUses) | |
| %3:i64 = var | |
| %4:i64 = add 1:i64, %3 (hasExternalUses) | |
| %5:i64 = phi %0, %2, %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = add 1:i64, %1 (hasExternalUses) | |
| %3:i64 = var | |
| %4:i64 = phi %0, %2, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = add 2:i64, %1 | |
| %3 = block 2 | |
| %4:i64 = var | |
| %5 = block 3 | |
| %6 = block 3 | |
| %7 = block 2 | |
| %8:i64 = var | |
| %9:i64 = add 18446744073709551615:i64, %8 | |
| %10:i64 = phi %7, %8, %9 | |
| %11:i64 = add 18446744073709551615:i64, %10 | |
| %12:i64 = phi %6, %10, %10, %11 | |
| %13:i64 = phi %5, %12, %10, %8 | |
| %14:i64 = add %4, %13 | |
| %15:i64 = var | |
| %16:i64 = phi %3, %14, %15 | |
| %17:i64 = add 2:i64, %16 (hasExternalUses) | |
| %18:i64 = phi %0, %2, %17 | |
| infer %18 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = add 2:i64, %1 | |
| %3 = block 2 | |
| %4:i64 = var | |
| %5 = block 5 | |
| %6 = block 2 | |
| %7:i64 = var | |
| %8:i64 = add 18446744073709551615:i64, %7 | |
| %9:i64 = phi %6, %7, %8 | |
| %10:i64 = add 18446744073709551615:i64, %9 | |
| %11:i64 = phi %5, 1:i64, %9, %10, %7, %7 | |
| %12:i64 = add %4, %11 | |
| %13:i64 = var | |
| %14:i64 = phi %3, %12, %13 | |
| %15:i64 = add 2:i64, %14 (hasExternalUses) | |
| %16:i64 = phi %0, %2, %15 | |
| infer %16 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = add 2:i64, %1 | |
| %3 = block 2 | |
| %4:i64 = var | |
| %5 = block 5 | |
| %6:i64 = var | |
| %7 = block 2 | |
| %8:i64 = add 18446744073709551615:i64, %6 | |
| %9:i64 = phi %7, %8, %6 | |
| %10:i64 = add 18446744073709551615:i64, %9 | |
| %11:i64 = phi %5, 1:i64, %6, %9, %10, %6 | |
| %12:i64 = add %4, %11 | |
| %13:i64 = var | |
| %14:i64 = phi %3, %12, %13 | |
| %15:i64 = add 2:i64, %14 (hasExternalUses) | |
| %16:i64 = phi %0, %2, %15 | |
| infer %16 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = add 4096:i64, %1 | |
| %3:i64 = and 18446744073709547520:i64, %2 | |
| %4:i64 = phi %0, %1, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = add 64:i64, %1 | |
| %3:i64 = and 18446744073709551552:i64, %2 | |
| %4:i64 = phi %0, %1, %3 | |
| %5:i64 = lshr %4, 6:i64 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = add 64:i64, %1 | |
| %3:i64 = and 18446744073709551552:i64, %2 | |
| %4:i64 = phi %0, %1, %3 | |
| infer %4 (demandedBits=1111111111111111111111111111111111111111111111111111111111000000) | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = add 6:i64, %1 | |
| %3:i64 = var | |
| %4:i64 = add 6:i64, %3 (hasExternalUses) | |
| %5:i64 = phi %0, %2, %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <9> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = add 6:i64, %1 (hasExternalUses) | |
| %3:i64 = var | |
| %4:i64 = add 6:i64, %3 | |
| %5:i64 = phi %0, %2, %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = add 9:i64, %1 (hasExternalUses) | |
| %3:i64 = var | |
| %4:i64 = add 9:i64, %3 | |
| %5:i64 = phi %0, %2, %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = and 4503599627370495:i64, %1 | |
| %3:i64 = or 4503599627370496:i64, %2 | |
| %4:i128 = zext %3 | |
| %5:i64 = lshr %1, 52:i64 | |
| %6:i16 = trunc %5 | |
| %7:i16 = and 2047:i16, %6 | |
| %8:i16 = subnw 1075:i16, %7 | |
| %9:i32 = sext %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = lshr %4, %10 | |
| %12:i16 = addnsw 64461:i16, %7 | |
| %13:i32 = sext %12 | |
| %14:i128 = zext %13 | |
| %15:i128 = shl %4, %14 | |
| %16:i128 = phi %0, %11, %15 | |
| %17:i128 = sub 0:i128, %16 | |
| infer %17 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = and 4503599627370495:i64, %1 | |
| %3:i64 = or 4503599627370496:i64, %2 | |
| %4:i128 = zext %3 | |
| %5:i64 = lshr %1, 52:i64 | |
| %6:i16 = trunc %5 | |
| %7:i16 = and 2047:i16, %6 | |
| %8:i16 = subnw 1075:i16, %7 | |
| %9:i32 = sext %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = lshr %4, %10 | |
| %12:i64 = and 4503599627370495:i64, %1 | |
| %13:i64 = or 4503599627370496:i64, %12 | |
| %14:i128 = zext %13 | |
| %15:i16 = addnsw 64461:i16, %7 | |
| %16:i32 = sext %15 | |
| %17:i128 = zext %16 | |
| %18:i128 = shl %14, %17 | |
| %19:i128 = phi %0, %11, %18 | |
| %20:i128 = sub 0:i128, %19 | |
| infer %20 | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = and 4503599627370495:i64, %1 | |
| %3:i64 = or 4503599627370496:i64, %2 | |
| %4:i128 = zext %3 | |
| %5:i64 = lshr %1, 52:i64 | |
| %6:i16 = trunc %5 | |
| %7:i16 = and 2047:i16, %6 (hasExternalUses) | |
| %8:i16 = subnw 1075:i16, %7 | |
| %9:i32 = sext %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = lshr %4, %10 | |
| %12:i16 = addnsw 64461:i16, %7 | |
| %13:i32 = sext %12 | |
| %14:i128 = zext %13 | |
| %15:i128 = shl %4, %14 | |
| %16:i128 = phi %0, %11, %15 | |
| infer %16 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = and 4503599627370495:i64, %1 | |
| %3:i64 = or 4503599627370496:i64, %2 | |
| %4:i128 = zext %3 | |
| %5:i64 = lshr %1, 52:i64 | |
| %6:i16 = trunc %5 | |
| %7:i16 = and 2047:i16, %6 (hasExternalUses) | |
| %8:i16 = subnw 1075:i16, %7 | |
| %9:i32 = sext %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = lshr %4, %10 | |
| %12:i64 = and 4503599627370495:i64, %1 | |
| %13:i64 = or 4503599627370496:i64, %12 | |
| %14:i128 = zext %13 | |
| %15:i16 = addnsw 64461:i16, %7 | |
| %16:i32 = sext %15 | |
| %17:i128 = zext %16 | |
| %18:i128 = shl %14, %17 | |
| %19:i128 = phi %0, %11, %18 | |
| infer %19 | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = and 4503599627370495:i64, %1 | |
| %3:i64 = or 4503599627370496:i64, %2 | |
| %4:i64 = lshr %1, 52:i64 | |
| %5:i16 = trunc %4 | |
| %6:i16 = and 2047:i16, %5 | |
| %7:i16 = subnw 1075:i16, %6 | |
| %8:i64 = zext %7 | |
| %9:i64 = lshr %3, %8 | |
| %10:i16 = addnsw 64461:i16, %6 | |
| %11:i64 = zext %10 | |
| %12:i64 = shl %3, %11 | |
| %13:i64 = phi %0, %9, %12 | |
| %14:i64 = sub 0:i64, %13 | |
| infer %14 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = and 4503599627370495:i64, %1 | |
| %3:i64 = or 4503599627370496:i64, %2 | |
| %4:i64 = lshr %1, 52:i64 | |
| %5:i16 = trunc %4 | |
| %6:i16 = and 2047:i16, %5 | |
| %7:i16 = subnw 1075:i16, %6 | |
| %8:i64 = zext %7 | |
| %9:i64 = lshr %3, %8 | |
| %10:i64 = and 4503599627370495:i64, %1 | |
| %11:i64 = or 4503599627370496:i64, %10 | |
| %12:i16 = addnsw 64461:i16, %6 | |
| %13:i64 = zext %12 | |
| %14:i64 = shl %11, %13 | |
| %15:i64 = phi %0, %9, %14 | |
| %16:i64 = sub 0:i64, %15 | |
| infer %16 | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = and 4503599627370495:i64, %1 | |
| %3:i64 = or 4503599627370496:i64, %2 | |
| %4:i64 = lshr %1, 52:i64 | |
| %5:i16 = trunc %4 | |
| %6:i16 = and 2047:i16, %5 (hasExternalUses) | |
| %7:i16 = subnw 1075:i16, %6 | |
| %8:i64 = zext %7 | |
| %9:i64 = lshr %3, %8 | |
| %10:i16 = addnsw 64461:i16, %6 | |
| %11:i64 = zext %10 | |
| %12:i64 = shl %3, %11 | |
| %13:i64 = phi %0, %9, %12 | |
| infer %13 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = and 4503599627370495:i64, %1 | |
| %3:i64 = or 4503599627370496:i64, %2 | |
| %4:i64 = lshr %1, 52:i64 | |
| %5:i16 = trunc %4 | |
| %6:i16 = and 2047:i16, %5 (hasExternalUses) | |
| %7:i16 = subnw 1075:i16, %6 | |
| %8:i64 = zext %7 | |
| %9:i64 = lshr %3, %8 | |
| %10:i64 = and 4503599627370495:i64, %1 | |
| %11:i64 = or 4503599627370496:i64, %10 | |
| %12:i16 = addnsw 64461:i16, %6 | |
| %13:i64 = zext %12 | |
| %14:i64 = shl %11, %13 | |
| %15:i64 = phi %0, %9, %14 | |
| infer %15 | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = and 4503599627370495:i64, %1 (hasExternalUses) | |
| %3:i64 = ctlz %2 (hasExternalUses) | |
| %4:i32 = trunc %3 | |
| %5:i32 = subnsw 12:i32, %4 | |
| %6:i32 = phi %0, %5, 0:i32 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = and 4503599627370495:i64, %1 (hasExternalUses) | |
| %3:i64 = ctlz %2 (hasExternalUses) | |
| %4:i64 = addnw 53:i64, %3 | |
| %5:i64 = and 63:i64, %4 | |
| %6:i64 = shl %2, %5 | |
| %7:i64 = phi %0, %6, %2 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = and 63:i64, %1 (hasExternalUses) | |
| %3:i64 = shl 1:i64, %2 (hasExternalUses) | |
| %4 = block 2 | |
| %5 = block 2 | |
| %6:i64 = add 18446744073709551615:i64, %1 | |
| %7:i64 = and 63:i64, %6 | |
| %8:i64 = shl 1:i64, %7 | |
| %9:i64 = or %3, %8 | |
| %10:i64 = phi %5, %9, %3 | |
| %11 = block 2 | |
| %12:i64 = phi %11, %10, %3 | |
| %13:i64 = var | |
| %14:i64 = phi %11, %8, %3 | |
| %15:i64 = add 18446744073709551615:i64, %14 | |
| %16:i64 = and %13, %15 | |
| %17:i64 = or %12, %16 | |
| %18:i64 = phi %4, %10, %17 | |
| %19:i64 = phi %0, %3, %18 | |
| infer %19 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = and 63:i64, %1 (hasExternalUses) | |
| %3:i64 = shl 1:i64, %2 (hasExternalUses) | |
| %4:i64 = add 18446744073709551615:i64, %1 (hasExternalUses) | |
| %5:i64 = and 63:i64, %4 | |
| %6:i64 = shl 1:i64, %5 (hasExternalUses) | |
| %7:i64 = or %3, %6 | |
| %8:i64 = phi %0, %7, %3 | |
| infer %8 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = and 9223372036854775807:i64, %1 | |
| %3:i64 = var | |
| %4:i64 = and 9223372036854775807:i64, %3 | |
| %5:i1 = ult %2, %4 | |
| %6:i64 = select %5, %1, %3 | |
| %7:i64 = and 4503599627370495:i64, %6 | |
| %8:i64 = ctlz %7 | |
| %9:i64 = addnw 53:i64, %8 | |
| %10:i64 = and 63:i64, %9 | |
| %11:i64 = shl %7, %10 | |
| %12:i64 = phi %0, %11, %7 | |
| %13:i64 = shl %12, 3:i64 | |
| %14:i64 = or 36028797018963968:i64, %13 | |
| infer %14 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = and 9223372036854775807:i64, %1 | |
| %3:i64 = var | |
| %4:i64 = and 9223372036854775807:i64, %3 | |
| %5:i1 = ult %2, %4 | |
| %6:i64 = select %5, %1, %3 | |
| %7:i64 = and 4503599627370495:i64, %6 | |
| %8:i64 = ctlz %7 | |
| %9:i64 = addnw 53:i64, %8 | |
| %10:i64 = and 63:i64, %9 | |
| %11:i64 = shl %7, %10 | |
| %12:i64 = phi %0, %11, %7 | |
| %13:i64 = shl %12, 3:i64 | |
| infer %13 (demandedBits=1111111101111111111111111111111111111111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = and 9223372036854775807:i64, %1 | |
| %3:i64 = var | |
| %4:i64 = and 9223372036854775807:i64, %3 | |
| %5:i1 = ult %2, %4 | |
| %6:i64 = select %5, %3, %1 | |
| %7:i64 = and 4503599627370495:i64, %6 | |
| %8:i64 = ctlz %7 | |
| %9:i32 = trunc %8 | |
| %10:i32 = subnsw 12:i32, %9 | |
| %11:i64 = lshr %6, 52:i64 | |
| %12:i32 = trunc %11 | |
| %13:i32 = and 2047:i32, %12 | |
| %14:i32 = phi %0, %10, %13 | |
| %15 = block 2 | |
| %16:i64 = select %5, %1, %3 | |
| %17:i64 = and 4503599627370495:i64, %16 | |
| %18:i64 = ctlz %17 | |
| %19:i32 = trunc %18 | |
| %20:i32 = subnsw 12:i32, %19 | |
| %21:i64 = lshr %16, 52:i64 | |
| %22:i32 = trunc %21 | |
| %23:i32 = and 2047:i32, %22 | |
| %24:i32 = phi %15, %20, %23 | |
| %25:i32 = subnsw %14, %24 | |
| infer %25 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = and 9223372036854775807:i64, %1 | |
| %3:i64 = var | |
| %4:i64 = and 9223372036854775807:i64, %3 | |
| %5:i1 = ult %2, %4 | |
| %6:i64 = select %5, %3, %1 | |
| %7:i64 = and 4503599627370495:i64, %6 | |
| %8:i64 = ctlz %7 | |
| %9:i32 = trunc %8 | |
| %10:i32 = subnsw 12:i32, %9 | |
| %11:i64 = lshr %6, 52:i64 | |
| %12:i32 = trunc %11 | |
| %13:i32 = and 2047:i32, %12 | |
| %14:i32 = phi %0, %10, %13 | |
| %15 = block 2 | |
| %16:i64 = select %5, %1, %3 | |
| %17:i64 = and 4503599627370495:i64, %16 | |
| %18:i64 = ctlz %17 | |
| %19:i32 = trunc %18 | |
| %20:i32 = subnsw 12:i32, %19 | |
| %21:i64 = lshr %16, 52:i64 | |
| %22:i32 = trunc %21 | |
| %23:i32 = and 2047:i32, %22 | |
| %24:i32 = phi %15, %20, %23 | |
| %25:i32 = subnsw %14, %24 (hasExternalUses) | |
| %26:i1 = eq 0:i32, %25 | |
| infer %26 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = and 9223372036854775807:i64, %1 | |
| %3:i64 = var | |
| %4:i64 = and 9223372036854775807:i64, %3 | |
| %5:i1 = ult %2, %4 | |
| %6:i64 = select %5, %3, %1 | |
| %7:i64 = and 4503599627370495:i64, %6 | |
| %8:i64 = ctlz %7 | |
| %9:i32 = trunc %8 | |
| %10:i32 = subnsw 12:i32, %9 | |
| %11:i64 = lshr %6, 52:i64 | |
| %12:i32 = trunc %11 | |
| %13:i32 = and 2047:i32, %12 | |
| %14:i32 = phi %0, %10, %13 | |
| %15 = block 2 | |
| %16:i64 = select %5, %1, %3 | |
| %17:i64 = and 4503599627370495:i64, %16 | |
| %18:i64 = ctlz %17 | |
| %19:i32 = trunc %18 | |
| %20:i32 = subnsw 12:i32, %19 | |
| %21:i64 = lshr %16, 52:i64 | |
| %22:i32 = trunc %21 | |
| %23:i32 = and 2047:i32, %22 | |
| %24:i32 = phi %15, %20, %23 | |
| %25:i32 = subnsw %14, %24 (hasExternalUses) | |
| %26:i1 = eq 0:i32, %25 | |
| pc %26 0:i1 | |
| %27:i1 = ult %25, 64:i32 | |
| infer %27 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = and 9223372036854775807:i64, %1 | |
| %3:i64 = var | |
| %4:i64 = and 9223372036854775807:i64, %3 | |
| %5:i1 = ult %2, %4 | |
| %6:i64 = select %5, %3, %1 | |
| %7:i64 = and 4503599627370495:i64, %6 | |
| %8:i64 = ctlz %7 | |
| %9:i32 = trunc %8 | |
| %10:i32 = subnsw 12:i32, %9 | |
| %11:i64 = lshr %6, 52:i64 | |
| %12:i32 = trunc %11 | |
| %13:i32 = and 2047:i32, %12 | |
| %14:i32 = phi %0, %10, %13 | |
| %15 = block 2 | |
| %16:i64 = select %5, %1, %3 | |
| %17:i64 = and 4503599627370495:i64, %16 | |
| %18:i64 = ctlz %17 | |
| %19:i32 = trunc %18 | |
| %20:i32 = subnsw 12:i32, %19 | |
| %21:i64 = lshr %16, 52:i64 | |
| %22:i32 = trunc %21 | |
| %23:i32 = and 2047:i32, %22 | |
| %24:i32 = phi %15, %20, %23 | |
| %25:i32 = subnsw %14, %24 (hasExternalUses) | |
| %26:i1 = eq 0:i32, %25 | |
| pc %26 0:i1 | |
| %27:i1 = ult %25, 64:i32 | |
| pc %27 1:i1 | |
| %28:i32 = subnsw 0:i32, %25 | |
| %29:i32 = and 63:i32, %28 | |
| %30:i64 = zext %29 | |
| infer %30 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = and 9223372036854775807:i64, %1 | |
| %3:i64 = var | |
| %4:i64 = and 9223372036854775807:i64, %3 | |
| %5:i1 = ult %2, %4 | |
| %6:i64 = select %5, %3, %1 | |
| %7:i64 = and 4503599627370495:i64, %6 | |
| %8:i64 = ctlz %7 | |
| %9:i32 = trunc %8 | |
| %10:i32 = subnsw 12:i32, %9 | |
| %11:i64 = lshr %6, 52:i64 | |
| %12:i32 = trunc %11 | |
| %13:i32 = and 2047:i32, %12 | |
| %14:i32 = phi %0, %10, %13 | |
| %15 = block 2 | |
| %16:i64 = select %5, %1, %3 | |
| %17:i64 = and 4503599627370495:i64, %16 | |
| %18:i64 = ctlz %17 | |
| %19:i32 = trunc %18 | |
| %20:i32 = subnsw 12:i32, %19 | |
| %21:i64 = lshr %16, 52:i64 | |
| %22:i32 = trunc %21 | |
| %23:i32 = and 2047:i32, %22 | |
| %24:i32 = phi %15, %20, %23 | |
| %25:i32 = subnsw %14, %24 (hasExternalUses) | |
| %26:i1 = eq 0:i32, %25 | |
| pc %26 0:i1 | |
| %27:i1 = ult %25, 64:i32 | |
| pc %27 1:i1 | |
| %28:i32 = subnsw 0:i32, %25 | |
| %29:i32 = and 63:i32, %28 | |
| infer %29 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = and 9223372036854775807:i64, %1 | |
| %3:i64 = var | |
| %4:i64 = and 9223372036854775807:i64, %3 | |
| %5:i1 = ult %2, %4 | |
| %6:i64 = select %5, %3, %1 | |
| %7:i64 = and 4503599627370495:i64, %6 | |
| %8:i64 = ctlz %7 | |
| %9:i32 = trunc %8 | |
| %10:i32 = subnsw 12:i32, %9 | |
| %11:i64 = lshr %6, 52:i64 | |
| %12:i32 = trunc %11 | |
| %13:i32 = and 2047:i32, %12 | |
| %14:i32 = phi %0, %10, %13 | |
| %15 = block 2 | |
| %16:i64 = select %5, %1, %3 | |
| %17:i64 = and 4503599627370495:i64, %16 | |
| %18:i64 = ctlz %17 | |
| %19:i32 = trunc %18 | |
| %20:i32 = subnsw 12:i32, %19 | |
| %21:i64 = lshr %16, 52:i64 | |
| %22:i32 = trunc %21 | |
| %23:i32 = and 2047:i32, %22 | |
| %24:i32 = phi %15, %20, %23 | |
| %25:i32 = subnsw %14, %24 (hasExternalUses) | |
| %26:i1 = eq 0:i32, %25 | |
| pc %26 0:i1 | |
| %27:i1 = ult %25, 64:i32 | |
| pc %27 1:i1 | |
| %28:i32 = subnsw 0:i32, %25 | |
| infer %28 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = and 9223372036854775807:i64, %1 | |
| %3:i64 = var | |
| %4:i64 = and 9223372036854775807:i64, %3 | |
| %5:i1 = ult %2, %4 | |
| %6:i64 = select %5, %3, %1 | |
| %7:i64 = and 4503599627370495:i64, %6 | |
| %8:i64 = ctlz %7 | |
| %9:i32 = trunc %8 | |
| %10:i32 = subnsw 12:i32, %9 | |
| %11:i64 = lshr %6, 52:i64 | |
| %12:i32 = trunc %11 | |
| %13:i32 = and 2047:i32, %12 | |
| %14:i32 = phi %0, %10, %13 | |
| %15 = block 2 | |
| %16:i64 = select %5, %1, %3 | |
| %17:i64 = and 4503599627370495:i64, %16 | |
| %18:i64 = ctlz %17 | |
| %19:i32 = trunc %18 | |
| %20:i32 = subnsw 12:i32, %19 | |
| %21:i64 = lshr %16, 52:i64 | |
| %22:i32 = trunc %21 | |
| %23:i32 = and 2047:i32, %22 | |
| %24:i32 = phi %15, %20, %23 | |
| %25:i32 = subnsw %14, %24 (hasExternalUses) | |
| %26:i1 = eq 0:i32, %25 | |
| pc %26 0:i1 | |
| %27:i1 = ult %25, 64:i32 | |
| pc %27 1:i1 | |
| %28:i64 = addnw 53:i64, %18 | |
| %29:i64 = and 63:i64, %28 | |
| %30:i64 = shl %17, %29 | |
| %31:i64 = phi %15, %30, %17 | |
| %32:i64 = shl %31, 3:i64 | |
| %33:i64 = or 36028797018963968:i64, %32 (hasExternalUses) | |
| %34:i32 = subnsw 0:i32, %25 | |
| %35:i32 = and 63:i32, %34 | |
| %36:i64 = zext %35 | |
| %37:i64 = shl %33, %36 | |
| %38:i1 = ne 0:i64, %37 | |
| %39:i64 = zext %38 | |
| infer %39 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = and 9223372036854775807:i64, %1 | |
| %3:i64 = var | |
| %4:i64 = and 9223372036854775807:i64, %3 | |
| %5:i1 = ult %2, %4 | |
| %6:i64 = select %5, %3, %1 | |
| %7:i64 = and 4503599627370495:i64, %6 | |
| %8:i64 = ctlz %7 | |
| %9:i32 = trunc %8 | |
| %10:i32 = subnsw 12:i32, %9 | |
| %11:i64 = lshr %6, 52:i64 | |
| %12:i32 = trunc %11 | |
| %13:i32 = and 2047:i32, %12 | |
| %14:i32 = phi %0, %10, %13 | |
| %15 = block 2 | |
| %16:i64 = select %5, %1, %3 | |
| %17:i64 = and 4503599627370495:i64, %16 | |
| %18:i64 = ctlz %17 | |
| %19:i32 = trunc %18 | |
| %20:i32 = subnsw 12:i32, %19 | |
| %21:i64 = lshr %16, 52:i64 | |
| %22:i32 = trunc %21 | |
| %23:i32 = and 2047:i32, %22 | |
| %24:i32 = phi %15, %20, %23 | |
| %25:i32 = subnsw %14, %24 (hasExternalUses) | |
| %26:i1 = eq 0:i32, %25 | |
| pc %26 0:i1 | |
| %27:i1 = ult %25, 64:i32 | |
| pc %27 1:i1 | |
| %28:i64 = addnw 53:i64, %18 | |
| %29:i64 = and 63:i64, %28 | |
| %30:i64 = shl %17, %29 | |
| %31:i64 = phi %15, %30, %17 | |
| %32:i64 = shl %31, 3:i64 | |
| %33:i64 = or 36028797018963968:i64, %32 (hasExternalUses) | |
| %34:i32 = subnsw 0:i32, %25 | |
| %35:i32 = and 63:i32, %34 | |
| %36:i64 = zext %35 | |
| %37:i64 = shl %33, %36 | |
| %38:i1 = ne 0:i64, %37 | |
| infer %38 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = and 9223372036854775807:i64, %1 | |
| %3:i64 = var | |
| %4:i64 = and 9223372036854775807:i64, %3 | |
| %5:i1 = ult %2, %4 | |
| %6:i64 = select %5, %3, %1 | |
| %7:i64 = and 4503599627370495:i64, %6 | |
| %8:i64 = ctlz %7 | |
| %9:i32 = trunc %8 | |
| %10:i32 = subnsw 12:i32, %9 | |
| %11:i64 = lshr %6, 52:i64 | |
| %12:i32 = trunc %11 | |
| %13:i32 = and 2047:i32, %12 | |
| %14:i32 = phi %0, %10, %13 | |
| %15 = block 2 | |
| %16:i64 = select %5, %1, %3 | |
| %17:i64 = and 4503599627370495:i64, %16 | |
| %18:i64 = ctlz %17 | |
| %19:i32 = trunc %18 | |
| %20:i32 = subnsw 12:i32, %19 | |
| %21:i64 = lshr %16, 52:i64 | |
| %22:i32 = trunc %21 | |
| %23:i32 = and 2047:i32, %22 | |
| %24:i32 = phi %15, %20, %23 | |
| %25:i32 = subnsw %14, %24 (hasExternalUses) | |
| %26:i1 = eq 0:i32, %25 | |
| pc %26 0:i1 | |
| %27:i1 = ult %25, 64:i32 | |
| pc %27 1:i1 | |
| %28:i64 = addnw 53:i64, %18 | |
| %29:i64 = and 63:i64, %28 | |
| %30:i64 = shl %17, %29 | |
| %31:i64 = phi %15, %30, %17 | |
| %32:i64 = shl %31, 3:i64 | |
| %33:i64 = or 36028797018963968:i64, %32 (hasExternalUses) | |
| %34:i32 = subnsw 0:i32, %25 | |
| %35:i32 = and 63:i32, %34 | |
| %36:i64 = zext %35 | |
| %37:i64 = shl %33, %36 | |
| infer %37 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = and 9223372036854775807:i64, %1 | |
| %3:i64 = var | |
| %4:i64 = and 9223372036854775807:i64, %3 | |
| %5:i1 = ult %2, %4 | |
| %6:i64 = select %5, %3, %1 | |
| %7:i64 = and 4503599627370495:i64, %6 | |
| %8:i64 = ctlz %7 | |
| %9:i32 = trunc %8 | |
| %10:i32 = subnsw 12:i32, %9 | |
| %11:i64 = lshr %6, 52:i64 | |
| %12:i32 = trunc %11 | |
| %13:i32 = and 2047:i32, %12 | |
| %14:i32 = phi %0, %10, %13 | |
| %15 = block 2 | |
| %16:i64 = select %5, %1, %3 | |
| %17:i64 = and 4503599627370495:i64, %16 | |
| %18:i64 = ctlz %17 | |
| %19:i32 = trunc %18 | |
| %20:i32 = subnsw 12:i32, %19 | |
| %21:i64 = lshr %16, 52:i64 | |
| %22:i32 = trunc %21 | |
| %23:i32 = and 2047:i32, %22 | |
| %24:i32 = phi %15, %20, %23 | |
| %25:i32 = subnsw %14, %24 (hasExternalUses) | |
| %26:i1 = eq 0:i32, %25 | |
| pc %26 0:i1 | |
| %27:i1 = ult %25, 64:i32 | |
| pc %27 1:i1 | |
| %28:i64 = addnw 53:i64, %18 | |
| %29:i64 = and 63:i64, %28 | |
| %30:i64 = shl %17, %29 | |
| %31:i64 = phi %15, %30, %17 | |
| %32:i64 = shl %31, 3:i64 | |
| %33:i64 = or 36028797018963968:i64, %32 (hasExternalUses) | |
| %34:i64 = zext %25 | |
| %35:i64 = lshr %33, %34 | |
| %36:i32 = subnsw 0:i32, %25 | |
| %37:i32 = and 63:i32, %36 | |
| %38:i64 = zext %37 | |
| %39:i64 = shl %33, %38 | |
| %40:i1 = ne 0:i64, %39 | |
| %41:i64 = zext %40 | |
| %42:i64 = or %35, %41 | |
| infer %42 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = and 9223372036854775807:i64, %1 | |
| %3:i64 = var | |
| %4:i64 = and 9223372036854775807:i64, %3 | |
| %5:i1 = ult %2, %4 | |
| %6:i64 = select %5, %3, %1 | |
| %7:i64 = and 4503599627370495:i64, %6 | |
| %8:i64 = ctlz %7 | |
| %9:i32 = trunc %8 | |
| %10:i32 = subnsw 12:i32, %9 | |
| %11:i64 = lshr %6, 52:i64 | |
| %12:i32 = trunc %11 | |
| %13:i32 = and 2047:i32, %12 | |
| %14:i32 = phi %0, %10, %13 | |
| %15 = block 2 | |
| %16:i64 = select %5, %1, %3 | |
| %17:i64 = and 4503599627370495:i64, %16 | |
| %18:i64 = ctlz %17 | |
| %19:i32 = trunc %18 | |
| %20:i32 = subnsw 12:i32, %19 | |
| %21:i64 = lshr %16, 52:i64 | |
| %22:i32 = trunc %21 | |
| %23:i32 = and 2047:i32, %22 | |
| %24:i32 = phi %15, %20, %23 | |
| %25:i32 = subnsw %14, %24 (hasExternalUses) | |
| %26:i1 = eq 0:i32, %25 | |
| pc %26 0:i1 | |
| %27:i1 = ult %25, 64:i32 | |
| pc %27 1:i1 | |
| %28:i64 = addnw 53:i64, %18 | |
| %29:i64 = and 63:i64, %28 | |
| %30:i64 = shl %17, %29 | |
| %31:i64 = phi %15, %30, %17 | |
| %32:i64 = shl %31, 3:i64 | |
| %33:i64 = or 36028797018963968:i64, %32 (hasExternalUses) | |
| %34:i64 = zext %25 | |
| %35:i64 = lshr %33, %34 | |
| infer %35 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = and 9223372036854775807:i64, %1 | |
| %3:i64 = var | |
| %4:i64 = and 9223372036854775807:i64, %3 | |
| %5:i1 = ult %2, %4 | |
| %6:i64 = select %5, %3, %1 | |
| %7:i64 = and 4503599627370495:i64, %6 | |
| %8:i64 = ctlz %7 | |
| %9:i32 = trunc %8 | |
| %10:i32 = subnsw 12:i32, %9 | |
| %11:i64 = lshr %6, 52:i64 | |
| %12:i32 = trunc %11 | |
| %13:i32 = and 2047:i32, %12 | |
| %14:i32 = phi %0, %10, %13 | |
| %15 = block 2 | |
| %16:i64 = select %5, %1, %3 | |
| %17:i64 = and 4503599627370495:i64, %16 | |
| %18:i64 = ctlz %17 | |
| %19:i32 = trunc %18 | |
| %20:i32 = subnsw 12:i32, %19 | |
| %21:i64 = lshr %16, 52:i64 | |
| %22:i32 = trunc %21 | |
| %23:i32 = and 2047:i32, %22 | |
| %24:i32 = phi %15, %20, %23 | |
| %25:i32 = subnsw %14, %24 (hasExternalUses) | |
| %26:i1 = eq 0:i32, %25 | |
| pc %26 0:i1 | |
| %27:i1 = ult %25, 64:i32 | |
| pc %27 1:i1 | |
| %28:i64 = zext %25 | |
| infer %28 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = and 9223372036854775807:i64, %1 | |
| %3:i64 = var | |
| %4:i64 = and 9223372036854775807:i64, %3 | |
| %5:i1 = ult %2, %4 | |
| %6:i64 = select %5, %3, %1 | |
| %7:i64 = and 4503599627370495:i64, %6 | |
| %8:i64 = ctlz %7 | |
| %9:i64 = addnw 53:i64, %8 | |
| %10:i64 = and 63:i64, %9 | |
| %11:i64 = shl %7, %10 | |
| %12:i64 = phi %0, %11, %7 | |
| %13:i64 = shl %12, 3:i64 | |
| %14:i64 = or 36028797018963968:i64, %13 | |
| infer %14 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = and 9223372036854775807:i64, %1 | |
| %3:i64 = var | |
| %4:i64 = and 9223372036854775807:i64, %3 | |
| %5:i1 = ult %2, %4 | |
| %6:i64 = select %5, %3, %1 | |
| %7:i64 = and 4503599627370495:i64, %6 | |
| %8:i64 = ctlz %7 | |
| %9:i64 = addnw 53:i64, %8 | |
| %10:i64 = and 63:i64, %9 | |
| %11:i64 = shl %7, %10 | |
| %12:i64 = phi %0, %11, %7 | |
| %13:i64 = shl %12, 3:i64 | |
| infer %13 (demandedBits=1111111101111111111111111111111111111111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = and 9223372036854775807:i64, %1 (hasExternalUses) | |
| %3:i64 = var | |
| %4:i64 = and 9223372036854775807:i64, %3 (hasExternalUses) | |
| %5:i1 = ult %2, %4 (hasExternalUses) | |
| %6:i64 = select %5, %1, %3 (hasExternalUses) | |
| %7:i64 = and 4503599627370495:i64, %6 | |
| %8:i64 = ctlz %7 (hasExternalUses) | |
| %9:i64 = addnw 53:i64, %8 | |
| %10:i64 = and 63:i64, %9 | |
| %11:i64 = shl %7, %10 | |
| %12:i64 = phi %0, %11, %7 | |
| infer %12 (demandedBits=0001111111101111111111111111111111111111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = and 9223372036854775807:i64, %1 (hasExternalUses) | |
| %3:i64 = var | |
| %4:i64 = and 9223372036854775807:i64, %3 (hasExternalUses) | |
| %5:i1 = ult %2, %4 (hasExternalUses) | |
| %6:i64 = select %5, %1, %3 (hasExternalUses) | |
| %7:i64 = and 4503599627370495:i64, %6 (hasExternalUses) | |
| %8:i64 = ctlz %7 (hasExternalUses) | |
| %9:i32 = trunc %8 | |
| %10:i32 = subnsw 12:i32, %9 | |
| %11:i64 = lshr %6, 52:i64 | |
| %12:i32 = trunc %11 | |
| %13:i32 = and 2047:i32, %12 (hasExternalUses) | |
| %14:i32 = phi %0, %10, %13 | |
| infer %14 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = and 9223372036854775807:i64, %1 (hasExternalUses) | |
| %3:i64 = var | |
| %4:i64 = and 9223372036854775807:i64, %3 (hasExternalUses) | |
| %5:i1 = ult %2, %4 (hasExternalUses) | |
| %6:i64 = select %5, %3, %1 (hasExternalUses) | |
| %7:i64 = and 4503599627370495:i64, %6 | |
| %8:i64 = ctlz %7 (hasExternalUses) | |
| %9:i64 = addnw 53:i64, %8 | |
| %10:i64 = and 63:i64, %9 | |
| %11:i64 = shl %7, %10 | |
| %12:i64 = phi %0, %11, %7 | |
| infer %12 (demandedBits=0001111111101111111111111111111111111111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = and 9223372036854775807:i64, %1 (hasExternalUses) | |
| %3:i64 = var | |
| %4:i64 = and 9223372036854775807:i64, %3 (hasExternalUses) | |
| %5:i1 = ult %2, %4 (hasExternalUses) | |
| %6:i64 = select %5, %3, %1 (hasExternalUses) | |
| %7:i64 = and 4503599627370495:i64, %6 (hasExternalUses) | |
| %8:i64 = ctlz %7 (hasExternalUses) | |
| %9:i32 = trunc %8 | |
| %10:i32 = subnsw 12:i32, %9 | |
| %11:i64 = lshr %6, 52:i64 | |
| %12:i32 = trunc %11 | |
| %13:i32 = and 2047:i32, %12 (hasExternalUses) | |
| %14:i32 = phi %0, %10, %13 | |
| infer %14 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = xor 63:i32, %3 | |
| %5 = block 3 | |
| %6:i64 = subnsw 38:i64, %2 | |
| %7:i64 = and 63:i64, %6 | |
| %8:i64 = lshr %1, %7 | |
| %9:i64 = addnw 26:i64, %2 | |
| %10:i64 = and 63:i64, %9 | |
| %11:i64 = shl %1, %10 | |
| %12:i1 = ne 0:i64, %11 | |
| %13:i64 = zext %12 | |
| %14:i64 = or %8, %13 | |
| %15:i64 = shl %1, 1:i64 | |
| %16:i64 = phi %5, %14, %15, %1 | |
| %17:i64 = lshr %16, 2:i64 | |
| %18:i64 = and 1:i64, %17 | |
| %19:i64 = or %16, %18 | |
| %20:i64 = add 1:i64, %19 | |
| %21:i64 = and 67108864:i64, %20 | |
| %22:i1 = eq 0:i64, %21 | |
| %23:i32 = subnw 64:i32, %3 | |
| %24:i32 = select %22, %4, %23 | |
| %25:i32 = phi %0, %4, %24 | |
| %26:i32 = shlnsw %25, 23:i32 | |
| %27:i32 = add 1065353216:i32, %26 | |
| %28:i32 = and 2139095040:i32, %27 | |
| infer %28 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = xor 63:i32, %3 | |
| %5 = block 3 | |
| %6:i64 = subnsw 38:i64, %2 | |
| %7:i64 = and 63:i64, %6 | |
| %8:i64 = lshr %1, %7 | |
| %9:i64 = addnw 26:i64, %2 | |
| %10:i64 = and 63:i64, %9 | |
| %11:i64 = shl %1, %10 | |
| %12:i1 = ne 0:i64, %11 | |
| %13:i64 = zext %12 | |
| %14:i64 = or %8, %13 | |
| %15:i64 = shl %1, 1:i64 | |
| %16:i64 = phi %5, %14, %15, %1 | |
| %17:i64 = lshr %16, 2:i64 | |
| %18:i64 = and 1:i64, %17 | |
| %19:i64 = or %16, %18 | |
| %20:i64 = add 1:i64, %19 | |
| %21:i64 = and 67108864:i64, %20 | |
| %22:i1 = eq 0:i64, %21 | |
| %23:i32 = subnw 64:i32, %3 | |
| %24:i32 = select %22, %4, %23 | |
| %25:i32 = phi %0, %4, %24 | |
| %26:i32 = shlnsw %25, 23:i32 | |
| %27:i32 = add 1065353216:i32, %26 | |
| infer %27 (demandedBits=01111111100000000000000000000000) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = xor 63:i32, %3 | |
| %5 = block 3 | |
| %6:i64 = subnsw 38:i64, %2 | |
| %7:i64 = and 63:i64, %6 | |
| %8:i64 = lshr %1, %7 | |
| %9:i64 = addnw 26:i64, %2 | |
| %10:i64 = and 63:i64, %9 | |
| %11:i64 = shl %1, %10 | |
| %12:i1 = ne 0:i64, %11 | |
| %13:i64 = zext %12 | |
| %14:i64 = or %8, %13 | |
| %15:i64 = shl %1, 1:i64 | |
| %16:i64 = phi %5, %14, %15, %1 | |
| %17:i64 = lshr %16, 2:i64 | |
| %18:i64 = and 1:i64, %17 | |
| %19:i64 = or %16, %18 | |
| %20:i64 = add 1:i64, %19 | |
| %21:i64 = and 67108864:i64, %20 | |
| %22:i1 = eq 0:i64, %21 | |
| %23:i32 = subnw 64:i32, %3 | |
| %24:i32 = select %22, %4, %23 | |
| %25:i32 = phi %0, %4, %24 | |
| %26:i32 = shlnsw %25, 23:i32 | |
| infer %26 (demandedBits=01111111110000000000000000000000) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = xor 63:i32, %3 | |
| %5 = block 3 | |
| %6:i64 = subnsw 9:i64, %2 | |
| %7:i64 = and 63:i64, %6 | |
| %8:i64 = lshr %1, %7 | |
| %9:i64 = addnw 55:i64, %2 | |
| %10:i64 = and 63:i64, %9 | |
| %11:i64 = shl %1, %10 | |
| %12:i1 = ne 0:i64, %11 | |
| %13:i64 = zext %12 | |
| %14:i64 = or %8, %13 | |
| %15:i64 = shl %1, 1:i64 | |
| %16:i64 = phi %5, %14, %15, %1 | |
| %17:i64 = lshr %16, 2:i64 | |
| %18:i64 = and 1:i64, %17 | |
| %19:i64 = or %16, %18 | |
| %20:i64 = add 1:i64, %19 | |
| %21:i64 = and 36028797018963968:i64, %20 | |
| %22:i1 = eq 0:i64, %21 | |
| %23:i32 = subnw 64:i32, %3 | |
| %24:i32 = select %22, %4, %23 | |
| %25:i32 = phi %0, %4, %24 | |
| %26:i32 = addnsw 1023:i32, %25 | |
| %27:i64 = zext %26 | |
| %28:i64 = shl %27, 52:i64 | |
| %29:i64 = and 9218868437227405312:i64, %28 | |
| infer %29 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = xor 63:i32, %3 | |
| %5 = block 3 | |
| %6:i64 = subnsw 9:i64, %2 | |
| %7:i64 = and 63:i64, %6 | |
| %8:i64 = lshr %1, %7 | |
| %9:i64 = addnw 55:i64, %2 | |
| %10:i64 = and 63:i64, %9 | |
| %11:i64 = shl %1, %10 | |
| %12:i1 = ne 0:i64, %11 | |
| %13:i64 = zext %12 | |
| %14:i64 = or %8, %13 | |
| %15:i64 = shl %1, 1:i64 | |
| %16:i64 = phi %5, %14, %15, %1 | |
| %17:i64 = lshr %16, 2:i64 | |
| %18:i64 = and 1:i64, %17 | |
| %19:i64 = or %16, %18 | |
| %20:i64 = add 1:i64, %19 | |
| %21:i64 = and 36028797018963968:i64, %20 | |
| %22:i1 = eq 0:i64, %21 | |
| %23:i32 = subnw 64:i32, %3 | |
| %24:i32 = select %22, %4, %23 | |
| %25:i32 = phi %0, %4, %24 | |
| %26:i32 = addnsw 1023:i32, %25 | |
| %27:i64 = zext %26 | |
| %28:i64 = shl %27, 52:i64 | |
| infer %28 (demandedBits=0111111111110000000000000000000000000000000000000000000000000000) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = xor 63:i32, %3 | |
| %5 = block 3 | |
| %6:i64 = subnsw 9:i64, %2 | |
| %7:i64 = and 63:i64, %6 | |
| %8:i64 = lshr %1, %7 | |
| %9:i64 = addnw 55:i64, %2 | |
| %10:i64 = and 63:i64, %9 | |
| %11:i64 = shl %1, %10 | |
| %12:i1 = ne 0:i64, %11 | |
| %13:i64 = zext %12 | |
| %14:i64 = or %8, %13 | |
| %15:i64 = shl %1, 1:i64 | |
| %16:i64 = phi %5, %14, %15, %1 | |
| %17:i64 = lshr %16, 2:i64 | |
| %18:i64 = and 1:i64, %17 | |
| %19:i64 = or %16, %18 | |
| %20:i64 = add 1:i64, %19 | |
| %21:i64 = and 36028797018963968:i64, %20 | |
| %22:i1 = eq 0:i64, %21 | |
| %23:i32 = subnw 64:i32, %3 | |
| %24:i32 = select %22, %4, %23 | |
| %25:i32 = phi %0, %4, %24 | |
| %26:i32 = addnsw 1023:i32, %25 | |
| %27:i64 = zext %26 | |
| infer %27 (demandedBits=0000000000000000000000000000000000000000000000000000011111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = xor 63:i32, %3 | |
| %5 = block 3 | |
| %6:i64 = subnsw 9:i64, %2 | |
| %7:i64 = and 63:i64, %6 | |
| %8:i64 = lshr %1, %7 | |
| %9:i64 = addnw 55:i64, %2 | |
| %10:i64 = and 63:i64, %9 | |
| %11:i64 = shl %1, %10 | |
| %12:i1 = ne 0:i64, %11 | |
| %13:i64 = zext %12 | |
| %14:i64 = or %8, %13 | |
| %15:i64 = shl %1, 1:i64 | |
| %16:i64 = phi %5, %14, %15, %1 | |
| %17:i64 = lshr %16, 2:i64 | |
| %18:i64 = and 1:i64, %17 | |
| %19:i64 = or %16, %18 | |
| %20:i64 = add 1:i64, %19 | |
| %21:i64 = and 36028797018963968:i64, %20 | |
| %22:i1 = eq 0:i64, %21 | |
| %23:i32 = subnw 64:i32, %3 | |
| %24:i32 = select %22, %4, %23 | |
| %25:i32 = phi %0, %4, %24 | |
| %26:i32 = addnsw 1023:i32, %25 | |
| infer %26 (demandedBits=00000000000000000000011111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = ctlz %1 | |
| %3:i64 = addnw 24:i64, %2 | |
| %4:i64 = and 63:i64, %3 | |
| %5:i64 = shl %1, %4 | |
| %6 = block 3 | |
| %7:i64 = subnsw 38:i64, %2 | |
| %8:i64 = and 63:i64, %7 | |
| %9:i64 = lshr %1, %8 | |
| %10:i64 = addnw 26:i64, %2 | |
| %11:i64 = and 63:i64, %10 | |
| %12:i64 = shl %1, %11 | |
| %13:i1 = ne 0:i64, %12 | |
| %14:i64 = zext %13 | |
| %15:i64 = or %9, %14 | |
| %16:i64 = shl %1, 1:i64 | |
| %17:i64 = phi %6, %15, %16, %1 | |
| %18:i64 = lshr %17, 2:i64 | |
| %19:i64 = and 1:i64, %18 | |
| %20:i64 = or %17, %19 | |
| %21:i64 = add 1:i64, %20 | |
| %22:i64 = and 67108864:i64, %21 | |
| %23:i1 = eq 0:i64, %22 | |
| %24:i64 = select %23, 2:i64, 3:i64 | |
| %25:i64 = lshr %21, %24 | |
| %26:i64 = phi %0, %5, %25 | |
| %27:i32 = trunc %26 | |
| %28:i32 = and 8388607:i32, %27 | |
| %29:i32 = trunc %2 | |
| %30:i32 = xor 63:i32, %29 | |
| %31:i32 = subnw 64:i32, %29 | |
| %32:i32 = select %23, %30, %31 | |
| %33:i32 = phi %0, %30, %32 | |
| %34:i32 = shlnsw %33, 23:i32 | |
| %35:i32 = add 1065353216:i32, %34 | |
| %36:i32 = and 2139095040:i32, %35 | |
| %37:i32 = or %28, %36 | |
| infer %37 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = ctlz %1 | |
| %3:i64 = addnw 24:i64, %2 | |
| %4:i64 = and 63:i64, %3 | |
| %5:i64 = shl %1, %4 | |
| %6 = block 3 | |
| %7:i64 = subnsw 38:i64, %2 | |
| %8:i64 = and 63:i64, %7 | |
| %9:i64 = lshr %1, %8 | |
| %10:i64 = addnw 26:i64, %2 | |
| %11:i64 = and 63:i64, %10 | |
| %12:i64 = shl %1, %11 | |
| %13:i1 = ne 0:i64, %12 | |
| %14:i64 = zext %13 | |
| %15:i64 = or %9, %14 | |
| %16:i64 = shl %1, 1:i64 | |
| %17:i64 = phi %6, %15, %16, %1 | |
| %18:i64 = lshr %17, 2:i64 | |
| %19:i64 = and 1:i64, %18 | |
| %20:i64 = or %17, %19 | |
| %21:i64 = add 1:i64, %20 | |
| %22:i64 = and 67108864:i64, %21 | |
| %23:i1 = eq 0:i64, %22 | |
| %24:i64 = select %23, 2:i64, 3:i64 | |
| %25:i64 = lshr %21, %24 | |
| %26:i64 = phi %0, %5, %25 | |
| %27:i32 = trunc %26 | |
| %28:i32 = and 8388607:i32, %27 | |
| infer %28 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = ctlz %1 | |
| %3:i64 = addnw 24:i64, %2 | |
| %4:i64 = and 63:i64, %3 | |
| %5:i64 = shl %1, %4 | |
| %6 = block 3 | |
| %7:i64 = subnsw 38:i64, %2 | |
| %8:i64 = and 63:i64, %7 | |
| %9:i64 = lshr %1, %8 | |
| %10:i64 = addnw 26:i64, %2 | |
| %11:i64 = and 63:i64, %10 | |
| %12:i64 = shl %1, %11 | |
| %13:i1 = ne 0:i64, %12 | |
| %14:i64 = zext %13 | |
| %15:i64 = or %9, %14 | |
| %16:i64 = shl %1, 1:i64 | |
| %17:i64 = phi %6, %15, %16, %1 | |
| %18:i64 = lshr %17, 2:i64 | |
| %19:i64 = and 1:i64, %18 | |
| %20:i64 = or %17, %19 | |
| %21:i64 = add 1:i64, %20 | |
| %22:i64 = and 67108864:i64, %21 | |
| %23:i1 = eq 0:i64, %22 | |
| %24:i64 = select %23, 2:i64, 3:i64 | |
| %25:i64 = lshr %21, %24 | |
| %26:i64 = phi %0, %5, %25 | |
| %27:i32 = trunc %26 | |
| infer %27 (demandedBits=00000000011111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = ctlz %1 | |
| %3:i64 = addnw 53:i64, %2 | |
| %4:i64 = and 63:i64, %3 | |
| %5:i64 = shl %1, %4 | |
| %6 = block 3 | |
| %7:i64 = subnsw 9:i64, %2 | |
| %8:i64 = and 63:i64, %7 | |
| %9:i64 = lshr %1, %8 | |
| %10:i64 = addnw 55:i64, %2 | |
| %11:i64 = and 63:i64, %10 | |
| %12:i64 = shl %1, %11 | |
| %13:i1 = ne 0:i64, %12 | |
| %14:i64 = zext %13 | |
| %15:i64 = or %9, %14 | |
| %16:i64 = shl %1, 1:i64 | |
| %17:i64 = phi %6, %15, %16, %1 | |
| %18:i64 = lshr %17, 2:i64 | |
| %19:i64 = and 1:i64, %18 | |
| %20:i64 = or %17, %19 | |
| %21:i64 = add 1:i64, %20 | |
| %22:i64 = and 36028797018963968:i64, %21 | |
| %23:i1 = eq 0:i64, %22 | |
| %24:i64 = select %23, 2:i64, 3:i64 | |
| %25:i64 = lshr %21, %24 | |
| %26:i64 = phi %0, %5, %25 | |
| %27:i64 = and 4503599627370495:i64, %26 | |
| %28:i32 = trunc %2 | |
| %29:i32 = xor 63:i32, %28 | |
| %30:i32 = subnw 64:i32, %28 | |
| %31:i32 = select %23, %29, %30 | |
| %32:i32 = phi %0, %29, %31 | |
| %33:i32 = addnsw 1023:i32, %32 | |
| %34:i64 = zext %33 | |
| %35:i64 = shl %34, 52:i64 | |
| %36:i64 = and 9218868437227405312:i64, %35 | |
| %37:i64 = or %27, %36 | |
| infer %37 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = ctlz %1 | |
| %3:i64 = addnw 53:i64, %2 | |
| %4:i64 = and 63:i64, %3 | |
| %5:i64 = shl %1, %4 | |
| %6 = block 3 | |
| %7:i64 = subnsw 9:i64, %2 | |
| %8:i64 = and 63:i64, %7 | |
| %9:i64 = lshr %1, %8 | |
| %10:i64 = addnw 55:i64, %2 | |
| %11:i64 = and 63:i64, %10 | |
| %12:i64 = shl %1, %11 | |
| %13:i1 = ne 0:i64, %12 | |
| %14:i64 = zext %13 | |
| %15:i64 = or %9, %14 | |
| %16:i64 = shl %1, 1:i64 | |
| %17:i64 = phi %6, %15, %16, %1 | |
| %18:i64 = lshr %17, 2:i64 | |
| %19:i64 = and 1:i64, %18 | |
| %20:i64 = or %17, %19 | |
| %21:i64 = add 1:i64, %20 | |
| %22:i64 = and 36028797018963968:i64, %21 | |
| %23:i1 = eq 0:i64, %22 | |
| %24:i64 = select %23, 2:i64, 3:i64 | |
| %25:i64 = lshr %21, %24 | |
| %26:i64 = phi %0, %5, %25 | |
| %27:i64 = and 4503599627370495:i64, %26 | |
| infer %27 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = ctlz %1 | |
| %3:i64 = var | |
| %4:i64 = ctlz %3 | |
| %5:i64 = subnsw %2, %4 | |
| %6:i64 = and 4294967295:i64, %5 | |
| %7:i64 = and 63:i64, %5 | |
| %8:i64 = shl %1, %7 | |
| %9:i1 = ult %3, %8 | |
| %10:i64 = select %9, 18446744073709551615:i64, 0:i64 | |
| %11:i64 = addnsw %6, %10 | |
| %12:i64 = addnsw 18446744073709551615:i64, %11 | |
| %13:i64 = and 63:i64, %12 | |
| %14:i64 = shlnuw 1:i64, %13 | |
| %15:i64 = and 63:i64, %11 | |
| %16:i64 = shlnuw 1:i64, %15 | |
| %17:i64 = phi %0, %14, %16 | |
| %18:i64 = add 18446744073709551615:i64, %17 | |
| infer %18 | |
| > | |
| <noinfer> <> | |
| <sprofile > <16> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = ctlz %1 | |
| %3:i64 = var | |
| %4:i64 = ctlz %3 | |
| %5:i64 = subnsw %2, %4 | |
| %6:i64 = and 4294967295:i64, %5 | |
| %7:i64 = and 63:i64, %5 | |
| %8:i64 = shl %1, %7 | |
| %9:i1 = ult %3, %8 | |
| %10:i64 = select %9, 18446744073709551615:i64, 0:i64 | |
| %11:i64 = addnsw %6, %10 | |
| %12:i64 = addnsw 18446744073709551615:i64, %11 | |
| %13:i64 = phi %0, %12, %11 | |
| %14:i1 = eq 0:i64, %13 | |
| infer %14 | |
| > | |
| <noinfer> <> | |
| <sprofile > <18> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = ctlz %1 | |
| %3:i64 = var | |
| %4:i64 = ctlz %3 | |
| %5:i64 = subnsw %2, %4 | |
| %6:i64 = and 4294967295:i64, %5 | |
| %7:i64 = and 63:i64, %5 | |
| %8:i64 = shl %1, %7 | |
| %9:i1 = ult %3, %8 | |
| %10:i64 = select %9, 18446744073709551615:i64, 0:i64 | |
| %11:i64 = addnsw %6, %10 | |
| %12:i64 = addnsw 18446744073709551615:i64, %11 | |
| %13:i64 = phi %0, %12, %11 | |
| %14:i64 = and 63:i64, %13 | |
| infer %14 | |
| > | |
| <noinfer> <> | |
| <sprofile > <16> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = ctlz %1 | |
| %3:i64 = var | |
| %4:i64 = ctlz %3 | |
| %5:i64 = subnsw %2, %4 | |
| %6:i64 = and 4294967295:i64, %5 | |
| %7:i64 = and 63:i64, %5 | |
| %8:i64 = shl %1, %7 | |
| %9:i1 = ult %3, %8 | |
| %10:i64 = select %9, 18446744073709551615:i64, 0:i64 | |
| %11:i64 = addnsw %6, %10 | |
| %12:i64 = and 63:i64, %11 | |
| %13:i64 = shl %1, %12 | |
| %14:i64 = lshr %13, 1:i64 | |
| %15:i64 = phi %0, %14, %13 | |
| %16:i64 = addnsw 18446744073709551615:i64, %15 | |
| %17:i64 = var | |
| %18:i64 = shl %17, 1:i64 | |
| %19:i64 = sub %18, %16 (hasExternalUses) | |
| %20:i64 = ashr %19, 63:i64 | |
| %21:i64 = and %16, %20 | |
| infer %21 | |
| > | |
| <noinfer> <> | |
| <sprofile > <24> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = ctlz %1 | |
| %3:i64 = var | |
| %4:i64 = ctlz %3 | |
| %5:i64 = subnsw %2, %4 | |
| %6:i64 = and 4294967295:i64, %5 | |
| %7:i64 = and 63:i64, %5 | |
| %8:i64 = shl %1, %7 | |
| %9:i1 = ult %3, %8 | |
| %10:i64 = select %9, 18446744073709551615:i64, 0:i64 | |
| %11:i64 = addnsw %6, %10 | |
| %12:i64 = and 63:i64, %11 | |
| %13:i64 = shl %1, %12 | |
| %14:i64 = lshr %13, 1:i64 | |
| %15:i64 = phi %0, %14, %13 | |
| %16:i64 = addnsw 18446744073709551615:i64, %15 | |
| infer %16 | |
| > | |
| <noinfer> <> | |
| <sprofile > <24> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = ctlz %1 | |
| %3:i64 = var | |
| %4:i64 = ctlz %3 | |
| %5:i64 = subnsw %2, %4 | |
| %6:i64 = and 4294967295:i64, %5 | |
| %7:i64 = and 63:i64, %5 | |
| %8:i64 = shl %1, %7 | |
| %9:i1 = ult %3, %8 | |
| %10:i64 = select %9, 18446744073709551615:i64, 0:i64 | |
| %11:i64 = addnsw %6, %10 | |
| %12:i64 = and 63:i64, %11 | |
| %13:i64 = shlnuw 1:i64, %12 | |
| %14:i64 = shl %1, %12 | |
| %15:i64 = sub %3, %14 | |
| %16:i64 = lshr %14, 1:i64 | |
| %17:i64 = sub %15, %16 | |
| %18:i1 = slt 18446744073709551615:i64, %17 | |
| %19:i64 = addnsw 18446744073709551615:i64, %11 | |
| %20:i64 = and 63:i64, %19 | |
| %21:i64 = shlnuw 1:i64, %20 | |
| %22:i64 = select %18, %21, 0:i64 | |
| %23:i64 = or %13, %22 | |
| %24:i64 = phi %0, %23, %13 | |
| %25 = block 2 | |
| %26:i64 = select %18, %17, %15 | |
| %27:i64 = phi %0, %26, %15 | |
| %28:i64 = var | |
| %29:i64 = shl %28, 1:i64 | |
| %30:i64 = phi %0, %16, %14 | |
| %31:i64 = addnsw 18446744073709551615:i64, %30 | |
| %32:i64 = sub %29, %31 | |
| %33:i64 = ashr %32, 63:i64 | |
| %34:i64 = and %31, %33 | |
| %35:i64 = add %32, %34 | |
| %36:i64 = phi %25, %27, %35 | |
| %37:i64 = phi %0, %21, %13 | |
| %38:i64 = add 18446744073709551615:i64, %37 | |
| %39:i64 = and %36, %38 | |
| %40:i64 = or %24, %39 | |
| infer %40 | |
| > | |
| <sprofile > <12> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = ctlz %1 | |
| %3:i64 = var | |
| %4:i64 = ctlz %3 | |
| %5:i64 = subnsw %2, %4 | |
| %6:i64 = and 4294967295:i64, %5 | |
| %7:i64 = and 63:i64, %5 | |
| %8:i64 = shl %1, %7 | |
| %9:i1 = ult %3, %8 | |
| %10:i64 = select %9, 18446744073709551615:i64, 0:i64 | |
| %11:i64 = addnsw %6, %10 | |
| %12:i64 = and 63:i64, %11 | |
| %13:i64 = shlnuw 1:i64, %12 | |
| %14:i64 = shl %1, %12 | |
| %15:i64 = sub %3, %14 | |
| %16:i64 = lshr %14, 1:i64 | |
| %17:i64 = sub %15, %16 | |
| %18:i1 = slt 18446744073709551615:i64, %17 | |
| %19:i64 = addnsw 18446744073709551615:i64, %11 | |
| %20:i64 = and 63:i64, %19 | |
| %21:i64 = shlnuw 1:i64, %20 | |
| %22:i64 = select %18, %21, 0:i64 | |
| %23:i64 = or %13, %22 | |
| %24:i64 = phi %0, %23, %13 | |
| %25:i64 = var | |
| %26:i64 = phi %0, %21, %13 | |
| %27:i64 = add 18446744073709551615:i64, %26 | |
| %28:i64 = and %25, %27 | |
| %29:i64 = or %24, %28 | |
| infer %29 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = ctlz %1 | |
| %3:i64 = var | |
| %4:i64 = ctlz %3 | |
| %5:i64 = subnsw %2, %4 | |
| %6:i64 = and 4294967295:i64, %5 | |
| %7:i64 = and 63:i64, %5 | |
| %8:i64 = shl %1, %7 | |
| %9:i1 = ult %3, %8 | |
| %10:i64 = select %9, 18446744073709551615:i64, 0:i64 | |
| %11:i64 = addnsw %6, %10 (hasExternalUses) | |
| %12:i64 = addnsw 18446744073709551615:i64, %11 | |
| %13:i64 = phi %0, %12, %11 | |
| infer %13 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = ctlz %1 | |
| %3:i64 = var | |
| %4:i64 = ctlz %3 | |
| %5:i64 = subnsw %2, %4 | |
| %6:i64 = and 4294967295:i64, %5 | |
| %7:i64 = and 63:i64, %5 | |
| %8:i64 = shl %1, %7 | |
| %9:i1 = ult %3, %8 | |
| %10:i64 = select %9, 18446744073709551615:i64, 0:i64 | |
| %11:i64 = addnsw %6, %10 (hasExternalUses) | |
| %12:i64 = addnsw 18446744073709551615:i64, %11 (hasExternalUses) | |
| %13:i64 = and 63:i64, %12 | |
| %14:i64 = shlnuw 1:i64, %13 (hasExternalUses) | |
| %15:i64 = and 63:i64, %11 (hasExternalUses) | |
| %16:i64 = shlnuw 1:i64, %15 (hasExternalUses) | |
| %17:i64 = phi %0, %14, %16 | |
| infer %17 | |
| > | |
| <noinfer> <> | |
| <sprofile > <16> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = ctlz %1 | |
| %3:i64 = var | |
| %4:i64 = ctlz %3 | |
| %5:i64 = subnsw %2, %4 | |
| %6:i64 = and 4294967295:i64, %5 | |
| %7:i64 = and 63:i64, %5 | |
| %8:i64 = shl %1, %7 | |
| %9:i1 = ult %3, %8 | |
| %10:i64 = select %9, 18446744073709551615:i64, 0:i64 | |
| %11:i64 = addnsw %6, %10 (hasExternalUses) | |
| %12:i64 = addnsw 18446744073709551615:i64, %11 (hasExternalUses) | |
| %13:i64 = phi %0, %12, %11 | |
| infer %13 | |
| > | |
| <noinfer> <> | |
| <sprofile > <16> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = ctlz %1 | |
| %3:i64 = var | |
| %4:i64 = ctlz %3 | |
| %5:i64 = subnsw %2, %4 | |
| %6:i64 = and 4294967295:i64, %5 | |
| %7:i64 = and 63:i64, %5 | |
| %8:i64 = shl %1, %7 | |
| %9:i1 = ult %3, %8 | |
| %10:i64 = select %9, 18446744073709551615:i64, 0:i64 | |
| %11:i64 = addnsw %6, %10 (hasExternalUses) | |
| %12:i64 = and 63:i64, %11 | |
| %13:i64 = shl %1, %12 (hasExternalUses) | |
| %14:i64 = lshr %13, 1:i64 (hasExternalUses) | |
| %15:i64 = phi %0, %14, %13 | |
| infer %15 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = ctlz %1 | |
| %3:i64 = var | |
| %4:i64 = ctlz %3 | |
| %5:i64 = subnsw %2, %4 | |
| %6:i64 = and 4294967295:i64, %5 | |
| %7:i64 = and 63:i64, %5 | |
| %8:i64 = shl %1, %7 | |
| %9:i1 = ult %3, %8 | |
| %10:i64 = select %9, 18446744073709551615:i64, 0:i64 | |
| %11:i64 = addnsw %6, %10 (hasExternalUses) | |
| %12:i64 = and 63:i64, %11 | |
| %13:i64 = shlnuw 1:i64, %12 (hasExternalUses) | |
| %14:i64 = shl %1, %12 (hasExternalUses) | |
| %15:i64 = sub %3, %14 (hasExternalUses) | |
| %16:i64 = lshr %14, 1:i64 (hasExternalUses) | |
| %17:i64 = sub %15, %16 (hasExternalUses) | |
| %18:i1 = slt 18446744073709551615:i64, %17 (hasExternalUses) | |
| %19:i64 = addnsw 18446744073709551615:i64, %11 (hasExternalUses) | |
| %20:i64 = and 63:i64, %19 | |
| %21:i64 = shlnuw 1:i64, %20 (hasExternalUses) | |
| %22:i64 = select %18, %21, 0:i64 | |
| %23:i64 = or %13, %22 (hasExternalUses) | |
| %24:i64 = phi %0, %23, %13 | |
| infer %24 | |
| > | |
| <noinfer> <> | |
| <sprofile > <16> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = ctlz %1 | |
| %3:i64 = var | |
| %4:i64 = ctlz %3 | |
| %5:i64 = subnsw %2, %4 | |
| %6:i64 = and 4294967295:i64, %5 | |
| %7:i64 = and 63:i64, %5 | |
| %8:i64 = shl %1, %7 | |
| %9:i1 = ult %3, %8 | |
| %10:i64 = select %9, 18446744073709551615:i64, 0:i64 | |
| %11:i64 = addnsw %6, %10 (hasExternalUses) | |
| %12:i64 = and 63:i64, %11 (hasExternalUses) | |
| %13:i64 = shl %1, %12 (hasExternalUses) | |
| %14:i64 = lshr %13, 1:i64 (hasExternalUses) | |
| %15:i64 = phi %0, %14, %13 | |
| infer %15 | |
| > | |
| <noinfer> <> | |
| <sprofile > <16> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = ctlz %1 (hasExternalUses) | |
| %3:i32 = trunc %2 (hasExternalUses) | |
| %4:i32 = xor 63:i32, %3 | |
| %5 = block 3 | |
| %6:i64 = subnsw 38:i64, %2 | |
| %7:i64 = and 63:i64, %6 | |
| %8:i64 = lshr %1, %7 | |
| %9:i64 = addnw 26:i64, %2 | |
| %10:i64 = and 63:i64, %9 | |
| %11:i64 = shl %1, %10 | |
| %12:i1 = ne 0:i64, %11 | |
| %13:i64 = zext %12 | |
| %14:i64 = or %8, %13 | |
| %15:i64 = shl %1, 1:i64 | |
| %16:i64 = phi %5, %14, %15, %1 | |
| %17:i64 = lshr %16, 2:i64 | |
| %18:i64 = and 1:i64, %17 | |
| %19:i64 = or %16, %18 | |
| %20:i64 = add 1:i64, %19 (hasExternalUses) | |
| %21:i64 = and 67108864:i64, %20 | |
| %22:i1 = eq 0:i64, %21 (hasExternalUses) | |
| %23:i32 = subnw 64:i32, %3 (hasExternalUses) | |
| %24:i32 = select %22, %4, %23 | |
| %25:i32 = phi %0, %4, %24 | |
| infer %25 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = ctlz %1 (hasExternalUses) | |
| %3:i32 = trunc %2 (hasExternalUses) | |
| %4:i32 = xor 63:i32, %3 | |
| %5 = block 3 | |
| %6:i64 = subnsw 9:i64, %2 | |
| %7:i64 = and 63:i64, %6 | |
| %8:i64 = lshr %1, %7 | |
| %9:i64 = addnw 55:i64, %2 | |
| %10:i64 = and 63:i64, %9 | |
| %11:i64 = shl %1, %10 | |
| %12:i1 = ne 0:i64, %11 | |
| %13:i64 = zext %12 | |
| %14:i64 = or %8, %13 | |
| %15:i64 = shl %1, 1:i64 | |
| %16:i64 = phi %5, %14, %15, %1 | |
| %17:i64 = lshr %16, 2:i64 | |
| %18:i64 = and 1:i64, %17 | |
| %19:i64 = or %16, %18 | |
| %20:i64 = add 1:i64, %19 (hasExternalUses) | |
| %21:i64 = and 36028797018963968:i64, %20 | |
| %22:i1 = eq 0:i64, %21 (hasExternalUses) | |
| %23:i32 = subnw 64:i32, %3 (hasExternalUses) | |
| %24:i32 = select %22, %4, %23 | |
| %25:i32 = phi %0, %4, %24 | |
| infer %25 (demandedBits=00000000000000000000011111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = ctlz %1 (hasExternalUses) | |
| %3:i64 = addnw 24:i64, %2 | |
| %4:i64 = and 63:i64, %3 | |
| %5:i64 = shl %1, %4 | |
| %6 = block 3 | |
| %7:i64 = subnsw 38:i64, %2 | |
| %8:i64 = and 63:i64, %7 | |
| %9:i64 = lshr %1, %8 | |
| %10:i64 = addnw 26:i64, %2 | |
| %11:i64 = and 63:i64, %10 | |
| %12:i64 = shl %1, %11 | |
| %13:i1 = ne 0:i64, %12 | |
| %14:i64 = zext %13 | |
| %15:i64 = or %9, %14 | |
| %16:i64 = shl %1, 1:i64 | |
| %17:i64 = phi %6, %15, %16, %1 | |
| %18:i64 = lshr %17, 2:i64 | |
| %19:i64 = and 1:i64, %18 | |
| %20:i64 = or %17, %19 | |
| %21:i64 = add 1:i64, %20 | |
| %22:i64 = and 67108864:i64, %21 | |
| %23:i1 = eq 0:i64, %22 (hasExternalUses) | |
| %24:i64 = select %23, 2:i64, 3:i64 | |
| %25:i64 = lshr %21, %24 | |
| %26:i64 = phi %0, %5, %25 | |
| infer %26 (demandedBits=0000000000000000000000000000000000000000011111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = ctlz %1 (hasExternalUses) | |
| %3:i64 = addnw 53:i64, %2 | |
| %4:i64 = and 63:i64, %3 | |
| %5:i64 = shl %1, %4 | |
| %6 = block 3 | |
| %7:i64 = subnsw 9:i64, %2 | |
| %8:i64 = and 63:i64, %7 | |
| %9:i64 = lshr %1, %8 | |
| %10:i64 = addnw 55:i64, %2 | |
| %11:i64 = and 63:i64, %10 | |
| %12:i64 = shl %1, %11 | |
| %13:i1 = ne 0:i64, %12 | |
| %14:i64 = zext %13 | |
| %15:i64 = or %9, %14 | |
| %16:i64 = shl %1, 1:i64 | |
| %17:i64 = phi %6, %15, %16, %1 | |
| %18:i64 = lshr %17, 2:i64 | |
| %19:i64 = and 1:i64, %18 | |
| %20:i64 = or %17, %19 | |
| %21:i64 = add 1:i64, %20 | |
| %22:i64 = and 36028797018963968:i64, %21 | |
| %23:i1 = eq 0:i64, %22 (hasExternalUses) | |
| %24:i64 = select %23, 2:i64, 3:i64 | |
| %25:i64 = lshr %21, %24 | |
| %26:i64 = phi %0, %5, %25 | |
| infer %26 (demandedBits=0000000000001111111111111111111111111111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = lshr %1, 32:i64 | |
| %3:i64 = phi %0, %1, %2 | |
| %4:i64 = lshr %3, 16:i64 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = lshr %1, 32:i64 | |
| %3:i64 = phi %0, %1, %2 | |
| %4:i64 = lshr %3, 16:i64 (hasExternalUses) | |
| %5:i1 = eq 0:i64, %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = lshr %1, 32:i64 (hasExternalUses) | |
| %3:i64 = phi %0, %1, %2 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = lshr %1, 8:i64 | |
| %3:i8 = trunc %2 | |
| %4:i8 = var | |
| %5:i8 = phi %0, %3, %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = phi %0, %1, 0:i64 | |
| %3 = block 2 | |
| %4:i64 = var | |
| %5:i64 = phi %3, %4, 0:i64 | |
| %6:i64 = add %2, %5 | |
| %7:i32 = var | |
| %8:i32 = and 16711680:i32, %7 | |
| %9:i1 = ne 0:i32, %8 | |
| %10:i64 = zext %9 | |
| %11:i64 = add %6, %10 | |
| infer %11 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = phi %0, %1, 0:i64 | |
| %3 = block 2 | |
| %4:i64 = var | |
| %5:i64 = phi %3, %4, 0:i64 | |
| %6:i64 = add %2, %5 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = phi %0, %1, 0:i64 | |
| %3 = block 2 | |
| %4:i64 = var | |
| %5:i64 = phi %3, %4, 0:i64 | |
| %6:i64 = var | |
| %7:i1 = var | |
| %8:i64 = zext %7 | |
| %9:i64 = add %6, %8 | |
| %10:i64 = add %5, %9 | |
| %11:i64 = add %2, %10 | |
| infer %11 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = phi %0, %1, 0:i64 | |
| %3 = block 2 | |
| %4:i64 = var | |
| %5:i64 = phi %3, %4, 0:i64 | |
| %6:i64 = var | |
| %7:i32 = var | |
| %8:i32 = and 16711680:i32, %7 | |
| %9:i1 = ne 0:i32, %8 | |
| %10:i64 = zext %9 | |
| %11:i64 = add %6, %10 | |
| %12:i64 = add %5, %11 | |
| %13:i64 = add %2, %12 | |
| infer %13 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = phi %0, %1, 0:i64 | |
| %3:i64 = var | |
| %4:i1 = var | |
| %5:i64 = zext %4 | |
| %6:i64 = add %3, %5 | |
| %7:i64 = add %2, %6 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = phi %0, %1, 0:i64 | |
| %3:i64 = var | |
| %4:i32 = var | |
| %5:i32 = and 16711680:i32, %4 | |
| %6:i1 = ne 0:i32, %5 | |
| %7:i64 = zext %6 | |
| %8:i64 = add %3, %7 | |
| %9:i64 = add %2, %8 | |
| infer %9 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = phi %0, %1, 0:i64 | |
| %3:i64 = var | |
| %4:i64 = sub %2, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <12> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = phi %0, %1, 0:i64 | |
| infer %2 | |
| > | |
| <noinfer> <> | |
| <sprofile > <61> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = phi %0, 0:i64, %1 | |
| %3:i64 = add 1:i64, %2 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = phi %0, 0:i64, %1 | |
| infer %2 | |
| > | |
| <noinfer> <> | |
| <sprofile > <52> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = phi %0, 19:i64, %1 | |
| infer %2 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = phi %0, 1:i64, %1 | |
| infer %2 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = phi %0, 4096:i64, %1 | |
| %3:i64 = var | |
| %4:i64 = var | |
| %5:i64 = var | |
| %6:i64 = add %4, %5 | |
| %7:i64 = phi %0, %3, %6 | |
| %8:i1 = ult %2, %7 | |
| %9:i64 = select %8, %2, %7 | |
| infer %9 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = phi %0, 4096:i64, %1 | |
| %3:i64 = var | |
| %4:i64 = var | |
| %5:i64 = var | |
| %6:i64 = add %4, %5 | |
| %7:i64 = phi %0, %3, %6 | |
| %8:i1 = ult %2, %7 | |
| %9:i64 = select %8, %2, %7 (hasExternalUses) | |
| %10:i1 = ult %9, 24:i64 | |
| infer %10 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = phi %0, 4096:i64, %1 | |
| %3:i64 = var | |
| %4:i64 = var | |
| %5:i64 = var | |
| %6:i64 = add %4, %5 | |
| %7:i64 = phi %0, %3, %6 | |
| %8:i1 = ult %2, %7 | |
| %9:i64 = select %8, %2, %7 (hasExternalUses) | |
| %10:i1 = ult %9, 24:i64 | |
| pc %10 0:i1 | |
| %11:i64 = udiv %9, 24:i64 | |
| infer %11 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = phi %0, 4096:i64, %1 | |
| %3:i64 = var | |
| %4:i64 = var | |
| %5:i64 = var | |
| %6:i64 = add %4, %5 | |
| %7:i64 = phi %0, %3, %6 | |
| %8:i1 = ult %2, %7 | |
| infer %8 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = phi %0, 4096:i64, %1 | |
| infer %2 | |
| > | |
| <noinfer> <> | |
| <sprofile > <5> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = phi %0, 9223372036854775809:i64, %1 | |
| infer %2 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = sub 0:i64, %1 | |
| %3:i64 = var | |
| %4:i64 = lshr %3, 16:i64 | |
| %5:i64 = phi %0, %2, %4 | |
| infer %5 (demandedBits=0000000000000000000000000000000000000000000000001111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = udiv %1, 100:i64 | |
| %3:i64 = var | |
| %4:i64 = phi %0, %2, %3 | |
| %5:i8 = trunc %4 | |
| %6:i8 = addnw 48:i8, %5 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = udiv %1, 100:i64 | |
| %3:i64 = var | |
| %4:i64 = phi %0, %2, %3 | |
| %5:i8 = trunc %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = udiv %1, 100:i64 (hasExternalUses) | |
| %3:i64 = var | |
| %4:i64 = phi %0, %2, %3 | |
| infer %4 (demandedBits=0000000000000000000000000000000000000000000000000000000011111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i1 = eq %1, %2 | |
| %4:i1 = phi %0, %3, 1:i1 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i1 = eq %1, %2 | |
| %4:i1 = phi %0, 1:i1, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i1 = eq %1, %2 (hasExternalUses) | |
| %4:i1 = phi %0, 0:i1, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i1 = ule %1, %2 | |
| %4:i1 = phi %0, %3, 0:i1 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i1 = ult %1, %2 | |
| %4:i1 = phi %0, 1:i1, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = add %1, %2 | |
| %4:i64 = add 18446744072757682816:i64, %3 | |
| %5:i64 = sdiv %4, 86400:i64 | |
| %6:i64 = addnsw 18446744073709551615:i64, %5 | |
| %7:i64 = phi %0, %6, %5 | |
| %8:i64 = sdiv %7, 146097:i64 | |
| infer %8 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = add %1, %2 | |
| %4:i64 = add 18446744072757682816:i64, %3 | |
| %5:i64 = sdiv %4, 86400:i64 | |
| %6:i64 = addnsw 18446744073709551615:i64, %5 | |
| %7:i64 = phi %0, %6, %5 | |
| %8:i64 = srem %7, 146097:i64 | |
| infer %8 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = add %1, %2 | |
| %4:i64 = add 18446744072757682816:i64, %3 | |
| %5:i64 = sdiv %4, 86400:i64 | |
| %6:i64 = addnsw 18446744073709551615:i64, %5 | |
| %7:i64 = phi %0, %6, %5 | |
| %8:i64 = srem %7, 146097:i64 (hasExternalUses) | |
| %9:i1 = slt %8, 0:i64 | |
| infer %9 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = add %1, %2 | |
| %4:i64 = add 18446744072757682816:i64, %3 | |
| %5:i64 = sdiv %4, 86400:i64 | |
| %6:i64 = addnsw 18446744073709551615:i64, %5 | |
| %7:i64 = phi %0, %6, %5 | |
| %8:i64 = srem %7, 146097:i64 (hasExternalUses) | |
| %9:i1 = slt %8, 0:i64 | |
| pc %9 1:i1 | |
| %10:i64 = addnsw 146097:i64, %8 | |
| infer %10 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = add %1, %2 | |
| %4:i64 = add 18446744072757682816:i64, %3 | |
| %5:i64 = sdiv %4, 86400:i64 | |
| %6:i64 = addnsw 18446744073709551615:i64, %5 | |
| %7:i64 = phi %0, %6, %5 | |
| %8:i64 = srem %7, 146097:i64 (hasExternalUses) | |
| %9:i1 = slt %8, 0:i64 | |
| pc %9 1:i1 | |
| %10:i64 = sdiv %7, 146097:i64 (hasExternalUses) | |
| %11:i64 = addnsw 18446744073709551615:i64, %10 | |
| infer %11 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = add %1, %2 | |
| %4:i64 = add 18446744072757682816:i64, %3 | |
| %5:i64 = srem %4, 86400:i64 | |
| %6:i64 = addnsw 86400:i64, %5 | |
| %7:i64 = phi %0, %6, %5 | |
| %8:i64 = sdiv %7, 3600:i64 | |
| infer %8 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = add %1, %2 | |
| %4:i64 = add 18446744072757682816:i64, %3 | |
| %5:i64 = srem %4, 86400:i64 | |
| %6:i64 = addnsw 86400:i64, %5 | |
| %7:i64 = phi %0, %6, %5 | |
| %8:i64 = sdiv %7, 60:i64 | |
| %9:i64 = srem %8, 60:i64 | |
| infer %9 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = add %1, %2 | |
| %4:i64 = add 18446744072757682816:i64, %3 | |
| %5:i64 = srem %4, 86400:i64 | |
| %6:i64 = addnsw 86400:i64, %5 | |
| %7:i64 = phi %0, %6, %5 | |
| %8:i64 = sdiv %7, 60:i64 | |
| infer %8 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = add %1, %2 | |
| %4:i64 = add 18446744072757682816:i64, %3 (hasExternalUses) | |
| %5:i64 = sdiv %4, 86400:i64 | |
| %6:i64 = addnsw 18446744073709551615:i64, %5 | |
| %7:i64 = phi %0, %6, %5 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = add %1, %2 | |
| %4:i64 = add 18446744072757682816:i64, %3 (hasExternalUses) | |
| %5:i64 = srem %4, 86400:i64 (hasExternalUses) | |
| %6:i64 = addnsw 86400:i64, %5 | |
| %7:i64 = phi %0, %6, %5 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = add %1, %2 | |
| %4:i64 = phi %0, %3, 0:i64 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = add %1, %2 | |
| %4:i64 = var | |
| %5:i64 = phi %0, %3, %4 | |
| %6:i64 = add 12:i64, %5 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = add %1, %2 | |
| %4:i64 = var | |
| %5:i64 = phi %0, %3, %4 | |
| %6:i64 = add 12:i64, %5 (hasExternalUses) | |
| %7:i1 = ult 4095:i64, %6 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = add %1, %2 (hasExternalUses) | |
| %4:i64 = var | |
| %5:i64 = phi %0, %3, %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = add 18446744073709551615:i64, %2 | |
| %4:i64 = phi %0, %1, %3 | |
| %5:i1 = ult 1:i64, %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = add 18446744073709551615:i64, %2 | |
| %4:i64 = phi %0, %1, %3 | |
| %5:i1 = ult 1:i64, %4 | |
| pc %5 1:i1 | |
| %6:i64 = add 18446744073709551615:i64, %4 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = add 18446744073709551615:i64, %2 (hasExternalUses) | |
| %4:i64 = phi %0, %1, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = add 1:i64, %2 | |
| %4:i64 = phi %0, %1, %3 | |
| %5:i1 = ult 4096:i64, %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = add 1:i64, %2 | |
| %4:i64 = phi %0, %1, %3 | |
| %5:i1 = ult 4096:i64, %4 (hasExternalUses) | |
| %6:i1 = select %5, 0:i1, 1:i1 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = add 1:i64, %2 (hasExternalUses) | |
| %4:i64 = phi %0, %1, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = add 4096:i64, %2 | |
| %4:i64 = var | |
| %5:i64 = and 4095:i64, %4 (hasExternalUses) | |
| %6:i64 = sub %3, %5 | |
| %7:i64 = phi %0, %1, %6 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = addnuw %1, %2 | |
| %4:i64 = phi %0, %3, 0:i64 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = and 63:i64, %2 (hasExternalUses) | |
| %4:i64 = shl %1, %3 (hasExternalUses) | |
| %5:i64 = lshr %4, 1:i64 (hasExternalUses) | |
| %6:i64 = phi %0, %5, %4 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = ctlz %2 | |
| %4:i64 = ctlz %1 | |
| %5:i64 = subnsw %3, %4 | |
| %6:i64 = and 4294967295:i64, %5 | |
| %7:i64 = and 63:i64, %5 | |
| %8:i64 = shl %2, %7 | |
| %9:i1 = ult %1, %8 | |
| %10:i64 = select %9, 18446744073709551615:i64, 0:i64 | |
| %11:i64 = addnsw %6, %10 (hasExternalUses) | |
| %12:i64 = and 63:i64, %11 | |
| %13:i64 = shl %2, %12 (hasExternalUses) | |
| %14:i64 = sub %1, %13 (hasExternalUses) | |
| %15:i64 = lshr %13, 1:i64 (hasExternalUses) | |
| %16:i64 = sub %14, %15 | |
| %17:i1 = slt 18446744073709551615:i64, %16 | |
| %18:i64 = select %17, %16, %14 (hasExternalUses) | |
| %19:i64 = phi %0, %18, %14 | |
| infer %19 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = ctlz %2 | |
| %4:i64 = ctlz %1 | |
| %5:i64 = subnsw %3, %4 | |
| %6:i64 = and 4294967295:i64, %5 | |
| %7:i64 = and 63:i64, %5 | |
| %8:i64 = shl %2, %7 | |
| %9:i1 = ult %1, %8 | |
| %10:i64 = select %9, 18446744073709551615:i64, 0:i64 | |
| %11:i64 = addnsw %6, %10 (hasExternalUses) | |
| %12:i64 = and 63:i64, %11 (hasExternalUses) | |
| %13:i64 = shl %2, %12 (hasExternalUses) | |
| %14:i64 = sub %1, %13 (hasExternalUses) | |
| %15:i64 = lshr %13, 1:i64 (hasExternalUses) | |
| %16:i64 = sub %14, %15 | |
| %17:i1 = slt 18446744073709551615:i64, %16 (hasExternalUses) | |
| %18:i64 = select %17, %16, %14 (hasExternalUses) | |
| %19:i64 = phi %0, %18, %14 | |
| infer %19 | |
| > | |
| <noinfer> <> | |
| <sprofile > <16> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = lshr %2, 1:i64 | |
| %4:i64 = add %1, %3 | |
| %5:i64 = add 1:i64, %1 | |
| %6:i64 = phi %0, %4, %5 | |
| %7:i64 = var | |
| %8:i1 = ult %6, %7 | |
| infer %8 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = lshr %2, 1:i64 | |
| %4:i64 = add %1, %3 (hasExternalUses) | |
| %5:i64 = add 1:i64, %1 | |
| %6:i64 = phi %0, %4, %5 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = lshr %2, 1:i64 | |
| %4:i64 = add %1, %3 (hasExternalUses) | |
| %5:i64 = phi %0, %4, %1 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = phi %0, %1, %2 | |
| %4:i1 = eq 0:i64, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = phi %0, %1, %2 | |
| %4:i1 = eq 0:i64, %3 | |
| pc %4 0:i1 | |
| %5:i64 = var | |
| %6:i1 = eq 0:i64, %5 | |
| pc %6 0:i1 | |
| %7:i64 = udiv %5, %3 | |
| %8:i64 = urem %5, %3 | |
| %9:i1 = eq 0:i64, %8 | |
| %10:i64 = select %9, 0:i64, 1:i64 | |
| %11:i64 = add %7, %10 | |
| infer %11 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = phi %0, %1, %2 | |
| %4:i1 = eq 0:i64, %3 | |
| pc %4 0:i1 | |
| %5:i64 = var | |
| %6:i1 = eq 0:i64, %5 | |
| pc %6 0:i1 | |
| %7:i64 = udiv %5, %3 | |
| %8:i64 = urem %5, %3 | |
| %9:i1 = eq 0:i64, %8 | |
| %10:i64 = select %9, 0:i64, 1:i64 | |
| %11:i64 = add %7, %10 (hasExternalUses) | |
| %12:i1 = eq 0:i64, %11 | |
| infer %12 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = phi %0, %1, %2 | |
| %4:i1 = eq 0:i64, %3 | |
| pc %4 0:i1 | |
| %5:i64 = var | |
| %6:i1 = eq 0:i64, %5 | |
| pc %6 0:i1 | |
| %7:i64 = udiv %5, %3 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = phi %0, %1, %2 | |
| %4:i1 = eq 0:i64, %3 | |
| pc %4 0:i1 | |
| %5:i64 = var | |
| %6:i1 = eq 0:i64, %5 | |
| pc %6 0:i1 | |
| %7:i64 = urem %5, %3 | |
| %8:i1 = eq 0:i64, %7 | |
| %9:i64 = select %8, 0:i64, 1:i64 | |
| infer %9 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = phi %0, %1, %2 | |
| %4:i1 = eq 0:i64, %3 | |
| pc %4 0:i1 | |
| %5:i64 = var | |
| %6:i1 = eq 0:i64, %5 | |
| pc %6 0:i1 | |
| %7:i64 = urem %5, %3 | |
| %8:i1 = eq 0:i64, %7 | |
| infer %8 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = phi %0, %1, %2 | |
| %4:i1 = eq 0:i64, %3 | |
| pc %4 0:i1 | |
| %5:i64 = var | |
| %6:i1 = eq 0:i64, %5 | |
| pc %6 0:i1 | |
| %7:i64 = urem %5, %3 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = phi %0, %1, %2 | |
| %4:i1 = eq 18446744073709551615:i64, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <12> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = phi %0, %1, %2 | |
| %4:i1 = eq 18446744073709551615:i64, %3 | |
| pc %4 0:i1 | |
| %5:i64 = add 1:i64, %1 | |
| %6:i64 = add 1:i64, %2 | |
| %7:i64 = phi %0, %5, %6 | |
| %8:i1 = ult 4096:i64, %7 | |
| infer %8 | |
| > | |
| <noinfer> <> | |
| <sprofile > <12> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = phi %0, %1, %2 | |
| %4:i1 = ne 0:i64, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = phi %0, %1, %2 | |
| %4:i1 = slt %3, 0:i64 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = phi %0, %1, %2 | |
| %4:i1 = ult 18446744073709551606:i64, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = phi %0, %1, %2 | |
| %4:i1 = ult 18446744073709551606:i64, %3 | |
| pc %4 0:i1 | |
| %5:i64 = add 9:i64, %1 | |
| %6:i64 = add 9:i64, %2 | |
| %7:i64 = phi %0, %5, %6 | |
| %8:i1 = ult 4096:i64, %7 | |
| infer %8 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = phi %0, %1, %2 | |
| %4:i1 = ult 18446744073709551609:i64, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <12> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = phi %0, %1, %2 | |
| %4:i1 = ult 18446744073709551609:i64, %3 | |
| pc %4 0:i1 | |
| %5:i64 = add 6:i64, %1 | |
| %6:i64 = add 6:i64, %2 | |
| %7:i64 = phi %0, %5, %6 | |
| %8:i1 = ult 4096:i64, %7 | |
| infer %8 | |
| > | |
| <noinfer> <> | |
| <sprofile > <12> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = phi %0, %1, %2 | |
| %4:i1 = ult 1:i64, %3 | |
| %5:i64 = select %4, %3, 1:i64 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = phi %0, %1, %2 | |
| %4:i1 = ult 1:i64, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = phi %0, %1, %2 | |
| %4:i32 = trunc %3 | |
| %5:i32 = sub 0:i32, %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = phi %0, %1, %2 | |
| %4:i32 = trunc %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = phi %0, %1, %2 | |
| %4:i64 = add 18446744073709551615:i64, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = phi %0, %1, %2 | |
| %4:i64 = shl %3, 3:i64 | |
| %5:i64 = add 18446744073709551608:i64, %4 | |
| %6:i64 = lshrexact %5, 3:i64 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = phi %0, %1, %2 | |
| %4:i64 = shl %3, 3:i64 | |
| %5:i64 = add 18446744073709551608:i64, %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = phi %0, %1, %2 | |
| %4:i64 = shl %3, 3:i64 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = phi %0, %1, %2 | |
| %4:i64 = var | |
| %5:i1 = ult %3, %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = phi %0, %1, %2 | |
| %4:i64 = var (range=[1,0)) | |
| %5:i1 = ult %3, %4 | |
| %6:i64 = select %5, %3, %4 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = phi %0, %1, %2 | |
| %4:i64 = var (range=[1,0)) | |
| %5:i1 = ult %3, %4 | |
| %6:i64 = select %5, %3, %4 (hasExternalUses) | |
| %7:i1 = eq 1:i64, %6 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = phi %0, %1, %2 | |
| %4:i64 = var (range=[1,0)) | |
| %5:i1 = ult %3, %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = phi %0, %1, %2 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <93> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = phi %0, %1, %2 | |
| infer %3 (demandedBits=0000000000000000000000000000000011111111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = udiv %1, %2 | |
| %4:i64 = add 1:i64, %3 | |
| %5:i64 = phi %0, %4, %3 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = udiv %2, 100:i64 | |
| %4:i64 = phi %0, %1, %3 | |
| %5:i1 = eq 0:i64, %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = udiv %2, 100:i64 | |
| %4:i64 = phi %0, %1, %3 | |
| %5:i1 = eq 0:i64, %4 | |
| pc %5 0:i1 | |
| %6:i8 = trunc %4 | |
| %7:i8 = addnw 48:i8, %6 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = udiv %2, 100:i64 | |
| %4:i64 = phi %0, %1, %3 | |
| %5:i1 = eq 0:i64, %4 | |
| pc %5 0:i1 | |
| %6:i8 = trunc %4 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = udiv %2, 100:i64 (hasExternalUses) | |
| %4:i64 = phi %0, %1, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = add %2, %3 (hasExternalUses) | |
| %5:i64 = phi %0, %1, %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var | |
| %3:i64 = var | |
| %4:i64 = xor 18446744073709551615:i64, %3 | |
| %5:i64 = add %2, %4 | |
| %6:i64 = phi %0, %1, %5 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var (knownBits=0000000000000000000000000000000000000000000000000000000000001000) (nonNegative) (nonZero) (signBits=60) | |
| %3:i64 = phi %0, %1, %2 | |
| %4:i1 = ne 0:i64, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var | |
| %2:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000xxxxxxxx) (nonNegative) (signBits=56) (range=[0,256)) | |
| %3:i64 = add %1, %2 (hasExternalUses) | |
| %4:i64 = phi %0, %3, %1 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var (knownBits=0000000000000000000000000000000000000000000000000000000000000001) (nonNegative) (nonZero) (signBits=63) | |
| %2:i64 = var | |
| %3:i64 = phi %0, %1, %2 | |
| %4:i1 = ne 0:i64, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4)) | |
| %2 = block 2 | |
| %3:i64 = phi %2, 2:i64, %1 | |
| %4:i64 = phi %0, %1, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4)) | |
| %2 = block 2 | |
| %3:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4)) | |
| %4:i64 = phi %2, 2:i64, %3 | |
| %5:i64 = phi %0, %1, %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4)) | |
| %2:i64 = phi %0, 0:i64, %1 | |
| infer %2 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var (knownBits=00000000000000000000000000000000000000000000000000000000000000xx) (nonNegative) (signBits=62) (range=[0,4)) | |
| %2:i64 = phi %0, 2:i64, %1 | |
| infer %2 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx000) (nonZero) | |
| %2:i64 = var | |
| %3:i64 = phi %0, %1, %2 | |
| %4:i1 = ne 0:i64, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx000) (nonZero) | |
| %2:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx000) | |
| %3:i64 = phi %0, %1, %2 | |
| %4:i1 = ne 0:i64, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0) (range=[0,-1)) | |
| %2:i64 = add 18446744073709551615:i64, %1 (hasExternalUses) | |
| %3:i64 = phi %0, %2, %1 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0) (range=[0,21)) | |
| %2:i64 = add 18446744073709551613:i64, %1 (hasExternalUses) | |
| %3:i64 = phi %0, %2, 19:i64 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0) (range=[0,21)) | |
| %2:i64 = add 18446744073709551615:i64, %1 | |
| %3:i64 = phi %0, %2, %1 | |
| %4:i64 = subnw 20:i64, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0) (range=[0,21)) | |
| %2:i64 = add 18446744073709551615:i64, %1 (hasExternalUses) | |
| %3:i64 = phi %0, %2, %1 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0) (range=[0,21)) | |
| %2:i64 = addnsw 18446744073709551614:i64, %1 | |
| %3:i64 = phi %0, 20:i64, %2 | |
| %4:i1 = ult 20:i64, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0) (range=[0,21)) | |
| %2:i64 = addnsw 18446744073709551614:i64, %1 | |
| %3:i64 = phi %0, 20:i64, %2 | |
| %4:i64 = add 18446744073709551615:i64, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0) (range=[0,21)) | |
| %2:i64 = addnsw 18446744073709551614:i64, %1 | |
| %3:i64 = phi %0, 20:i64, %2 | |
| %4:i64 = add 18446744073709551615:i64, %3 (hasExternalUses) | |
| %5:i1 = ult %4, 20:i64 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var (knownBits=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0) (range=[0,21)) | |
| %2:i64 = addnsw 18446744073709551614:i64, %1 (hasExternalUses) | |
| %3:i64 = phi %0, 20:i64, %2 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var (nonZero) | |
| %2:i64 = phi %0, %1, %1 | |
| infer %2 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var (nonZero) | |
| %2:i64 = var (nonZero) | |
| %3:i64 = phi %0, %1, %2 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var (range=[0,-1)) | |
| %2:i64 = var | |
| %3:i64 = add 18446744073709551615:i64, %2 (hasExternalUses) | |
| %4:i64 = phi %0, %1, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var (range=[0,-1)) | |
| %2:i64 = var | |
| %3:i64 = lshr %2, 1:i64 | |
| %4:i64 = add %1, %3 | |
| %5 = block 2 | |
| %6:i64 = var | |
| %7:i64 = phi %5, 0:i64, %6 | |
| %8:i64 = add 1:i64, %7 | |
| %9:i64 = phi %0, %4, %8 | |
| %10:i64 = var | |
| %11:i1 = ult %9, %10 | |
| infer %11 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var (range=[0,-1)) | |
| %2:i64 = var | |
| %3:i64 = lshr %2, 1:i64 | |
| %4:i64 = add %1, %3 (hasExternalUses) | |
| %5 = block 2 | |
| %6:i64 = var | |
| %7:i64 = phi %5, 0:i64, %6 | |
| %8:i64 = add 1:i64, %7 | |
| %9:i64 = phi %0, %4, %8 | |
| infer %9 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var (range=[0,13)) | |
| %2:i64 = add 18446744073709551604:i64, %1 | |
| %3:i64 = phi %0, %2, %1 | |
| %4:i64 = add 2:i64, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var (range=[0,13)) | |
| %2:i64 = add 18446744073709551604:i64, %1 | |
| %3:i64 = phi %0, %2, %1 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var (range=[1,-9223372036854775807)) | |
| %2:i64 = ctlz %1 | |
| %3:i64 = var | |
| %4:i1 = slt %3, 0:i64 | |
| %5:i64 = sub 0:i64, %3 | |
| %6:i64 = select %4, %5, %3 | |
| %7:i64 = ctlz %6 | |
| %8:i64 = subnsw %2, %7 | |
| %9:i64 = and 4294967295:i64, %8 | |
| %10:i64 = and 63:i64, %8 | |
| %11:i64 = shl %1, %10 | |
| %12:i1 = ult %6, %11 | |
| %13:i64 = select %12, 18446744073709551615:i64, 0:i64 | |
| %14:i64 = addnsw %9, %13 | |
| %15:i64 = addnsw 18446744073709551615:i64, %14 | |
| %16:i64 = phi %0, %15, %14 | |
| %17:i1 = eq 0:i64, %16 | |
| infer %17 | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var (range=[1,-9223372036854775807)) | |
| %2:i64 = ctlz %1 | |
| %3:i64 = var | |
| %4:i1 = slt %3, 0:i64 | |
| %5:i64 = sub 0:i64, %3 | |
| %6:i64 = select %4, %5, %3 | |
| %7:i64 = ctlz %6 | |
| %8:i64 = subnsw %2, %7 | |
| %9:i64 = and 4294967295:i64, %8 | |
| %10:i64 = and 63:i64, %8 | |
| %11:i64 = shl %1, %10 | |
| %12:i1 = ult %6, %11 | |
| %13:i64 = select %12, 18446744073709551615:i64, 0:i64 | |
| %14:i64 = addnsw %9, %13 | |
| %15:i64 = addnsw 18446744073709551615:i64, %14 | |
| %16:i64 = phi %0, %15, %14 | |
| %17:i64 = and 63:i64, %16 | |
| infer %17 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var (range=[1,-9223372036854775807)) | |
| %2:i64 = ctlz %1 | |
| %3:i64 = var | |
| %4:i1 = slt %3, 0:i64 | |
| %5:i64 = sub 0:i64, %3 | |
| %6:i64 = select %4, %5, %3 | |
| %7:i64 = ctlz %6 | |
| %8:i64 = subnsw %2, %7 | |
| %9:i64 = and 4294967295:i64, %8 | |
| %10:i64 = and 63:i64, %8 | |
| %11:i64 = shl %1, %10 | |
| %12:i1 = ult %6, %11 | |
| %13:i64 = select %12, 18446744073709551615:i64, 0:i64 | |
| %14:i64 = addnsw %9, %13 | |
| %15:i64 = and 63:i64, %14 | |
| %16:i64 = shl %1, %15 | |
| %17:i64 = lshr %16, 1:i64 | |
| %18:i64 = phi %0, %17, %16 | |
| %19:i64 = addnsw 18446744073709551615:i64, %18 | |
| %20:i64 = var | |
| %21:i64 = shl %20, 1:i64 | |
| %22:i64 = sub %21, %19 (hasExternalUses) | |
| %23:i64 = ashr %22, 63:i64 | |
| %24:i64 = and %19, %23 | |
| infer %24 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var (range=[1,-9223372036854775807)) | |
| %2:i64 = ctlz %1 | |
| %3:i64 = var | |
| %4:i1 = slt %3, 0:i64 | |
| %5:i64 = sub 0:i64, %3 | |
| %6:i64 = select %4, %5, %3 | |
| %7:i64 = ctlz %6 | |
| %8:i64 = subnsw %2, %7 | |
| %9:i64 = and 4294967295:i64, %8 | |
| %10:i64 = and 63:i64, %8 | |
| %11:i64 = shl %1, %10 | |
| %12:i1 = ult %6, %11 | |
| %13:i64 = select %12, 18446744073709551615:i64, 0:i64 | |
| %14:i64 = addnsw %9, %13 | |
| %15:i64 = and 63:i64, %14 | |
| %16:i64 = shl %1, %15 | |
| %17:i64 = lshr %16, 1:i64 | |
| %18:i64 = phi %0, %17, %16 | |
| %19:i64 = addnsw 18446744073709551615:i64, %18 | |
| infer %19 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var (range=[1,-9223372036854775807)) | |
| %2:i64 = ctlz %1 | |
| %3:i64 = var | |
| %4:i1 = slt %3, 0:i64 (hasExternalUses) | |
| %5:i64 = sub 0:i64, %3 | |
| %6:i64 = select %4, %5, %3 (hasExternalUses) | |
| %7:i64 = ctlz %6 | |
| %8:i64 = subnsw %2, %7 | |
| %9:i64 = and 4294967295:i64, %8 | |
| %10:i64 = and 63:i64, %8 | |
| %11:i64 = shl %1, %10 | |
| %12:i1 = ult %6, %11 | |
| %13:i64 = select %12, 18446744073709551615:i64, 0:i64 | |
| %14:i64 = addnsw %9, %13 (hasExternalUses) | |
| %15:i64 = addnsw 18446744073709551615:i64, %14 | |
| %16:i64 = phi %0, %15, %14 | |
| infer %16 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i64 = var (range=[1,-9223372036854775807)) | |
| %2:i64 = ctlz %1 | |
| %3:i64 = var | |
| %4:i1 = slt %3, 0:i64 (hasExternalUses) | |
| %5:i64 = sub 0:i64, %3 | |
| %6:i64 = select %4, %5, %3 (hasExternalUses) | |
| %7:i64 = ctlz %6 | |
| %8:i64 = subnsw %2, %7 | |
| %9:i64 = and 4294967295:i64, %8 | |
| %10:i64 = and 63:i64, %8 | |
| %11:i64 = shl %1, %10 | |
| %12:i1 = ult %6, %11 | |
| %13:i64 = select %12, 18446744073709551615:i64, 0:i64 | |
| %14:i64 = addnsw %9, %13 (hasExternalUses) | |
| %15:i64 = and 63:i64, %14 | |
| %16:i64 = shl %1, %15 (hasExternalUses) | |
| %17:i64 = lshr %16, 1:i64 (hasExternalUses) | |
| %18:i64 = phi %0, %17, %16 | |
| infer %18 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = phi %0, 0:i8, 1:i8 | |
| infer %1 (demandedBits=00000001) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = phi %0, 1:i8, 0:i8 | |
| %2:i24 = zext %1 | |
| infer %2 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = phi %0, 1:i8, 0:i8 | |
| infer %1 | |
| > | |
| <noinfer> <> | |
| <sprofile > <5> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = phi %0, 3:i8, 1:i8 | |
| infer %1 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = phi %0, 4:i8, 3:i8 | |
| infer %1 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = var | |
| %2:i1 = eq 1:i8, %1 | |
| %3:i1 = phi %0, 0:i1, %2 | |
| %4:i8 = var | |
| %5:i8 = select %3, 1:i8, %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = var | |
| %2:i1 = eq 1:i8, %1 | |
| %3:i1 = phi %0, 0:i1, %2 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = var | |
| %2:i1 = eq 3:i8, %1 | |
| %3:i1 = select %2, 0:i1, 1:i1 | |
| %4:i1 = eq 1:i8, %1 | |
| %5:i1 = select %3, %4, 1:i1 | |
| %6:i1 = phi %0, 0:i1, %5 | |
| %7:i8 = var | |
| %8:i8 = select %6, 1:i8, %7 | |
| infer %8 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = var | |
| %2:i1 = eq 3:i8, %1 (hasExternalUses) | |
| %3:i1 = select %2, 0:i1, 1:i1 | |
| %4:i1 = eq 1:i8, %1 | |
| %5:i1 = select %3, %4, 1:i1 | |
| %6:i1 = phi %0, 0:i1, %5 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = var | |
| %2:i32 = zext %1 | |
| %3:i32 = shlnw %2, 8:i32 | |
| %4:i8 = var | |
| %5:i32 = zext %4 | |
| %6:i32 = or %3, %5 | |
| %7:i8 = var | |
| %8:i32 = zext %7 | |
| %9:i32 = shlnw %8, 16:i32 | |
| %10:i32 = or %6, %9 | |
| %11:i8 = var | |
| %12:i32 = zext %11 | |
| %13:i32 = shlnuw %12, 24:i32 | |
| %14:i32 = or %10, %13 | |
| %15:i32 = bswap %14 | |
| %16:i64 = sext %15 | |
| %17:i64 = mulnsw 6:i64, %16 (hasExternalUses) | |
| %18:i64 = udiv %17, 6:i64 (hasExternalUses) | |
| %19:i64 = mulnuw 6:i64, %18 | |
| %20:i64 = add 18446744073709551610:i64, %19 | |
| %21:i64 = udiv %20, 6:i64 (hasExternalUses) | |
| %22:i64 = addnw 1:i64, %21 | |
| %23:i64 = phi %0, 0:i64, %22 | |
| infer %23 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = var | |
| %2:i32 = zext %1 | |
| %3:i32 = shlnw %2, 8:i32 | |
| %4:i8 = var | |
| %5:i32 = zext %4 | |
| %6:i32 = or %3, %5 | |
| %7:i8 = var | |
| %8:i32 = zext %7 | |
| %9:i32 = shlnw %8, 16:i32 | |
| %10:i32 = or %6, %9 | |
| %11:i8 = var | |
| %12:i32 = zext %11 | |
| %13:i32 = shlnuw %12, 24:i32 | |
| %14:i32 = or %10, %13 (hasExternalUses) | |
| %15:i32 = bswap %14 | |
| %16:i64 = sext %15 (hasExternalUses) | |
| %17:i64 = shlnsw %16, 3:i64 (hasExternalUses) | |
| %18:i64 = addnsw 18446744073709551608:i64, %17 | |
| %19:i64 = lshrexact %18, 3:i64 | |
| %20:i64 = addnw 1:i64, %19 | |
| %21:i64 = phi %0, %20, 0:i64 | |
| infer %21 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = var | |
| %2:i32 = zext %1 | |
| %3:i32 = shlnw %2, 8:i32 | |
| %4:i8 = var | |
| %5:i32 = zext %4 | |
| %6:i32 = or %3, %5 | |
| %7:i8 = var | |
| %8:i32 = zext %7 | |
| %9:i32 = shlnw %8, 16:i32 | |
| %10:i32 = or %6, %9 | |
| %11:i8 = var | |
| %12:i32 = zext %11 | |
| %13:i32 = shlnuw %12, 24:i32 | |
| %14:i32 = or %10, %13 (hasExternalUses) | |
| %15:i32 = bswap %14 | |
| %16:i64 = sext %15 (hasExternalUses) | |
| %17:i64 = shlnsw %16, 3:i64 (hasExternalUses) | |
| %18:i64 = addnsw 18446744073709551608:i64, %17 | |
| %19:i64 = lshrexact %18, 3:i64 | |
| %20:i64 = addnw 1:i64, %19 | |
| %21:i64 = phi %0, 0:i64, %20 | |
| infer %21 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = var | |
| %2:i32 = zext %1 | |
| %3:i8 = var | |
| %4:i32 = zext %3 | |
| %5:i32 = subnsw %2, %4 | |
| %6:i32 = phi %0, %5, 0:i32 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = var | |
| %2:i8 = and 1:i8, %1 | |
| %3:i1 = ne 0:i8, %2 | |
| %4:i1 = phi %0, 0:i1, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = var | |
| %2:i8 = and 1:i8, %1 | |
| %3:i8 = phi %0, 1:i8, %2 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = var | |
| %2:i8 = phi %0, %1, 0:i8 | |
| infer %2 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = var | |
| %2:i8 = phi %0, %1, 1:i8 | |
| infer %2 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = var | |
| %2:i8 = phi %0, 0:i8, %1 | |
| infer %2 | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = var | |
| %2:i8 = var | |
| %3:i1 = ne %1, %2 | |
| %4:i1 = phi %0, %3, 0:i1 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = var | |
| %2:i8 = var | |
| %3:i8 = phi %0, %1, %2 | |
| %4:i1 = eq 0:i8, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = var | |
| %2:i8 = var | |
| %3:i8 = phi %0, %1, %2 | |
| %4:i1 = eq 0:i8, %3 (hasExternalUses) | |
| %5:i32 = select %4, 0:i32, 65536:i32 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = var | |
| %2:i8 = var | |
| %3:i8 = phi %0, %1, %2 | |
| %4:i1 = eq 0:i8, %3 (hasExternalUses) | |
| %5:i32 = select %4, 0:i32, 788529152:i32 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = var | |
| %2:i8 = var | |
| %3:i8 = phi %0, %1, %2 | |
| %4:i1 = eq 2:i8, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <12> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = var | |
| %2:i8 = var | |
| %3:i8 = phi %0, %1, %2 | |
| %4:i1 = eq 2:i8, %3 (hasExternalUses) | |
| %5:i32 = select %4, 1073741824:i32, 0:i32 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = var | |
| %2:i8 = var | |
| %3:i8 = phi %0, %1, %2 | |
| %4:i1 = eq 2:i8, %3 (hasExternalUses) | |
| %5:i32 = select %4, 65536:i32, 0:i32 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = var | |
| %2:i8 = var | |
| %3:i8 = phi %0, %1, %2 | |
| %4:i1 = eq 2:i8, %3 (hasExternalUses) | |
| %5:i32 = select %4, 704643072:i32, 0:i32 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = var | |
| %2:i8 = var | |
| %3:i8 = phi %0, %1, %2 | |
| %4:i8 = and 1:i8, %3 | |
| %5:i1 = eq 0:i8, %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = var | |
| %2:i8 = var | |
| %3:i8 = phi %0, %1, %2 | |
| %4:i8 = and 1:i8, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = var | |
| %2:i8 = var | |
| %3:i8 = phi %0, %1, %2 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <16> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = var | |
| %2:i8 = var | |
| %3:i8 = phi %0, %1, %2 | |
| infer %3 (demandedBits=00000001) | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = var (knownBits=0000000x) (nonNegative) (signBits=7) (range=[0,2)) | |
| %2:i1 = ne 0:i8, %1 | |
| %3:i1 = phi %0, 1:i1, %2 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = var (knownBits=0000000x) (nonNegative) (signBits=7) (range=[0,2)) | |
| %2:i8 = phi %0, 1:i8, %1 | |
| infer %2 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = var (knownBits=0000000x) (nonNegative) (signBits=7) (range=[0,2)) | |
| %2:i8 = var | |
| %3:i8 = phi %0, %1, %2 | |
| %4:i8 = and 1:i8, %3 | |
| %5:i1 = eq 0:i8, %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = var (knownBits=0000000x) (nonNegative) (signBits=7) (range=[0,2)) | |
| %2:i8 = var | |
| %3:i8 = phi %0, %1, %2 | |
| %4:i8 = and 1:i8, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = var (knownBits=0000000x) (nonNegative) (signBits=7) (range=[0,2)) | |
| %2:i8 = var | |
| %3:i8 = phi %0, %1, %2 | |
| infer %3 (demandedBits=00000001) | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = var (knownBits=00000xxx) (nonNegative) (signBits=5) (range=[0,8)) | |
| %2 = block 14 | |
| %3:i8 = var (knownBits=00000xxx) (nonNegative) (signBits=5) (range=[0,8)) | |
| %4:i8 = var (knownBits=00000xxx) (nonNegative) (signBits=5) (range=[0,8)) | |
| %5:i8 = var (knownBits=00000xxx) (nonNegative) (signBits=5) (range=[0,8)) | |
| %6:i8 = phi %2, 2:i8, 6:i8, 3:i8, 0:i8, 7:i8, 5:i8, 2:i8, 6:i8, %3, %4, 0:i8, 7:i8, 5:i8, %5 | |
| %7:i8 = phi %0, %1, %6 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = var (knownBits=00000xxx) (nonNegative) (signBits=5) (range=[0,8)) | |
| %2:i64 = zext %1 | |
| %3:i64 = shlnw %2, 8:i64 | |
| %4:i64 = phi %0, %3, 0:i64 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = var (knownBits=0000xxxx) (nonNegative) (signBits=4) (range=[0,14)) | |
| %2:i8 = phi %0, %1, 5:i8 | |
| infer %2 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = var (range=[-1,2)) | |
| %2 = block 3 | |
| %3:i8 = var (range=[-1,2)) | |
| %4:i8 = var (range=[-1,2)) | |
| %5:i8 = var (range=[-1,2)) | |
| %6:i8 = phi %2, %3, %4, %5 | |
| %7:i8 = phi %0, %1, %6 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = var (range=[-1,2)) | |
| %2:i8 = phi %0, 0:i8, %1 | |
| infer %2 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = var (range=[-1,2)) | |
| %2:i8 = var | |
| %3:i8 = phi %0, %1, %2 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 2 | |
| %1:i8 = var (range=[-1,2)) | |
| %2:i8 = var (range=[-1,2)) | |
| %3:i8 = phi %0, %1, %2 | |
| infer %3 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 3 | |
| %4 = block 2 | |
| %5:i32 = var | |
| %6:i32 = and 8388607:i32, %5 | |
| %7:i32 = ctlz %6 | |
| %8:i32 = addnw 24:i32, %7 | |
| %9:i32 = and 31:i32, %8 | |
| %10:i32 = shl %6, %9 | |
| %11:i32 = phi %4, %10, %6 | |
| %12:i32 = phi %3, %11, %11, %6 | |
| %13:i32 = or 8388608:i32, %12 | |
| %14:i64 = zext %13 | |
| %15:i32 = var | |
| %16:i32 = and 8388607:i32, %15 | |
| %17:i32 = ctlz %16 | |
| %18:i32 = addnw 24:i32, %17 | |
| %19:i32 = and 31:i32, %18 | |
| %20:i32 = shl %16, %19 | |
| %21:i32 = phi %3, %20, %16, %16 | |
| %22:i32 = shl %21, 8:i32 | |
| %23:i32 = or 2147483648:i32, %22 | |
| %24:i64 = zext %23 | |
| %25:i64 = mulnuw %14, %24 | |
| %26:i64 = lshr %25, 32:i64 | |
| %27:i32 = trunc %26 | |
| %28:i32 = trunc %25 | |
| %29:i32 = lshr %28, 31:i32 | |
| %30:i64 = shlnw %26, 1:i64 | |
| %31:i32 = trunc %30 | |
| %32:i32 = or %29, %31 | |
| %33:i32 = phi %2, %27, %32 | |
| %34:i32 = subnsw 9:i32, %7 | |
| %35:i32 = phi %4, %34, 0:i32 | |
| %36:i32 = subnsw 9:i32, %17 | |
| %37:i32 = addnsw %35, %36 | |
| %38:i32 = phi %3, %37, %35, 0:i32 | |
| %39:i32 = lshr %5, 23:i32 | |
| %40:i32 = and 255:i32, %39 | |
| %41:i32 = lshr %15, 23:i32 | |
| %42:i32 = and 255:i32, %41 | |
| %43:i32 = addnw %40, %42 | |
| %44:i32 = addnsw %38, %43 | |
| %45:i32 = addnsw 4294967170:i32, %44 | |
| %46:i32 = addnsw 4294967169:i32, %44 | |
| %47:i32 = phi %2, %45, %46 | |
| %48:i32 = sub 1:i32, %47 | |
| %49:i32 = lshr %33, %48 | |
| %50:i32 = and 8388607:i32, %33 | |
| %51:i32 = shlnw %47, 23:i32 | |
| %52:i32 = or %50, %51 | |
| %53:i32 = phi %1, %49, %52 | |
| %54:i32 = and 1:i32, %53 | |
| %55:i32 = xor %5, %15 | |
| %56:i32 = and 2147483648:i32, %55 (hasExternalUses) | |
| %57:i32 = or %53, %56 | |
| %58:i32 = add %54, %57 | |
| %59:i32 = add 1:i32, %57 | |
| %60:i32 = phi %0, %58, %57, %59 | |
| infer %60 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2 = block 2 | |
| %3 = block 3 | |
| %4 = block 2 | |
| %5:i64 = var | |
| %6:i64 = and 4503599627370495:i64, %5 | |
| %7:i64 = ctlz %6 | |
| %8:i64 = addnw 53:i64, %7 | |
| %9:i64 = and 63:i64, %8 | |
| %10:i64 = shl %6, %9 | |
| %11:i64 = phi %4, %10, %6 | |
| %12:i64 = phi %3, %11, %11, %6 | |
| %13:i64 = or 4503599627370496:i64, %12 | |
| %14:i128 = zext %13 | |
| %15:i64 = var | |
| %16:i64 = and 4503599627370495:i64, %15 | |
| %17:i64 = ctlz %16 | |
| %18:i64 = addnw 53:i64, %17 | |
| %19:i64 = and 63:i64, %18 | |
| %20:i64 = shl %16, %19 | |
| %21:i64 = phi %3, %20, %16, %16 | |
| %22:i64 = shl %21, 11:i64 | |
| %23:i64 = or 9223372036854775808:i64, %22 | |
| %24:i128 = zext %23 | |
| %25:i128 = mulnuw %14, %24 | |
| %26:i128 = lshr %25, 64:i128 | |
| %27:i64 = trunc %26 | |
| %28:i64 = trunc %25 | |
| %29:i64 = lshr %28, 63:i64 | |
| %30:i128 = shlnw %26, 1:i128 | |
| %31:i64 = trunc %30 | |
| %32:i64 = or %29, %31 | |
| %33:i64 = phi %2, %27, %32 | |
| %34:i32 = trunc %7 | |
| %35:i32 = subnsw 12:i32, %34 | |
| %36:i32 = phi %4, %35, 0:i32 | |
| %37:i32 = trunc %17 | |
| %38:i32 = subnsw 12:i32, %37 | |
| %39:i32 = addnsw %36, %38 | |
| %40:i32 = phi %3, %39, %36, 0:i32 | |
| %41:i64 = lshr %5, 52:i64 | |
| %42:i64 = and 2047:i64, %41 | |
| %43:i32 = trunc %42 | |
| %44:i64 = lshr %15, 52:i64 | |
| %45:i64 = and 2047:i64, %44 | |
| %46:i32 = trunc %45 | |
| %47:i32 = addnw %43, %46 | |
| %48:i32 = addnsw %40, %47 | |
| %49:i32 = add 4294966274:i32, %48 | |
| %50:i32 = add 4294966273:i32, %48 | |
| %51:i32 = phi %2, %49, %50 | |
| %52:i32 = sub 1:i32, %51 | |
| %53:i64 = zext %52 | |
| %54:i64 = lshr %33, %53 | |
| %55:i64 = and 4503599627370495:i64, %33 | |
| %56:i64 = zext %51 | |
| %57:i64 = shlnw %56, 52:i64 | |
| %58:i64 = or %55, %57 | |
| %59:i64 = phi %1, %54, %58 | |
| %60:i64 = and 1:i64, %59 | |
| %61:i64 = xor %5, %15 | |
| %62:i64 = and 9223372036854775808:i64, %61 (hasExternalUses) | |
| %63:i64 = or %59, %62 | |
| %64:i64 = add %60, %63 | |
| %65:i64 = add 1:i64, %63 | |
| %66:i64 = phi %0, %64, %63, %65 | |
| infer %66 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2 = block 4 | |
| %3 = block 2 | |
| %4:i32 = var | |
| %5:i32 = and 2147483647:i32, %4 (hasExternalUses) | |
| %6:i32 = var | |
| %7:i32 = and 2147483647:i32, %6 (hasExternalUses) | |
| %8:i1 = ult %5, %7 (hasExternalUses) | |
| %9:i32 = select %8, %6, %4 (hasExternalUses) | |
| %10:i32 = and 8388607:i32, %9 | |
| %11:i32 = ctlz %10 | |
| %12:i32 = addnw 24:i32, %11 | |
| %13:i32 = and 31:i32, %12 | |
| %14:i32 = shl %10, %13 | |
| %15:i32 = phi %3, %14, %10 | |
| %16:i32 = shl %15, 3:i32 | |
| %17:i32 = or 67108864:i32, %16 | |
| %18 = block 3 | |
| %19 = block 2 | |
| %20:i32 = select %8, %4, %6 | |
| %21:i32 = and 8388607:i32, %20 | |
| %22:i32 = ctlz %21 | |
| %23:i32 = addnw 24:i32, %22 | |
| %24:i32 = and 31:i32, %23 | |
| %25:i32 = shl %21, %24 | |
| %26:i32 = phi %19, %25, %21 | |
| %27:i32 = shl %26, 3:i32 | |
| %28:i32 = or 67108864:i32, %27 | |
| %29:i32 = subnsw 9:i32, %11 | |
| %30:i32 = lshr %9, 23:i32 | |
| %31:i32 = and 255:i32, %30 | |
| %32:i32 = phi %3, %29, %31 | |
| %33:i32 = subnsw 9:i32, %22 | |
| %34:i32 = lshr %20, 23:i32 | |
| %35:i32 = and 255:i32, %34 | |
| %36:i32 = phi %19, %33, %35 | |
| %37:i32 = subnsw %32, %36 | |
| %38:i32 = lshr %28, %37 | |
| %39:i32 = subnw 32:i32, %37 | |
| %40:i32 = shl %28, %39 | |
| %41:i1 = ne 0:i32, %40 | |
| %42:i32 = zext %41 | |
| %43:i32 = or %38, %42 | |
| %44:i32 = phi %18, %43, %28, 1:i32 | |
| %45:i32 = sub %17, %44 | |
| %46:i32 = ctlz %45 | |
| %47:i32 = addnsw 4294967291:i32, %46 | |
| %48:i32 = and 31:i32, %47 | |
| %49:i32 = shl %45, %48 | |
| %50:i32 = add %44, %17 | |
| %51:i32 = and 1:i32, %50 | |
| %52:i32 = lshr %50, 1:i32 | |
| %53:i32 = or %51, %52 | |
| %54:i32 = phi %2, %49, %45, %53, %50 | |
| %55:i32 = subnsw %32, %47 | |
| %56:i32 = addnsw 1:i32, %32 | |
| %57:i32 = phi %2, %55, %32, %56, %32 | |
| %58:i32 = subnsw 1:i32, %57 | |
| %59:i32 = and 31:i32, %58 | |
| %60:i32 = lshr %54, %59 | |
| %61:i32 = addnsw 31:i32, %57 | |
| %62:i32 = and 31:i32, %61 | |
| %63:i32 = shl %54, %62 | |
| %64:i1 = ne 0:i32, %63 | |
| %65:i32 = zext %64 | |
| %66:i32 = or %60, %65 | |
| %67:i32 = phi %1, %66, %54 | |
| %68:i32 = lshr %67, 3:i32 | |
| %69:i32 = and 1:i32, %68 | |
| %70:i32 = and 2147483648:i32, %9 (hasExternalUses) | |
| %71:i32 = and 8388607:i32, %68 | |
| %72:i32 = phi %1, 0:i32, %57 | |
| %73:i32 = shlnw %72, 23:i32 | |
| %74:i32 = or %71, %73 | |
| %75:i32 = or %70, %74 | |
| %76:i32 = add %69, %75 | |
| %77:i32 = add 1:i32, %75 | |
| %78:i32 = phi %0, %76, %75, %77 | |
| infer %78 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2 = block 4 | |
| %3 = block 2 | |
| %4:i32 = var | |
| %5:i32 = and 2147483647:i32, %4 (hasExternalUses) | |
| %6:i32 = var | |
| %7:i32 = and 2147483647:i32, %6 (hasExternalUses) | |
| %8:i1 = ult %5, %7 (hasExternalUses) | |
| %9:i32 = select %8, %6, %4 (hasExternalUses) | |
| %10:i32 = and 8388607:i32, %9 | |
| %11:i32 = ctlz %10 | |
| %12:i32 = addnw 24:i32, %11 | |
| %13:i32 = and 31:i32, %12 | |
| %14:i32 = shl %10, %13 | |
| %15:i32 = phi %3, %14, %10 | |
| %16:i32 = shl %15, 3:i32 | |
| %17:i32 = or 67108864:i32, %16 | |
| %18 = block 3 | |
| %19 = block 2 | |
| %20:i32 = select %8, %4, %6 | |
| %21:i32 = and 8388607:i32, %20 | |
| %22:i32 = ctlz %21 | |
| %23:i32 = addnw 24:i32, %22 | |
| %24:i32 = and 31:i32, %23 | |
| %25:i32 = shl %21, %24 | |
| %26:i32 = phi %19, %25, %21 | |
| %27:i32 = shl %26, 3:i32 | |
| %28:i32 = or 67108864:i32, %27 | |
| %29:i32 = subnsw 9:i32, %11 | |
| %30:i32 = lshr %9, 23:i32 | |
| %31:i32 = and 255:i32, %30 | |
| %32:i32 = phi %3, %29, %31 | |
| %33:i32 = subnsw 9:i32, %22 | |
| %34:i32 = lshr %20, 23:i32 | |
| %35:i32 = and 255:i32, %34 | |
| %36:i32 = phi %19, %33, %35 | |
| %37:i32 = subnsw %32, %36 | |
| %38:i32 = lshr %28, %37 | |
| %39:i32 = subnw 32:i32, %37 | |
| %40:i32 = shl %28, %39 | |
| %41:i1 = ne 0:i32, %40 | |
| %42:i32 = zext %41 | |
| %43:i32 = or %38, %42 | |
| %44:i32 = phi %18, %43, %28, 1:i32 | |
| %45:i32 = sub %17, %44 | |
| %46:i32 = ctlz %45 | |
| %47:i32 = addnsw 4294967291:i32, %46 | |
| %48:i32 = and 31:i32, %47 | |
| %49:i32 = shl %45, %48 | |
| %50:i32 = add %44, %17 | |
| %51:i32 = and 1:i32, %50 | |
| %52:i32 = lshr %50, 1:i32 | |
| %53:i32 = or %51, %52 | |
| %54:i32 = phi %2, %49, %45, %53, %50 | |
| %55:i32 = subnsw %32, %47 | |
| %56:i32 = addnsw 1:i32, %32 | |
| %57:i32 = phi %2, %55, %32, %56, %32 | |
| %58:i32 = subnsw 1:i32, %57 | |
| %59:i32 = and 31:i32, %58 | |
| %60:i32 = lshr %54, %59 | |
| %61:i32 = addnsw 31:i32, %57 | |
| %62:i32 = and 31:i32, %61 | |
| %63:i32 = shl %54, %62 | |
| %64:i1 = ne 0:i32, %63 | |
| %65:i32 = zext %64 | |
| %66:i32 = or %60, %65 | |
| %67:i32 = phi %1, %66, %54 | |
| %68:i32 = lshr %67, 3:i32 | |
| %69:i32 = and 1:i32, %68 | |
| %70:i32 = and 8388607:i32, %68 | |
| %71:i32 = and 2147483648:i32, %9 (hasExternalUses) | |
| %72:i32 = phi %1, 0:i32, %57 | |
| %73:i32 = shlnw %72, 23:i32 | |
| %74:i32 = or %71, %73 | |
| %75:i32 = or %70, %74 | |
| %76:i32 = add %69, %75 | |
| %77:i32 = add 1:i32, %75 | |
| %78:i32 = phi %0, %76, %75, %77 | |
| infer %78 | |
| > | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2 = block 4 | |
| %3 = block 2 | |
| %4:i64 = var | |
| %5:i64 = and 9223372036854775807:i64, %4 (hasExternalUses) | |
| %6:i64 = var | |
| %7:i64 = and 9223372036854775807:i64, %6 (hasExternalUses) | |
| %8:i1 = ult %5, %7 (hasExternalUses) | |
| %9:i64 = select %8, %6, %4 (hasExternalUses) | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i64 = addnw 53:i64, %11 | |
| %13:i64 = and 63:i64, %12 | |
| %14:i64 = shl %10, %13 | |
| %15:i64 = phi %3, %14, %10 | |
| %16:i64 = shl %15, 3:i64 | |
| %17:i64 = or 36028797018963968:i64, %16 | |
| %18 = block 3 | |
| %19 = block 2 | |
| %20:i64 = select %8, %4, %6 | |
| %21:i64 = and 4503599627370495:i64, %20 | |
| %22:i64 = ctlz %21 | |
| %23:i64 = addnw 53:i64, %22 | |
| %24:i64 = and 63:i64, %23 | |
| %25:i64 = shl %21, %24 | |
| %26:i64 = phi %19, %25, %21 | |
| %27:i64 = shl %26, 3:i64 | |
| %28:i64 = or 36028797018963968:i64, %27 | |
| %29:i32 = trunc %11 | |
| %30:i32 = subnsw 12:i32, %29 | |
| %31:i64 = lshr %9, 52:i64 | |
| %32:i32 = trunc %31 | |
| %33:i32 = and 2047:i32, %32 | |
| %34:i32 = phi %3, %30, %33 | |
| %35:i32 = trunc %22 | |
| %36:i32 = subnsw 12:i32, %35 | |
| %37:i64 = lshr %20, 52:i64 | |
| %38:i32 = trunc %37 | |
| %39:i32 = and 2047:i32, %38 | |
| %40:i32 = phi %19, %36, %39 | |
| %41:i32 = subnsw %34, %40 | |
| %42:i64 = zext %41 | |
| %43:i64 = lshr %28, %42 | |
| %44:i32 = subnsw 0:i32, %41 | |
| %45:i32 = and 63:i32, %44 | |
| %46:i64 = zext %45 | |
| %47:i64 = shl %28, %46 | |
| %48:i1 = ne 0:i64, %47 | |
| %49:i64 = zext %48 | |
| %50:i64 = or %43, %49 | |
| %51:i64 = phi %18, %50, %28, 1:i64 | |
| %52:i64 = sub %17, %51 | |
| %53:i64 = ctlz %52 | |
| %54:i32 = trunc %53 | |
| %55:i32 = addnsw 4294967288:i32, %54 | |
| %56:i32 = and 63:i32, %55 | |
| %57:i64 = zext %56 | |
| %58:i64 = shl %52, %57 | |
| %59:i64 = add %51, %17 | |
| %60:i64 = and 1:i64, %59 | |
| %61:i64 = lshr %59, 1:i64 | |
| %62:i64 = or %60, %61 | |
| %63:i64 = phi %2, %58, %52, %62, %59 | |
| %64:i32 = subnsw %34, %55 | |
| %65:i32 = addnsw 1:i32, %34 | |
| %66:i32 = phi %2, %64, %34, %65, %34 | |
| %67:i32 = subnsw 1:i32, %66 | |
| %68:i32 = and 63:i32, %67 | |
| %69:i64 = zext %68 | |
| %70:i64 = lshr %63, %69 | |
| %71:i32 = addnsw 63:i32, %66 | |
| %72:i32 = and 63:i32, %71 | |
| %73:i64 = zext %72 | |
| %74:i64 = shl %63, %73 | |
| %75:i1 = ne 0:i64, %74 | |
| %76:i64 = zext %75 | |
| %77:i64 = or %70, %76 | |
| %78:i64 = phi %1, %77, %63 | |
| %79:i64 = lshr %78, 3:i64 | |
| %80:i64 = and 1:i64, %79 | |
| %81:i64 = and 4503599627370495:i64, %79 | |
| %82:i64 = and 9223372036854775808:i64, %9 (hasExternalUses) | |
| %83:i64 = or %81, %82 | |
| %84:i32 = phi %1, 0:i32, %66 | |
| %85:i64 = zext %84 | |
| %86:i64 = shlnw %85, 52:i64 | |
| %87:i64 = or %83, %86 | |
| %88:i64 = add %80, %87 | |
| %89:i64 = add 1:i64, %87 | |
| %90:i64 = phi %0, %88, %87, %89 | |
| infer %90 | |
| > | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2 = block 4 | |
| %3 = block 2 | |
| %4:i64 = var | |
| %5:i64 = and 9223372036854775807:i64, %4 (hasExternalUses) | |
| %6:i64 = var | |
| %7:i64 = and 9223372036854775807:i64, %6 (hasExternalUses) | |
| %8:i1 = ult %5, %7 (hasExternalUses) | |
| %9:i64 = select %8, %6, %4 (hasExternalUses) | |
| %10:i64 = and 4503599627370495:i64, %9 | |
| %11:i64 = ctlz %10 | |
| %12:i64 = addnw 53:i64, %11 | |
| %13:i64 = and 63:i64, %12 | |
| %14:i64 = shl %10, %13 | |
| %15:i64 = phi %3, %14, %10 | |
| %16:i64 = shl %15, 3:i64 | |
| %17:i64 = or 36028797018963968:i64, %16 | |
| %18 = block 3 | |
| %19 = block 2 | |
| %20:i64 = select %8, %4, %6 | |
| %21:i64 = and 4503599627370495:i64, %20 | |
| %22:i64 = ctlz %21 | |
| %23:i64 = addnw 53:i64, %22 | |
| %24:i64 = and 63:i64, %23 | |
| %25:i64 = shl %21, %24 | |
| %26:i64 = phi %19, %25, %21 | |
| %27:i64 = shl %26, 3:i64 | |
| %28:i64 = or 36028797018963968:i64, %27 | |
| %29:i32 = trunc %11 | |
| %30:i32 = subnsw 12:i32, %29 | |
| %31:i64 = lshr %9, 52:i64 | |
| %32:i32 = trunc %31 | |
| %33:i32 = and 2047:i32, %32 | |
| %34:i32 = phi %3, %30, %33 | |
| %35:i32 = trunc %22 | |
| %36:i32 = subnsw 12:i32, %35 | |
| %37:i64 = lshr %20, 52:i64 | |
| %38:i32 = trunc %37 | |
| %39:i32 = and 2047:i32, %38 | |
| %40:i32 = phi %19, %36, %39 | |
| %41:i32 = subnsw %34, %40 | |
| %42:i64 = zext %41 | |
| %43:i64 = lshr %28, %42 | |
| %44:i32 = subnsw 0:i32, %41 | |
| %45:i32 = and 63:i32, %44 | |
| %46:i64 = zext %45 | |
| %47:i64 = shl %28, %46 | |
| %48:i1 = ne 0:i64, %47 | |
| %49:i64 = zext %48 | |
| %50:i64 = or %43, %49 | |
| %51:i64 = phi %18, %50, %28, 1:i64 | |
| %52:i64 = sub %17, %51 | |
| %53:i64 = ctlz %52 | |
| %54:i32 = trunc %53 | |
| %55:i32 = addnsw 4294967288:i32, %54 | |
| %56:i32 = and 63:i32, %55 | |
| %57:i64 = zext %56 | |
| %58:i64 = shl %52, %57 | |
| %59:i64 = add %51, %17 | |
| %60:i64 = and 1:i64, %59 | |
| %61:i64 = lshr %59, 1:i64 | |
| %62:i64 = or %60, %61 | |
| %63:i64 = phi %2, %58, %52, %62, %59 | |
| %64:i32 = subnsw %34, %55 | |
| %65:i32 = addnsw 1:i32, %34 | |
| %66:i32 = phi %2, %64, %34, %65, %34 | |
| %67:i32 = subnsw 1:i32, %66 | |
| %68:i32 = and 63:i32, %67 | |
| %69:i64 = zext %68 | |
| %70:i64 = lshr %63, %69 | |
| %71:i32 = addnsw 63:i32, %66 | |
| %72:i32 = and 63:i32, %71 | |
| %73:i64 = zext %72 | |
| %74:i64 = shl %63, %73 | |
| %75:i1 = ne 0:i64, %74 | |
| %76:i64 = zext %75 | |
| %77:i64 = or %70, %76 | |
| %78:i64 = phi %1, %77, %63 | |
| %79:i64 = lshr %78, 3:i64 | |
| %80:i64 = and 1:i64, %79 | |
| %81:i64 = and 9223372036854775808:i64, %9 (hasExternalUses) | |
| %82:i64 = and 4503599627370495:i64, %79 | |
| %83:i32 = phi %1, 0:i32, %66 | |
| %84:i64 = zext %83 | |
| %85:i64 = shlnw %84, 52:i64 | |
| %86:i64 = or %82, %85 | |
| %87:i64 = or %81, %86 | |
| %88:i64 = add %80, %87 | |
| %89:i64 = add 1:i64, %87 | |
| %90:i64 = phi %0, %88, %87, %89 | |
| infer %90 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = and 2147483647:i32, %2 | |
| %4:i32 = var | |
| %5:i32 = and 2147483647:i32, %4 | |
| %6:i1 = ult %3, %5 | |
| %7:i32 = select %6, %2, %4 | |
| %8:i32 = and 8388607:i32, %7 | |
| %9:i32 = ctlz %8 | |
| %10:i32 = addnw 24:i32, %9 | |
| %11:i32 = and 31:i32, %10 | |
| %12:i32 = shl %8, %11 | |
| %13:i32 = phi %1, %12, %8 | |
| %14:i32 = shl %13, 3:i32 | |
| %15:i32 = or 67108864:i32, %14 | |
| %16 = block 2 | |
| %17:i32 = select %6, %4, %2 | |
| %18:i32 = and 8388607:i32, %17 | |
| %19:i32 = ctlz %18 | |
| %20:i32 = subnsw 9:i32, %19 | |
| %21:i32 = lshr %17, 23:i32 | |
| %22:i32 = and 255:i32, %21 | |
| %23:i32 = phi %16, %20, %22 | |
| %24:i32 = subnsw 9:i32, %9 | |
| %25:i32 = lshr %7, 23:i32 | |
| %26:i32 = and 255:i32, %25 | |
| %27:i32 = phi %1, %24, %26 | |
| %28:i32 = subnsw %23, %27 (hasExternalUses) | |
| %29:i32 = lshr %15, %28 | |
| %30:i32 = subnw 32:i32, %28 | |
| %31:i32 = shl %15, %30 | |
| %32:i1 = ne 0:i32, %31 | |
| %33:i32 = zext %32 | |
| %34:i32 = or %29, %33 | |
| %35:i32 = phi %0, %34, %15, 1:i32 | |
| infer %35 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = and 8388607:i32, %2 | |
| %4:i32 = ctlz %3 | |
| %5:i32 = addnw 24:i32, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %3, %6 | |
| %8:i32 = phi %1, %7, %3 | |
| %9:i32 = phi %0, %8, %8, %3 | |
| %10:i32 = or 8388608:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i32 = var | |
| %13:i32 = and 8388607:i32, %12 | |
| %14:i32 = ctlz %13 | |
| %15:i32 = addnw 24:i32, %14 | |
| %16:i32 = and 31:i32, %15 | |
| %17:i32 = shl %13, %16 | |
| %18:i32 = phi %0, %17, %13, %13 | |
| %19:i32 = shl %18, 8:i32 | |
| %20:i32 = or 2147483648:i32, %19 | |
| %21:i64 = zext %20 | |
| %22:i64 = mulnuw %11, %21 | |
| infer %22 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = and 8388607:i32, %2 | |
| %4:i32 = ctlz %3 | |
| %5:i32 = addnw 24:i32, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %3, %6 | |
| %8:i32 = phi %1, %7, %3 | |
| %9:i32 = phi %0, %8, %8, %3 | |
| %10:i32 = or 8388608:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i32 = var | |
| %13:i32 = and 8388607:i32, %12 | |
| %14:i32 = ctlz %13 | |
| %15:i32 = addnw 24:i32, %14 | |
| %16:i32 = and 31:i32, %15 | |
| %17:i32 = shl %13, %16 | |
| %18:i32 = phi %0, %17, %13, %13 | |
| %19:i32 = shl %18, 8:i32 | |
| %20:i32 = or 2147483648:i32, %19 | |
| %21:i64 = zext %20 | |
| %22:i64 = mulnuw %11, %21 (hasExternalUses) | |
| %23:i32 = trunc %22 | |
| infer %23 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = and 8388607:i32, %2 | |
| %4:i32 = ctlz %3 | |
| %5:i32 = addnw 24:i32, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %3, %6 | |
| %8:i32 = phi %1, %7, %3 | |
| %9:i32 = phi %0, %8, %8, %3 | |
| %10:i32 = or 8388608:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i32 = var | |
| %13:i32 = and 8388607:i32, %12 | |
| %14:i32 = ctlz %13 | |
| %15:i32 = addnw 24:i32, %14 | |
| %16:i32 = and 31:i32, %15 | |
| %17:i32 = shl %13, %16 | |
| %18:i32 = phi %0, %17, %13, %13 | |
| %19:i32 = shl %18, 8:i32 | |
| %20:i32 = or 2147483648:i32, %19 | |
| %21:i64 = zext %20 | |
| %22:i64 = mulnuw %11, %21 (hasExternalUses) | |
| %23:i64 = lshr %22, 32:i64 | |
| infer %23 (demandedBits=1100000000000000000000000000000011111111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = and 8388607:i32, %2 | |
| %4:i32 = ctlz %3 | |
| %5:i32 = addnw 24:i32, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %3, %6 | |
| %8:i32 = phi %1, %7, %3 | |
| %9:i32 = phi %0, %8, %8, %3 | |
| %10:i32 = or 8388608:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i32 = var | |
| %13:i32 = and 8388607:i32, %12 | |
| %14:i32 = ctlz %13 | |
| %15:i32 = addnw 24:i32, %14 | |
| %16:i32 = and 31:i32, %15 | |
| %17:i32 = shl %13, %16 | |
| %18:i32 = phi %0, %17, %13, %13 | |
| %19:i32 = shl %18, 8:i32 | |
| %20:i32 = or 2147483648:i32, %19 | |
| %21:i64 = zext %20 | |
| %22:i64 = mulnuw %11, %21 (hasExternalUses) | |
| %23:i64 = lshr %22, 32:i64 (hasExternalUses) | |
| %24:i32 = trunc %23 | |
| infer %24 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = and 8388607:i32, %2 | |
| %4:i32 = ctlz %3 | |
| %5:i32 = addnw 24:i32, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %3, %6 | |
| %8:i32 = phi %1, %7, %3 | |
| %9:i32 = phi %0, %8, %8, %3 | |
| %10:i32 = or 8388608:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i32 = var | |
| %13:i32 = and 8388607:i32, %12 | |
| %14:i32 = ctlz %13 | |
| %15:i32 = addnw 24:i32, %14 | |
| %16:i32 = and 31:i32, %15 | |
| %17:i32 = shl %13, %16 | |
| %18:i32 = phi %0, %17, %13, %13 | |
| %19:i32 = shl %18, 8:i32 | |
| %20:i32 = or 2147483648:i32, %19 | |
| %21:i64 = zext %20 | |
| %22:i64 = mulnuw %11, %21 (hasExternalUses) | |
| %23:i64 = lshr %22, 32:i64 (hasExternalUses) | |
| %24:i32 = trunc %23 (hasExternalUses) | |
| %25:i32 = and 8388608:i32, %24 | |
| %26:i1 = eq 0:i32, %25 | |
| infer %26 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = and 8388607:i32, %2 | |
| %4:i32 = ctlz %3 | |
| %5:i32 = addnw 24:i32, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %3, %6 | |
| %8:i32 = phi %1, %7, %3 | |
| %9:i32 = phi %0, %8, %8, %3 | |
| %10:i32 = or 8388608:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i32 = var | |
| %13:i32 = and 8388607:i32, %12 | |
| %14:i32 = ctlz %13 | |
| %15:i32 = addnw 24:i32, %14 | |
| %16:i32 = and 31:i32, %15 | |
| %17:i32 = shl %13, %16 | |
| %18:i32 = phi %0, %17, %13, %13 | |
| %19:i32 = shl %18, 8:i32 | |
| %20:i32 = or 2147483648:i32, %19 | |
| %21:i64 = zext %20 | |
| %22:i64 = mulnuw %11, %21 (hasExternalUses) | |
| %23:i64 = lshr %22, 32:i64 (hasExternalUses) | |
| %24:i32 = trunc %23 (hasExternalUses) | |
| %25:i32 = and 8388608:i32, %24 | |
| %26:i1 = eq 0:i32, %25 | |
| pc %26 0:i1 | |
| %27:i32 = subnsw 9:i32, %4 | |
| %28:i32 = phi %1, %27, 0:i32 | |
| %29:i32 = subnsw 9:i32, %14 | |
| %30:i32 = addnsw %28, %29 | |
| %31:i32 = phi %0, %30, %28, 0:i32 | |
| %32:i32 = lshr %2, 23:i32 | |
| %33:i32 = and 255:i32, %32 (hasExternalUses) | |
| %34:i32 = lshr %12, 23:i32 | |
| %35:i32 = and 255:i32, %34 (hasExternalUses) | |
| %36:i32 = addnw %33, %35 | |
| %37:i32 = addnsw %31, %36 (hasExternalUses) | |
| %38:i32 = addnsw 4294967170:i32, %37 | |
| infer %38 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = and 8388607:i32, %2 | |
| %4:i32 = ctlz %3 | |
| %5:i32 = addnw 24:i32, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %3, %6 | |
| %8:i32 = phi %1, %7, %3 | |
| %9:i32 = phi %0, %8, %8, %3 | |
| %10:i32 = or 8388608:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i32 = var | |
| %13:i32 = and 8388607:i32, %12 | |
| %14:i32 = ctlz %13 | |
| %15:i32 = addnw 24:i32, %14 | |
| %16:i32 = and 31:i32, %15 | |
| %17:i32 = shl %13, %16 | |
| %18:i32 = phi %0, %17, %13, %13 | |
| %19:i32 = shl %18, 8:i32 | |
| %20:i32 = or 2147483648:i32, %19 | |
| %21:i64 = zext %20 | |
| %22:i64 = mulnuw %11, %21 (hasExternalUses) | |
| %23:i64 = lshr %22, 32:i64 (hasExternalUses) | |
| %24:i32 = trunc %23 (hasExternalUses) | |
| %25:i32 = and 8388608:i32, %24 | |
| %26:i1 = eq 0:i32, %25 | |
| pc %26 1:i1 | |
| %27:i32 = subnsw 9:i32, %4 | |
| %28:i32 = phi %1, %27, 0:i32 | |
| %29:i32 = subnsw 9:i32, %14 | |
| %30:i32 = addnsw %28, %29 | |
| %31:i32 = phi %0, %30, %28, 0:i32 | |
| %32:i32 = lshr %2, 23:i32 | |
| %33:i32 = and 255:i32, %32 (hasExternalUses) | |
| %34:i32 = lshr %12, 23:i32 | |
| %35:i32 = and 255:i32, %34 (hasExternalUses) | |
| %36:i32 = addnw %33, %35 | |
| %37:i32 = addnsw %31, %36 (hasExternalUses) | |
| %38:i32 = addnsw 4294967169:i32, %37 | |
| infer %38 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = and 8388607:i32, %2 | |
| %4:i32 = ctlz %3 | |
| %5:i32 = addnw 24:i32, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %3, %6 | |
| %8:i32 = phi %1, %7, %3 | |
| %9:i32 = phi %0, %8, %8, %3 | |
| %10:i32 = or 8388608:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i32 = var | |
| %13:i32 = and 8388607:i32, %12 | |
| %14:i32 = ctlz %13 | |
| %15:i32 = addnw 24:i32, %14 | |
| %16:i32 = and 31:i32, %15 | |
| %17:i32 = shl %13, %16 | |
| %18:i32 = phi %0, %17, %13, %13 | |
| %19:i32 = shl %18, 8:i32 | |
| %20:i32 = or 2147483648:i32, %19 | |
| %21:i64 = zext %20 | |
| %22:i64 = mulnuw %11, %21 (hasExternalUses) | |
| %23:i64 = lshr %22, 32:i64 (hasExternalUses) | |
| %24:i32 = trunc %23 (hasExternalUses) | |
| %25:i32 = and 8388608:i32, %24 | |
| %26:i1 = eq 0:i32, %25 | |
| pc %26 1:i1 | |
| %27:i32 = trunc %22 (hasExternalUses) | |
| %28:i32 = lshr %27, 31:i32 | |
| %29:i64 = shlnw %23, 1:i64 | |
| %30:i32 = trunc %29 | |
| %31:i32 = or %28, %30 | |
| infer %31 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = and 8388607:i32, %2 | |
| %4:i32 = ctlz %3 | |
| %5:i32 = addnw 24:i32, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %3, %6 | |
| %8:i32 = phi %1, %7, %3 | |
| %9:i32 = phi %0, %8, %8, %3 | |
| %10:i32 = or 8388608:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i32 = var | |
| %13:i32 = and 8388607:i32, %12 | |
| %14:i32 = ctlz %13 | |
| %15:i32 = addnw 24:i32, %14 | |
| %16:i32 = and 31:i32, %15 | |
| %17:i32 = shl %13, %16 | |
| %18:i32 = phi %0, %17, %13, %13 | |
| %19:i32 = shl %18, 8:i32 | |
| %20:i32 = or 2147483648:i32, %19 | |
| %21:i64 = zext %20 | |
| %22:i64 = mulnuw %11, %21 (hasExternalUses) | |
| %23:i64 = lshr %22, 32:i64 (hasExternalUses) | |
| %24:i32 = trunc %23 (hasExternalUses) | |
| %25:i32 = and 8388608:i32, %24 | |
| %26:i1 = eq 0:i32, %25 | |
| pc %26 1:i1 | |
| %27:i32 = trunc %22 (hasExternalUses) | |
| %28:i32 = lshr %27, 31:i32 | |
| infer %28 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = and 8388607:i32, %2 | |
| %4:i32 = ctlz %3 | |
| %5:i32 = addnw 24:i32, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %3, %6 | |
| %8:i32 = phi %1, %7, %3 | |
| %9:i32 = phi %0, %8, %8, %3 | |
| %10:i32 = or 8388608:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i32 = var | |
| %13:i32 = and 8388607:i32, %12 | |
| %14:i32 = ctlz %13 | |
| %15:i32 = addnw 24:i32, %14 | |
| %16:i32 = and 31:i32, %15 | |
| %17:i32 = shl %13, %16 | |
| %18:i32 = phi %0, %17, %13, %13 | |
| %19:i32 = shl %18, 8:i32 | |
| %20:i32 = or 2147483648:i32, %19 | |
| %21:i64 = zext %20 | |
| %22:i64 = mulnuw %11, %21 (hasExternalUses) | |
| %23:i64 = lshr %22, 32:i64 (hasExternalUses) | |
| %24:i32 = trunc %23 (hasExternalUses) | |
| %25:i32 = and 8388608:i32, %24 | |
| %26:i1 = eq 0:i32, %25 | |
| pc %26 1:i1 | |
| %27:i32 = trunc %22 (hasExternalUses) | |
| %28:i32 = shl %27, 1:i32 | |
| infer %28 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = and 8388607:i32, %2 | |
| %4:i32 = ctlz %3 | |
| %5:i32 = addnw 24:i32, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %3, %6 | |
| %8:i32 = phi %1, %7, %3 | |
| %9:i32 = phi %0, %8, %8, %3 | |
| %10:i32 = or 8388608:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i32 = var | |
| %13:i32 = and 8388607:i32, %12 | |
| %14:i32 = ctlz %13 | |
| %15:i32 = addnw 24:i32, %14 | |
| %16:i32 = and 31:i32, %15 | |
| %17:i32 = shl %13, %16 | |
| %18:i32 = phi %0, %17, %13, %13 | |
| %19:i32 = shl %18, 8:i32 | |
| %20:i32 = or 2147483648:i32, %19 | |
| %21:i64 = zext %20 | |
| %22:i64 = mulnuw %11, %21 (hasExternalUses) | |
| %23:i64 = lshr %22, 32:i64 (hasExternalUses) | |
| %24:i32 = trunc %23 (hasExternalUses) | |
| %25:i32 = and 8388608:i32, %24 | |
| %26:i1 = eq 0:i32, %25 | |
| pc %26 1:i1 | |
| %27:i64 = shlnw %23, 1:i64 | |
| %28:i32 = trunc %27 | |
| infer %28 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = and 8388607:i32, %2 | |
| %4:i32 = ctlz %3 | |
| %5:i32 = addnw 24:i32, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %3, %6 | |
| %8:i32 = phi %1, %7, %3 | |
| %9:i32 = phi %0, %8, %8, %3 | |
| %10:i32 = or 8388608:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i32 = var | |
| %13:i32 = and 8388607:i32, %12 | |
| %14:i32 = ctlz %13 | |
| %15:i32 = addnw 24:i32, %14 | |
| %16:i32 = and 31:i32, %15 | |
| %17:i32 = shl %13, %16 | |
| %18:i32 = phi %0, %17, %13, %13 | |
| %19:i32 = shl %18, 8:i32 | |
| %20:i32 = or 2147483648:i32, %19 | |
| %21:i64 = zext %20 | |
| %22:i64 = mulnuw %11, %21 (hasExternalUses) | |
| %23:i64 = lshr %22, 32:i64 (hasExternalUses) | |
| %24:i32 = trunc %23 (hasExternalUses) | |
| %25:i32 = and 8388608:i32, %24 | |
| %26:i1 = eq 0:i32, %25 | |
| pc %26 1:i1 | |
| %27:i64 = shlnw %23, 1:i64 | |
| infer %27 (demandedBits=0000000000000000000000000000000011111111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = and 8388607:i32, %2 | |
| %4:i32 = ctlz %3 | |
| %5:i32 = addnw 24:i32, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %3, %6 | |
| %8:i32 = phi %1, %7, %3 | |
| %9:i32 = phi %0, %8, %8, %3 | |
| %10:i32 = or 8388608:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i32 = var | |
| %13:i32 = and 8388607:i32, %12 | |
| %14:i32 = ctlz %13 | |
| %15:i32 = addnw 24:i32, %14 | |
| %16:i32 = and 31:i32, %15 | |
| %17:i32 = shl %13, %16 | |
| %18:i32 = phi %0, %17, %13, %13 | |
| %19:i32 = shl %18, 8:i32 | |
| %20:i32 = or 2147483648:i32, %19 | |
| %21:i64 = zext %20 | |
| %22:i64 = mulnuw %11, %21 (hasExternalUses) | |
| %23:i64 = lshr %22, 32:i64 (hasExternalUses) | |
| %24:i32 = trunc %23 (hasExternalUses) | |
| %25:i32 = and 8388608:i32, %24 | |
| infer %25 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = and 8388607:i32, %2 | |
| %4:i32 = ctlz %3 | |
| %5:i32 = addnw 24:i32, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %3, %6 | |
| %8:i32 = phi %1, %7, %3 | |
| %9:i32 = phi %0, %8, %8, %3 | |
| %10:i32 = or 8388608:i32, %9 | |
| %11:i64 = zext %10 | |
| infer %11 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = and 8388607:i32, %2 | |
| %4:i32 = ctlz %3 | |
| %5:i32 = addnw 24:i32, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %3, %6 | |
| %8:i32 = phi %1, %7, %3 | |
| %9:i32 = phi %0, %8, %8, %3 | |
| %10:i32 = or 8388608:i32, %9 | |
| infer %10 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = and 8388607:i32, %2 | |
| %4:i32 = ctlz %3 | |
| %5:i32 = addnw 24:i32, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %3, %6 | |
| %8:i32 = phi %1, %7, %3 | |
| %9:i32 = phi %0, %8, %8, %3 | |
| %10:i32 = shl %9, 1:i32 | |
| %11:i32 = or 16777216:i32, %10 | |
| %12:i64 = zext %11 | |
| infer %12 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = and 8388607:i32, %2 | |
| %4:i32 = ctlz %3 | |
| %5:i32 = addnw 24:i32, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %3, %6 | |
| %8:i32 = phi %1, %7, %3 | |
| %9:i32 = phi %0, %8, %8, %3 | |
| %10:i32 = shl %9, 1:i32 | |
| %11:i32 = or 16777216:i32, %10 | |
| infer %11 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = and 8388607:i32, %2 | |
| %4:i32 = ctlz %3 | |
| %5:i32 = addnw 24:i32, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %3, %6 | |
| %8:i32 = phi %1, %7, %3 | |
| %9:i32 = phi %0, %8, %8, %3 | |
| %10:i32 = shl %9, 1:i32 | |
| infer %10 (demandedBits=11111110111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = and 8388607:i32, %2 | |
| %4:i32 = ctlz %3 | |
| %5:i32 = addnw 24:i32, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %3, %6 | |
| %8:i32 = phi %1, %7, %3 | |
| %9:i32 = phi %0, %8, %8, %3 | |
| %10:i32 = var | |
| %11:i32 = and 8388607:i32, %10 | |
| %12:i32 = ctlz %11 | |
| %13:i32 = addnw 24:i32, %12 | |
| %14:i32 = and 31:i32, %13 | |
| %15:i32 = shl %11, %14 | |
| %16:i32 = phi %0, %15, %11, %11 | |
| %17:i32 = or 8388608:i32, %16 (hasExternalUses) | |
| %18:i32 = shl %17, 8:i32 | |
| %19:i32 = sub 1963258675:i32, %18 | |
| %20:i64 = zext %19 | |
| %21:i64 = zext %18 | |
| %22:i64 = mulnuw %20, %21 | |
| %23:i64 = lshr %22, 32:i64 | |
| %24:i64 = subnsw 0:i64, %23 | |
| %25:i64 = and 4294967295:i64, %24 | |
| %26:i64 = mulnuw %25, %20 | |
| %27:i64 = lshr %26, 31:i64 | |
| %28:i64 = and 4294967295:i64, %27 | |
| %29:i64 = mulnuw %28, %21 | |
| %30:i64 = lshr %29, 32:i64 | |
| %31:i64 = subnsw 0:i64, %30 | |
| %32:i64 = and 4294967295:i64, %31 | |
| %33:i64 = mulnuw %32, %28 | |
| %34:i64 = lshr %33, 31:i64 | |
| %35:i64 = and 4294967295:i64, %34 | |
| %36:i64 = mulnuw %35, %21 | |
| %37:i64 = lshr %36, 32:i64 | |
| %38:i64 = subnsw 0:i64, %37 | |
| %39:i64 = and 4294967295:i64, %38 | |
| %40:i64 = mulnuw %39, %35 | |
| %41:i64 = lshr %40, 31:i64 | |
| %42:i64 = addnw 4294967294:i64, %41 | |
| %43:i64 = and 4294967295:i64, %42 | |
| %44:i32 = shl %9, 1:i32 | |
| %45:i32 = or 16777216:i32, %44 | |
| %46:i64 = zext %45 | |
| %47:i64 = mulnuw %43, %46 | |
| %48:i64 = lshr %47, 32:i64 | |
| %49:i32 = trunc %48 | |
| %50:i1 = ult %49, 16777216:i32 (hasExternalUses) | |
| %51:i32 = select %50, 24:i32, 23:i32 | |
| %52:i32 = shl %9, %51 | |
| %53:i64 = lshr %47, 33:i64 | |
| %54:i32 = trunc %53 | |
| %55:i32 = select %50, %49, %54 (hasExternalUses) | |
| %56:i32 = mul %17, %55 | |
| %57:i32 = sub %52, %56 | |
| infer %57 (demandedBits=01111111111111111111111111111111) | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = and 8388607:i32, %2 | |
| %4:i32 = ctlz %3 | |
| %5:i32 = addnw 24:i32, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %3, %6 | |
| %8:i32 = phi %1, %7, %3 | |
| %9:i32 = phi %0, %8, %8, %3 | |
| %10:i32 = var | |
| %11:i32 = and 8388607:i32, %10 | |
| %12:i32 = ctlz %11 | |
| %13:i32 = addnw 24:i32, %12 | |
| %14:i32 = and 31:i32, %13 | |
| %15:i32 = shl %11, %14 | |
| %16:i32 = phi %0, %15, %11, %11 | |
| %17:i32 = or 8388608:i32, %16 (hasExternalUses) | |
| %18:i32 = shl %17, 8:i32 | |
| %19:i32 = sub 1963258675:i32, %18 | |
| %20:i64 = zext %19 | |
| %21:i64 = zext %18 | |
| %22:i64 = mulnuw %20, %21 | |
| %23:i64 = lshr %22, 32:i64 | |
| %24:i64 = subnsw 0:i64, %23 | |
| %25:i64 = and 4294967295:i64, %24 | |
| %26:i64 = mulnuw %25, %20 | |
| %27:i64 = lshr %26, 31:i64 | |
| %28:i64 = and 4294967295:i64, %27 | |
| %29:i64 = mulnuw %28, %21 | |
| %30:i64 = lshr %29, 32:i64 | |
| %31:i64 = subnsw 0:i64, %30 | |
| %32:i64 = and 4294967295:i64, %31 | |
| %33:i64 = mulnuw %32, %28 | |
| %34:i64 = lshr %33, 31:i64 | |
| %35:i64 = and 4294967295:i64, %34 | |
| %36:i64 = mulnuw %35, %21 | |
| %37:i64 = lshr %36, 32:i64 | |
| %38:i64 = subnsw 0:i64, %37 | |
| %39:i64 = and 4294967295:i64, %38 | |
| %40:i64 = mulnuw %39, %35 | |
| %41:i64 = lshr %40, 31:i64 | |
| %42:i64 = addnw 4294967294:i64, %41 | |
| %43:i64 = and 4294967295:i64, %42 | |
| %44:i32 = shl %9, 1:i32 | |
| %45:i32 = or 16777216:i32, %44 | |
| %46:i64 = zext %45 | |
| %47:i64 = mulnuw %43, %46 (hasExternalUses) | |
| %48:i64 = lshr %47, 32:i64 | |
| %49:i32 = trunc %48 (hasExternalUses) | |
| %50:i1 = ult %49, 16777216:i32 (hasExternalUses) | |
| %51:i32 = select %50, 24:i32, 23:i32 | |
| %52:i32 = shl %9, %51 | |
| infer %52 (demandedBits=01111111111111111111111111111111) | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = and 8388607:i32, %2 | |
| %4:i32 = ctlz %3 | |
| %5:i32 = subnsw 9:i32, %4 | |
| %6:i32 = phi %1, %5, 0:i32 | |
| %7:i32 = var | |
| %8:i32 = and 8388607:i32, %7 | |
| %9:i32 = ctlz %8 | |
| %10:i32 = addnsw 4294967287:i32, %9 | |
| %11:i32 = addnsw %6, %10 | |
| %12:i32 = phi %0, %11, %6, 0:i32 | |
| %13:i32 = lshr %2, 23:i32 | |
| %14:i32 = and 255:i32, %13 (hasExternalUses) | |
| %15:i32 = lshr %7, 23:i32 | |
| %16:i32 = and 255:i32, %15 (hasExternalUses) | |
| %17:i32 = subnsw %14, %16 | |
| %18:i32 = addnsw %12, %17 | |
| infer %18 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = and 8388607:i32, %2 | |
| %4:i32 = ctlz %3 | |
| %5:i32 = subnsw 9:i32, %4 | |
| %6:i32 = phi %1, %5, 0:i32 | |
| %7:i32 = var | |
| %8:i32 = and 8388607:i32, %7 | |
| %9:i32 = ctlz %8 | |
| %10:i32 = addnsw 4294967287:i32, %9 | |
| %11:i32 = addnsw %6, %10 | |
| %12:i32 = phi %0, %11, %6, 0:i32 | |
| %13:i32 = lshr %2, 23:i32 | |
| %14:i32 = and 255:i32, %13 (hasExternalUses) | |
| %15:i32 = lshr %7, 23:i32 | |
| %16:i32 = and 255:i32, %15 (hasExternalUses) | |
| %17:i32 = subnsw %14, %16 | |
| %18:i32 = addnsw %12, %17 (hasExternalUses) | |
| %19:i32 = addnsw 4294967295:i32, %18 | |
| infer %19 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = and 8388607:i32, %2 | |
| %4:i32 = ctlz %3 | |
| %5:i32 = subnsw 9:i32, %4 | |
| %6:i32 = phi %1, %5, 0:i32 | |
| %7:i32 = var | |
| %8:i32 = and 8388607:i32, %7 | |
| %9:i32 = ctlz %8 | |
| %10:i32 = subnsw 9:i32, %9 | |
| %11:i32 = addnsw %6, %10 | |
| %12:i32 = phi %0, %11, %6, 0:i32 | |
| %13:i32 = lshr %2, 23:i32 | |
| %14:i32 = and 255:i32, %13 (hasExternalUses) | |
| %15:i32 = lshr %7, 23:i32 | |
| %16:i32 = and 255:i32, %15 (hasExternalUses) | |
| %17:i32 = addnw %14, %16 | |
| %18:i32 = addnsw %12, %17 | |
| infer %18 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = and 8388607:i32, %2 | |
| %4:i32 = ctlz %3 | |
| %5:i32 = subnsw 9:i32, %4 | |
| %6:i32 = phi %1, %5, 0:i32 | |
| %7:i32 = var | |
| %8:i32 = and 8388607:i32, %7 (hasExternalUses) | |
| %9:i32 = ctlz %8 (hasExternalUses) | |
| %10:i32 = addnsw 4294967287:i32, %9 | |
| %11:i32 = addnsw %6, %10 | |
| %12:i32 = phi %0, %11, %6, 0:i32 | |
| infer %12 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = and 8388607:i32, %2 | |
| %4:i32 = ctlz %3 | |
| %5:i32 = subnsw 9:i32, %4 | |
| %6:i32 = phi %1, %5, 0:i32 | |
| %7:i32 = var | |
| %8:i32 = and 8388607:i32, %7 (hasExternalUses) | |
| %9:i32 = ctlz %8 (hasExternalUses) | |
| %10:i32 = subnsw 9:i32, %9 | |
| %11:i32 = addnsw %6, %10 | |
| %12:i32 = phi %0, %11, %6, 0:i32 | |
| infer %12 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = and 8388607:i32, %2 (hasExternalUses) | |
| %4:i32 = ctlz %3 | |
| %5:i32 = addnw 24:i32, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %3, %6 | |
| %8:i32 = phi %1, %7, %3 | |
| %9:i32 = phi %0, %8, %8, %3 | |
| infer %9 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = and 8388607:i32, %2 (hasExternalUses) | |
| %4:i32 = ctlz %3 | |
| %5:i32 = addnw 24:i32, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %3, %6 | |
| %8:i32 = phi %1, %7, %3 | |
| %9:i32 = phi %0, %8, %8, %3 | |
| infer %9 (demandedBits=01111111011111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i32 = var | |
| %3:i32 = and 8388607:i32, %2 (hasExternalUses) | |
| %4:i32 = ctlz %3 | |
| %5:i32 = addnw 24:i32, %4 | |
| %6:i32 = and 31:i32, %5 | |
| %7:i32 = shl %3, %6 | |
| %8:i32 = phi %1, %7, %3 | |
| %9:i32 = phi %0, %8, %8, %3 | |
| infer %9 (demandedBits=11111111011111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = add 18446744073709551615:i64, %2 | |
| %4:i64 = phi %1, %2, %3 | |
| %5:i64 = add 18446744073709551615:i64, %4 (hasExternalUses) | |
| %6:i64 = phi %0, %4, %4, %5 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = add 1:i64, %2 | |
| %4:i64 = var | |
| %5:i64 = add 1:i64, %4 | |
| %6:i64 = phi %1, %3, %5 | |
| %7:i64 = var | |
| %8:i64 = phi %0, %6, %6, %7 | |
| %9:i1 = ult %8, 4096:i64 | |
| infer %9 | |
| > | |
| <noinfer> <> | |
| <sprofile > <12> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = add 1:i64, %2 | |
| %4:i64 = var | |
| %5:i64 = add 1:i64, %4 | |
| %6:i64 = phi %1, %3, %5 | |
| %7:i64 = var | |
| %8:i64 = phi %0, %6, %6, %7 | |
| infer %8 | |
| > | |
| <noinfer> <> | |
| <sprofile > <12> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = and 4503599627370495:i64, %2 | |
| %4:i64 = ctlz %3 | |
| %5:i32 = trunc %4 | |
| %6:i32 = subnsw 12:i32, %5 | |
| %7:i32 = phi %1, %6, 0:i32 | |
| %8:i64 = var | |
| %9:i64 = and 4503599627370495:i64, %8 | |
| %10:i64 = ctlz %9 | |
| %11:i32 = trunc %10 | |
| %12:i32 = addnsw 4294967284:i32, %11 | |
| %13:i32 = addnsw %7, %12 | |
| %14:i32 = phi %0, %13, %7, 0:i32 | |
| %15:i64 = lshr %2, 52:i64 | |
| %16:i64 = and 2047:i64, %15 (hasExternalUses) | |
| %17:i32 = trunc %16 | |
| %18:i64 = lshr %8, 52:i64 | |
| %19:i64 = and 2047:i64, %18 (hasExternalUses) | |
| %20:i32 = trunc %19 | |
| %21:i32 = subnsw %17, %20 | |
| %22:i32 = addnsw %14, %21 | |
| infer %22 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = and 4503599627370495:i64, %2 | |
| %4:i64 = ctlz %3 | |
| %5:i32 = trunc %4 | |
| %6:i32 = subnsw 12:i32, %5 | |
| %7:i32 = phi %1, %6, 0:i32 | |
| %8:i64 = var | |
| %9:i64 = and 4503599627370495:i64, %8 | |
| %10:i64 = ctlz %9 | |
| %11:i32 = trunc %10 | |
| %12:i32 = addnsw 4294967284:i32, %11 | |
| %13:i32 = addnsw %7, %12 | |
| %14:i32 = phi %0, %13, %7, 0:i32 | |
| %15:i64 = lshr %2, 52:i64 | |
| %16:i64 = and 2047:i64, %15 (hasExternalUses) | |
| %17:i32 = trunc %16 | |
| %18:i64 = lshr %8, 52:i64 | |
| %19:i64 = and 2047:i64, %18 (hasExternalUses) | |
| %20:i32 = trunc %19 | |
| %21:i32 = subnsw %17, %20 | |
| %22:i32 = addnsw %14, %21 (hasExternalUses) | |
| %23:i32 = add 4294967295:i32, %22 | |
| infer %23 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = and 4503599627370495:i64, %2 | |
| %4:i64 = ctlz %3 | |
| %5:i32 = trunc %4 | |
| %6:i32 = subnsw 12:i32, %5 | |
| %7:i32 = phi %1, %6, 0:i32 | |
| %8:i64 = var | |
| %9:i64 = and 4503599627370495:i64, %8 | |
| %10:i64 = ctlz %9 | |
| %11:i32 = trunc %10 | |
| %12:i32 = subnsw 12:i32, %11 | |
| %13:i32 = addnsw %7, %12 | |
| %14:i32 = phi %0, %13, %7, 0:i32 | |
| %15:i64 = lshr %2, 52:i64 | |
| %16:i64 = and 2047:i64, %15 (hasExternalUses) | |
| %17:i32 = trunc %16 | |
| %18:i64 = lshr %8, 52:i64 | |
| %19:i64 = and 2047:i64, %18 (hasExternalUses) | |
| %20:i32 = trunc %19 | |
| %21:i32 = addnw %17, %20 | |
| %22:i32 = addnsw %14, %21 | |
| infer %22 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = and 4503599627370495:i64, %2 | |
| %4:i64 = ctlz %3 | |
| %5:i32 = trunc %4 | |
| %6:i32 = subnsw 12:i32, %5 | |
| %7:i32 = phi %1, %6, 0:i32 | |
| %8:i64 = var | |
| %9:i64 = and 4503599627370495:i64, %8 (hasExternalUses) | |
| %10:i64 = ctlz %9 (hasExternalUses) | |
| %11:i32 = trunc %10 | |
| %12:i32 = addnsw 4294967284:i32, %11 | |
| %13:i32 = addnsw %7, %12 | |
| %14:i32 = phi %0, %13, %7, 0:i32 | |
| infer %14 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = and 4503599627370495:i64, %2 | |
| %4:i64 = ctlz %3 | |
| %5:i32 = trunc %4 | |
| %6:i32 = subnsw 12:i32, %5 | |
| %7:i32 = phi %1, %6, 0:i32 | |
| %8:i64 = var | |
| %9:i64 = and 4503599627370495:i64, %8 (hasExternalUses) | |
| %10:i64 = ctlz %9 (hasExternalUses) | |
| %11:i32 = trunc %10 | |
| %12:i32 = subnsw 12:i32, %11 | |
| %13:i32 = addnsw %7, %12 | |
| %14:i32 = phi %0, %13, %7, 0:i32 | |
| infer %14 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = and 4503599627370495:i64, %2 | |
| %4:i64 = ctlz %3 | |
| %5:i64 = addnw 53:i64, %4 | |
| %6:i64 = and 63:i64, %5 | |
| %7:i64 = shl %3, %6 | |
| %8:i64 = phi %1, %7, %3 | |
| %9:i64 = phi %0, %8, %8, %3 | |
| %10:i64 = or 4503599627370496:i64, %9 | |
| %11:i128 = zext %10 | |
| %12:i64 = var | |
| %13:i64 = and 4503599627370495:i64, %12 | |
| %14:i64 = ctlz %13 | |
| %15:i64 = addnw 53:i64, %14 | |
| %16:i64 = and 63:i64, %15 | |
| %17:i64 = shl %13, %16 | |
| %18:i64 = phi %0, %17, %13, %13 | |
| %19:i64 = shl %18, 11:i64 | |
| %20:i64 = or 9223372036854775808:i64, %19 | |
| %21:i128 = zext %20 | |
| %22:i128 = mulnuw %11, %21 | |
| infer %22 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = and 4503599627370495:i64, %2 | |
| %4:i64 = ctlz %3 | |
| %5:i64 = addnw 53:i64, %4 | |
| %6:i64 = and 63:i64, %5 | |
| %7:i64 = shl %3, %6 | |
| %8:i64 = phi %1, %7, %3 | |
| %9:i64 = phi %0, %8, %8, %3 | |
| %10:i64 = or 4503599627370496:i64, %9 | |
| %11:i128 = zext %10 | |
| %12:i64 = var | |
| %13:i64 = and 4503599627370495:i64, %12 | |
| %14:i64 = ctlz %13 | |
| %15:i64 = addnw 53:i64, %14 | |
| %16:i64 = and 63:i64, %15 | |
| %17:i64 = shl %13, %16 | |
| %18:i64 = phi %0, %17, %13, %13 | |
| %19:i64 = shl %18, 11:i64 | |
| %20:i64 = or 9223372036854775808:i64, %19 | |
| %21:i128 = zext %20 | |
| %22:i128 = mulnuw %11, %21 (hasExternalUses) | |
| %23:i128 = lshr %22, 64:i128 | |
| infer %23 (demandedBits=11000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = and 4503599627370495:i64, %2 | |
| %4:i64 = ctlz %3 | |
| %5:i64 = addnw 53:i64, %4 | |
| %6:i64 = and 63:i64, %5 | |
| %7:i64 = shl %3, %6 | |
| %8:i64 = phi %1, %7, %3 | |
| %9:i64 = phi %0, %8, %8, %3 | |
| %10:i64 = or 4503599627370496:i64, %9 | |
| %11:i128 = zext %10 | |
| %12:i64 = var | |
| %13:i64 = and 4503599627370495:i64, %12 | |
| %14:i64 = ctlz %13 | |
| %15:i64 = addnw 53:i64, %14 | |
| %16:i64 = and 63:i64, %15 | |
| %17:i64 = shl %13, %16 | |
| %18:i64 = phi %0, %17, %13, %13 | |
| %19:i64 = shl %18, 11:i64 | |
| %20:i64 = or 9223372036854775808:i64, %19 | |
| %21:i128 = zext %20 | |
| %22:i128 = mulnuw %11, %21 (hasExternalUses) | |
| %23:i128 = lshr %22, 64:i128 (hasExternalUses) | |
| %24:i64 = trunc %23 | |
| infer %24 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = and 4503599627370495:i64, %2 | |
| %4:i64 = ctlz %3 | |
| %5:i64 = addnw 53:i64, %4 | |
| %6:i64 = and 63:i64, %5 | |
| %7:i64 = shl %3, %6 | |
| %8:i64 = phi %1, %7, %3 | |
| %9:i64 = phi %0, %8, %8, %3 | |
| %10:i64 = or 4503599627370496:i64, %9 | |
| %11:i128 = zext %10 | |
| %12:i64 = var | |
| %13:i64 = and 4503599627370495:i64, %12 | |
| %14:i64 = ctlz %13 | |
| %15:i64 = addnw 53:i64, %14 | |
| %16:i64 = and 63:i64, %15 | |
| %17:i64 = shl %13, %16 | |
| %18:i64 = phi %0, %17, %13, %13 | |
| %19:i64 = shl %18, 11:i64 | |
| %20:i64 = or 9223372036854775808:i64, %19 | |
| %21:i128 = zext %20 | |
| %22:i128 = mulnuw %11, %21 (hasExternalUses) | |
| %23:i128 = lshr %22, 64:i128 (hasExternalUses) | |
| %24:i64 = trunc %23 (hasExternalUses) | |
| %25:i64 = and 4503599627370496:i64, %24 | |
| %26:i1 = eq 0:i64, %25 | |
| infer %26 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = and 4503599627370495:i64, %2 | |
| %4:i64 = ctlz %3 | |
| %5:i64 = addnw 53:i64, %4 | |
| %6:i64 = and 63:i64, %5 | |
| %7:i64 = shl %3, %6 | |
| %8:i64 = phi %1, %7, %3 | |
| %9:i64 = phi %0, %8, %8, %3 | |
| %10:i64 = or 4503599627370496:i64, %9 | |
| %11:i128 = zext %10 | |
| %12:i64 = var | |
| %13:i64 = and 4503599627370495:i64, %12 | |
| %14:i64 = ctlz %13 | |
| %15:i64 = addnw 53:i64, %14 | |
| %16:i64 = and 63:i64, %15 | |
| %17:i64 = shl %13, %16 | |
| %18:i64 = phi %0, %17, %13, %13 | |
| %19:i64 = shl %18, 11:i64 | |
| %20:i64 = or 9223372036854775808:i64, %19 | |
| %21:i128 = zext %20 | |
| %22:i128 = mulnuw %11, %21 (hasExternalUses) | |
| %23:i128 = lshr %22, 64:i128 (hasExternalUses) | |
| %24:i64 = trunc %23 (hasExternalUses) | |
| %25:i64 = and 4503599627370496:i64, %24 | |
| %26:i1 = eq 0:i64, %25 | |
| pc %26 0:i1 | |
| %27:i32 = trunc %4 | |
| %28:i32 = subnsw 12:i32, %27 | |
| %29:i32 = phi %1, %28, 0:i32 | |
| %30:i32 = trunc %14 | |
| %31:i32 = subnsw 12:i32, %30 | |
| %32:i32 = addnsw %29, %31 | |
| %33:i32 = phi %0, %32, %29, 0:i32 | |
| %34:i64 = lshr %2, 52:i64 | |
| %35:i64 = and 2047:i64, %34 (hasExternalUses) | |
| %36:i32 = trunc %35 | |
| %37:i64 = lshr %12, 52:i64 | |
| %38:i64 = and 2047:i64, %37 (hasExternalUses) | |
| %39:i32 = trunc %38 | |
| %40:i32 = addnw %36, %39 | |
| %41:i32 = addnsw %33, %40 (hasExternalUses) | |
| %42:i32 = add 4294966274:i32, %41 | |
| infer %42 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = and 4503599627370495:i64, %2 | |
| %4:i64 = ctlz %3 | |
| %5:i64 = addnw 53:i64, %4 | |
| %6:i64 = and 63:i64, %5 | |
| %7:i64 = shl %3, %6 | |
| %8:i64 = phi %1, %7, %3 | |
| %9:i64 = phi %0, %8, %8, %3 | |
| %10:i64 = or 4503599627370496:i64, %9 | |
| %11:i128 = zext %10 | |
| %12:i64 = var | |
| %13:i64 = and 4503599627370495:i64, %12 | |
| %14:i64 = ctlz %13 | |
| %15:i64 = addnw 53:i64, %14 | |
| %16:i64 = and 63:i64, %15 | |
| %17:i64 = shl %13, %16 | |
| %18:i64 = phi %0, %17, %13, %13 | |
| %19:i64 = shl %18, 11:i64 | |
| %20:i64 = or 9223372036854775808:i64, %19 | |
| %21:i128 = zext %20 | |
| %22:i128 = mulnuw %11, %21 (hasExternalUses) | |
| %23:i128 = lshr %22, 64:i128 (hasExternalUses) | |
| %24:i64 = trunc %23 (hasExternalUses) | |
| %25:i64 = and 4503599627370496:i64, %24 | |
| %26:i1 = eq 0:i64, %25 | |
| pc %26 1:i1 | |
| %27:i128 = shlnw %23, 1:i128 | |
| %28:i64 = trunc %27 | |
| infer %28 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = and 4503599627370495:i64, %2 | |
| %4:i64 = ctlz %3 | |
| %5:i64 = addnw 53:i64, %4 | |
| %6:i64 = and 63:i64, %5 | |
| %7:i64 = shl %3, %6 | |
| %8:i64 = phi %1, %7, %3 | |
| %9:i64 = phi %0, %8, %8, %3 | |
| %10:i64 = or 4503599627370496:i64, %9 | |
| %11:i128 = zext %10 | |
| %12:i64 = var | |
| %13:i64 = and 4503599627370495:i64, %12 | |
| %14:i64 = ctlz %13 | |
| %15:i64 = addnw 53:i64, %14 | |
| %16:i64 = and 63:i64, %15 | |
| %17:i64 = shl %13, %16 | |
| %18:i64 = phi %0, %17, %13, %13 | |
| %19:i64 = shl %18, 11:i64 | |
| %20:i64 = or 9223372036854775808:i64, %19 | |
| %21:i128 = zext %20 | |
| %22:i128 = mulnuw %11, %21 (hasExternalUses) | |
| %23:i128 = lshr %22, 64:i128 (hasExternalUses) | |
| %24:i64 = trunc %23 (hasExternalUses) | |
| %25:i64 = and 4503599627370496:i64, %24 | |
| %26:i1 = eq 0:i64, %25 | |
| pc %26 1:i1 | |
| %27:i128 = shlnw %23, 1:i128 | |
| infer %27 (demandedBits=00000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = and 4503599627370495:i64, %2 | |
| %4:i64 = ctlz %3 | |
| %5:i64 = addnw 53:i64, %4 | |
| %6:i64 = and 63:i64, %5 | |
| %7:i64 = shl %3, %6 | |
| %8:i64 = phi %1, %7, %3 | |
| %9:i64 = phi %0, %8, %8, %3 | |
| %10:i64 = or 4503599627370496:i64, %9 | |
| %11:i128 = zext %10 | |
| %12:i64 = var | |
| %13:i64 = and 4503599627370495:i64, %12 | |
| %14:i64 = ctlz %13 | |
| %15:i64 = addnw 53:i64, %14 | |
| %16:i64 = and 63:i64, %15 | |
| %17:i64 = shl %13, %16 | |
| %18:i64 = phi %0, %17, %13, %13 | |
| %19:i64 = shl %18, 11:i64 | |
| %20:i64 = or 9223372036854775808:i64, %19 | |
| %21:i128 = zext %20 | |
| %22:i128 = mulnuw %11, %21 (hasExternalUses) | |
| %23:i128 = lshr %22, 64:i128 (hasExternalUses) | |
| %24:i64 = trunc %23 (hasExternalUses) | |
| %25:i64 = and 4503599627370496:i64, %24 | |
| %26:i1 = eq 0:i64, %25 | |
| pc %26 1:i1 | |
| %27:i32 = trunc %4 | |
| %28:i32 = subnsw 12:i32, %27 | |
| %29:i32 = phi %1, %28, 0:i32 | |
| %30:i32 = trunc %14 | |
| %31:i32 = subnsw 12:i32, %30 | |
| %32:i32 = addnsw %29, %31 | |
| %33:i32 = phi %0, %32, %29, 0:i32 | |
| %34:i64 = lshr %2, 52:i64 | |
| %35:i64 = and 2047:i64, %34 (hasExternalUses) | |
| %36:i32 = trunc %35 | |
| %37:i64 = lshr %12, 52:i64 | |
| %38:i64 = and 2047:i64, %37 (hasExternalUses) | |
| %39:i32 = trunc %38 | |
| %40:i32 = addnw %36, %39 | |
| %41:i32 = addnsw %33, %40 (hasExternalUses) | |
| %42:i32 = add 4294966273:i32, %41 | |
| infer %42 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = and 4503599627370495:i64, %2 | |
| %4:i64 = ctlz %3 | |
| %5:i64 = addnw 53:i64, %4 | |
| %6:i64 = and 63:i64, %5 | |
| %7:i64 = shl %3, %6 | |
| %8:i64 = phi %1, %7, %3 | |
| %9:i64 = phi %0, %8, %8, %3 | |
| %10:i64 = or 4503599627370496:i64, %9 | |
| %11:i128 = zext %10 | |
| %12:i64 = var | |
| %13:i64 = and 4503599627370495:i64, %12 | |
| %14:i64 = ctlz %13 | |
| %15:i64 = addnw 53:i64, %14 | |
| %16:i64 = and 63:i64, %15 | |
| %17:i64 = shl %13, %16 | |
| %18:i64 = phi %0, %17, %13, %13 | |
| %19:i64 = shl %18, 11:i64 | |
| %20:i64 = or 9223372036854775808:i64, %19 | |
| %21:i128 = zext %20 | |
| %22:i128 = mulnuw %11, %21 (hasExternalUses) | |
| %23:i128 = lshr %22, 64:i128 (hasExternalUses) | |
| %24:i64 = trunc %23 (hasExternalUses) | |
| %25:i64 = and 4503599627370496:i64, %24 | |
| %26:i1 = eq 0:i64, %25 | |
| pc %26 1:i1 | |
| %27:i64 = trunc %22 (hasExternalUses) | |
| %28:i64 = lshr %27, 63:i64 | |
| %29:i128 = shlnw %23, 1:i128 | |
| %30:i64 = trunc %29 | |
| %31:i64 = or %28, %30 | |
| infer %31 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = and 4503599627370495:i64, %2 | |
| %4:i64 = ctlz %3 | |
| %5:i64 = addnw 53:i64, %4 | |
| %6:i64 = and 63:i64, %5 | |
| %7:i64 = shl %3, %6 | |
| %8:i64 = phi %1, %7, %3 | |
| %9:i64 = phi %0, %8, %8, %3 | |
| %10:i64 = or 4503599627370496:i64, %9 | |
| %11:i128 = zext %10 | |
| %12:i64 = var | |
| %13:i64 = and 4503599627370495:i64, %12 | |
| %14:i64 = ctlz %13 | |
| %15:i64 = addnw 53:i64, %14 | |
| %16:i64 = and 63:i64, %15 | |
| %17:i64 = shl %13, %16 | |
| %18:i64 = phi %0, %17, %13, %13 | |
| %19:i64 = shl %18, 11:i64 | |
| %20:i64 = or 9223372036854775808:i64, %19 | |
| %21:i128 = zext %20 | |
| %22:i128 = mulnuw %11, %21 (hasExternalUses) | |
| %23:i128 = lshr %22, 64:i128 (hasExternalUses) | |
| %24:i64 = trunc %23 (hasExternalUses) | |
| %25:i64 = and 4503599627370496:i64, %24 | |
| %26:i1 = eq 0:i64, %25 | |
| pc %26 1:i1 | |
| %27:i64 = trunc %22 (hasExternalUses) | |
| %28:i64 = lshr %27, 63:i64 | |
| infer %28 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = and 4503599627370495:i64, %2 | |
| %4:i64 = ctlz %3 | |
| %5:i64 = addnw 53:i64, %4 | |
| %6:i64 = and 63:i64, %5 | |
| %7:i64 = shl %3, %6 | |
| %8:i64 = phi %1, %7, %3 | |
| %9:i64 = phi %0, %8, %8, %3 | |
| %10:i64 = or 4503599627370496:i64, %9 | |
| %11:i128 = zext %10 | |
| %12:i64 = var | |
| %13:i64 = and 4503599627370495:i64, %12 | |
| %14:i64 = ctlz %13 | |
| %15:i64 = addnw 53:i64, %14 | |
| %16:i64 = and 63:i64, %15 | |
| %17:i64 = shl %13, %16 | |
| %18:i64 = phi %0, %17, %13, %13 | |
| %19:i64 = shl %18, 11:i64 | |
| %20:i64 = or 9223372036854775808:i64, %19 | |
| %21:i128 = zext %20 | |
| %22:i128 = mulnuw %11, %21 (hasExternalUses) | |
| %23:i128 = lshr %22, 64:i128 (hasExternalUses) | |
| %24:i64 = trunc %23 (hasExternalUses) | |
| %25:i64 = and 4503599627370496:i64, %24 | |
| %26:i1 = eq 0:i64, %25 | |
| pc %26 1:i1 | |
| %27:i64 = trunc %22 (hasExternalUses) | |
| %28:i64 = shl %27, 1:i64 | |
| infer %28 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = and 4503599627370495:i64, %2 | |
| %4:i64 = ctlz %3 | |
| %5:i64 = addnw 53:i64, %4 | |
| %6:i64 = and 63:i64, %5 | |
| %7:i64 = shl %3, %6 | |
| %8:i64 = phi %1, %7, %3 | |
| %9:i64 = phi %0, %8, %8, %3 | |
| %10:i64 = or 4503599627370496:i64, %9 | |
| %11:i128 = zext %10 | |
| %12:i64 = var | |
| %13:i64 = and 4503599627370495:i64, %12 | |
| %14:i64 = ctlz %13 | |
| %15:i64 = addnw 53:i64, %14 | |
| %16:i64 = and 63:i64, %15 | |
| %17:i64 = shl %13, %16 | |
| %18:i64 = phi %0, %17, %13, %13 | |
| %19:i64 = shl %18, 11:i64 | |
| %20:i64 = or 9223372036854775808:i64, %19 | |
| %21:i128 = zext %20 | |
| %22:i128 = mulnuw %11, %21 (hasExternalUses) | |
| %23:i128 = lshr %22, 64:i128 (hasExternalUses) | |
| %24:i64 = trunc %23 (hasExternalUses) | |
| %25:i64 = and 4503599627370496:i64, %24 | |
| infer %25 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = and 4503599627370495:i64, %2 | |
| %4:i64 = ctlz %3 | |
| %5:i64 = addnw 53:i64, %4 | |
| %6:i64 = and 63:i64, %5 | |
| %7:i64 = shl %3, %6 | |
| %8:i64 = phi %1, %7, %3 | |
| %9:i64 = phi %0, %8, %8, %3 | |
| %10:i64 = or 4503599627370496:i64, %9 | |
| %11:i128 = zext %10 | |
| %12:i64 = var | |
| %13:i64 = and 4503599627370495:i64, %12 | |
| %14:i64 = ctlz %13 | |
| %15:i64 = addnw 53:i64, %14 | |
| %16:i64 = and 63:i64, %15 | |
| %17:i64 = shl %13, %16 | |
| %18:i64 = phi %0, %17, %13, %13 | |
| %19:i64 = shl %18, 11:i64 | |
| %20:i64 = or 9223372036854775808:i64, %19 | |
| %21:i128 = zext %20 | |
| %22:i128 = mulnuw %11, %21 (hasExternalUses) | |
| %23:i64 = trunc %22 | |
| infer %23 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = and 4503599627370495:i64, %2 | |
| %4:i64 = ctlz %3 | |
| %5:i64 = addnw 53:i64, %4 | |
| %6:i64 = and 63:i64, %5 | |
| %7:i64 = shl %3, %6 | |
| %8:i64 = phi %1, %7, %3 | |
| %9:i64 = phi %0, %8, %8, %3 | |
| %10:i64 = or 4503599627370496:i64, %9 | |
| %11:i128 = zext %10 | |
| infer %11 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = and 4503599627370495:i64, %2 | |
| %4:i64 = ctlz %3 | |
| %5:i64 = addnw 53:i64, %4 | |
| %6:i64 = and 63:i64, %5 | |
| %7:i64 = shl %3, %6 | |
| %8:i64 = phi %1, %7, %3 | |
| %9:i64 = phi %0, %8, %8, %3 | |
| %10:i64 = or 4503599627370496:i64, %9 | |
| infer %10 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = and 4503599627370495:i64, %2 | |
| %4:i64 = ctlz %3 | |
| %5:i64 = addnw 53:i64, %4 | |
| %6:i64 = and 63:i64, %5 | |
| %7:i64 = shl %3, %6 | |
| %8:i64 = phi %1, %7, %3 | |
| %9:i64 = phi %0, %8, %8, %3 | |
| %10:i64 = shl %9, 2:i64 | |
| %11:i64 = or 18014398509481984:i64, %10 | |
| %12:i128 = zext %11 | |
| infer %12 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = and 4503599627370495:i64, %2 | |
| %4:i64 = ctlz %3 | |
| %5:i64 = addnw 53:i64, %4 | |
| %6:i64 = and 63:i64, %5 | |
| %7:i64 = shl %3, %6 | |
| %8:i64 = phi %1, %7, %3 | |
| %9:i64 = phi %0, %8, %8, %3 | |
| %10:i64 = shl %9, 2:i64 | |
| %11:i64 = or 18014398509481984:i64, %10 | |
| infer %11 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = and 4503599627370495:i64, %2 | |
| %4:i64 = ctlz %3 | |
| %5:i64 = addnw 53:i64, %4 | |
| %6:i64 = and 63:i64, %5 | |
| %7:i64 = shl %3, %6 | |
| %8:i64 = phi %1, %7, %3 | |
| %9:i64 = phi %0, %8, %8, %3 | |
| %10:i64 = shl %9, 2:i64 | |
| infer %10 (demandedBits=1111111110111111111111111111111111111111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = and 4503599627370495:i64, %2 | |
| %4:i64 = ctlz %3 | |
| %5:i64 = addnw 53:i64, %4 | |
| %6:i64 = and 63:i64, %5 | |
| %7:i64 = shl %3, %6 | |
| %8:i64 = phi %1, %7, %3 | |
| %9:i64 = phi %0, %8, %8, %3 | |
| %10:i64 = var | |
| %11:i64 = and 4503599627370495:i64, %10 | |
| %12:i64 = ctlz %11 | |
| %13:i64 = addnw 53:i64, %12 | |
| %14:i64 = and 63:i64, %13 | |
| %15:i64 = shl %11, %14 | |
| %16:i64 = phi %0, %15, %11, %11 | |
| %17:i64 = or 4503599627370496:i64, %16 (hasExternalUses) | |
| %18:i64 = lshr %17, 21:i64 | |
| %19:i64 = subnsw 1963258675:i64, %18 | |
| %20:i64 = and 4294967295:i64, %19 | |
| %21:i64 = and 4294967295:i64, %18 | |
| %22:i64 = mulnuw %20, %21 | |
| %23:i64 = lshr %22, 32:i64 | |
| %24:i64 = subnsw 0:i64, %23 | |
| %25:i64 = and 4294967295:i64, %24 | |
| %26:i64 = mulnuw %25, %20 | |
| %27:i64 = lshr %26, 31:i64 | |
| %28:i64 = and 4294967295:i64, %27 | |
| %29:i64 = mulnuw %28, %21 | |
| %30:i64 = lshr %29, 32:i64 | |
| %31:i64 = subnsw 0:i64, %30 | |
| %32:i64 = and 4294967295:i64, %31 | |
| %33:i64 = mulnuw %32, %28 | |
| %34:i64 = lshr %33, 31:i64 | |
| %35:i64 = and 4294967295:i64, %34 | |
| %36:i64 = mulnuw %35, %21 | |
| %37:i64 = lshr %36, 32:i64 | |
| %38:i64 = subnsw 0:i64, %37 | |
| %39:i64 = and 4294967295:i64, %38 | |
| %40:i64 = mulnuw %39, %35 | |
| %41:i64 = lshr %40, 31:i64 | |
| %42:i64 = addnw 4294967295:i64, %41 | |
| %43:i64 = and 4294967295:i64, %42 | |
| %44:i64 = mulnuw %43, %21 | |
| %45:i64 = shl %16, 11:i64 | |
| %46:i64 = and 4294965248:i64, %45 | |
| %47:i64 = mulnuw %46, %43 | |
| %48:i64 = lshr %47, 32:i64 | |
| %49:i64 = addnuw %44, %48 | |
| %50:i64 = sub 0:i64, %49 | |
| %51:i64 = lshr %50, 32:i64 | |
| %52:i64 = mulnuw %43, %51 | |
| %53:i64 = add 18446744073709551614:i64, %52 | |
| %54:i64 = and 4294967295:i64, %50 | |
| %55:i64 = mulnuw %43, %54 | |
| %56:i64 = lshr %55, 32:i64 | |
| %57:i64 = add %53, %56 | |
| %58:i128 = zext %57 | |
| %59:i64 = shl %9, 2:i64 | |
| %60:i64 = or 18014398509481984:i64, %59 | |
| %61:i128 = zext %60 | |
| %62:i128 = mulnuw %58, %61 | |
| %63:i128 = lshr %62, 64:i128 | |
| %64:i64 = trunc %63 | |
| %65:i1 = ult %64, 9007199254740992:i64 (hasExternalUses) | |
| %66:i64 = select %65, 53:i64, 52:i64 | |
| %67:i64 = shl %9, %66 | |
| %68:i128 = lshr %62, 65:i128 | |
| %69:i64 = trunc %68 | |
| %70:i64 = select %65, %64, %69 (hasExternalUses) | |
| %71:i64 = mul %17, %70 | |
| %72:i64 = sub %67, %71 | |
| infer %72 (demandedBits=0111111111111111111111111111111111111111111111111111111111111111) | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = and 4503599627370495:i64, %2 | |
| %4:i64 = ctlz %3 | |
| %5:i64 = addnw 53:i64, %4 | |
| %6:i64 = and 63:i64, %5 | |
| %7:i64 = shl %3, %6 | |
| %8:i64 = phi %1, %7, %3 | |
| %9:i64 = phi %0, %8, %8, %3 | |
| %10:i64 = var | |
| %11:i64 = and 4503599627370495:i64, %10 | |
| %12:i64 = ctlz %11 | |
| %13:i64 = addnw 53:i64, %12 | |
| %14:i64 = and 63:i64, %13 | |
| %15:i64 = shl %11, %14 | |
| %16:i64 = phi %0, %15, %11, %11 | |
| %17:i64 = or 4503599627370496:i64, %16 (hasExternalUses) | |
| %18:i64 = lshr %17, 21:i64 | |
| %19:i64 = subnsw 1963258675:i64, %18 | |
| %20:i64 = and 4294967295:i64, %19 | |
| %21:i64 = and 4294967295:i64, %18 | |
| %22:i64 = mulnuw %20, %21 | |
| %23:i64 = lshr %22, 32:i64 | |
| %24:i64 = subnsw 0:i64, %23 | |
| %25:i64 = and 4294967295:i64, %24 | |
| %26:i64 = mulnuw %25, %20 | |
| %27:i64 = lshr %26, 31:i64 | |
| %28:i64 = and 4294967295:i64, %27 | |
| %29:i64 = mulnuw %28, %21 | |
| %30:i64 = lshr %29, 32:i64 | |
| %31:i64 = subnsw 0:i64, %30 | |
| %32:i64 = and 4294967295:i64, %31 | |
| %33:i64 = mulnuw %32, %28 | |
| %34:i64 = lshr %33, 31:i64 | |
| %35:i64 = and 4294967295:i64, %34 | |
| %36:i64 = mulnuw %35, %21 | |
| %37:i64 = lshr %36, 32:i64 | |
| %38:i64 = subnsw 0:i64, %37 | |
| %39:i64 = and 4294967295:i64, %38 | |
| %40:i64 = mulnuw %39, %35 | |
| %41:i64 = lshr %40, 31:i64 | |
| %42:i64 = addnw 4294967295:i64, %41 | |
| %43:i64 = and 4294967295:i64, %42 | |
| %44:i64 = mulnuw %43, %21 | |
| %45:i64 = shl %16, 11:i64 | |
| %46:i64 = and 4294965248:i64, %45 | |
| %47:i64 = mulnuw %46, %43 | |
| %48:i64 = lshr %47, 32:i64 | |
| %49:i64 = addnuw %44, %48 | |
| %50:i64 = sub 0:i64, %49 | |
| %51:i64 = lshr %50, 32:i64 | |
| %52:i64 = mulnuw %43, %51 | |
| %53:i64 = add 18446744073709551614:i64, %52 | |
| %54:i64 = and 4294967295:i64, %50 | |
| %55:i64 = mulnuw %43, %54 | |
| %56:i64 = lshr %55, 32:i64 | |
| %57:i64 = add %53, %56 | |
| %58:i128 = zext %57 | |
| %59:i64 = shl %9, 2:i64 | |
| %60:i64 = or 18014398509481984:i64, %59 | |
| %61:i128 = zext %60 | |
| %62:i128 = mulnuw %58, %61 (hasExternalUses) | |
| %63:i128 = lshr %62, 64:i128 | |
| %64:i64 = trunc %63 (hasExternalUses) | |
| %65:i1 = ult %64, 9007199254740992:i64 (hasExternalUses) | |
| %66:i64 = select %65, 53:i64, 52:i64 | |
| %67:i64 = shl %9, %66 | |
| infer %67 (demandedBits=0111111111111111111111111111111111111111111111111111111111111111) | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = and 4503599627370495:i64, %2 (hasExternalUses) | |
| %4:i64 = ctlz %3 | |
| %5:i64 = addnw 53:i64, %4 | |
| %6:i64 = and 63:i64, %5 | |
| %7:i64 = shl %3, %6 | |
| %8:i64 = phi %1, %7, %3 | |
| %9:i64 = phi %0, %8, %8, %3 | |
| infer %9 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = and 4503599627370495:i64, %2 (hasExternalUses) | |
| %4:i64 = ctlz %3 | |
| %5:i64 = addnw 53:i64, %4 | |
| %6:i64 = and 63:i64, %5 | |
| %7:i64 = shl %3, %6 | |
| %8:i64 = phi %1, %7, %3 | |
| %9:i64 = phi %0, %8, %8, %3 | |
| infer %9 (demandedBits=0011111111101111111111111111111111111111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = and 4503599627370495:i64, %2 (hasExternalUses) | |
| %4:i64 = ctlz %3 | |
| %5:i64 = addnw 53:i64, %4 | |
| %6:i64 = and 63:i64, %5 | |
| %7:i64 = shl %3, %6 | |
| %8:i64 = phi %1, %7, %3 | |
| %9:i64 = phi %0, %8, %8, %3 | |
| infer %9 (demandedBits=1111111111101111111111111111111111111111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i64 = var | |
| %3:i64 = and 9223372036854775807:i64, %2 | |
| %4:i64 = var | |
| %5:i64 = and 9223372036854775807:i64, %4 | |
| %6:i1 = ult %3, %5 | |
| %7:i64 = select %6, %2, %4 | |
| %8:i64 = and 4503599627370495:i64, %7 | |
| %9:i64 = ctlz %8 | |
| %10:i64 = addnw 53:i64, %9 | |
| %11:i64 = and 63:i64, %10 | |
| %12:i64 = shl %8, %11 | |
| %13:i64 = phi %1, %12, %8 | |
| %14:i64 = shl %13, 3:i64 | |
| %15:i64 = or 36028797018963968:i64, %14 | |
| %16 = block 2 | |
| %17:i64 = select %6, %4, %2 | |
| %18:i64 = and 4503599627370495:i64, %17 | |
| %19:i64 = ctlz %18 | |
| %20:i32 = trunc %19 | |
| %21:i32 = subnsw 12:i32, %20 | |
| %22:i64 = lshr %17, 52:i64 | |
| %23:i32 = trunc %22 | |
| %24:i32 = and 2047:i32, %23 | |
| %25:i32 = phi %16, %21, %24 | |
| %26:i32 = trunc %9 | |
| %27:i32 = subnsw 12:i32, %26 | |
| %28:i64 = lshr %7, 52:i64 | |
| %29:i32 = trunc %28 | |
| %30:i32 = and 2047:i32, %29 | |
| %31:i32 = phi %1, %27, %30 | |
| %32:i32 = subnsw %25, %31 (hasExternalUses) | |
| %33:i64 = zext %32 | |
| %34:i64 = lshr %15, %33 | |
| %35:i32 = subnsw 0:i32, %32 | |
| %36:i32 = and 63:i32, %35 | |
| %37:i64 = zext %36 | |
| %38:i64 = shl %15, %37 | |
| %39:i1 = ne 0:i64, %38 | |
| %40:i64 = zext %39 | |
| %41:i64 = or %34, %40 | |
| %42:i64 = phi %0, %41, %15, 1:i64 | |
| infer %42 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i8 = var | |
| %3:i1 = eq 1:i8, %2 | |
| %4:i1 = phi %1, 0:i1, %3 | |
| %5:i8 = var | |
| %6:i8 = select %4, 1:i8, %5 | |
| %7:i8 = phi %0, 1:i8, %6, 1:i8 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i8 = var | |
| %3:i1 = eq 3:i8, %2 | |
| %4:i1 = select %3, 0:i1, 1:i1 | |
| %5:i1 = eq 1:i8, %2 | |
| %6:i1 = select %4, %5, 1:i1 | |
| %7:i1 = phi %1, 0:i1, %6 | |
| %8:i8 = var | |
| %9:i8 = select %7, 1:i8, %8 | |
| %10:i8 = phi %0, 1:i8, %9, 1:i8 | |
| infer %10 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i8 = var | |
| %3:i8 = phi %1, %2, 0:i8 | |
| %4:i8 = phi %0, 244:i8, 0:i8, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 2 | |
| %2:i8 = var (knownBits=0000xxxx) (nonNegative) (signBits=4) (range=[0,14)) | |
| %3:i8 = phi %1, %2, 5:i8 | |
| %4:i8 = phi %0, 13:i8, 5:i8, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = add 18446744073709551615:i64, %3 | |
| %5:i64 = phi %2, %3, %4 | |
| %6:i64 = add 18446744073709551615:i64, %5 | |
| %7:i64 = phi %1, %5, %5, %6 | |
| %8:i64 = phi %0, %7, %5, %3 | |
| %9:i1 = ult 4096:i64, %8 | |
| infer %9 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = add 18446744073709551615:i64, %3 | |
| %5:i64 = phi %2, %3, %4 | |
| %6:i64 = add 18446744073709551615:i64, %5 | |
| %7:i64 = phi %1, %5, %5, %6 | |
| %8:i64 = phi %0, %7, %5, %3 | |
| %9:i1 = ult 4096:i64, %8 | |
| pc %9 0:i1 | |
| %10:i64 = var | |
| %11:i64 = add %10, %8 | |
| infer %11 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = add 18446744073709551615:i64, %3 | |
| %5:i64 = phi %2, %3, %4 | |
| %6:i64 = add 18446744073709551615:i64, %5 | |
| %7:i64 = phi %1, %5, %5, %6 | |
| %8:i64 = phi %0, %7, %5, %3 | |
| %9:i1 = ult 4096:i64, %8 | |
| pc %9 0:i1 | |
| %10:i64 = var | |
| %11:i64 = add %10, %8 (hasExternalUses) | |
| %12:i1 = ult %11, %10 | |
| infer %12 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = add 18446744073709551615:i64, %3 | |
| %5:i64 = phi %2, %3, %4 | |
| %6:i64 = add 18446744073709551615:i64, %5 | |
| %7:i64 = phi %1, %5, %5, %6 | |
| %8:i64 = phi %0, %7, %5, %3 | |
| %9:i1 = ult 4096:i64, %8 | |
| pc %9 0:i1 | |
| %10:i64 = var | |
| %11:i64 = add %10, %8 (hasExternalUses) | |
| %12:i1 = ult %11, %10 | |
| pc %12 0:i1 | |
| %13:i1 = ult 4096:i64, %11 | |
| infer %13 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = add 18446744073709551615:i64, %3 | |
| %5:i64 = phi %2, %3, %4 | |
| %6:i64 = add 18446744073709551615:i64, %5 | |
| %7:i64 = phi %1, %5, %5, %6 | |
| %8:i64 = phi %0, %7, %5, %3 | |
| %9:i1 = ult 4096:i64, %8 | |
| pc %9 0:i1 | |
| %10:i64 = var | |
| %11:i64 = add %10, %8 (hasExternalUses) | |
| %12:i1 = ult %11, %10 | |
| pc %12 0:i1 | |
| %13:i1 = ult 4096:i64, %11 | |
| pc %13 0:i1 | |
| %14:i64 = var | |
| %15:i64 = add %14, %8 | |
| infer %15 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 3 | |
| %2 = block 2 | |
| %3:i64 = var | |
| %4:i64 = add 18446744073709551615:i64, %3 | |
| %5:i64 = phi %2, %3, %4 | |
| %6:i64 = add 18446744073709551615:i64, %5 | |
| %7:i64 = phi %1, %5, %5, %6 | |
| %8:i64 = phi %0, %7, %5, %3 | |
| infer %8 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 3 | |
| %2:i64 = var | |
| %3:i128 = zext %2 | |
| %4:i128 = var | |
| %5:i1 = slt %4, 0:i128 | |
| %6:i128 = sub 0:i128, %4 | |
| %7:i128 = select %5, %6, %4 | |
| %8:i128 = lshr %7, 64:i128 | |
| %9:i64 = trunc %8 | |
| %10:i128 = var | |
| %11:i1 = slt %10, 0:i128 | |
| %12:i128 = sub 0:i128, %10 | |
| %13:i128 = select %11, %12, %10 | |
| %14:i64 = trunc %13 | |
| %15:i64 = udiv %9, %14 | |
| %16:i128 = zext %15 | |
| %17:i128 = shlnuw %16, 64:i128 | |
| %18:i64 = var | |
| %19:i128 = zext %18 | |
| %20:i128 = or %17, %19 | |
| %21:i64 = var | |
| %22:i128 = lshr %13, 64:i128 | |
| %23:i64 = trunc %22 | |
| %24:i64 = ctlz %23 | |
| %25:i64 = xor 63:i64, %24 | |
| %26:i64 = lshr %21, %25 | |
| %27:i1 = eq 0:i64, %26 | |
| %28:i64 = add 18446744073709551615:i64, %26 | |
| %29:i64 = select %27, 0:i64, %28 | |
| %30:i128 = zext %29 | |
| %31:i128 = mul %13, %30 | |
| %32:i128 = sub %7, %31 | |
| %33:i1 = ult %32, %13 | |
| %34:i64 = select %33, 0:i64, 1:i64 | |
| %35:i64 = add %29, %34 | |
| %36:i128 = zext %35 | |
| %37:i128 = phi %1, %3, %20, %36 | |
| %38:i128 = sub 0:i128, %37 | |
| %39:i128 = phi %0, %38, %37, %37 | |
| infer %39 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 4 | |
| %2:i32 = var | |
| %3:i1 = slt %2, 0:i32 | |
| %4:i32 = sub 0:i32, %2 | |
| %5:i32 = select %3, %4, %2 | |
| %6:i32 = var | |
| %7:i1 = slt %6, 0:i32 | |
| %8:i32 = sub 0:i32, %6 | |
| %9:i32 = select %7, %8, %6 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = ctlz %5 | |
| %12:i32 = subnsw %10, %11 | |
| %13:i32 = and 31:i32, %12 | |
| %14:i32 = shl %9, %13 | |
| %15:i1 = ult %5, %14 | |
| %16:i64 = select %15, 18446744073709551615:i64, 0:i64 | |
| %17:i64 = zext %12 | |
| %18:i64 = addnsw %16, %17 | |
| %19:i32 = trunc %18 | |
| %20:i32 = and 31:i32, %19 | |
| %21:i32 = shlnuw 1:i32, %20 | |
| %22 = block 2 | |
| %23:i32 = shl %9, %20 | |
| %24:i32 = sub %5, %23 | |
| %25:i32 = lshr %23, 1:i32 | |
| %26:i32 = sub %24, %25 | |
| %27:i1 = slt 4294967295:i32, %26 | |
| %28:i64 = addnsw 18446744073709551615:i64, %18 | |
| %29:i32 = trunc %28 | |
| %30:i32 = and 31:i32, %29 | |
| %31:i32 = shlnuw 1:i32, %30 | |
| %32:i32 = select %27, %31, 0:i32 | |
| %33:i32 = or %21, %32 | |
| %34:i32 = phi %22, %33, %21 | |
| %35 = block 2 | |
| %36:i32 = select %27, %26, %24 | |
| %37:i32 = phi %22, %36, %24 | |
| %38:i32 = var | |
| %39:i32 = shl %38, 1:i32 | |
| %40:i32 = phi %22, %25, %23 | |
| %41:i32 = addnsw 4294967295:i32, %40 | |
| %42:i32 = sub %39, %41 | |
| %43:i32 = ashr %42, 31:i32 | |
| %44:i32 = and %41, %43 | |
| %45:i32 = add %42, %44 | |
| %46:i32 = phi %35, %37, %45 | |
| %47:i32 = phi %22, %31, %21 | |
| %48:i32 = add 4294967295:i32, %47 | |
| %49:i32 = and %46, %48 | |
| %50:i32 = or %34, %49 | |
| %51:i32 = phi %1, 0:i32, %21, %50, %33 | |
| %52:i32 = sub 0:i32, %51 | |
| %53:i32 = phi %0, %52, %51, %51 | |
| infer %53 | |
| > | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 4 | |
| %2:i32 = var | |
| %3:i1 = slt %2, 0:i32 | |
| %4:i32 = sub 0:i32, %2 | |
| %5:i32 = select %3, %4, %2 | |
| %6:i32 = var | |
| %7:i1 = slt %6, 0:i32 | |
| %8:i32 = sub 0:i32, %6 | |
| %9:i32 = select %7, %8, %6 | |
| %10:i32 = ctlz %9 | |
| %11:i32 = ctlz %5 | |
| %12:i32 = subnsw %10, %11 | |
| %13:i32 = and 31:i32, %12 | |
| %14:i32 = shl %9, %13 | |
| %15:i1 = ult %5, %14 | |
| %16:i64 = select %15, 18446744073709551615:i64, 0:i64 | |
| %17:i64 = zext %12 | |
| %18:i64 = addnsw %16, %17 | |
| %19:i32 = trunc %18 | |
| %20:i32 = and 31:i32, %19 | |
| %21:i32 = shlnuw 1:i32, %20 | |
| %22 = block 2 | |
| %23:i32 = shl %9, %20 | |
| %24:i32 = sub %5, %23 | |
| %25:i32 = lshr %23, 1:i32 | |
| %26:i32 = sub %24, %25 | |
| %27:i1 = slt 4294967295:i32, %26 | |
| %28:i64 = addnsw 18446744073709551615:i64, %18 | |
| %29:i32 = trunc %28 | |
| %30:i32 = and 31:i32, %29 | |
| %31:i32 = shlnuw 1:i32, %30 | |
| %32:i32 = select %27, %31, 0:i32 | |
| %33:i32 = or %21, %32 | |
| %34:i32 = phi %22, %33, %21 | |
| %35:i32 = var | |
| %36:i32 = phi %22, %31, %21 | |
| %37:i32 = add 4294967295:i32, %36 | |
| %38:i32 = and %35, %37 | |
| %39:i32 = or %34, %38 | |
| %40:i32 = phi %1, 0:i32, %21, %39, %33 | |
| %41:i32 = sub 0:i32, %40 | |
| %42:i32 = phi %0, %41, %40, %40 | |
| infer %42 | |
| > | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 4 | |
| %2:i64 = var | |
| %3:i1 = slt %2, 0:i64 | |
| %4:i64 = sub 0:i64, %2 | |
| %5:i64 = select %3, %4, %2 | |
| %6:i64 = ctlz %5 | |
| %7:i64 = var | |
| %8:i1 = slt %7, 0:i64 | |
| %9:i64 = sub 0:i64, %7 | |
| %10:i64 = select %8, %9, %7 | |
| %11:i64 = ctlz %10 | |
| %12:i64 = subnsw %6, %11 | |
| %13:i64 = and 4294967295:i64, %12 | |
| %14:i64 = and 63:i64, %12 | |
| %15:i64 = shl %5, %14 | |
| %16:i1 = ult %10, %15 | |
| %17:i64 = select %16, 18446744073709551615:i64, 0:i64 | |
| %18:i64 = addnsw %13, %17 | |
| %19:i64 = and 63:i64, %18 | |
| %20:i64 = shlnuw 1:i64, %19 | |
| %21 = block 2 | |
| %22:i64 = shl %5, %19 | |
| %23:i64 = sub %10, %22 | |
| %24:i64 = lshr %22, 1:i64 | |
| %25:i64 = sub %23, %24 | |
| %26:i1 = slt 18446744073709551615:i64, %25 | |
| %27:i64 = addnsw 18446744073709551615:i64, %18 | |
| %28:i64 = and 63:i64, %27 | |
| %29:i64 = shlnuw 1:i64, %28 | |
| %30:i64 = select %26, %29, 0:i64 | |
| %31:i64 = or %20, %30 | |
| %32:i64 = phi %21, %31, %20 | |
| %33 = block 2 | |
| %34:i64 = select %26, %25, %23 | |
| %35:i64 = phi %21, %34, %23 | |
| %36:i64 = var | |
| %37:i64 = shl %36, 1:i64 | |
| %38:i64 = phi %21, %24, %22 | |
| %39:i64 = addnsw 18446744073709551615:i64, %38 | |
| %40:i64 = sub %37, %39 | |
| %41:i64 = ashr %40, 63:i64 | |
| %42:i64 = and %39, %41 | |
| %43:i64 = add %40, %42 | |
| %44:i64 = phi %33, %35, %43 | |
| %45:i64 = phi %21, %29, %20 | |
| %46:i64 = add 18446744073709551615:i64, %45 | |
| %47:i64 = and %44, %46 | |
| %48:i64 = or %32, %47 | |
| %49:i64 = phi %1, 0:i64, %20, %48, %31 | |
| %50:i64 = sub 0:i64, %49 | |
| %51:i64 = phi %0, %50, %49, %49 | |
| infer %51 | |
| > | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 4 | |
| %2:i64 = var | |
| %3:i1 = slt %2, 0:i64 | |
| %4:i64 = sub 0:i64, %2 | |
| %5:i64 = select %3, %4, %2 | |
| %6:i64 = ctlz %5 | |
| %7:i64 = var | |
| %8:i1 = slt %7, 0:i64 | |
| %9:i64 = sub 0:i64, %7 | |
| %10:i64 = select %8, %9, %7 | |
| %11:i64 = ctlz %10 | |
| %12:i64 = subnsw %6, %11 | |
| %13:i64 = and 4294967295:i64, %12 | |
| %14:i64 = and 63:i64, %12 | |
| %15:i64 = shl %5, %14 | |
| %16:i1 = ult %10, %15 | |
| %17:i64 = select %16, 18446744073709551615:i64, 0:i64 | |
| %18:i64 = addnsw %13, %17 | |
| %19:i64 = and 63:i64, %18 | |
| %20:i64 = shlnuw 1:i64, %19 | |
| %21 = block 2 | |
| %22:i64 = shl %5, %19 | |
| %23:i64 = sub %10, %22 | |
| %24:i64 = lshr %22, 1:i64 | |
| %25:i64 = sub %23, %24 | |
| %26:i1 = slt 18446744073709551615:i64, %25 | |
| %27:i64 = addnsw 18446744073709551615:i64, %18 | |
| %28:i64 = and 63:i64, %27 | |
| %29:i64 = shlnuw 1:i64, %28 | |
| %30:i64 = select %26, %29, 0:i64 | |
| %31:i64 = or %20, %30 | |
| %32:i64 = phi %21, %31, %20 | |
| %33:i64 = var | |
| %34:i64 = phi %21, %29, %20 | |
| %35:i64 = add 18446744073709551615:i64, %34 | |
| %36:i64 = and %33, %35 | |
| %37:i64 = or %32, %36 | |
| %38:i64 = phi %1, 0:i64, %20, %37, %31 | |
| %39:i64 = sub 0:i64, %38 | |
| %40:i64 = phi %0, %39, %38, %38 | |
| infer %40 | |
| > | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 5 | |
| %2:i8 = var | |
| %3:i8 = phi %1, 244:i8, 244:i8, %2, 0:i8, 244:i8 | |
| %4:i8 = phi %0, 0:i8, %3, 0:i8 | |
| %5:i32 = zext %4 | |
| %6:i32 = shlnw %5, 8:i32 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 5 | |
| %2:i8 = var | |
| %3:i8 = phi %1, 244:i8, 244:i8, %2, 0:i8, 244:i8 | |
| %4:i8 = phi %0, 0:i8, %3, 0:i8 | |
| %5:i32 = zext %4 | |
| infer %5 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 5 | |
| %2:i8 = var | |
| %3:i8 = phi %1, 244:i8, 244:i8, %2, 0:i8, 244:i8 | |
| %4:i8 = phi %0, 0:i8, %3, 0:i8 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 5 | |
| %2:i8 = var (knownBits=0000xxxx) (nonNegative) (signBits=4) (range=[0,14)) | |
| %3:i8 = phi %1, 13:i8, 13:i8, %2, 5:i8, 13:i8 | |
| %4 = block 13 | |
| %5:i8 = phi %4, 9:i8, 11:i8, 14:i8, 9:i8, 7:i8, 12:i8, 8:i8, 10:i8, 14:i8, 14:i8, 14:i8, 14:i8, 14:i8 | |
| %6:i8 = phi %0, 0:i8, %3, %5 | |
| %7:i32 = zext %6 | |
| infer %7 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 5 | |
| %2:i8 = var (knownBits=0000xxxx) (nonNegative) (signBits=4) (range=[0,14)) | |
| %3:i8 = phi %1, 13:i8, 13:i8, %2, 5:i8, 13:i8 | |
| %4 = block 13 | |
| %5:i8 = phi %4, 9:i8, 11:i8, 14:i8, 9:i8, 7:i8, 12:i8, 8:i8, 10:i8, 14:i8, 14:i8, 14:i8, 14:i8, 14:i8 | |
| %6:i8 = phi %0, 0:i8, %3, %5 | |
| infer %6 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 6 | |
| %2:i64 = var | |
| %3:i1 = slt 18446744073709551615:i64, %2 | |
| %4:i8 = select %3, 3:i8, 4:i8 | |
| %5 = block 2 | |
| %6:i32 = var | |
| %7:i32 = var | |
| %8:i32 = phi %5, %6, %7 | |
| %9:i32 = and 64:i32, %8 | |
| %10:i1 = eq 0:i32, %9 | |
| %11:i8 = select %10, 2:i8, 1:i8 | |
| %12:i8 = phi %1, %4, 3:i8, %11, 5:i8, 0:i8, 0:i8 | |
| %13:i8 = phi %0, 3:i8, 1:i8, %12 | |
| infer %13 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1 = block 6 | |
| %2:i64 = var | |
| %3:i1 = slt 18446744073709551615:i64, %2 | |
| %4:i8 = select %3, 3:i8, 4:i8 | |
| %5 = block 2 | |
| %6:i32 = var | |
| %7:i32 = var | |
| %8:i32 = phi %5, %6, %7 | |
| %9:i32 = and 64:i32, %8 | |
| %10:i1 = eq 0:i32, %9 | |
| %11:i8 = select %10, 2:i8, 1:i8 | |
| %12:i8 = phi %1, 0:i8, %4, 3:i8, %11, 5:i8, 0:i8 | |
| %13:i8 = phi %0, 3:i8, 1:i8, %12 | |
| infer %13 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i1 = phi %0, 0:i1, 1:i1, 0:i1 | |
| infer %1 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i1 = phi %0, 0:i1, 1:i1, 1:i1 | |
| infer %1 | |
| > | |
| <noinfer> <> | |
| <sprofile > <13> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i1 = phi %0, 1:i1, 1:i1, 0:i1 | |
| infer %1 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i1 = var | |
| %2:i1 = var | |
| %3:i1 = var | |
| %4:i1 = phi %0, %1, %2, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <5> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = shl %1, %6 | |
| %8:i32 = trunc %7 | |
| %9 = block 3 | |
| %10:i32 = subnsw 102:i32, %3 | |
| %11:i32 = and 127:i32, %10 | |
| %12:i128 = zext %11 | |
| %13:i128 = lshr %1, %12 | |
| %14:i32 = addnw 26:i32, %3 | |
| %15:i32 = and 127:i32, %14 | |
| %16:i128 = zext %15 | |
| %17:i128 = shl %1, %16 | |
| %18:i1 = ne 0:i128, %17 | |
| %19:i128 = zext %18 | |
| %20:i128 = or %13, %19 | |
| %21:i128 = shl %1, 1:i128 | |
| %22:i128 = phi %9, %20, %21, %1 | |
| %23:i128 = lshr %22, 2:i128 | |
| %24:i128 = and 1:i128, %23 | |
| %25:i128 = or %22, %24 | |
| %26:i128 = add 1:i128, %25 | |
| %27:i128 = lshr %26, 3:i128 | |
| %28:i32 = trunc %27 | |
| %29:i128 = lshr %26, 2:i128 | |
| %30:i32 = trunc %29 | |
| %31:i32 = phi %0, %8, %28, %30 | |
| %32:i32 = and 8388607:i32, %31 | |
| %33:i32 = xor 127:i32, %3 | |
| %34:i32 = subnw 128:i32, %3 | |
| %35:i32 = phi %0, %33, %34, %33 | |
| %36:i32 = shl %35, 23:i32 | |
| %37:i32 = add 1065353216:i32, %36 | |
| %38:i32 = and 2139095040:i32, %37 | |
| %39:i32 = or %32, %38 | |
| infer %39 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = shl %1, %6 | |
| %8:i32 = trunc %7 | |
| %9 = block 3 | |
| %10:i32 = subnsw 102:i32, %3 | |
| %11:i32 = and 127:i32, %10 | |
| %12:i128 = zext %11 | |
| %13:i128 = lshr %1, %12 | |
| %14:i32 = addnw 26:i32, %3 | |
| %15:i32 = and 127:i32, %14 | |
| %16:i128 = zext %15 | |
| %17:i128 = shl %1, %16 | |
| %18:i1 = ne 0:i128, %17 | |
| %19:i128 = zext %18 | |
| %20:i128 = or %13, %19 | |
| %21:i128 = shl %1, 1:i128 | |
| %22:i128 = phi %9, %20, %21, %1 | |
| %23:i128 = lshr %22, 2:i128 | |
| %24:i128 = and 1:i128, %23 | |
| %25:i128 = or %22, %24 | |
| %26:i128 = add 1:i128, %25 | |
| %27:i128 = lshr %26, 3:i128 | |
| %28:i32 = trunc %27 | |
| %29:i128 = lshr %26, 2:i128 | |
| %30:i32 = trunc %29 | |
| %31:i32 = phi %0, %8, %28, %30 | |
| %32:i32 = and 8388607:i32, %31 | |
| infer %32 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = addnw 53:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = shl %1, %6 | |
| %8:i64 = trunc %7 | |
| %9 = block 3 | |
| %10:i32 = subnsw 73:i32, %3 | |
| %11:i32 = and 127:i32, %10 | |
| %12:i128 = zext %11 | |
| %13:i128 = lshr %1, %12 | |
| %14:i32 = addnw 55:i32, %3 | |
| %15:i32 = and 127:i32, %14 | |
| %16:i128 = zext %15 | |
| %17:i128 = shl %1, %16 | |
| %18:i1 = ne 0:i128, %17 | |
| %19:i128 = zext %18 | |
| %20:i128 = or %13, %19 | |
| %21:i128 = shl %1, 1:i128 | |
| %22:i128 = phi %9, %20, %21, %1 | |
| %23:i128 = lshr %22, 2:i128 | |
| %24:i128 = and 1:i128, %23 | |
| %25:i128 = or %22, %24 | |
| %26:i128 = add 1:i128, %25 | |
| %27:i128 = lshr %26, 3:i128 | |
| %28:i64 = trunc %27 | |
| %29:i128 = lshr %26, 2:i128 | |
| %30:i64 = trunc %29 | |
| %31:i64 = phi %0, %8, %28, %30 | |
| %32:i64 = and 4503599627370495:i64, %31 | |
| %33:i32 = xor 127:i32, %3 | |
| %34:i32 = subnw 128:i32, %3 | |
| %35:i32 = phi %0, %33, %34, %33 | |
| %36:i32 = addnsw 1023:i32, %35 | |
| %37:i64 = zext %36 | |
| %38:i64 = shl %37, 52:i64 | |
| %39:i64 = and 9218868437227405312:i64, %38 | |
| %40:i64 = or %32, %39 | |
| infer %40 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = addnw 53:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = shl %1, %6 | |
| %8:i64 = trunc %7 | |
| %9 = block 3 | |
| %10:i32 = subnsw 73:i32, %3 | |
| %11:i32 = and 127:i32, %10 | |
| %12:i128 = zext %11 | |
| %13:i128 = lshr %1, %12 | |
| %14:i32 = addnw 55:i32, %3 | |
| %15:i32 = and 127:i32, %14 | |
| %16:i128 = zext %15 | |
| %17:i128 = shl %1, %16 | |
| %18:i1 = ne 0:i128, %17 | |
| %19:i128 = zext %18 | |
| %20:i128 = or %13, %19 | |
| %21:i128 = shl %1, 1:i128 | |
| %22:i128 = phi %9, %20, %21, %1 | |
| %23:i128 = lshr %22, 2:i128 | |
| %24:i128 = and 1:i128, %23 | |
| %25:i128 = or %22, %24 | |
| %26:i128 = add 1:i128, %25 | |
| %27:i128 = lshr %26, 3:i128 | |
| %28:i64 = trunc %27 | |
| %29:i128 = lshr %26, 2:i128 | |
| %30:i64 = trunc %29 | |
| %31:i64 = phi %0, %8, %28, %30 | |
| %32:i64 = and 4503599627370495:i64, %31 | |
| infer %32 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 102:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 26:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| %18:i128 = and 1:i128, %17 | |
| %19:i128 = or %16, %18 | |
| %20:i128 = add 1:i128, %19 | |
| infer %20 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111100) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 102:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 26:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| %18:i128 = and 1:i128, %17 | |
| %19:i128 = or %16, %18 | |
| %20:i128 = add 1:i128, %19 (hasExternalUses) | |
| %21:i128 = and 67108864:i128, %20 | |
| %22:i1 = eq 0:i128, %21 | |
| infer %22 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 102:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 26:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| %18:i128 = and 1:i128, %17 | |
| %19:i128 = or %16, %18 | |
| %20:i128 = add 1:i128, %19 (hasExternalUses) | |
| %21:i128 = and 67108864:i128, %20 | |
| %22:i1 = eq 0:i128, %21 | |
| pc %22 0:i1 | |
| %23:i128 = lshr %20, 3:i128 | |
| %24:i32 = trunc %23 | |
| infer %24 (demandedBits=00000000011111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 102:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 26:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| %18:i128 = and 1:i128, %17 | |
| %19:i128 = or %16, %18 | |
| %20:i128 = add 1:i128, %19 (hasExternalUses) | |
| %21:i128 = and 67108864:i128, %20 | |
| %22:i1 = eq 0:i128, %21 | |
| pc %22 0:i1 | |
| %23:i128 = lshr %20, 3:i128 | |
| infer %23 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 102:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 26:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| %18:i128 = and 1:i128, %17 | |
| %19:i128 = or %16, %18 | |
| %20:i128 = add 1:i128, %19 (hasExternalUses) | |
| %21:i128 = and 67108864:i128, %20 | |
| infer %21 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 102:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 26:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| %18:i128 = and 1:i128, %17 | |
| %19:i128 = or %16, %18 | |
| %20:i128 = add 1:i128, %19 (hasExternalUses) | |
| %21:i128 = lshr %20, 2:i128 | |
| %22:i32 = trunc %21 | |
| infer %22 (demandedBits=00000000011111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 102:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 26:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| %18:i128 = and 1:i128, %17 | |
| %19:i128 = or %16, %18 | |
| %20:i128 = add 1:i128, %19 (hasExternalUses) | |
| %21:i128 = lshr %20, 2:i128 | |
| infer %21 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 102:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 26:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| %18:i128 = and 1:i128, %17 | |
| %19:i128 = or %16, %18 | |
| infer %19 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 102:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 26:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| %18:i128 = and 1:i128, %17 | |
| infer %18 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 102:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 26:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| infer %17 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 73:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 55:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| %18:i128 = and 1:i128, %17 | |
| %19:i128 = or %16, %18 | |
| %20:i128 = add 1:i128, %19 | |
| infer %20 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111100) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 73:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 55:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| %18:i128 = and 1:i128, %17 | |
| %19:i128 = or %16, %18 | |
| %20:i128 = add 1:i128, %19 (hasExternalUses) | |
| %21:i128 = and 36028797018963968:i128, %20 | |
| %22:i1 = eq 0:i128, %21 | |
| infer %22 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 73:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 55:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| %18:i128 = and 1:i128, %17 | |
| %19:i128 = or %16, %18 | |
| %20:i128 = add 1:i128, %19 (hasExternalUses) | |
| %21:i128 = and 36028797018963968:i128, %20 | |
| %22:i1 = eq 0:i128, %21 | |
| pc %22 0:i1 | |
| %23:i128 = lshr %20, 3:i128 | |
| %24:i64 = trunc %23 | |
| infer %24 (demandedBits=0000000000001111111111111111111111111111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 73:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 55:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| %18:i128 = and 1:i128, %17 | |
| %19:i128 = or %16, %18 | |
| %20:i128 = add 1:i128, %19 (hasExternalUses) | |
| %21:i128 = and 36028797018963968:i128, %20 | |
| %22:i1 = eq 0:i128, %21 | |
| pc %22 0:i1 | |
| %23:i128 = lshr %20, 3:i128 | |
| infer %23 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 73:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 55:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| %18:i128 = and 1:i128, %17 | |
| %19:i128 = or %16, %18 | |
| %20:i128 = add 1:i128, %19 (hasExternalUses) | |
| %21:i128 = and 36028797018963968:i128, %20 | |
| infer %21 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 73:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 55:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| %18:i128 = and 1:i128, %17 | |
| %19:i128 = or %16, %18 | |
| %20:i128 = add 1:i128, %19 (hasExternalUses) | |
| %21:i128 = lshr %20, 2:i128 | |
| %22:i64 = trunc %21 | |
| infer %22 (demandedBits=0000000000001111111111111111111111111111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 73:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 55:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| %18:i128 = and 1:i128, %17 | |
| %19:i128 = or %16, %18 | |
| %20:i128 = add 1:i128, %19 (hasExternalUses) | |
| %21:i128 = lshr %20, 2:i128 | |
| infer %21 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 73:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 55:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| %18:i128 = and 1:i128, %17 | |
| %19:i128 = or %16, %18 | |
| infer %19 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 73:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 55:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| %18:i128 = and 1:i128, %17 | |
| infer %18 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 73:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 55:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| infer %17 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = xor 127:i32, %3 | |
| %5:i32 = subnw 128:i32, %3 | |
| %6:i32 = phi %0, %4, %5, %4 | |
| %7:i32 = addnsw 1023:i32, %6 | |
| %8:i64 = zext %7 | |
| %9:i64 = shl %8, 52:i64 | |
| %10:i64 = and 9218868437227405312:i64, %9 | |
| infer %10 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = xor 127:i32, %3 | |
| %5:i32 = subnw 128:i32, %3 | |
| %6:i32 = phi %0, %4, %5, %4 | |
| %7:i32 = addnsw 1023:i32, %6 | |
| %8:i64 = zext %7 | |
| %9:i64 = shl %8, 52:i64 | |
| infer %9 (demandedBits=0111111111110000000000000000000000000000000000000000000000000000) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = xor 127:i32, %3 | |
| %5:i32 = subnw 128:i32, %3 | |
| %6:i32 = phi %0, %4, %5, %4 | |
| %7:i32 = addnsw 1023:i32, %6 | |
| %8:i64 = zext %7 | |
| infer %8 (demandedBits=0000000000000000000000000000000000000000000000000000011111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = xor 127:i32, %3 | |
| %5:i32 = subnw 128:i32, %3 | |
| %6:i32 = phi %0, %4, %5, %4 | |
| %7:i32 = addnsw 1023:i32, %6 | |
| infer %7 (demandedBits=00000000000000000000011111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = xor 127:i32, %3 | |
| %5:i32 = subnw 128:i32, %3 | |
| %6:i32 = phi %0, %4, %5, %4 | |
| %7:i32 = shl %6, 23:i32 | |
| %8:i32 = add 1065353216:i32, %7 | |
| %9:i32 = and 2139095040:i32, %8 | |
| infer %9 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = xor 127:i32, %3 | |
| %5:i32 = subnw 128:i32, %3 | |
| %6:i32 = phi %0, %4, %5, %4 | |
| %7:i32 = shl %6, 23:i32 | |
| %8:i32 = add 1065353216:i32, %7 | |
| infer %8 (demandedBits=01111111100000000000000000000000) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = xor 127:i32, %3 | |
| %5:i32 = subnw 128:i32, %3 | |
| %6:i32 = phi %0, %4, %5, %4 | |
| %7:i32 = shl %6, 23:i32 | |
| infer %7 (demandedBits=01111111110000000000000000000000) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 (hasExternalUses) | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = shl %1, %6 | |
| %8:i32 = trunc %7 | |
| %9 = block 3 | |
| %10:i32 = subnsw 102:i32, %3 | |
| %11:i32 = and 127:i32, %10 | |
| %12:i128 = zext %11 | |
| %13:i128 = lshr %1, %12 | |
| %14:i32 = addnw 26:i32, %3 | |
| %15:i32 = and 127:i32, %14 | |
| %16:i128 = zext %15 | |
| %17:i128 = shl %1, %16 | |
| %18:i1 = ne 0:i128, %17 | |
| %19:i128 = zext %18 | |
| %20:i128 = or %13, %19 | |
| %21:i128 = shl %1, 1:i128 | |
| %22:i128 = phi %9, %20, %21, %1 | |
| %23:i128 = lshr %22, 2:i128 | |
| %24:i128 = and 1:i128, %23 | |
| %25:i128 = or %22, %24 | |
| %26:i128 = add 1:i128, %25 (hasExternalUses) | |
| %27:i128 = lshr %26, 3:i128 | |
| %28:i32 = trunc %27 | |
| %29:i128 = lshr %26, 2:i128 | |
| %30:i32 = trunc %29 | |
| %31:i32 = phi %0, %8, %28, %30 | |
| infer %31 (demandedBits=00000000011111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 (hasExternalUses) | |
| %4:i32 = addnw 53:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = shl %1, %6 | |
| %8:i64 = trunc %7 | |
| %9 = block 3 | |
| %10:i32 = subnsw 73:i32, %3 | |
| %11:i32 = and 127:i32, %10 | |
| %12:i128 = zext %11 | |
| %13:i128 = lshr %1, %12 | |
| %14:i32 = addnw 55:i32, %3 | |
| %15:i32 = and 127:i32, %14 | |
| %16:i128 = zext %15 | |
| %17:i128 = shl %1, %16 | |
| %18:i1 = ne 0:i128, %17 | |
| %19:i128 = zext %18 | |
| %20:i128 = or %13, %19 | |
| %21:i128 = shl %1, 1:i128 | |
| %22:i128 = phi %9, %20, %21, %1 | |
| %23:i128 = lshr %22, 2:i128 | |
| %24:i128 = and 1:i128, %23 | |
| %25:i128 = or %22, %24 | |
| %26:i128 = add 1:i128, %25 (hasExternalUses) | |
| %27:i128 = lshr %26, 3:i128 | |
| %28:i64 = trunc %27 | |
| %29:i128 = lshr %26, 2:i128 | |
| %30:i64 = trunc %29 | |
| %31:i64 = phi %0, %8, %28, %30 | |
| infer %31 (demandedBits=0000000000001111111111111111111111111111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 (hasExternalUses) | |
| %4:i32 = subnsw 102:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 26:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| infer %16 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 (hasExternalUses) | |
| %4:i32 = subnsw 73:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 55:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| infer %16 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 (hasExternalUses) | |
| %4:i32 = xor 127:i32, %3 | |
| %5:i32 = subnw 128:i32, %3 (hasExternalUses) | |
| %6:i32 = phi %0, %4, %5, %4 | |
| infer %6 (demandedBits=00000000000000000000000011111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 (hasExternalUses) | |
| %4:i32 = xor 127:i32, %3 | |
| %5:i32 = subnw 128:i32, %3 (hasExternalUses) | |
| %6:i32 = phi %0, %4, %5, %4 | |
| infer %6 (demandedBits=00000000000000000000011111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = lshr %1, 64:i128 | |
| %3:i64 = trunc %2 | |
| %4:i32 = var | |
| %5:i32 = and 63:i32, %4 | |
| %6:i64 = zext %5 (hasExternalUses) | |
| %7:i64 = ashr %3, %6 | |
| %8:i128 = zext %7 | |
| %9:i128 = shlnuw %8, 64:i128 | |
| %10:i32 = sub 0:i32, %4 | |
| %11:i32 = and 63:i32, %10 | |
| %12:i64 = zext %11 | |
| %13:i64 = shl %3, %12 | |
| %14:i64 = trunc %1 | |
| %15:i64 = lshr %14, %6 | |
| %16:i64 = or %13, %15 | |
| %17:i128 = zext %16 | |
| %18:i128 = or %9, %17 | |
| %19:i128 = lshr %1, 64:i128 | |
| %20:i64 = trunc %19 | |
| %21:i64 = ashr %20, 63:i64 | |
| %22:i128 = zext %21 | |
| %23:i128 = shlnuw %22, 64:i128 | |
| %24:i64 = ashr %20, %6 | |
| %25:i128 = zext %24 | |
| %26:i128 = or %23, %25 | |
| %27:i128 = phi %0, %18, %26, %1 | |
| infer %27 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = lshr %1, 64:i128 | |
| %3:i64 = trunc %2 | |
| %4:i32 = var | |
| %5:i32 = and 63:i32, %4 | |
| %6:i64 = zext %5 (hasExternalUses) | |
| %7:i64 = lshr %3, %6 | |
| %8:i128 = zext %7 | |
| %9:i128 = shlnuw %8, 64:i128 | |
| %10:i32 = sub 0:i32, %4 | |
| %11:i32 = and 63:i32, %10 | |
| %12:i64 = zext %11 | |
| %13:i64 = shl %3, %12 | |
| %14:i64 = trunc %1 | |
| %15:i64 = lshr %14, %6 | |
| %16:i64 = or %13, %15 | |
| %17:i128 = zext %16 | |
| %18:i128 = or %9, %17 | |
| %19:i128 = lshr %1, 64:i128 | |
| %20:i64 = trunc %19 | |
| %21:i64 = lshr %20, %6 | |
| %22:i128 = zext %21 | |
| %23:i128 = phi %0, %18, %22, %1 | |
| infer %23 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = lshr %1, 64:i128 | |
| %3:i64 = trunc %2 | |
| %4:i32 = var | |
| %5:i32 = and 63:i32, %4 | |
| %6:i64 = zext %5 (hasExternalUses) | |
| %7:i64 = shl %3, %6 | |
| %8:i64 = trunc %1 (hasExternalUses) | |
| %9:i32 = sub 0:i32, %4 | |
| %10:i32 = and 63:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i64 = lshr %8, %11 | |
| %13:i64 = or %7, %12 | |
| %14:i128 = zext %13 | |
| %15:i128 = shlnuw %14, 64:i128 | |
| %16:i64 = shl %8, %6 | |
| %17:i128 = zext %16 (hasExternalUses) | |
| %18:i128 = or %15, %17 | |
| %19:i128 = shlnuw %17, 64:i128 | |
| %20:i128 = phi %0, %18, %19, %1 | |
| infer %20 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var | |
| %2:i128 = var | |
| %3:i128 = var | |
| %4:i128 = phi %0, %1, %2, %3 | |
| infer %4 | |
| > | |
| <noinfer> <> | |
| <sprofile > <7> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = shl %1, %6 | |
| %8:i32 = trunc %7 | |
| %9 = block 3 | |
| %10:i32 = subnsw 102:i32, %3 | |
| %11:i32 = and 127:i32, %10 | |
| %12:i128 = zext %11 | |
| %13:i128 = lshr %1, %12 | |
| %14:i32 = addnw 26:i32, %3 | |
| %15:i32 = and 127:i32, %14 | |
| %16:i128 = zext %15 | |
| %17:i128 = shl %1, %16 | |
| %18:i1 = ne 0:i128, %17 | |
| %19:i128 = zext %18 | |
| %20:i128 = or %13, %19 | |
| %21:i128 = shl %1, 1:i128 | |
| %22:i128 = phi %9, %20, %21, %1 | |
| %23:i128 = lshr %22, 2:i128 | |
| %24:i128 = and 1:i128, %23 | |
| %25:i128 = or %22, %24 | |
| %26:i128 = add 1:i128, %25 | |
| %27:i128 = lshr %26, 3:i128 | |
| %28:i32 = trunc %27 | |
| %29:i128 = lshr %26, 2:i128 | |
| %30:i32 = trunc %29 | |
| %31:i32 = phi %0, %8, %28, %30 | |
| %32:i32 = and 8388607:i32, %31 | |
| %33:i128 = var | |
| %34:i128 = lshr %33, 96:i128 | |
| %35:i32 = trunc %34 | |
| %36:i32 = and 2147483648:i32, %35 | |
| %37:i32 = or %32, %36 | |
| infer %37 | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = shl %1, %6 | |
| %8:i32 = trunc %7 | |
| %9 = block 3 | |
| %10:i32 = subnsw 102:i32, %3 | |
| %11:i32 = and 127:i32, %10 | |
| %12:i128 = zext %11 | |
| %13:i128 = lshr %1, %12 | |
| %14:i32 = addnw 26:i32, %3 | |
| %15:i32 = and 127:i32, %14 | |
| %16:i128 = zext %15 | |
| %17:i128 = shl %1, %16 | |
| %18:i1 = ne 0:i128, %17 | |
| %19:i128 = zext %18 | |
| %20:i128 = or %13, %19 | |
| %21:i128 = shl %1, 1:i128 | |
| %22:i128 = phi %9, %20, %21, %1 | |
| %23:i128 = lshr %22, 2:i128 | |
| %24:i128 = and 1:i128, %23 | |
| %25:i128 = or %22, %24 | |
| %26:i128 = add 1:i128, %25 | |
| %27:i128 = lshr %26, 3:i128 | |
| %28:i32 = trunc %27 | |
| %29:i128 = lshr %26, 2:i128 | |
| %30:i32 = trunc %29 | |
| %31:i32 = phi %0, %8, %28, %30 | |
| %32:i32 = and 8388607:i32, %31 | |
| %33:i32 = subnsw 127:i32, %3 | |
| %34:i32 = subnsw 128:i32, %3 | |
| %35:i32 = phi %0, %33, %34, %33 | |
| %36:i32 = shl %35, 23:i32 | |
| %37:i32 = add 1065353216:i32, %36 | |
| %38:i32 = and 2139095040:i32, %37 | |
| %39:i128 = var | |
| %40:i128 = lshr %39, 96:i128 | |
| %41:i32 = trunc %40 | |
| %42:i32 = and 2147483648:i32, %41 | |
| %43:i32 = or %38, %42 | |
| %44:i32 = or %32, %43 | |
| infer %44 | |
| > | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = shl %1, %6 | |
| %8:i32 = trunc %7 | |
| %9 = block 3 | |
| %10:i32 = subnsw 102:i32, %3 | |
| %11:i32 = and 127:i32, %10 | |
| %12:i128 = zext %11 | |
| %13:i128 = lshr %1, %12 | |
| %14:i32 = addnw 26:i32, %3 | |
| %15:i32 = and 127:i32, %14 | |
| %16:i128 = zext %15 | |
| %17:i128 = shl %1, %16 | |
| %18:i1 = ne 0:i128, %17 | |
| %19:i128 = zext %18 | |
| %20:i128 = or %13, %19 | |
| %21:i128 = shl %1, 1:i128 | |
| %22:i128 = phi %9, %20, %21, %1 | |
| %23:i128 = lshr %22, 2:i128 | |
| %24:i128 = and 1:i128, %23 | |
| %25:i128 = or %22, %24 | |
| %26:i128 = add 1:i128, %25 | |
| %27:i128 = lshr %26, 3:i128 | |
| %28:i32 = trunc %27 | |
| %29:i128 = lshr %26, 2:i128 | |
| %30:i32 = trunc %29 | |
| %31:i32 = phi %0, %8, %28, %30 | |
| %32:i32 = and 8388607:i32, %31 | |
| infer %32 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = addnw 53:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = shl %1, %6 | |
| %8:i64 = trunc %7 | |
| %9 = block 3 | |
| %10:i32 = subnsw 73:i32, %3 | |
| %11:i32 = and 127:i32, %10 | |
| %12:i128 = zext %11 | |
| %13:i128 = lshr %1, %12 | |
| %14:i32 = addnw 55:i32, %3 | |
| %15:i32 = and 127:i32, %14 | |
| %16:i128 = zext %15 | |
| %17:i128 = shl %1, %16 | |
| %18:i1 = ne 0:i128, %17 | |
| %19:i128 = zext %18 | |
| %20:i128 = or %13, %19 | |
| %21:i128 = shl %1, 1:i128 | |
| %22:i128 = phi %9, %20, %21, %1 | |
| %23:i128 = lshr %22, 2:i128 | |
| %24:i128 = and 1:i128, %23 | |
| %25:i128 = or %22, %24 | |
| %26:i128 = add 1:i128, %25 | |
| %27:i128 = lshr %26, 3:i128 | |
| %28:i64 = trunc %27 | |
| %29:i128 = lshr %26, 2:i128 | |
| %30:i64 = trunc %29 | |
| %31:i64 = phi %0, %8, %28, %30 | |
| %32:i64 = and 4503599627370495:i64, %31 | |
| %33:i128 = var | |
| %34:i128 = lshr %33, 64:i128 | |
| %35:i64 = trunc %34 | |
| %36:i64 = and 9223372036854775808:i64, %35 | |
| %37:i64 = or %32, %36 | |
| infer %37 | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = addnw 53:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = shl %1, %6 | |
| %8:i64 = trunc %7 | |
| %9 = block 3 | |
| %10:i32 = subnsw 73:i32, %3 | |
| %11:i32 = and 127:i32, %10 | |
| %12:i128 = zext %11 | |
| %13:i128 = lshr %1, %12 | |
| %14:i32 = addnw 55:i32, %3 | |
| %15:i32 = and 127:i32, %14 | |
| %16:i128 = zext %15 | |
| %17:i128 = shl %1, %16 | |
| %18:i1 = ne 0:i128, %17 | |
| %19:i128 = zext %18 | |
| %20:i128 = or %13, %19 | |
| %21:i128 = shl %1, 1:i128 | |
| %22:i128 = phi %9, %20, %21, %1 | |
| %23:i128 = lshr %22, 2:i128 | |
| %24:i128 = and 1:i128, %23 | |
| %25:i128 = or %22, %24 | |
| %26:i128 = add 1:i128, %25 | |
| %27:i128 = lshr %26, 3:i128 | |
| %28:i64 = trunc %27 | |
| %29:i128 = lshr %26, 2:i128 | |
| %30:i64 = trunc %29 | |
| %31:i64 = phi %0, %8, %28, %30 | |
| %32:i64 = and 4503599627370495:i64, %31 | |
| %33:i32 = subnsw 127:i32, %3 | |
| %34:i32 = subnsw 128:i32, %3 | |
| %35:i32 = phi %0, %33, %34, %33 | |
| %36:i32 = addnsw 1023:i32, %35 | |
| %37:i64 = zext %36 | |
| %38:i64 = shl %37, 52:i64 | |
| %39:i64 = and 9218868437227405312:i64, %38 | |
| %40:i128 = var | |
| %41:i128 = lshr %40, 64:i128 | |
| %42:i64 = trunc %41 | |
| %43:i64 = and 9223372036854775808:i64, %42 | |
| %44:i64 = or %39, %43 | |
| %45:i64 = or %32, %44 | |
| infer %45 | |
| > | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = addnw 53:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = shl %1, %6 | |
| %8:i64 = trunc %7 | |
| %9 = block 3 | |
| %10:i32 = subnsw 73:i32, %3 | |
| %11:i32 = and 127:i32, %10 | |
| %12:i128 = zext %11 | |
| %13:i128 = lshr %1, %12 | |
| %14:i32 = addnw 55:i32, %3 | |
| %15:i32 = and 127:i32, %14 | |
| %16:i128 = zext %15 | |
| %17:i128 = shl %1, %16 | |
| %18:i1 = ne 0:i128, %17 | |
| %19:i128 = zext %18 | |
| %20:i128 = or %13, %19 | |
| %21:i128 = shl %1, 1:i128 | |
| %22:i128 = phi %9, %20, %21, %1 | |
| %23:i128 = lshr %22, 2:i128 | |
| %24:i128 = and 1:i128, %23 | |
| %25:i128 = or %22, %24 | |
| %26:i128 = add 1:i128, %25 | |
| %27:i128 = lshr %26, 3:i128 | |
| %28:i64 = trunc %27 | |
| %29:i128 = lshr %26, 2:i128 | |
| %30:i64 = trunc %29 | |
| %31:i64 = phi %0, %8, %28, %30 | |
| %32:i64 = and 4503599627370495:i64, %31 | |
| infer %32 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 102:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 26:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| %18:i128 = and 1:i128, %17 | |
| %19:i128 = or %16, %18 | |
| %20:i128 = add 1:i128, %19 | |
| infer %20 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111100) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 102:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 26:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| %18:i128 = and 1:i128, %17 | |
| %19:i128 = or %16, %18 | |
| %20:i128 = add 1:i128, %19 (hasExternalUses) | |
| %21:i128 = and 67108864:i128, %20 | |
| %22:i1 = eq 0:i128, %21 | |
| infer %22 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 102:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 26:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| %18:i128 = and 1:i128, %17 | |
| %19:i128 = or %16, %18 | |
| %20:i128 = add 1:i128, %19 (hasExternalUses) | |
| %21:i128 = and 67108864:i128, %20 | |
| %22:i1 = eq 0:i128, %21 | |
| pc %22 0:i1 | |
| %23:i128 = lshr %20, 3:i128 | |
| %24:i32 = trunc %23 | |
| infer %24 (demandedBits=00000000011111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 102:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 26:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| %18:i128 = and 1:i128, %17 | |
| %19:i128 = or %16, %18 | |
| %20:i128 = add 1:i128, %19 (hasExternalUses) | |
| %21:i128 = and 67108864:i128, %20 | |
| %22:i1 = eq 0:i128, %21 | |
| pc %22 0:i1 | |
| %23:i128 = lshr %20, 3:i128 | |
| infer %23 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 102:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 26:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| %18:i128 = and 1:i128, %17 | |
| %19:i128 = or %16, %18 | |
| %20:i128 = add 1:i128, %19 (hasExternalUses) | |
| %21:i128 = and 67108864:i128, %20 | |
| infer %21 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 102:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 26:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| %18:i128 = and 1:i128, %17 | |
| %19:i128 = or %16, %18 | |
| %20:i128 = add 1:i128, %19 (hasExternalUses) | |
| %21:i128 = lshr %20, 2:i128 | |
| %22:i32 = trunc %21 | |
| infer %22 (demandedBits=00000000011111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 102:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 26:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| %18:i128 = and 1:i128, %17 | |
| %19:i128 = or %16, %18 | |
| %20:i128 = add 1:i128, %19 (hasExternalUses) | |
| %21:i128 = lshr %20, 2:i128 | |
| infer %21 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 102:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 26:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| %18:i128 = and 1:i128, %17 | |
| %19:i128 = or %16, %18 | |
| infer %19 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 102:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 26:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| %18:i128 = and 1:i128, %17 | |
| infer %18 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 102:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 26:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| infer %17 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 127:i32, %3 | |
| %5:i32 = subnsw 128:i32, %3 | |
| %6:i32 = phi %0, %4, %5, %4 | |
| %7:i32 = addnsw 1023:i32, %6 | |
| %8:i64 = zext %7 | |
| %9:i64 = shl %8, 52:i64 | |
| %10:i64 = and 9218868437227405312:i64, %9 | |
| %11:i128 = var | |
| %12:i128 = lshr %11, 64:i128 | |
| %13:i64 = trunc %12 | |
| %14:i64 = and 9223372036854775808:i64, %13 | |
| %15:i64 = or %10, %14 | |
| infer %15 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 127:i32, %3 | |
| %5:i32 = subnsw 128:i32, %3 | |
| %6:i32 = phi %0, %4, %5, %4 | |
| %7:i32 = addnsw 1023:i32, %6 | |
| %8:i64 = zext %7 | |
| %9:i64 = shl %8, 52:i64 | |
| %10:i64 = and 9218868437227405312:i64, %9 | |
| %11:i32 = addnw 53:i32, %3 | |
| %12:i32 = and 127:i32, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = shl %1, %13 | |
| %15:i64 = trunc %14 | |
| %16 = block 3 | |
| %17:i32 = subnsw 73:i32, %3 | |
| %18:i32 = and 127:i32, %17 | |
| %19:i128 = zext %18 | |
| %20:i128 = lshr %1, %19 | |
| %21:i32 = addnw 55:i32, %3 | |
| %22:i32 = and 127:i32, %21 | |
| %23:i128 = zext %22 | |
| %24:i128 = shl %1, %23 | |
| %25:i1 = ne 0:i128, %24 | |
| %26:i128 = zext %25 | |
| %27:i128 = or %20, %26 | |
| %28:i128 = shl %1, 1:i128 | |
| %29:i128 = phi %16, %27, %28, %1 | |
| %30:i128 = lshr %29, 2:i128 | |
| %31:i128 = and 1:i128, %30 | |
| %32:i128 = or %29, %31 | |
| %33:i128 = add 1:i128, %32 | |
| %34:i128 = lshr %33, 3:i128 | |
| %35:i64 = trunc %34 | |
| %36:i128 = lshr %33, 2:i128 | |
| %37:i64 = trunc %36 | |
| %38:i64 = phi %0, %15, %35, %37 | |
| %39:i64 = and 4503599627370495:i64, %38 | |
| %40:i128 = var | |
| %41:i128 = lshr %40, 64:i128 | |
| %42:i64 = trunc %41 | |
| %43:i64 = and 9223372036854775808:i64, %42 | |
| %44:i64 = or %39, %43 | |
| %45:i64 = or %10, %44 | |
| infer %45 | |
| > | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 127:i32, %3 | |
| %5:i32 = subnsw 128:i32, %3 | |
| %6:i32 = phi %0, %4, %5, %4 | |
| %7:i32 = addnsw 1023:i32, %6 | |
| %8:i64 = zext %7 | |
| %9:i64 = shl %8, 52:i64 | |
| %10:i64 = and 9218868437227405312:i64, %9 | |
| infer %10 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 127:i32, %3 | |
| %5:i32 = subnsw 128:i32, %3 | |
| %6:i32 = phi %0, %4, %5, %4 | |
| %7:i32 = addnsw 1023:i32, %6 | |
| %8:i64 = zext %7 | |
| %9:i64 = shl %8, 52:i64 | |
| infer %9 (demandedBits=0111111111110000000000000000000000000000000000000000000000000000) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 127:i32, %3 | |
| %5:i32 = subnsw 128:i32, %3 | |
| %6:i32 = phi %0, %4, %5, %4 | |
| %7:i32 = addnsw 1023:i32, %6 | |
| %8:i64 = zext %7 | |
| infer %8 (demandedBits=0000000000000000000000000000000000000000000000000000011111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 127:i32, %3 | |
| %5:i32 = subnsw 128:i32, %3 | |
| %6:i32 = phi %0, %4, %5, %4 | |
| %7:i32 = addnsw 1023:i32, %6 | |
| infer %7 (demandedBits=00000000000000000000011111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 127:i32, %3 | |
| %5:i32 = subnsw 128:i32, %3 | |
| %6:i32 = phi %0, %4, %5, %4 | |
| %7:i32 = shl %6, 23:i32 | |
| %8:i32 = add 1065353216:i32, %7 | |
| %9:i32 = and 2139095040:i32, %8 | |
| %10:i128 = var | |
| %11:i128 = lshr %10, 96:i128 | |
| %12:i32 = trunc %11 | |
| %13:i32 = and 2147483648:i32, %12 | |
| %14:i32 = or %9, %13 | |
| infer %14 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 127:i32, %3 | |
| %5:i32 = subnsw 128:i32, %3 | |
| %6:i32 = phi %0, %4, %5, %4 | |
| %7:i32 = shl %6, 23:i32 | |
| %8:i32 = add 1065353216:i32, %7 | |
| %9:i32 = and 2139095040:i32, %8 | |
| %10:i32 = addnw 24:i32, %3 | |
| %11:i32 = and 127:i32, %10 | |
| %12:i128 = zext %11 | |
| %13:i128 = shl %1, %12 | |
| %14:i32 = trunc %13 | |
| %15 = block 3 | |
| %16:i32 = subnsw 102:i32, %3 | |
| %17:i32 = and 127:i32, %16 | |
| %18:i128 = zext %17 | |
| %19:i128 = lshr %1, %18 | |
| %20:i32 = addnw 26:i32, %3 | |
| %21:i32 = and 127:i32, %20 | |
| %22:i128 = zext %21 | |
| %23:i128 = shl %1, %22 | |
| %24:i1 = ne 0:i128, %23 | |
| %25:i128 = zext %24 | |
| %26:i128 = or %19, %25 | |
| %27:i128 = shl %1, 1:i128 | |
| %28:i128 = phi %15, %26, %27, %1 | |
| %29:i128 = lshr %28, 2:i128 | |
| %30:i128 = and 1:i128, %29 | |
| %31:i128 = or %28, %30 | |
| %32:i128 = add 1:i128, %31 | |
| %33:i128 = lshr %32, 3:i128 | |
| %34:i32 = trunc %33 | |
| %35:i128 = lshr %32, 2:i128 | |
| %36:i32 = trunc %35 | |
| %37:i32 = phi %0, %14, %34, %36 | |
| %38:i32 = and 8388607:i32, %37 | |
| %39:i128 = var | |
| %40:i128 = lshr %39, 96:i128 | |
| %41:i32 = trunc %40 | |
| %42:i32 = and 2147483648:i32, %41 | |
| %43:i32 = or %38, %42 | |
| %44:i32 = or %9, %43 | |
| infer %44 | |
| > | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 127:i32, %3 | |
| %5:i32 = subnsw 128:i32, %3 | |
| %6:i32 = phi %0, %4, %5, %4 | |
| %7:i32 = shl %6, 23:i32 | |
| %8:i32 = add 1065353216:i32, %7 | |
| %9:i32 = and 2139095040:i32, %8 | |
| infer %9 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 127:i32, %3 | |
| %5:i32 = subnsw 128:i32, %3 | |
| %6:i32 = phi %0, %4, %5, %4 | |
| %7:i32 = shl %6, 23:i32 | |
| %8:i32 = add 1065353216:i32, %7 | |
| infer %8 (demandedBits=01111111100000000000000000000000) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 127:i32, %3 | |
| %5:i32 = subnsw 128:i32, %3 | |
| %6:i32 = phi %0, %4, %5, %4 | |
| %7:i32 = shl %6, 23:i32 | |
| infer %7 (demandedBits=01111111110000000000000000000000) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 73:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 55:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| %18:i128 = and 1:i128, %17 | |
| %19:i128 = or %16, %18 | |
| %20:i128 = add 1:i128, %19 | |
| infer %20 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111100) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 73:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 55:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| %18:i128 = and 1:i128, %17 | |
| %19:i128 = or %16, %18 | |
| %20:i128 = add 1:i128, %19 (hasExternalUses) | |
| %21:i128 = and 36028797018963968:i128, %20 | |
| %22:i1 = eq 0:i128, %21 | |
| infer %22 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 73:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 55:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| %18:i128 = and 1:i128, %17 | |
| %19:i128 = or %16, %18 | |
| %20:i128 = add 1:i128, %19 (hasExternalUses) | |
| %21:i128 = and 36028797018963968:i128, %20 | |
| %22:i1 = eq 0:i128, %21 | |
| pc %22 0:i1 | |
| %23:i128 = lshr %20, 3:i128 | |
| %24:i64 = trunc %23 | |
| infer %24 (demandedBits=0000000000001111111111111111111111111111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 73:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 55:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| %18:i128 = and 1:i128, %17 | |
| %19:i128 = or %16, %18 | |
| %20:i128 = add 1:i128, %19 (hasExternalUses) | |
| %21:i128 = and 36028797018963968:i128, %20 | |
| %22:i1 = eq 0:i128, %21 | |
| pc %22 0:i1 | |
| %23:i128 = lshr %20, 3:i128 | |
| infer %23 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 73:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 55:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| %18:i128 = and 1:i128, %17 | |
| %19:i128 = or %16, %18 | |
| %20:i128 = add 1:i128, %19 (hasExternalUses) | |
| %21:i128 = and 36028797018963968:i128, %20 | |
| infer %21 | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 73:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 55:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| %18:i128 = and 1:i128, %17 | |
| %19:i128 = or %16, %18 | |
| %20:i128 = add 1:i128, %19 (hasExternalUses) | |
| %21:i128 = lshr %20, 2:i128 | |
| %22:i64 = trunc %21 | |
| infer %22 (demandedBits=0000000000001111111111111111111111111111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 73:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 55:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| %18:i128 = and 1:i128, %17 | |
| %19:i128 = or %16, %18 | |
| %20:i128 = add 1:i128, %19 (hasExternalUses) | |
| %21:i128 = lshr %20, 2:i128 | |
| infer %21 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 73:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 55:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| %18:i128 = and 1:i128, %17 | |
| %19:i128 = or %16, %18 | |
| infer %19 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 73:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 55:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| %18:i128 = and 1:i128, %17 | |
| infer %18 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 | |
| %4:i32 = subnsw 73:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 55:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| %17:i128 = lshr %16, 2:i128 | |
| infer %17 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 (hasExternalUses) | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = shl %1, %6 | |
| %8:i32 = trunc %7 | |
| %9 = block 3 | |
| %10:i32 = subnsw 102:i32, %3 | |
| %11:i32 = and 127:i32, %10 | |
| %12:i128 = zext %11 | |
| %13:i128 = lshr %1, %12 | |
| %14:i32 = addnw 26:i32, %3 | |
| %15:i32 = and 127:i32, %14 | |
| %16:i128 = zext %15 | |
| %17:i128 = shl %1, %16 | |
| %18:i1 = ne 0:i128, %17 | |
| %19:i128 = zext %18 | |
| %20:i128 = or %13, %19 | |
| %21:i128 = shl %1, 1:i128 | |
| %22:i128 = phi %9, %20, %21, %1 | |
| %23:i128 = lshr %22, 2:i128 | |
| %24:i128 = and 1:i128, %23 | |
| %25:i128 = or %22, %24 | |
| %26:i128 = add 1:i128, %25 (hasExternalUses) | |
| %27:i128 = lshr %26, 3:i128 | |
| %28:i32 = trunc %27 | |
| %29:i128 = lshr %26, 2:i128 | |
| %30:i32 = trunc %29 | |
| %31:i32 = phi %0, %8, %28, %30 | |
| infer %31 (demandedBits=00000000011111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 (hasExternalUses) | |
| %4:i32 = addnw 53:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = shl %1, %6 | |
| %8:i64 = trunc %7 | |
| %9 = block 3 | |
| %10:i32 = subnsw 73:i32, %3 | |
| %11:i32 = and 127:i32, %10 | |
| %12:i128 = zext %11 | |
| %13:i128 = lshr %1, %12 | |
| %14:i32 = addnw 55:i32, %3 | |
| %15:i32 = and 127:i32, %14 | |
| %16:i128 = zext %15 | |
| %17:i128 = shl %1, %16 | |
| %18:i1 = ne 0:i128, %17 | |
| %19:i128 = zext %18 | |
| %20:i128 = or %13, %19 | |
| %21:i128 = shl %1, 1:i128 | |
| %22:i128 = phi %9, %20, %21, %1 | |
| %23:i128 = lshr %22, 2:i128 | |
| %24:i128 = and 1:i128, %23 | |
| %25:i128 = or %22, %24 | |
| %26:i128 = add 1:i128, %25 (hasExternalUses) | |
| %27:i128 = lshr %26, 3:i128 | |
| %28:i64 = trunc %27 | |
| %29:i128 = lshr %26, 2:i128 | |
| %30:i64 = trunc %29 | |
| %31:i64 = phi %0, %8, %28, %30 | |
| infer %31 (demandedBits=0000000000001111111111111111111111111111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 (hasExternalUses) | |
| %4:i32 = subnsw 102:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 26:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| infer %16 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 (hasExternalUses) | |
| %4:i32 = subnsw 127:i32, %3 | |
| %5:i32 = subnsw 128:i32, %3 (hasExternalUses) | |
| %6:i32 = phi %0, %4, %5, %4 | |
| infer %6 (demandedBits=00000000000000000000000011111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 (hasExternalUses) | |
| %4:i32 = subnsw 127:i32, %3 | |
| %5:i32 = subnsw 128:i32, %3 (hasExternalUses) | |
| %6:i32 = phi %0, %4, %5, %4 | |
| infer %6 (demandedBits=00000000000000000000011111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i128 = var (range=[1,-170141183460469231731687303715884105727)) | |
| %2:i128 = ctlz %1 | |
| %3:i32 = trunc %2 (hasExternalUses) | |
| %4:i32 = subnsw 73:i32, %3 | |
| %5:i32 = and 127:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i128 = lshr %1, %6 | |
| %8:i32 = addnw 55:i32, %3 | |
| %9:i32 = and 127:i32, %8 | |
| %10:i128 = zext %9 | |
| %11:i128 = shl %1, %10 | |
| %12:i1 = ne 0:i128, %11 | |
| %13:i128 = zext %12 | |
| %14:i128 = or %7, %13 | |
| %15:i128 = shl %1, 1:i128 | |
| %16:i128 = phi %0, %14, %15, %1 | |
| infer %16 (demandedBits=00000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <8> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = phi %0, 0:i32, 1:i32, 1:i32 | |
| infer %1 | |
| > | |
| <noinfer> <> | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = phi %0, 1:i32, 0:i32, 0:i32 | |
| infer %1 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i1 = slt %1, 0:i32 | |
| %3 = block 2 | |
| %4:i32 = and 8388607:i32, %1 | |
| %5:i32 = or 8388608:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i32 = lshr %1, 23:i32 | |
| %8:i16 = trunc %7 | |
| %9:i16 = and 255:i16, %8 | |
| %10:i16 = subnw 150:i16, %9 | |
| %11:i32 = sext %10 | |
| %12:i128 = zext %11 | |
| %13:i128 = lshr %6, %12 | |
| %14:i16 = addnsw 65386:i16, %9 | |
| %15:i32 = sext %14 | |
| %16:i128 = zext %15 | |
| %17:i128 = shl %6, %16 | |
| %18:i128 = phi %3, %13, %17 | |
| %19:i128 = sub 0:i128, %18 | |
| %20:i128 = select %2, %19, %18 | |
| %21:i128 = select %2, 170141183460469231731687303715884105728:i128, 170141183460469231731687303715884105727:i128 | |
| %22:i128 = phi %0, %20, %21, 0:i128 | |
| infer %22 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i1 = slt %1, 0:i32 | |
| %3 = block 2 | |
| %4:i32 = and 8388607:i32, %1 | |
| %5:i32 = or 8388608:i32, %4 | |
| %6:i128 = zext %5 | |
| %7:i32 = lshr %1, 23:i32 | |
| %8:i16 = trunc %7 | |
| %9:i16 = and 255:i16, %8 | |
| %10:i16 = subnw 150:i16, %9 | |
| %11:i32 = sext %10 | |
| %12:i128 = zext %11 | |
| %13:i128 = lshr %6, %12 | |
| %14:i32 = and 8388607:i32, %1 | |
| %15:i32 = or 8388608:i32, %14 | |
| %16:i128 = zext %15 | |
| %17:i16 = addnsw 65386:i16, %9 | |
| %18:i32 = sext %17 | |
| %19:i128 = zext %18 | |
| %20:i128 = shl %16, %19 | |
| %21:i128 = phi %3, %13, %20 | |
| %22:i128 = sub 0:i128, %21 | |
| %23:i128 = select %2, %22, %21 | |
| %24:i128 = select %2, 170141183460469231731687303715884105728:i128, 170141183460469231731687303715884105727:i128 | |
| %25:i128 = phi %0, %23, %24, 0:i128 | |
| infer %25 | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i1 = slt %1, 0:i32 | |
| %3 = block 2 | |
| %4:i32 = and 8388607:i32, %1 | |
| %5:i32 = or 8388608:i32, %4 | |
| %6:i32 = lshr %1, 23:i32 | |
| %7:i16 = trunc %6 | |
| %8:i16 = and 255:i16, %7 | |
| %9:i16 = subnw 150:i16, %8 | |
| %10:i32 = zext %9 | |
| %11:i32 = lshr %5, %10 | |
| %12:i16 = addnsw 65386:i16, %8 | |
| %13:i32 = zext %12 | |
| %14:i32 = shl %5, %13 | |
| %15:i32 = phi %3, %11, %14 | |
| %16:i32 = sub 0:i32, %15 | |
| %17:i32 = select %2, %16, %15 | |
| %18:i32 = select %2, 2147483648:i32, 2147483647:i32 | |
| %19:i32 = phi %0, %17, %18, 0:i32 | |
| infer %19 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i1 = slt %1, 0:i32 | |
| %3 = block 2 | |
| %4:i32 = and 8388607:i32, %1 | |
| %5:i32 = or 8388608:i32, %4 | |
| %6:i32 = lshr %1, 23:i32 | |
| %7:i16 = trunc %6 | |
| %8:i16 = and 255:i16, %7 | |
| %9:i16 = subnw 150:i16, %8 | |
| %10:i32 = zext %9 | |
| %11:i32 = lshr %5, %10 | |
| %12:i32 = and 8388607:i32, %1 | |
| %13:i32 = or 8388608:i32, %12 | |
| %14:i16 = addnsw 65386:i16, %8 | |
| %15:i32 = zext %14 | |
| %16:i32 = shl %13, %15 | |
| %17:i32 = phi %3, %11, %16 | |
| %18:i32 = sub 0:i32, %17 | |
| %19:i32 = select %2, %18, %17 | |
| %20:i32 = select %2, 2147483648:i32, 2147483647:i32 | |
| %21:i32 = phi %0, %19, %20, 0:i32 | |
| infer %21 | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i1 = slt %1, 0:i32 | |
| %3 = block 2 | |
| %4:i32 = and 8388607:i32, %1 | |
| %5:i32 = or 8388608:i32, %4 | |
| %6:i64 = zext %5 | |
| %7:i32 = lshr %1, 23:i32 | |
| %8:i16 = trunc %7 | |
| %9:i16 = and 255:i16, %8 | |
| %10:i16 = subnw 150:i16, %9 | |
| %11:i64 = zext %10 | |
| %12:i64 = lshr %6, %11 | |
| %13:i16 = addnsw 65386:i16, %9 | |
| %14:i64 = zext %13 | |
| %15:i64 = shl %6, %14 | |
| %16:i64 = phi %3, %12, %15 | |
| %17:i64 = sub 0:i64, %16 | |
| %18:i64 = select %2, %17, %16 | |
| %19:i64 = select %2, 9223372036854775808:i64, 9223372036854775807:i64 | |
| %20:i64 = phi %0, %18, %19, 0:i64 | |
| infer %20 | |
| > | |
| <noinfer> <> | |
| <sprofile > <2> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i1 = slt %1, 0:i32 | |
| %3 = block 2 | |
| %4:i32 = and 8388607:i32, %1 | |
| %5:i32 = or 8388608:i32, %4 | |
| %6:i64 = zext %5 | |
| %7:i32 = lshr %1, 23:i32 | |
| %8:i16 = trunc %7 | |
| %9:i16 = and 255:i16, %8 | |
| %10:i16 = subnw 150:i16, %9 | |
| %11:i64 = zext %10 | |
| %12:i64 = lshr %6, %11 | |
| %13:i32 = and 8388607:i32, %1 | |
| %14:i32 = or 8388608:i32, %13 | |
| %15:i64 = zext %14 | |
| %16:i16 = addnsw 65386:i16, %9 | |
| %17:i64 = zext %16 | |
| %18:i64 = shl %15, %17 | |
| %19:i64 = phi %3, %12, %18 | |
| %20:i64 = sub 0:i64, %19 | |
| %21:i64 = select %2, %20, %19 | |
| %22:i64 = select %2, 9223372036854775808:i64, 9223372036854775807:i64 | |
| %23:i64 = phi %0, %21, %22, 0:i64 | |
| infer %23 | |
| > | |
| <noinfer> <> | |
| <sprofile > <6> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = ctlz %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 31:i32, %4 | |
| %6:i32 = shl %2, %5 | |
| %7:i32 = phi %0, %6, %2, %2 | |
| %8:i32 = or 8388608:i32, %7 | |
| infer %8 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = ctlz %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 31:i32, %4 | |
| %6:i32 = shl %2, %5 | |
| %7:i32 = phi %0, %6, %2, %2 | |
| %8:i32 = or 8388608:i32, %7 (hasExternalUses) | |
| %9:i32 = shl %8, 8:i32 | |
| %10:i32 = sub 1963258675:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i64 = zext %9 | |
| %13:i64 = mulnuw %11, %12 | |
| %14:i64 = lshr %13, 32:i64 | |
| %15:i64 = subnsw 0:i64, %14 | |
| %16:i64 = and 4294967295:i64, %15 | |
| %17:i64 = mulnuw %16, %11 | |
| %18:i64 = lshr %17, 31:i64 | |
| %19:i64 = and 4294967295:i64, %18 | |
| %20:i64 = mulnuw %19, %12 | |
| %21:i64 = lshr %20, 32:i64 | |
| %22:i64 = subnsw 0:i64, %21 | |
| %23:i64 = and 4294967295:i64, %22 | |
| %24:i64 = mulnuw %23, %19 | |
| %25:i64 = lshr %24, 31:i64 | |
| %26:i64 = and 4294967295:i64, %25 | |
| %27:i64 = mulnuw %26, %12 | |
| %28:i64 = lshr %27, 32:i64 | |
| %29:i64 = subnsw 0:i64, %28 | |
| %30:i64 = and 4294967295:i64, %29 | |
| %31:i64 = mulnuw %30, %26 | |
| %32:i64 = lshr %31, 31:i64 | |
| %33:i64 = addnw 4294967294:i64, %32 | |
| %34:i64 = and 4294967295:i64, %33 | |
| %35 = block 2 | |
| %36:i32 = var | |
| %37:i32 = and 8388607:i32, %36 | |
| %38:i32 = ctlz %37 | |
| %39:i32 = addnw 24:i32, %38 | |
| %40:i32 = and 31:i32, %39 | |
| %41:i32 = shl %37, %40 | |
| %42:i32 = phi %35, %41, %37 | |
| %43:i32 = phi %0, %42, %42, %37 | |
| %44:i32 = shl %43, 1:i32 | |
| %45:i32 = or 16777216:i32, %44 | |
| %46:i64 = zext %45 | |
| %47:i64 = mulnuw %34, %46 | |
| %48:i64 = lshr %47, 32:i64 | |
| %49:i32 = trunc %48 | |
| %50:i1 = ult %49, 16777216:i32 (hasExternalUses) | |
| %51:i64 = lshr %47, 33:i64 | |
| %52:i32 = trunc %51 | |
| %53:i32 = select %50, %49, %52 | |
| infer %53 (demandedBits=01111111111111111111111111111111) | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = ctlz %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 31:i32, %4 | |
| %6:i32 = shl %2, %5 | |
| %7:i32 = phi %0, %6, %2, %2 | |
| %8:i32 = or 8388608:i32, %7 (hasExternalUses) | |
| %9:i32 = shl %8, 8:i32 | |
| %10:i32 = sub 1963258675:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i64 = zext %9 | |
| %13:i64 = mulnuw %11, %12 | |
| %14:i64 = lshr %13, 32:i64 | |
| %15:i64 = subnsw 0:i64, %14 | |
| %16:i64 = and 4294967295:i64, %15 | |
| %17:i64 = mulnuw %16, %11 | |
| %18:i64 = lshr %17, 31:i64 | |
| %19:i64 = and 4294967295:i64, %18 | |
| %20:i64 = mulnuw %19, %12 | |
| %21:i64 = lshr %20, 32:i64 | |
| %22:i64 = subnsw 0:i64, %21 | |
| %23:i64 = and 4294967295:i64, %22 | |
| %24:i64 = mulnuw %23, %19 | |
| %25:i64 = lshr %24, 31:i64 | |
| %26:i64 = and 4294967295:i64, %25 | |
| %27:i64 = mulnuw %26, %12 | |
| %28:i64 = lshr %27, 32:i64 | |
| %29:i64 = subnsw 0:i64, %28 | |
| %30:i64 = and 4294967295:i64, %29 | |
| %31:i64 = mulnuw %30, %26 | |
| %32:i64 = lshr %31, 31:i64 | |
| %33:i64 = addnw 4294967294:i64, %32 | |
| %34:i64 = and 4294967295:i64, %33 | |
| %35 = block 2 | |
| %36:i32 = var | |
| %37:i32 = and 8388607:i32, %36 | |
| %38:i32 = ctlz %37 | |
| %39:i32 = addnw 24:i32, %38 | |
| %40:i32 = and 31:i32, %39 | |
| %41:i32 = shl %37, %40 | |
| %42:i32 = phi %35, %41, %37 | |
| %43:i32 = phi %0, %42, %42, %37 | |
| %44:i32 = shl %43, 1:i32 | |
| %45:i32 = or 16777216:i32, %44 | |
| %46:i64 = zext %45 | |
| %47:i64 = mulnuw %34, %46 | |
| %48:i64 = lshr %47, 32:i64 | |
| %49:i32 = trunc %48 | |
| %50:i1 = ult %49, 16777216:i32 (hasExternalUses) | |
| %51:i64 = lshr %47, 33:i64 | |
| %52:i32 = trunc %51 | |
| %53:i32 = select %50, %49, %52 (hasExternalUses) | |
| %54:i32 = mul %8, %53 | |
| infer %54 (demandedBits=01111111111111111111111111111111) | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = ctlz %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 31:i32, %4 | |
| %6:i32 = shl %2, %5 | |
| %7:i32 = phi %0, %6, %2, %2 | |
| %8:i32 = or 8388608:i32, %7 (hasExternalUses) | |
| %9:i32 = shl %8, 8:i32 | |
| %10:i32 = sub 1963258675:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i64 = zext %9 | |
| %13:i64 = mulnuw %11, %12 | |
| %14:i64 = lshr %13, 32:i64 | |
| %15:i64 = subnsw 0:i64, %14 | |
| %16:i64 = and 4294967295:i64, %15 | |
| %17:i64 = mulnuw %16, %11 | |
| %18:i64 = lshr %17, 31:i64 | |
| %19:i64 = and 4294967295:i64, %18 | |
| %20:i64 = mulnuw %19, %12 | |
| %21:i64 = lshr %20, 32:i64 | |
| %22:i64 = subnsw 0:i64, %21 | |
| %23:i64 = and 4294967295:i64, %22 | |
| %24:i64 = mulnuw %23, %19 | |
| %25:i64 = lshr %24, 31:i64 | |
| %26:i64 = and 4294967295:i64, %25 | |
| %27:i64 = mulnuw %26, %12 | |
| %28:i64 = lshr %27, 32:i64 | |
| %29:i64 = subnsw 0:i64, %28 | |
| %30:i64 = and 4294967295:i64, %29 | |
| %31:i64 = mulnuw %30, %26 | |
| %32:i64 = lshr %31, 31:i64 | |
| %33:i64 = addnw 4294967294:i64, %32 | |
| %34:i64 = and 4294967295:i64, %33 | |
| %35 = block 2 | |
| %36:i32 = var | |
| %37:i32 = and 8388607:i32, %36 | |
| %38:i32 = ctlz %37 | |
| %39:i32 = addnw 24:i32, %38 | |
| %40:i32 = and 31:i32, %39 | |
| %41:i32 = shl %37, %40 | |
| %42:i32 = phi %35, %41, %37 | |
| %43:i32 = phi %0, %42, %42, %37 | |
| %44:i32 = shl %43, 1:i32 | |
| %45:i32 = or 16777216:i32, %44 | |
| %46:i64 = zext %45 | |
| %47:i64 = mulnuw %34, %46 | |
| infer %47 (demandedBits=1111111111111111111111111111111100000000000000000000000000000000) | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = ctlz %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 31:i32, %4 | |
| %6:i32 = shl %2, %5 | |
| %7:i32 = phi %0, %6, %2, %2 | |
| %8:i32 = or 8388608:i32, %7 (hasExternalUses) | |
| %9:i32 = shl %8, 8:i32 | |
| %10:i32 = sub 1963258675:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i64 = zext %9 | |
| %13:i64 = mulnuw %11, %12 | |
| %14:i64 = lshr %13, 32:i64 | |
| %15:i64 = subnsw 0:i64, %14 | |
| %16:i64 = and 4294967295:i64, %15 | |
| %17:i64 = mulnuw %16, %11 | |
| %18:i64 = lshr %17, 31:i64 | |
| %19:i64 = and 4294967295:i64, %18 | |
| %20:i64 = mulnuw %19, %12 | |
| %21:i64 = lshr %20, 32:i64 | |
| %22:i64 = subnsw 0:i64, %21 | |
| %23:i64 = and 4294967295:i64, %22 | |
| %24:i64 = mulnuw %23, %19 | |
| %25:i64 = lshr %24, 31:i64 | |
| %26:i64 = and 4294967295:i64, %25 | |
| %27:i64 = mulnuw %26, %12 | |
| %28:i64 = lshr %27, 32:i64 | |
| %29:i64 = subnsw 0:i64, %28 | |
| %30:i64 = and 4294967295:i64, %29 | |
| %31:i64 = mulnuw %30, %26 | |
| %32:i64 = lshr %31, 31:i64 | |
| %33:i64 = addnw 4294967294:i64, %32 | |
| %34:i64 = and 4294967295:i64, %33 | |
| %35 = block 2 | |
| %36:i32 = var | |
| %37:i32 = and 8388607:i32, %36 | |
| %38:i32 = ctlz %37 | |
| %39:i32 = addnw 24:i32, %38 | |
| %40:i32 = and 31:i32, %39 | |
| %41:i32 = shl %37, %40 | |
| %42:i32 = phi %35, %41, %37 | |
| %43:i32 = phi %0, %42, %42, %37 | |
| %44:i32 = shl %43, 1:i32 | |
| %45:i32 = or 16777216:i32, %44 | |
| %46:i64 = zext %45 | |
| %47:i64 = mulnuw %34, %46 (hasExternalUses) | |
| %48:i64 = lshr %47, 32:i64 | |
| %49:i32 = trunc %48 | |
| infer %49 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = ctlz %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 31:i32, %4 | |
| %6:i32 = shl %2, %5 | |
| %7:i32 = phi %0, %6, %2, %2 | |
| %8:i32 = or 8388608:i32, %7 (hasExternalUses) | |
| %9:i32 = shl %8, 8:i32 | |
| %10:i32 = sub 1963258675:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i64 = zext %9 | |
| %13:i64 = mulnuw %11, %12 | |
| %14:i64 = lshr %13, 32:i64 | |
| %15:i64 = subnsw 0:i64, %14 | |
| %16:i64 = and 4294967295:i64, %15 | |
| %17:i64 = mulnuw %16, %11 | |
| %18:i64 = lshr %17, 31:i64 | |
| %19:i64 = and 4294967295:i64, %18 | |
| %20:i64 = mulnuw %19, %12 | |
| %21:i64 = lshr %20, 32:i64 | |
| %22:i64 = subnsw 0:i64, %21 | |
| %23:i64 = and 4294967295:i64, %22 | |
| %24:i64 = mulnuw %23, %19 | |
| %25:i64 = lshr %24, 31:i64 | |
| %26:i64 = and 4294967295:i64, %25 | |
| %27:i64 = mulnuw %26, %12 | |
| %28:i64 = lshr %27, 32:i64 | |
| %29:i64 = subnsw 0:i64, %28 | |
| %30:i64 = and 4294967295:i64, %29 | |
| %31:i64 = mulnuw %30, %26 | |
| %32:i64 = lshr %31, 31:i64 | |
| %33:i64 = addnw 4294967294:i64, %32 | |
| %34:i64 = and 4294967295:i64, %33 | |
| %35 = block 2 | |
| %36:i32 = var | |
| %37:i32 = and 8388607:i32, %36 | |
| %38:i32 = ctlz %37 | |
| %39:i32 = addnw 24:i32, %38 | |
| %40:i32 = and 31:i32, %39 | |
| %41:i32 = shl %37, %40 | |
| %42:i32 = phi %35, %41, %37 | |
| %43:i32 = phi %0, %42, %42, %37 | |
| %44:i32 = shl %43, 1:i32 | |
| %45:i32 = or 16777216:i32, %44 | |
| %46:i64 = zext %45 | |
| %47:i64 = mulnuw %34, %46 (hasExternalUses) | |
| %48:i64 = lshr %47, 32:i64 | |
| %49:i32 = trunc %48 (hasExternalUses) | |
| %50:i1 = ult %49, 16777216:i32 | |
| infer %50 | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = ctlz %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 31:i32, %4 | |
| %6:i32 = shl %2, %5 | |
| %7:i32 = phi %0, %6, %2, %2 | |
| %8:i32 = or 8388608:i32, %7 (hasExternalUses) | |
| %9:i32 = shl %8, 8:i32 | |
| %10:i32 = sub 1963258675:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i64 = zext %9 | |
| %13:i64 = mulnuw %11, %12 | |
| %14:i64 = lshr %13, 32:i64 | |
| %15:i64 = subnsw 0:i64, %14 | |
| %16:i64 = and 4294967295:i64, %15 | |
| %17:i64 = mulnuw %16, %11 | |
| %18:i64 = lshr %17, 31:i64 | |
| %19:i64 = and 4294967295:i64, %18 | |
| %20:i64 = mulnuw %19, %12 | |
| %21:i64 = lshr %20, 32:i64 | |
| %22:i64 = subnsw 0:i64, %21 | |
| %23:i64 = and 4294967295:i64, %22 | |
| %24:i64 = mulnuw %23, %19 | |
| %25:i64 = lshr %24, 31:i64 | |
| %26:i64 = and 4294967295:i64, %25 | |
| %27:i64 = mulnuw %26, %12 | |
| %28:i64 = lshr %27, 32:i64 | |
| %29:i64 = subnsw 0:i64, %28 | |
| %30:i64 = and 4294967295:i64, %29 | |
| %31:i64 = mulnuw %30, %26 | |
| %32:i64 = lshr %31, 31:i64 | |
| %33:i64 = addnw 4294967294:i64, %32 | |
| %34:i64 = and 4294967295:i64, %33 | |
| %35 = block 2 | |
| %36:i32 = var | |
| %37:i32 = and 8388607:i32, %36 | |
| %38:i32 = ctlz %37 | |
| %39:i32 = addnw 24:i32, %38 | |
| %40:i32 = and 31:i32, %39 | |
| %41:i32 = shl %37, %40 | |
| %42:i32 = phi %35, %41, %37 | |
| %43:i32 = phi %0, %42, %42, %37 | |
| %44:i32 = shl %43, 1:i32 | |
| %45:i32 = or 16777216:i32, %44 | |
| %46:i64 = zext %45 | |
| %47:i64 = mulnuw %34, %46 (hasExternalUses) | |
| %48:i64 = lshr %47, 32:i64 | |
| %49:i32 = trunc %48 (hasExternalUses) | |
| %50:i1 = ult %49, 16777216:i32 | |
| pc %50 0:i1 | |
| %51:i32 = shl %43, 23:i32 | |
| %52:i64 = lshr %47, 33:i64 | |
| %53:i32 = trunc %52 (hasExternalUses) | |
| %54:i32 = mul %8, %53 | |
| %55:i32 = sub %51, %54 | |
| infer %55 (demandedBits=01111111111111111111111111111111) | |
| > | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = ctlz %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 31:i32, %4 | |
| %6:i32 = shl %2, %5 | |
| %7:i32 = phi %0, %6, %2, %2 | |
| %8:i32 = or 8388608:i32, %7 (hasExternalUses) | |
| %9:i32 = shl %8, 8:i32 | |
| %10:i32 = sub 1963258675:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i64 = zext %9 | |
| %13:i64 = mulnuw %11, %12 | |
| %14:i64 = lshr %13, 32:i64 | |
| %15:i64 = subnsw 0:i64, %14 | |
| %16:i64 = and 4294967295:i64, %15 | |
| %17:i64 = mulnuw %16, %11 | |
| %18:i64 = lshr %17, 31:i64 | |
| %19:i64 = and 4294967295:i64, %18 | |
| %20:i64 = mulnuw %19, %12 | |
| %21:i64 = lshr %20, 32:i64 | |
| %22:i64 = subnsw 0:i64, %21 | |
| %23:i64 = and 4294967295:i64, %22 | |
| %24:i64 = mulnuw %23, %19 | |
| %25:i64 = lshr %24, 31:i64 | |
| %26:i64 = and 4294967295:i64, %25 | |
| %27:i64 = mulnuw %26, %12 | |
| %28:i64 = lshr %27, 32:i64 | |
| %29:i64 = subnsw 0:i64, %28 | |
| %30:i64 = and 4294967295:i64, %29 | |
| %31:i64 = mulnuw %30, %26 | |
| %32:i64 = lshr %31, 31:i64 | |
| %33:i64 = addnw 4294967294:i64, %32 | |
| %34:i64 = and 4294967295:i64, %33 | |
| %35 = block 2 | |
| %36:i32 = var | |
| %37:i32 = and 8388607:i32, %36 | |
| %38:i32 = ctlz %37 | |
| %39:i32 = addnw 24:i32, %38 | |
| %40:i32 = and 31:i32, %39 | |
| %41:i32 = shl %37, %40 | |
| %42:i32 = phi %35, %41, %37 | |
| %43:i32 = phi %0, %42, %42, %37 | |
| %44:i32 = shl %43, 1:i32 | |
| %45:i32 = or 16777216:i32, %44 | |
| %46:i64 = zext %45 | |
| %47:i64 = mulnuw %34, %46 (hasExternalUses) | |
| %48:i64 = lshr %47, 32:i64 | |
| %49:i32 = trunc %48 (hasExternalUses) | |
| %50:i1 = ult %49, 16777216:i32 | |
| pc %50 0:i1 | |
| %51:i32 = shl %43, 23:i32 | |
| infer %51 (demandedBits=01111111111111111111111111111111) | |
| > | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = ctlz %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 31:i32, %4 | |
| %6:i32 = shl %2, %5 | |
| %7:i32 = phi %0, %6, %2, %2 | |
| %8:i32 = or 8388608:i32, %7 (hasExternalUses) | |
| %9:i32 = shl %8, 8:i32 | |
| %10:i32 = sub 1963258675:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i64 = zext %9 | |
| %13:i64 = mulnuw %11, %12 | |
| %14:i64 = lshr %13, 32:i64 | |
| %15:i64 = subnsw 0:i64, %14 | |
| %16:i64 = and 4294967295:i64, %15 | |
| %17:i64 = mulnuw %16, %11 | |
| %18:i64 = lshr %17, 31:i64 | |
| %19:i64 = and 4294967295:i64, %18 | |
| %20:i64 = mulnuw %19, %12 | |
| %21:i64 = lshr %20, 32:i64 | |
| %22:i64 = subnsw 0:i64, %21 | |
| %23:i64 = and 4294967295:i64, %22 | |
| %24:i64 = mulnuw %23, %19 | |
| %25:i64 = lshr %24, 31:i64 | |
| %26:i64 = and 4294967295:i64, %25 | |
| %27:i64 = mulnuw %26, %12 | |
| %28:i64 = lshr %27, 32:i64 | |
| %29:i64 = subnsw 0:i64, %28 | |
| %30:i64 = and 4294967295:i64, %29 | |
| %31:i64 = mulnuw %30, %26 | |
| %32:i64 = lshr %31, 31:i64 | |
| %33:i64 = addnw 4294967294:i64, %32 | |
| %34:i64 = and 4294967295:i64, %33 | |
| %35 = block 2 | |
| %36:i32 = var | |
| %37:i32 = and 8388607:i32, %36 | |
| %38:i32 = ctlz %37 | |
| %39:i32 = addnw 24:i32, %38 | |
| %40:i32 = and 31:i32, %39 | |
| %41:i32 = shl %37, %40 | |
| %42:i32 = phi %35, %41, %37 | |
| %43:i32 = phi %0, %42, %42, %37 | |
| %44:i32 = shl %43, 1:i32 | |
| %45:i32 = or 16777216:i32, %44 | |
| %46:i64 = zext %45 | |
| %47:i64 = mulnuw %34, %46 (hasExternalUses) | |
| %48:i64 = lshr %47, 32:i64 | |
| %49:i32 = trunc %48 (hasExternalUses) | |
| %50:i1 = ult %49, 16777216:i32 | |
| pc %50 0:i1 | |
| %51:i64 = lshr %47, 33:i64 | |
| %52:i32 = trunc %51 | |
| infer %52 (demandedBits=01111111111111111111111111111111) | |
| > | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = ctlz %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 31:i32, %4 | |
| %6:i32 = shl %2, %5 | |
| %7:i32 = phi %0, %6, %2, %2 | |
| %8:i32 = or 8388608:i32, %7 (hasExternalUses) | |
| %9:i32 = shl %8, 8:i32 | |
| %10:i32 = sub 1963258675:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i64 = zext %9 | |
| %13:i64 = mulnuw %11, %12 | |
| %14:i64 = lshr %13, 32:i64 | |
| %15:i64 = subnsw 0:i64, %14 | |
| %16:i64 = and 4294967295:i64, %15 | |
| %17:i64 = mulnuw %16, %11 | |
| %18:i64 = lshr %17, 31:i64 | |
| %19:i64 = and 4294967295:i64, %18 | |
| %20:i64 = mulnuw %19, %12 | |
| %21:i64 = lshr %20, 32:i64 | |
| %22:i64 = subnsw 0:i64, %21 | |
| %23:i64 = and 4294967295:i64, %22 | |
| %24:i64 = mulnuw %23, %19 | |
| %25:i64 = lshr %24, 31:i64 | |
| %26:i64 = and 4294967295:i64, %25 | |
| %27:i64 = mulnuw %26, %12 | |
| %28:i64 = lshr %27, 32:i64 | |
| %29:i64 = subnsw 0:i64, %28 | |
| %30:i64 = and 4294967295:i64, %29 | |
| %31:i64 = mulnuw %30, %26 | |
| %32:i64 = lshr %31, 31:i64 | |
| %33:i64 = addnw 4294967294:i64, %32 | |
| %34:i64 = and 4294967295:i64, %33 | |
| %35 = block 2 | |
| %36:i32 = var | |
| %37:i32 = and 8388607:i32, %36 | |
| %38:i32 = ctlz %37 | |
| %39:i32 = addnw 24:i32, %38 | |
| %40:i32 = and 31:i32, %39 | |
| %41:i32 = shl %37, %40 | |
| %42:i32 = phi %35, %41, %37 | |
| %43:i32 = phi %0, %42, %42, %37 | |
| %44:i32 = shl %43, 1:i32 | |
| %45:i32 = or 16777216:i32, %44 | |
| %46:i64 = zext %45 | |
| %47:i64 = mulnuw %34, %46 (hasExternalUses) | |
| %48:i64 = lshr %47, 32:i64 | |
| %49:i32 = trunc %48 (hasExternalUses) | |
| %50:i1 = ult %49, 16777216:i32 | |
| pc %50 0:i1 | |
| %51:i64 = lshr %47, 33:i64 | |
| %52:i32 = trunc %51 (hasExternalUses) | |
| %53:i32 = mul %8, %52 | |
| infer %53 (demandedBits=01111111111111111111111111111111) | |
| > | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = ctlz %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 31:i32, %4 | |
| %6:i32 = shl %2, %5 | |
| %7:i32 = phi %0, %6, %2, %2 | |
| %8:i32 = or 8388608:i32, %7 (hasExternalUses) | |
| %9:i32 = shl %8, 8:i32 | |
| %10:i32 = sub 1963258675:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i64 = zext %9 | |
| %13:i64 = mulnuw %11, %12 | |
| %14:i64 = lshr %13, 32:i64 | |
| %15:i64 = subnsw 0:i64, %14 | |
| %16:i64 = and 4294967295:i64, %15 | |
| %17:i64 = mulnuw %16, %11 | |
| %18:i64 = lshr %17, 31:i64 | |
| %19:i64 = and 4294967295:i64, %18 | |
| %20:i64 = mulnuw %19, %12 | |
| %21:i64 = lshr %20, 32:i64 | |
| %22:i64 = subnsw 0:i64, %21 | |
| %23:i64 = and 4294967295:i64, %22 | |
| %24:i64 = mulnuw %23, %19 | |
| %25:i64 = lshr %24, 31:i64 | |
| %26:i64 = and 4294967295:i64, %25 | |
| %27:i64 = mulnuw %26, %12 | |
| %28:i64 = lshr %27, 32:i64 | |
| %29:i64 = subnsw 0:i64, %28 | |
| %30:i64 = and 4294967295:i64, %29 | |
| %31:i64 = mulnuw %30, %26 | |
| %32:i64 = lshr %31, 31:i64 | |
| %33:i64 = addnw 4294967294:i64, %32 | |
| %34:i64 = and 4294967295:i64, %33 | |
| %35 = block 2 | |
| %36:i32 = var | |
| %37:i32 = and 8388607:i32, %36 | |
| %38:i32 = ctlz %37 | |
| %39:i32 = addnw 24:i32, %38 | |
| %40:i32 = and 31:i32, %39 | |
| %41:i32 = shl %37, %40 | |
| %42:i32 = phi %35, %41, %37 | |
| %43:i32 = phi %0, %42, %42, %37 | |
| %44:i32 = shl %43, 1:i32 | |
| %45:i32 = or 16777216:i32, %44 | |
| %46:i64 = zext %45 | |
| %47:i64 = mulnuw %34, %46 (hasExternalUses) | |
| %48:i64 = lshr %47, 32:i64 | |
| %49:i32 = trunc %48 (hasExternalUses) | |
| %50:i1 = ult %49, 16777216:i32 | |
| pc %50 0:i1 | |
| %51:i64 = lshr %47, 33:i64 | |
| infer %51 (demandedBits=0000000000000000000000000000000001111111111111111111111111111111) | |
| > | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = ctlz %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 31:i32, %4 | |
| %6:i32 = shl %2, %5 | |
| %7:i32 = phi %0, %6, %2, %2 | |
| %8:i32 = or 8388608:i32, %7 (hasExternalUses) | |
| %9:i32 = shl %8, 8:i32 | |
| %10:i32 = sub 1963258675:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i64 = zext %9 | |
| %13:i64 = mulnuw %11, %12 | |
| %14:i64 = lshr %13, 32:i64 | |
| %15:i64 = subnsw 0:i64, %14 | |
| %16:i64 = and 4294967295:i64, %15 | |
| %17:i64 = mulnuw %16, %11 | |
| %18:i64 = lshr %17, 31:i64 | |
| %19:i64 = and 4294967295:i64, %18 | |
| %20:i64 = mulnuw %19, %12 | |
| %21:i64 = lshr %20, 32:i64 | |
| %22:i64 = subnsw 0:i64, %21 | |
| %23:i64 = and 4294967295:i64, %22 | |
| %24:i64 = mulnuw %23, %19 | |
| %25:i64 = lshr %24, 31:i64 | |
| %26:i64 = and 4294967295:i64, %25 | |
| %27:i64 = mulnuw %26, %12 | |
| %28:i64 = lshr %27, 32:i64 | |
| %29:i64 = subnsw 0:i64, %28 | |
| %30:i64 = and 4294967295:i64, %29 | |
| %31:i64 = mulnuw %30, %26 | |
| %32:i64 = lshr %31, 31:i64 | |
| %33:i64 = addnw 4294967294:i64, %32 | |
| %34:i64 = and 4294967295:i64, %33 | |
| %35 = block 2 | |
| %36:i32 = var | |
| %37:i32 = and 8388607:i32, %36 | |
| %38:i32 = ctlz %37 | |
| %39:i32 = addnw 24:i32, %38 | |
| %40:i32 = and 31:i32, %39 | |
| %41:i32 = shl %37, %40 | |
| %42:i32 = phi %35, %41, %37 | |
| %43:i32 = phi %0, %42, %42, %37 | |
| %44:i32 = shl %43, 1:i32 | |
| %45:i32 = or 16777216:i32, %44 | |
| %46:i64 = zext %45 | |
| %47:i64 = mulnuw %34, %46 (hasExternalUses) | |
| %48:i64 = lshr %47, 32:i64 | |
| %49:i32 = trunc %48 (hasExternalUses) | |
| %50:i1 = ult %49, 16777216:i32 | |
| pc %50 1:i1 | |
| %51:i32 = mul %8, %49 | |
| infer %51 (demandedBits=01111111111111111111111111111111) | |
| > | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = ctlz %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 31:i32, %4 | |
| %6:i32 = shl %2, %5 | |
| %7:i32 = phi %0, %6, %2, %2 | |
| %8:i32 = or 8388608:i32, %7 (hasExternalUses) | |
| %9:i32 = shl %8, 8:i32 | |
| %10:i32 = sub 1963258675:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i64 = zext %9 | |
| %13:i64 = mulnuw %11, %12 | |
| %14:i64 = lshr %13, 32:i64 | |
| %15:i64 = subnsw 0:i64, %14 | |
| %16:i64 = and 4294967295:i64, %15 | |
| %17:i64 = mulnuw %16, %11 | |
| %18:i64 = lshr %17, 31:i64 | |
| %19:i64 = and 4294967295:i64, %18 | |
| %20:i64 = mulnuw %19, %12 | |
| %21:i64 = lshr %20, 32:i64 | |
| %22:i64 = subnsw 0:i64, %21 | |
| %23:i64 = and 4294967295:i64, %22 | |
| %24:i64 = mulnuw %23, %19 | |
| %25:i64 = lshr %24, 31:i64 | |
| %26:i64 = and 4294967295:i64, %25 | |
| %27:i64 = mulnuw %26, %12 | |
| %28:i64 = lshr %27, 32:i64 | |
| %29:i64 = subnsw 0:i64, %28 | |
| %30:i64 = and 4294967295:i64, %29 | |
| %31:i64 = mulnuw %30, %26 | |
| %32:i64 = lshr %31, 31:i64 | |
| %33:i64 = addnw 4294967294:i64, %32 | |
| %34:i64 = and 4294967295:i64, %33 | |
| %35 = block 2 | |
| %36:i32 = var | |
| %37:i32 = and 8388607:i32, %36 | |
| %38:i32 = ctlz %37 | |
| %39:i32 = addnw 24:i32, %38 | |
| %40:i32 = and 31:i32, %39 | |
| %41:i32 = shl %37, %40 | |
| %42:i32 = phi %35, %41, %37 | |
| %43:i32 = phi %0, %42, %42, %37 | |
| %44:i32 = shl %43, 1:i32 | |
| %45:i32 = or 16777216:i32, %44 | |
| %46:i64 = zext %45 | |
| %47:i64 = mulnuw %34, %46 (hasExternalUses) | |
| %48:i64 = lshr %47, 32:i64 | |
| %49:i32 = trunc %48 (hasExternalUses) | |
| %50:i1 = ult %49, 16777216:i32 | |
| pc %50 1:i1 | |
| %51:i32 = shl %43, 24:i32 | |
| %52:i32 = mul %8, %49 | |
| %53:i32 = sub %51, %52 | |
| infer %53 (demandedBits=01111111111111111111111111111111) | |
| > | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = ctlz %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 31:i32, %4 | |
| %6:i32 = shl %2, %5 | |
| %7:i32 = phi %0, %6, %2, %2 | |
| %8:i32 = or 8388608:i32, %7 (hasExternalUses) | |
| %9:i32 = shl %8, 8:i32 | |
| %10:i32 = sub 1963258675:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i64 = zext %9 | |
| %13:i64 = mulnuw %11, %12 | |
| %14:i64 = lshr %13, 32:i64 | |
| %15:i64 = subnsw 0:i64, %14 | |
| %16:i64 = and 4294967295:i64, %15 | |
| %17:i64 = mulnuw %16, %11 | |
| %18:i64 = lshr %17, 31:i64 | |
| %19:i64 = and 4294967295:i64, %18 | |
| %20:i64 = mulnuw %19, %12 | |
| %21:i64 = lshr %20, 32:i64 | |
| %22:i64 = subnsw 0:i64, %21 | |
| %23:i64 = and 4294967295:i64, %22 | |
| %24:i64 = mulnuw %23, %19 | |
| %25:i64 = lshr %24, 31:i64 | |
| %26:i64 = and 4294967295:i64, %25 | |
| %27:i64 = mulnuw %26, %12 | |
| %28:i64 = lshr %27, 32:i64 | |
| %29:i64 = subnsw 0:i64, %28 | |
| %30:i64 = and 4294967295:i64, %29 | |
| %31:i64 = mulnuw %30, %26 | |
| %32:i64 = lshr %31, 31:i64 | |
| %33:i64 = addnw 4294967294:i64, %32 | |
| %34:i64 = and 4294967295:i64, %33 | |
| %35 = block 2 | |
| %36:i32 = var | |
| %37:i32 = and 8388607:i32, %36 | |
| %38:i32 = ctlz %37 | |
| %39:i32 = addnw 24:i32, %38 | |
| %40:i32 = and 31:i32, %39 | |
| %41:i32 = shl %37, %40 | |
| %42:i32 = phi %35, %41, %37 | |
| %43:i32 = phi %0, %42, %42, %37 | |
| %44:i32 = shl %43, 1:i32 | |
| %45:i32 = or 16777216:i32, %44 | |
| %46:i64 = zext %45 | |
| %47:i64 = mulnuw %34, %46 (hasExternalUses) | |
| %48:i64 = lshr %47, 32:i64 | |
| %49:i32 = trunc %48 (hasExternalUses) | |
| %50:i1 = ult %49, 16777216:i32 | |
| pc %50 1:i1 | |
| %51:i32 = shl %43, 24:i32 | |
| infer %51 (demandedBits=01111111111111111111111111111111) | |
| > | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = ctlz %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 31:i32, %4 | |
| %6:i32 = shl %2, %5 | |
| %7:i32 = phi %0, %6, %2, %2 | |
| %8:i32 = or 8388608:i32, %7 (hasExternalUses) | |
| %9:i32 = shl %8, 8:i32 | |
| %10:i32 = sub 1963258675:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i64 = zext %9 | |
| %13:i64 = mulnuw %11, %12 | |
| %14:i64 = lshr %13, 32:i64 | |
| %15:i64 = subnsw 0:i64, %14 | |
| %16:i64 = and 4294967295:i64, %15 | |
| %17:i64 = mulnuw %16, %11 | |
| %18:i64 = lshr %17, 31:i64 | |
| %19:i64 = and 4294967295:i64, %18 | |
| %20:i64 = mulnuw %19, %12 | |
| %21:i64 = lshr %20, 32:i64 | |
| %22:i64 = subnsw 0:i64, %21 | |
| %23:i64 = and 4294967295:i64, %22 | |
| %24:i64 = mulnuw %23, %19 | |
| %25:i64 = lshr %24, 31:i64 | |
| %26:i64 = and 4294967295:i64, %25 | |
| %27:i64 = mulnuw %26, %12 | |
| %28:i64 = lshr %27, 32:i64 | |
| %29:i64 = subnsw 0:i64, %28 | |
| %30:i64 = and 4294967295:i64, %29 | |
| %31:i64 = mulnuw %30, %26 | |
| %32:i64 = lshr %31, 31:i64 | |
| %33:i64 = addnw 4294967294:i64, %32 | |
| %34:i64 = and 4294967295:i64, %33 | |
| %35 = block 2 | |
| %36:i32 = var | |
| %37:i32 = and 8388607:i32, %36 | |
| %38:i32 = ctlz %37 | |
| %39:i32 = addnw 24:i32, %38 | |
| %40:i32 = and 31:i32, %39 | |
| %41:i32 = shl %37, %40 | |
| %42:i32 = phi %35, %41, %37 | |
| %43:i32 = phi %0, %42, %42, %37 | |
| %44:i32 = shl %43, 1:i32 | |
| %45:i32 = or 16777216:i32, %44 | |
| %46:i64 = zext %45 | |
| %47:i64 = mulnuw %34, %46 (hasExternalUses) | |
| %48:i64 = lshr %47, 32:i64 | |
| %49:i32 = trunc %48 (hasExternalUses) | |
| %50:i1 = ult %49, 16777216:i32 | |
| pc %50 1:i1 | |
| %51:i32 = subnsw 9:i32, %38 | |
| %52:i32 = phi %35, %51, 0:i32 | |
| %53:i32 = addnsw 4294967287:i32, %3 | |
| %54:i32 = addnsw %52, %53 | |
| %55:i32 = phi %0, %54, %52, 0:i32 | |
| %56:i32 = lshr %36, 23:i32 | |
| %57:i32 = and 255:i32, %56 (hasExternalUses) | |
| %58:i32 = lshr %1, 23:i32 | |
| %59:i32 = and 255:i32, %58 (hasExternalUses) | |
| %60:i32 = subnsw %57, %59 | |
| %61:i32 = addnsw %55, %60 (hasExternalUses) | |
| %62:i32 = addnsw 4294967295:i32, %61 | |
| infer %62 | |
| > | |
| <sprofile > <3> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = ctlz %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 31:i32, %4 | |
| %6:i32 = shl %2, %5 | |
| %7:i32 = phi %0, %6, %2, %2 | |
| %8:i32 = or 8388608:i32, %7 (hasExternalUses) | |
| %9:i32 = shl %8, 8:i32 | |
| %10:i32 = sub 1963258675:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i64 = zext %9 | |
| %13:i64 = mulnuw %11, %12 | |
| %14:i64 = lshr %13, 32:i64 | |
| %15:i64 = subnsw 0:i64, %14 | |
| %16:i64 = and 4294967295:i64, %15 | |
| %17:i64 = mulnuw %16, %11 | |
| %18:i64 = lshr %17, 31:i64 | |
| %19:i64 = and 4294967295:i64, %18 | |
| %20:i64 = mulnuw %19, %12 | |
| %21:i64 = lshr %20, 32:i64 | |
| %22:i64 = subnsw 0:i64, %21 | |
| %23:i64 = and 4294967295:i64, %22 | |
| %24:i64 = mulnuw %23, %19 | |
| %25:i64 = lshr %24, 31:i64 | |
| %26:i64 = and 4294967295:i64, %25 | |
| %27:i64 = mulnuw %26, %12 | |
| %28:i64 = lshr %27, 32:i64 | |
| %29:i64 = subnsw 0:i64, %28 | |
| %30:i64 = and 4294967295:i64, %29 | |
| %31:i64 = mulnuw %30, %26 | |
| %32:i64 = lshr %31, 31:i64 | |
| %33:i64 = addnw 4294967294:i64, %32 | |
| %34:i64 = and 4294967295:i64, %33 | |
| %35 = block 2 | |
| %36:i32 = var | |
| %37:i32 = and 8388607:i32, %36 | |
| %38:i32 = ctlz %37 | |
| %39:i32 = addnw 24:i32, %38 | |
| %40:i32 = and 31:i32, %39 | |
| %41:i32 = shl %37, %40 | |
| %42:i32 = phi %35, %41, %37 | |
| %43:i32 = phi %0, %42, %42, %37 | |
| %44:i32 = shl %43, 1:i32 | |
| %45:i32 = or 16777216:i32, %44 | |
| %46:i64 = zext %45 | |
| %47:i64 = mulnuw %34, %46 (hasExternalUses) | |
| %48:i64 = lshr %47, 32:i64 | |
| %49:i32 = trunc %48 (hasExternalUses) | |
| %50:i1 = ult %49, 16777216:i32 (hasExternalUses) | |
| %51:i32 = select %50, 24:i32, 23:i32 | |
| infer %51 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = ctlz %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 31:i32, %4 | |
| %6:i32 = shl %2, %5 | |
| %7:i32 = phi %0, %6, %2, %2 | |
| %8:i32 = or 8388608:i32, %7 (hasExternalUses) | |
| %9:i32 = shl %8, 8:i32 | |
| %10:i32 = sub 1963258675:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i64 = zext %9 | |
| %13:i64 = mulnuw %11, %12 | |
| %14:i64 = lshr %13, 32:i64 | |
| %15:i64 = subnsw 0:i64, %14 | |
| %16:i64 = and 4294967295:i64, %15 | |
| %17:i64 = mulnuw %16, %11 | |
| %18:i64 = lshr %17, 31:i64 | |
| %19:i64 = and 4294967295:i64, %18 | |
| %20:i64 = mulnuw %19, %12 | |
| %21:i64 = lshr %20, 32:i64 | |
| %22:i64 = subnsw 0:i64, %21 | |
| %23:i64 = and 4294967295:i64, %22 | |
| %24:i64 = mulnuw %23, %19 | |
| %25:i64 = lshr %24, 31:i64 | |
| %26:i64 = and 4294967295:i64, %25 | |
| %27:i64 = mulnuw %26, %12 | |
| %28:i64 = lshr %27, 32:i64 | |
| %29:i64 = subnsw 0:i64, %28 | |
| %30:i64 = and 4294967295:i64, %29 | |
| %31:i64 = mulnuw %30, %26 | |
| %32:i64 = lshr %31, 31:i64 | |
| %33:i64 = addnw 4294967294:i64, %32 | |
| %34:i64 = and 4294967295:i64, %33 | |
| %35 = block 2 | |
| %36:i32 = var | |
| %37:i32 = and 8388607:i32, %36 | |
| %38:i32 = ctlz %37 | |
| %39:i32 = addnw 24:i32, %38 | |
| %40:i32 = and 31:i32, %39 | |
| %41:i32 = shl %37, %40 | |
| %42:i32 = phi %35, %41, %37 | |
| %43:i32 = phi %0, %42, %42, %37 | |
| %44:i32 = shl %43, 1:i32 | |
| %45:i32 = or 16777216:i32, %44 | |
| %46:i64 = zext %45 | |
| %47:i64 = mulnuw %34, %46 (hasExternalUses) | |
| %48:i64 = lshr %47, 32:i64 | |
| %49:i32 = trunc %48 (hasExternalUses) | |
| %50:i1 = ult %49, 16777216:i32 (hasExternalUses) | |
| %51:i32 = subnsw 9:i32, %38 | |
| %52:i32 = phi %35, %51, 0:i32 | |
| %53:i32 = addnsw 4294967287:i32, %3 | |
| %54:i32 = addnsw %52, %53 | |
| %55:i32 = phi %0, %54, %52, 0:i32 | |
| %56:i32 = lshr %36, 23:i32 | |
| %57:i32 = and 255:i32, %56 (hasExternalUses) | |
| %58:i32 = lshr %1, 23:i32 | |
| %59:i32 = and 255:i32, %58 (hasExternalUses) | |
| %60:i32 = subnsw %57, %59 | |
| %61:i32 = addnsw %55, %60 | |
| %62:i32 = addnsw 4294967295:i32, %61 | |
| %63:i32 = select %50, %62, %61 | |
| %64:i32 = add 127:i32, %63 | |
| infer %64 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = ctlz %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 31:i32, %4 | |
| %6:i32 = shl %2, %5 | |
| %7:i32 = phi %0, %6, %2, %2 | |
| %8:i32 = or 8388608:i32, %7 (hasExternalUses) | |
| %9:i32 = shl %8, 8:i32 | |
| %10:i32 = sub 1963258675:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i64 = zext %9 | |
| %13:i64 = mulnuw %11, %12 | |
| %14:i64 = lshr %13, 32:i64 | |
| %15:i64 = subnsw 0:i64, %14 | |
| %16:i64 = and 4294967295:i64, %15 | |
| %17:i64 = mulnuw %16, %11 | |
| %18:i64 = lshr %17, 31:i64 | |
| %19:i64 = and 4294967295:i64, %18 | |
| %20:i64 = mulnuw %19, %12 | |
| %21:i64 = lshr %20, 32:i64 | |
| %22:i64 = subnsw 0:i64, %21 | |
| %23:i64 = and 4294967295:i64, %22 | |
| %24:i64 = mulnuw %23, %19 | |
| %25:i64 = lshr %24, 31:i64 | |
| %26:i64 = and 4294967295:i64, %25 | |
| %27:i64 = mulnuw %26, %12 | |
| %28:i64 = lshr %27, 32:i64 | |
| %29:i64 = subnsw 0:i64, %28 | |
| %30:i64 = and 4294967295:i64, %29 | |
| %31:i64 = mulnuw %30, %26 | |
| %32:i64 = lshr %31, 31:i64 | |
| %33:i64 = addnw 4294967294:i64, %32 | |
| %34:i64 = and 4294967295:i64, %33 | |
| %35 = block 2 | |
| %36:i32 = var | |
| %37:i32 = and 8388607:i32, %36 | |
| %38:i32 = ctlz %37 | |
| %39:i32 = addnw 24:i32, %38 | |
| %40:i32 = and 31:i32, %39 | |
| %41:i32 = shl %37, %40 | |
| %42:i32 = phi %35, %41, %37 | |
| %43:i32 = phi %0, %42, %42, %37 | |
| %44:i32 = shl %43, 1:i32 | |
| %45:i32 = or 16777216:i32, %44 | |
| %46:i64 = zext %45 | |
| %47:i64 = mulnuw %34, %46 (hasExternalUses) | |
| %48:i64 = lshr %47, 32:i64 | |
| %49:i32 = trunc %48 (hasExternalUses) | |
| %50:i1 = ult %49, 16777216:i32 (hasExternalUses) | |
| %51:i32 = subnsw 9:i32, %38 | |
| %52:i32 = phi %35, %51, 0:i32 | |
| %53:i32 = addnsw 4294967287:i32, %3 | |
| %54:i32 = addnsw %52, %53 | |
| %55:i32 = phi %0, %54, %52, 0:i32 | |
| %56:i32 = lshr %36, 23:i32 | |
| %57:i32 = and 255:i32, %56 (hasExternalUses) | |
| %58:i32 = lshr %1, 23:i32 | |
| %59:i32 = and 255:i32, %58 (hasExternalUses) | |
| %60:i32 = subnsw %57, %59 | |
| %61:i32 = addnsw %55, %60 | |
| %62:i32 = addnsw 4294967295:i32, %61 | |
| %63:i32 = select %50, %62, %61 | |
| %64:i32 = add 127:i32, %63 (hasExternalUses) | |
| %65:i1 = slt 254:i32, %64 | |
| infer %65 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = ctlz %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 31:i32, %4 | |
| %6:i32 = shl %2, %5 | |
| %7:i32 = phi %0, %6, %2, %2 | |
| %8:i32 = or 8388608:i32, %7 (hasExternalUses) | |
| %9:i32 = shl %8, 8:i32 | |
| %10:i32 = sub 1963258675:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i64 = zext %9 | |
| %13:i64 = mulnuw %11, %12 | |
| %14:i64 = lshr %13, 32:i64 | |
| %15:i64 = subnsw 0:i64, %14 | |
| %16:i64 = and 4294967295:i64, %15 | |
| %17:i64 = mulnuw %16, %11 | |
| %18:i64 = lshr %17, 31:i64 | |
| %19:i64 = and 4294967295:i64, %18 | |
| %20:i64 = mulnuw %19, %12 | |
| %21:i64 = lshr %20, 32:i64 | |
| %22:i64 = subnsw 0:i64, %21 | |
| %23:i64 = and 4294967295:i64, %22 | |
| %24:i64 = mulnuw %23, %19 | |
| %25:i64 = lshr %24, 31:i64 | |
| %26:i64 = and 4294967295:i64, %25 | |
| %27:i64 = mulnuw %26, %12 | |
| %28:i64 = lshr %27, 32:i64 | |
| %29:i64 = subnsw 0:i64, %28 | |
| %30:i64 = and 4294967295:i64, %29 | |
| %31:i64 = mulnuw %30, %26 | |
| %32:i64 = lshr %31, 31:i64 | |
| %33:i64 = addnw 4294967294:i64, %32 | |
| %34:i64 = and 4294967295:i64, %33 | |
| %35 = block 2 | |
| %36:i32 = var | |
| %37:i32 = and 8388607:i32, %36 | |
| %38:i32 = ctlz %37 | |
| %39:i32 = addnw 24:i32, %38 | |
| %40:i32 = and 31:i32, %39 | |
| %41:i32 = shl %37, %40 | |
| %42:i32 = phi %35, %41, %37 | |
| %43:i32 = phi %0, %42, %42, %37 | |
| %44:i32 = shl %43, 1:i32 | |
| %45:i32 = or 16777216:i32, %44 | |
| %46:i64 = zext %45 | |
| %47:i64 = mulnuw %34, %46 (hasExternalUses) | |
| %48:i64 = lshr %47, 32:i64 | |
| %49:i32 = trunc %48 (hasExternalUses) | |
| %50:i1 = ult %49, 16777216:i32 (hasExternalUses) | |
| %51:i32 = subnsw 9:i32, %38 | |
| %52:i32 = phi %35, %51, 0:i32 | |
| %53:i32 = addnsw 4294967287:i32, %3 | |
| %54:i32 = addnsw %52, %53 | |
| %55:i32 = phi %0, %54, %52, 0:i32 | |
| %56:i32 = lshr %36, 23:i32 | |
| %57:i32 = and 255:i32, %56 (hasExternalUses) | |
| %58:i32 = lshr %1, 23:i32 | |
| %59:i32 = and 255:i32, %58 (hasExternalUses) | |
| %60:i32 = subnsw %57, %59 | |
| %61:i32 = addnsw %55, %60 | |
| %62:i32 = addnsw 4294967295:i32, %61 | |
| %63:i32 = select %50, %62, %61 | |
| %64:i32 = add 127:i32, %63 (hasExternalUses) | |
| %65:i1 = slt 254:i32, %64 | |
| pc %65 0:i1 | |
| %66:i1 = slt %64, 1:i32 | |
| infer %66 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = ctlz %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 31:i32, %4 | |
| %6:i32 = shl %2, %5 | |
| %7:i32 = phi %0, %6, %2, %2 | |
| %8:i32 = or 8388608:i32, %7 (hasExternalUses) | |
| %9:i32 = shl %8, 8:i32 | |
| %10:i32 = sub 1963258675:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i64 = zext %9 | |
| %13:i64 = mulnuw %11, %12 | |
| %14:i64 = lshr %13, 32:i64 | |
| %15:i64 = subnsw 0:i64, %14 | |
| %16:i64 = and 4294967295:i64, %15 | |
| %17:i64 = mulnuw %16, %11 | |
| %18:i64 = lshr %17, 31:i64 | |
| %19:i64 = and 4294967295:i64, %18 | |
| %20:i64 = mulnuw %19, %12 | |
| %21:i64 = lshr %20, 32:i64 | |
| %22:i64 = subnsw 0:i64, %21 | |
| %23:i64 = and 4294967295:i64, %22 | |
| %24:i64 = mulnuw %23, %19 | |
| %25:i64 = lshr %24, 31:i64 | |
| %26:i64 = and 4294967295:i64, %25 | |
| %27:i64 = mulnuw %26, %12 | |
| %28:i64 = lshr %27, 32:i64 | |
| %29:i64 = subnsw 0:i64, %28 | |
| %30:i64 = and 4294967295:i64, %29 | |
| %31:i64 = mulnuw %30, %26 | |
| %32:i64 = lshr %31, 31:i64 | |
| %33:i64 = addnw 4294967294:i64, %32 | |
| %34:i64 = and 4294967295:i64, %33 | |
| %35 = block 2 | |
| %36:i32 = var | |
| %37:i32 = and 8388607:i32, %36 | |
| %38:i32 = ctlz %37 | |
| %39:i32 = addnw 24:i32, %38 | |
| %40:i32 = and 31:i32, %39 | |
| %41:i32 = shl %37, %40 | |
| %42:i32 = phi %35, %41, %37 | |
| %43:i32 = phi %0, %42, %42, %37 | |
| %44:i32 = shl %43, 1:i32 | |
| %45:i32 = or 16777216:i32, %44 | |
| %46:i64 = zext %45 | |
| %47:i64 = mulnuw %34, %46 (hasExternalUses) | |
| %48:i64 = lshr %47, 32:i64 | |
| %49:i32 = trunc %48 (hasExternalUses) | |
| %50:i1 = ult %49, 16777216:i32 (hasExternalUses) | |
| %51:i32 = subnsw 9:i32, %38 | |
| %52:i32 = phi %35, %51, 0:i32 | |
| %53:i32 = addnsw 4294967287:i32, %3 | |
| %54:i32 = addnsw %52, %53 | |
| %55:i32 = phi %0, %54, %52, 0:i32 | |
| %56:i32 = lshr %36, 23:i32 | |
| %57:i32 = and 255:i32, %56 (hasExternalUses) | |
| %58:i32 = lshr %1, 23:i32 | |
| %59:i32 = and 255:i32, %58 (hasExternalUses) | |
| %60:i32 = subnsw %57, %59 | |
| %61:i32 = addnsw %55, %60 | |
| %62:i32 = addnsw 4294967295:i32, %61 | |
| %63:i32 = select %50, %62, %61 | |
| %64:i32 = add 127:i32, %63 (hasExternalUses) | |
| %65:i1 = slt 254:i32, %64 | |
| pc %65 0:i1 | |
| %66:i1 = slt %64, 1:i32 | |
| pc %66 0:i1 | |
| %67:i32 = select %50, 24:i32, 23:i32 | |
| %68:i32 = shl %43, %67 | |
| %69:i64 = lshr %47, 33:i64 | |
| %70:i32 = trunc %69 | |
| %71:i32 = select %50, %49, %70 (hasExternalUses) | |
| %72:i32 = mul %8, %71 | |
| %73:i32 = sub %68, %72 | |
| %74:i32 = shl %73, 1:i32 | |
| %75:i1 = ult %8, %74 | |
| %76:i32 = zext %75 | |
| infer %76 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = ctlz %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 31:i32, %4 | |
| %6:i32 = shl %2, %5 | |
| %7:i32 = phi %0, %6, %2, %2 | |
| %8:i32 = or 8388608:i32, %7 (hasExternalUses) | |
| %9:i32 = shl %8, 8:i32 | |
| %10:i32 = sub 1963258675:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i64 = zext %9 | |
| %13:i64 = mulnuw %11, %12 | |
| %14:i64 = lshr %13, 32:i64 | |
| %15:i64 = subnsw 0:i64, %14 | |
| %16:i64 = and 4294967295:i64, %15 | |
| %17:i64 = mulnuw %16, %11 | |
| %18:i64 = lshr %17, 31:i64 | |
| %19:i64 = and 4294967295:i64, %18 | |
| %20:i64 = mulnuw %19, %12 | |
| %21:i64 = lshr %20, 32:i64 | |
| %22:i64 = subnsw 0:i64, %21 | |
| %23:i64 = and 4294967295:i64, %22 | |
| %24:i64 = mulnuw %23, %19 | |
| %25:i64 = lshr %24, 31:i64 | |
| %26:i64 = and 4294967295:i64, %25 | |
| %27:i64 = mulnuw %26, %12 | |
| %28:i64 = lshr %27, 32:i64 | |
| %29:i64 = subnsw 0:i64, %28 | |
| %30:i64 = and 4294967295:i64, %29 | |
| %31:i64 = mulnuw %30, %26 | |
| %32:i64 = lshr %31, 31:i64 | |
| %33:i64 = addnw 4294967294:i64, %32 | |
| %34:i64 = and 4294967295:i64, %33 | |
| %35 = block 2 | |
| %36:i32 = var | |
| %37:i32 = and 8388607:i32, %36 | |
| %38:i32 = ctlz %37 | |
| %39:i32 = addnw 24:i32, %38 | |
| %40:i32 = and 31:i32, %39 | |
| %41:i32 = shl %37, %40 | |
| %42:i32 = phi %35, %41, %37 | |
| %43:i32 = phi %0, %42, %42, %37 | |
| %44:i32 = shl %43, 1:i32 | |
| %45:i32 = or 16777216:i32, %44 | |
| %46:i64 = zext %45 | |
| %47:i64 = mulnuw %34, %46 (hasExternalUses) | |
| %48:i64 = lshr %47, 32:i64 | |
| %49:i32 = trunc %48 (hasExternalUses) | |
| %50:i1 = ult %49, 16777216:i32 (hasExternalUses) | |
| %51:i32 = subnsw 9:i32, %38 | |
| %52:i32 = phi %35, %51, 0:i32 | |
| %53:i32 = addnsw 4294967287:i32, %3 | |
| %54:i32 = addnsw %52, %53 | |
| %55:i32 = phi %0, %54, %52, 0:i32 | |
| %56:i32 = lshr %36, 23:i32 | |
| %57:i32 = and 255:i32, %56 (hasExternalUses) | |
| %58:i32 = lshr %1, 23:i32 | |
| %59:i32 = and 255:i32, %58 (hasExternalUses) | |
| %60:i32 = subnsw %57, %59 | |
| %61:i32 = addnsw %55, %60 | |
| %62:i32 = addnsw 4294967295:i32, %61 | |
| %63:i32 = select %50, %62, %61 | |
| %64:i32 = add 127:i32, %63 (hasExternalUses) | |
| %65:i1 = slt 254:i32, %64 | |
| pc %65 0:i1 | |
| %66:i1 = slt %64, 1:i32 | |
| pc %66 0:i1 | |
| %67:i32 = select %50, 24:i32, 23:i32 | |
| %68:i32 = shl %43, %67 | |
| %69:i64 = lshr %47, 33:i64 | |
| %70:i32 = trunc %69 | |
| %71:i32 = select %50, %49, %70 (hasExternalUses) | |
| %72:i32 = mul %8, %71 | |
| %73:i32 = sub %68, %72 | |
| %74:i32 = shl %73, 1:i32 | |
| %75:i1 = ult %8, %74 | |
| infer %75 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = ctlz %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 31:i32, %4 | |
| %6:i32 = shl %2, %5 | |
| %7:i32 = phi %0, %6, %2, %2 | |
| %8:i32 = or 8388608:i32, %7 (hasExternalUses) | |
| %9:i32 = shl %8, 8:i32 | |
| %10:i32 = sub 1963258675:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i64 = zext %9 | |
| %13:i64 = mulnuw %11, %12 | |
| %14:i64 = lshr %13, 32:i64 | |
| %15:i64 = subnsw 0:i64, %14 | |
| %16:i64 = and 4294967295:i64, %15 | |
| %17:i64 = mulnuw %16, %11 | |
| %18:i64 = lshr %17, 31:i64 | |
| %19:i64 = and 4294967295:i64, %18 | |
| %20:i64 = mulnuw %19, %12 | |
| %21:i64 = lshr %20, 32:i64 | |
| %22:i64 = subnsw 0:i64, %21 | |
| %23:i64 = and 4294967295:i64, %22 | |
| %24:i64 = mulnuw %23, %19 | |
| %25:i64 = lshr %24, 31:i64 | |
| %26:i64 = and 4294967295:i64, %25 | |
| %27:i64 = mulnuw %26, %12 | |
| %28:i64 = lshr %27, 32:i64 | |
| %29:i64 = subnsw 0:i64, %28 | |
| %30:i64 = and 4294967295:i64, %29 | |
| %31:i64 = mulnuw %30, %26 | |
| %32:i64 = lshr %31, 31:i64 | |
| %33:i64 = addnw 4294967294:i64, %32 | |
| %34:i64 = and 4294967295:i64, %33 | |
| %35 = block 2 | |
| %36:i32 = var | |
| %37:i32 = and 8388607:i32, %36 | |
| %38:i32 = ctlz %37 | |
| %39:i32 = addnw 24:i32, %38 | |
| %40:i32 = and 31:i32, %39 | |
| %41:i32 = shl %37, %40 | |
| %42:i32 = phi %35, %41, %37 | |
| %43:i32 = phi %0, %42, %42, %37 | |
| %44:i32 = shl %43, 1:i32 | |
| %45:i32 = or 16777216:i32, %44 | |
| %46:i64 = zext %45 | |
| %47:i64 = mulnuw %34, %46 (hasExternalUses) | |
| %48:i64 = lshr %47, 32:i64 | |
| %49:i32 = trunc %48 (hasExternalUses) | |
| %50:i1 = ult %49, 16777216:i32 (hasExternalUses) | |
| %51:i32 = subnsw 9:i32, %38 | |
| %52:i32 = phi %35, %51, 0:i32 | |
| %53:i32 = addnsw 4294967287:i32, %3 | |
| %54:i32 = addnsw %52, %53 | |
| %55:i32 = phi %0, %54, %52, 0:i32 | |
| %56:i32 = lshr %36, 23:i32 | |
| %57:i32 = and 255:i32, %56 (hasExternalUses) | |
| %58:i32 = lshr %1, 23:i32 | |
| %59:i32 = and 255:i32, %58 (hasExternalUses) | |
| %60:i32 = subnsw %57, %59 | |
| %61:i32 = addnsw %55, %60 | |
| %62:i32 = addnsw 4294967295:i32, %61 | |
| %63:i32 = select %50, %62, %61 | |
| %64:i32 = add 127:i32, %63 (hasExternalUses) | |
| %65:i1 = slt 254:i32, %64 | |
| pc %65 0:i1 | |
| %66:i1 = slt %64, 1:i32 | |
| pc %66 0:i1 | |
| %67:i32 = select %50, 24:i32, 23:i32 | |
| %68:i32 = shl %43, %67 | |
| %69:i64 = lshr %47, 33:i64 | |
| %70:i32 = trunc %69 | |
| %71:i32 = select %50, %49, %70 (hasExternalUses) | |
| %72:i32 = mul %8, %71 | |
| %73:i32 = sub %68, %72 | |
| %74:i32 = shl %73, 1:i32 | |
| infer %74 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = ctlz %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 31:i32, %4 | |
| %6:i32 = shl %2, %5 | |
| %7:i32 = phi %0, %6, %2, %2 | |
| %8:i32 = or 8388608:i32, %7 (hasExternalUses) | |
| %9:i32 = shl %8, 8:i32 | |
| %10:i32 = sub 1963258675:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i64 = zext %9 | |
| %13:i64 = mulnuw %11, %12 | |
| %14:i64 = lshr %13, 32:i64 | |
| %15:i64 = subnsw 0:i64, %14 | |
| %16:i64 = and 4294967295:i64, %15 | |
| %17:i64 = mulnuw %16, %11 | |
| %18:i64 = lshr %17, 31:i64 | |
| %19:i64 = and 4294967295:i64, %18 | |
| %20:i64 = mulnuw %19, %12 | |
| %21:i64 = lshr %20, 32:i64 | |
| %22:i64 = subnsw 0:i64, %21 | |
| %23:i64 = and 4294967295:i64, %22 | |
| %24:i64 = mulnuw %23, %19 | |
| %25:i64 = lshr %24, 31:i64 | |
| %26:i64 = and 4294967295:i64, %25 | |
| %27:i64 = mulnuw %26, %12 | |
| %28:i64 = lshr %27, 32:i64 | |
| %29:i64 = subnsw 0:i64, %28 | |
| %30:i64 = and 4294967295:i64, %29 | |
| %31:i64 = mulnuw %30, %26 | |
| %32:i64 = lshr %31, 31:i64 | |
| %33:i64 = addnw 4294967294:i64, %32 | |
| %34:i64 = and 4294967295:i64, %33 | |
| %35 = block 2 | |
| %36:i32 = var | |
| %37:i32 = and 8388607:i32, %36 | |
| %38:i32 = ctlz %37 | |
| %39:i32 = addnw 24:i32, %38 | |
| %40:i32 = and 31:i32, %39 | |
| %41:i32 = shl %37, %40 | |
| %42:i32 = phi %35, %41, %37 | |
| %43:i32 = phi %0, %42, %42, %37 | |
| %44:i32 = shl %43, 1:i32 | |
| %45:i32 = or 16777216:i32, %44 | |
| %46:i64 = zext %45 | |
| %47:i64 = mulnuw %34, %46 (hasExternalUses) | |
| %48:i64 = lshr %47, 32:i64 | |
| %49:i32 = trunc %48 (hasExternalUses) | |
| %50:i1 = ult %49, 16777216:i32 (hasExternalUses) | |
| %51:i32 = subnsw 9:i32, %38 | |
| %52:i32 = phi %35, %51, 0:i32 | |
| %53:i32 = addnsw 4294967287:i32, %3 | |
| %54:i32 = addnsw %52, %53 | |
| %55:i32 = phi %0, %54, %52, 0:i32 | |
| %56:i32 = lshr %36, 23:i32 | |
| %57:i32 = and 255:i32, %56 (hasExternalUses) | |
| %58:i32 = lshr %1, 23:i32 | |
| %59:i32 = and 255:i32, %58 (hasExternalUses) | |
| %60:i32 = subnsw %57, %59 | |
| %61:i32 = addnsw %55, %60 | |
| %62:i32 = addnsw 4294967295:i32, %61 | |
| %63:i32 = select %50, %62, %61 | |
| %64:i32 = add 127:i32, %63 (hasExternalUses) | |
| %65:i1 = slt 254:i32, %64 | |
| pc %65 0:i1 | |
| %66:i1 = slt %64, 1:i32 | |
| pc %66 0:i1 | |
| %67:i32 = shlnw %64, 23:i32 | |
| infer %67 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = ctlz %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 31:i32, %4 | |
| %6:i32 = shl %2, %5 | |
| %7:i32 = phi %0, %6, %2, %2 | |
| %8:i32 = or 8388608:i32, %7 (hasExternalUses) | |
| %9:i32 = shl %8, 8:i32 | |
| %10:i32 = sub 1963258675:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i64 = zext %9 | |
| %13:i64 = mulnuw %11, %12 | |
| %14:i64 = lshr %13, 32:i64 | |
| %15:i64 = subnsw 0:i64, %14 | |
| %16:i64 = and 4294967295:i64, %15 | |
| %17:i64 = mulnuw %16, %11 | |
| %18:i64 = lshr %17, 31:i64 | |
| %19:i64 = and 4294967295:i64, %18 | |
| %20:i64 = mulnuw %19, %12 | |
| %21:i64 = lshr %20, 32:i64 | |
| %22:i64 = subnsw 0:i64, %21 | |
| %23:i64 = and 4294967295:i64, %22 | |
| %24:i64 = mulnuw %23, %19 | |
| %25:i64 = lshr %24, 31:i64 | |
| %26:i64 = and 4294967295:i64, %25 | |
| %27:i64 = mulnuw %26, %12 | |
| %28:i64 = lshr %27, 32:i64 | |
| %29:i64 = subnsw 0:i64, %28 | |
| %30:i64 = and 4294967295:i64, %29 | |
| %31:i64 = mulnuw %30, %26 | |
| %32:i64 = lshr %31, 31:i64 | |
| %33:i64 = addnw 4294967294:i64, %32 | |
| %34:i64 = and 4294967295:i64, %33 | |
| %35 = block 2 | |
| %36:i32 = var | |
| %37:i32 = and 8388607:i32, %36 | |
| %38:i32 = ctlz %37 | |
| %39:i32 = addnw 24:i32, %38 | |
| %40:i32 = and 31:i32, %39 | |
| %41:i32 = shl %37, %40 | |
| %42:i32 = phi %35, %41, %37 | |
| %43:i32 = phi %0, %42, %42, %37 | |
| %44:i32 = shl %43, 1:i32 | |
| %45:i32 = or 16777216:i32, %44 | |
| %46:i64 = zext %45 | |
| %47:i64 = mulnuw %34, %46 (hasExternalUses) | |
| %48:i64 = lshr %47, 32:i64 | |
| %49:i32 = trunc %48 (hasExternalUses) | |
| %50:i1 = ult %49, 16777216:i32 (hasExternalUses) | |
| %51:i32 = subnsw 9:i32, %38 | |
| %52:i32 = phi %35, %51, 0:i32 | |
| %53:i32 = addnsw 4294967287:i32, %3 | |
| %54:i32 = addnsw %52, %53 | |
| %55:i32 = phi %0, %54, %52, 0:i32 | |
| %56:i32 = lshr %36, 23:i32 | |
| %57:i32 = and 255:i32, %56 (hasExternalUses) | |
| %58:i32 = lshr %1, 23:i32 | |
| %59:i32 = and 255:i32, %58 (hasExternalUses) | |
| %60:i32 = subnsw %57, %59 | |
| %61:i32 = addnsw %55, %60 | |
| %62:i32 = addnsw 4294967295:i32, %61 | |
| %63:i32 = select %50, %62, %61 | |
| %64:i32 = add 127:i32, %63 (hasExternalUses) | |
| %65:i1 = slt 254:i32, %64 | |
| pc %65 0:i1 | |
| %66:i1 = slt %64, 1:i32 | |
| pc %66 0:i1 | |
| %67:i64 = lshr %47, 33:i64 | |
| %68:i32 = trunc %67 | |
| %69:i32 = select %50, %49, %68 | |
| %70:i32 = and 8388607:i32, %69 | |
| %71:i32 = shlnw %64, 23:i32 | |
| %72:i32 = or %70, %71 | |
| %73:i32 = select %50, 24:i32, 23:i32 | |
| %74:i32 = shl %43, %73 | |
| %75:i32 = mul %8, %69 | |
| %76:i32 = sub %74, %75 | |
| %77:i32 = shl %76, 1:i32 | |
| %78:i1 = ult %8, %77 | |
| %79:i32 = zext %78 | |
| %80:i32 = add %72, %79 | |
| %81:i32 = xor %36, %1 | |
| %82:i32 = and 2147483648:i32, %81 (hasExternalUses) | |
| %83:i32 = or %80, %82 | |
| infer %83 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = ctlz %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 31:i32, %4 | |
| %6:i32 = shl %2, %5 | |
| %7:i32 = phi %0, %6, %2, %2 | |
| %8:i32 = or 8388608:i32, %7 (hasExternalUses) | |
| %9:i32 = shl %8, 8:i32 | |
| %10:i32 = sub 1963258675:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i64 = zext %9 | |
| %13:i64 = mulnuw %11, %12 | |
| %14:i64 = lshr %13, 32:i64 | |
| %15:i64 = subnsw 0:i64, %14 | |
| %16:i64 = and 4294967295:i64, %15 | |
| %17:i64 = mulnuw %16, %11 | |
| %18:i64 = lshr %17, 31:i64 | |
| %19:i64 = and 4294967295:i64, %18 | |
| %20:i64 = mulnuw %19, %12 | |
| %21:i64 = lshr %20, 32:i64 | |
| %22:i64 = subnsw 0:i64, %21 | |
| %23:i64 = and 4294967295:i64, %22 | |
| %24:i64 = mulnuw %23, %19 | |
| %25:i64 = lshr %24, 31:i64 | |
| %26:i64 = and 4294967295:i64, %25 | |
| %27:i64 = mulnuw %26, %12 | |
| %28:i64 = lshr %27, 32:i64 | |
| %29:i64 = subnsw 0:i64, %28 | |
| %30:i64 = and 4294967295:i64, %29 | |
| %31:i64 = mulnuw %30, %26 | |
| %32:i64 = lshr %31, 31:i64 | |
| %33:i64 = addnw 4294967294:i64, %32 | |
| %34:i64 = and 4294967295:i64, %33 | |
| %35 = block 2 | |
| %36:i32 = var | |
| %37:i32 = and 8388607:i32, %36 | |
| %38:i32 = ctlz %37 | |
| %39:i32 = addnw 24:i32, %38 | |
| %40:i32 = and 31:i32, %39 | |
| %41:i32 = shl %37, %40 | |
| %42:i32 = phi %35, %41, %37 | |
| %43:i32 = phi %0, %42, %42, %37 | |
| %44:i32 = shl %43, 1:i32 | |
| %45:i32 = or 16777216:i32, %44 | |
| %46:i64 = zext %45 | |
| %47:i64 = mulnuw %34, %46 (hasExternalUses) | |
| %48:i64 = lshr %47, 32:i64 | |
| %49:i32 = trunc %48 (hasExternalUses) | |
| %50:i1 = ult %49, 16777216:i32 (hasExternalUses) | |
| %51:i32 = subnsw 9:i32, %38 | |
| %52:i32 = phi %35, %51, 0:i32 | |
| %53:i32 = addnsw 4294967287:i32, %3 | |
| %54:i32 = addnsw %52, %53 | |
| %55:i32 = phi %0, %54, %52, 0:i32 | |
| %56:i32 = lshr %36, 23:i32 | |
| %57:i32 = and 255:i32, %56 (hasExternalUses) | |
| %58:i32 = lshr %1, 23:i32 | |
| %59:i32 = and 255:i32, %58 (hasExternalUses) | |
| %60:i32 = subnsw %57, %59 | |
| %61:i32 = addnsw %55, %60 | |
| %62:i32 = addnsw 4294967295:i32, %61 | |
| %63:i32 = select %50, %62, %61 | |
| %64:i32 = add 127:i32, %63 (hasExternalUses) | |
| %65:i1 = slt 254:i32, %64 | |
| pc %65 0:i1 | |
| %66:i1 = slt %64, 1:i32 | |
| pc %66 0:i1 | |
| %67:i64 = lshr %47, 33:i64 | |
| %68:i32 = trunc %67 | |
| %69:i32 = select %50, %49, %68 | |
| %70:i32 = and 8388607:i32, %69 | |
| %71:i32 = shlnw %64, 23:i32 | |
| %72:i32 = or %70, %71 | |
| %73:i32 = select %50, 24:i32, 23:i32 | |
| %74:i32 = shl %43, %73 | |
| %75:i32 = mul %8, %69 | |
| %76:i32 = sub %74, %75 | |
| %77:i32 = shl %76, 1:i32 | |
| %78:i1 = ult %8, %77 | |
| %79:i32 = zext %78 | |
| %80:i32 = add %72, %79 | |
| infer %80 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = ctlz %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 31:i32, %4 | |
| %6:i32 = shl %2, %5 | |
| %7:i32 = phi %0, %6, %2, %2 | |
| %8:i32 = or 8388608:i32, %7 (hasExternalUses) | |
| %9:i32 = shl %8, 8:i32 | |
| %10:i32 = sub 1963258675:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i64 = zext %9 | |
| %13:i64 = mulnuw %11, %12 | |
| %14:i64 = lshr %13, 32:i64 | |
| %15:i64 = subnsw 0:i64, %14 | |
| %16:i64 = and 4294967295:i64, %15 | |
| %17:i64 = mulnuw %16, %11 | |
| %18:i64 = lshr %17, 31:i64 | |
| %19:i64 = and 4294967295:i64, %18 | |
| %20:i64 = mulnuw %19, %12 | |
| %21:i64 = lshr %20, 32:i64 | |
| %22:i64 = subnsw 0:i64, %21 | |
| %23:i64 = and 4294967295:i64, %22 | |
| %24:i64 = mulnuw %23, %19 | |
| %25:i64 = lshr %24, 31:i64 | |
| %26:i64 = and 4294967295:i64, %25 | |
| %27:i64 = mulnuw %26, %12 | |
| %28:i64 = lshr %27, 32:i64 | |
| %29:i64 = subnsw 0:i64, %28 | |
| %30:i64 = and 4294967295:i64, %29 | |
| %31:i64 = mulnuw %30, %26 | |
| %32:i64 = lshr %31, 31:i64 | |
| %33:i64 = addnw 4294967294:i64, %32 | |
| %34:i64 = and 4294967295:i64, %33 | |
| %35 = block 2 | |
| %36:i32 = var | |
| %37:i32 = and 8388607:i32, %36 | |
| %38:i32 = ctlz %37 | |
| %39:i32 = addnw 24:i32, %38 | |
| %40:i32 = and 31:i32, %39 | |
| %41:i32 = shl %37, %40 | |
| %42:i32 = phi %35, %41, %37 | |
| %43:i32 = phi %0, %42, %42, %37 | |
| %44:i32 = shl %43, 1:i32 | |
| %45:i32 = or 16777216:i32, %44 | |
| %46:i64 = zext %45 | |
| %47:i64 = mulnuw %34, %46 (hasExternalUses) | |
| %48:i64 = lshr %47, 32:i64 | |
| %49:i32 = trunc %48 (hasExternalUses) | |
| %50:i1 = ult %49, 16777216:i32 (hasExternalUses) | |
| %51:i32 = subnsw 9:i32, %38 | |
| %52:i32 = phi %35, %51, 0:i32 | |
| %53:i32 = addnsw 4294967287:i32, %3 | |
| %54:i32 = addnsw %52, %53 | |
| %55:i32 = phi %0, %54, %52, 0:i32 | |
| %56:i32 = lshr %36, 23:i32 | |
| %57:i32 = and 255:i32, %56 (hasExternalUses) | |
| %58:i32 = lshr %1, 23:i32 | |
| %59:i32 = and 255:i32, %58 (hasExternalUses) | |
| %60:i32 = subnsw %57, %59 | |
| %61:i32 = addnsw %55, %60 | |
| %62:i32 = addnsw 4294967295:i32, %61 | |
| %63:i32 = select %50, %62, %61 | |
| %64:i32 = add 127:i32, %63 (hasExternalUses) | |
| %65:i1 = slt 254:i32, %64 | |
| pc %65 0:i1 | |
| %66:i1 = slt %64, 1:i32 | |
| pc %66 0:i1 | |
| %67:i64 = lshr %47, 33:i64 | |
| %68:i32 = trunc %67 | |
| %69:i32 = select %50, %49, %68 (hasExternalUses) | |
| %70:i32 = and 8388607:i32, %69 | |
| %71:i32 = shlnw %64, 23:i32 | |
| %72:i32 = or %70, %71 | |
| infer %72 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = ctlz %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 31:i32, %4 | |
| %6:i32 = shl %2, %5 | |
| %7:i32 = phi %0, %6, %2, %2 | |
| %8:i32 = or 8388608:i32, %7 (hasExternalUses) | |
| %9:i32 = shl %8, 8:i32 | |
| %10:i32 = sub 1963258675:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i64 = zext %9 | |
| %13:i64 = mulnuw %11, %12 | |
| %14:i64 = lshr %13, 32:i64 | |
| %15:i64 = subnsw 0:i64, %14 | |
| %16:i64 = and 4294967295:i64, %15 | |
| %17:i64 = mulnuw %16, %11 | |
| %18:i64 = lshr %17, 31:i64 | |
| %19:i64 = and 4294967295:i64, %18 | |
| %20:i64 = mulnuw %19, %12 | |
| %21:i64 = lshr %20, 32:i64 | |
| %22:i64 = subnsw 0:i64, %21 | |
| %23:i64 = and 4294967295:i64, %22 | |
| %24:i64 = mulnuw %23, %19 | |
| %25:i64 = lshr %24, 31:i64 | |
| %26:i64 = and 4294967295:i64, %25 | |
| %27:i64 = mulnuw %26, %12 | |
| %28:i64 = lshr %27, 32:i64 | |
| %29:i64 = subnsw 0:i64, %28 | |
| %30:i64 = and 4294967295:i64, %29 | |
| %31:i64 = mulnuw %30, %26 | |
| %32:i64 = lshr %31, 31:i64 | |
| %33:i64 = addnw 4294967294:i64, %32 | |
| %34:i64 = and 4294967295:i64, %33 | |
| %35 = block 2 | |
| %36:i32 = var | |
| %37:i32 = and 8388607:i32, %36 | |
| %38:i32 = ctlz %37 | |
| %39:i32 = addnw 24:i32, %38 | |
| %40:i32 = and 31:i32, %39 | |
| %41:i32 = shl %37, %40 | |
| %42:i32 = phi %35, %41, %37 | |
| %43:i32 = phi %0, %42, %42, %37 | |
| %44:i32 = shl %43, 1:i32 | |
| %45:i32 = or 16777216:i32, %44 | |
| %46:i64 = zext %45 | |
| %47:i64 = mulnuw %34, %46 (hasExternalUses) | |
| %48:i64 = lshr %47, 32:i64 | |
| %49:i32 = trunc %48 (hasExternalUses) | |
| %50:i1 = ult %49, 16777216:i32 (hasExternalUses) | |
| %51:i32 = subnsw 9:i32, %38 | |
| %52:i32 = phi %35, %51, 0:i32 | |
| %53:i32 = addnsw 4294967287:i32, %3 | |
| %54:i32 = addnsw %52, %53 | |
| %55:i32 = phi %0, %54, %52, 0:i32 | |
| %56:i32 = lshr %36, 23:i32 | |
| %57:i32 = and 255:i32, %56 (hasExternalUses) | |
| %58:i32 = lshr %1, 23:i32 | |
| %59:i32 = and 255:i32, %58 (hasExternalUses) | |
| %60:i32 = subnsw %57, %59 | |
| %61:i32 = addnsw %55, %60 | |
| %62:i32 = addnsw 4294967295:i32, %61 | |
| %63:i32 = select %50, %62, %61 | |
| %64:i32 = add 127:i32, %63 (hasExternalUses) | |
| %65:i1 = slt 254:i32, %64 | |
| pc %65 0:i1 | |
| %66:i1 = slt %64, 1:i32 | |
| pc %66 0:i1 | |
| %67:i64 = lshr %47, 33:i64 | |
| %68:i32 = trunc %67 | |
| %69:i32 = select %50, %49, %68 (hasExternalUses) | |
| %70:i32 = and 8388607:i32, %69 | |
| infer %70 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = ctlz %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 31:i32, %4 | |
| %6:i32 = shl %2, %5 | |
| %7:i32 = phi %0, %6, %2, %2 | |
| %8:i32 = or 8388608:i32, %7 (hasExternalUses) | |
| %9:i32 = shl %8, 8:i32 | |
| %10:i32 = sub 1963258675:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i64 = zext %9 | |
| %13:i64 = mulnuw %11, %12 | |
| %14:i64 = lshr %13, 32:i64 | |
| %15:i64 = subnsw 0:i64, %14 | |
| %16:i64 = and 4294967295:i64, %15 | |
| %17:i64 = mulnuw %16, %11 | |
| %18:i64 = lshr %17, 31:i64 | |
| %19:i64 = and 4294967295:i64, %18 | |
| %20:i64 = mulnuw %19, %12 | |
| %21:i64 = lshr %20, 32:i64 | |
| %22:i64 = subnsw 0:i64, %21 | |
| %23:i64 = and 4294967295:i64, %22 | |
| %24:i64 = mulnuw %23, %19 | |
| %25:i64 = lshr %24, 31:i64 | |
| %26:i64 = and 4294967295:i64, %25 | |
| %27:i64 = mulnuw %26, %12 | |
| %28:i64 = lshr %27, 32:i64 | |
| %29:i64 = subnsw 0:i64, %28 | |
| %30:i64 = and 4294967295:i64, %29 | |
| %31:i64 = mulnuw %30, %26 | |
| %32:i64 = lshr %31, 31:i64 | |
| %33:i64 = addnw 4294967294:i64, %32 | |
| %34:i64 = and 4294967295:i64, %33 | |
| %35 = block 2 | |
| %36:i32 = var | |
| %37:i32 = and 8388607:i32, %36 | |
| %38:i32 = ctlz %37 | |
| %39:i32 = addnw 24:i32, %38 | |
| %40:i32 = and 31:i32, %39 | |
| %41:i32 = shl %37, %40 | |
| %42:i32 = phi %35, %41, %37 | |
| %43:i32 = phi %0, %42, %42, %37 | |
| %44:i32 = shl %43, 1:i32 | |
| %45:i32 = or 16777216:i32, %44 | |
| %46:i64 = zext %45 | |
| %47:i64 = mulnuw %34, %46 (hasExternalUses) | |
| %48:i64 = lshr %47, 32:i64 | |
| %49:i32 = trunc %48 (hasExternalUses) | |
| %50:i1 = ult %49, 16777216:i32 (hasExternalUses) | |
| %51:i32 = subnsw 9:i32, %38 | |
| %52:i32 = phi %35, %51, 0:i32 | |
| %53:i32 = addnsw 4294967287:i32, %3 | |
| %54:i32 = addnsw %52, %53 | |
| %55:i32 = phi %0, %54, %52, 0:i32 | |
| %56:i32 = lshr %36, 23:i32 | |
| %57:i32 = and 255:i32, %56 (hasExternalUses) | |
| %58:i32 = lshr %1, 23:i32 | |
| %59:i32 = and 255:i32, %58 (hasExternalUses) | |
| %60:i32 = subnsw %57, %59 | |
| %61:i32 = addnsw %55, %60 | |
| %62:i32 = addnsw 4294967295:i32, %61 | |
| %63:i32 = select %50, %62, %61 | |
| %64:i32 = add 127:i32, %63 (hasExternalUses) | |
| %65:i1 = slt 254:i32, %64 | |
| pc %65 1:i1 | |
| %66:i32 = xor %36, %1 | |
| %67:i32 = and 2147483648:i32, %66 (hasExternalUses) | |
| %68:i32 = or 2139095040:i32, %67 | |
| infer %68 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = ctlz %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 31:i32, %4 | |
| %6:i32 = shl %2, %5 | |
| %7:i32 = phi %0, %6, %2, %2 | |
| %8:i32 = or 8388608:i32, %7 (hasExternalUses) | |
| %9:i32 = shl %8, 8:i32 | |
| %10:i32 = sub 1963258675:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i64 = zext %9 | |
| %13:i64 = mulnuw %11, %12 | |
| %14:i64 = lshr %13, 32:i64 | |
| %15:i64 = subnsw 0:i64, %14 | |
| %16:i64 = and 4294967295:i64, %15 | |
| %17:i64 = mulnuw %16, %11 | |
| %18:i64 = lshr %17, 31:i64 | |
| %19:i64 = and 4294967295:i64, %18 | |
| %20:i64 = mulnuw %19, %12 | |
| %21:i64 = lshr %20, 32:i64 | |
| %22:i64 = subnsw 0:i64, %21 | |
| %23:i64 = and 4294967295:i64, %22 | |
| %24:i64 = mulnuw %23, %19 | |
| %25:i64 = lshr %24, 31:i64 | |
| %26:i64 = and 4294967295:i64, %25 | |
| %27:i64 = mulnuw %26, %12 | |
| %28:i64 = lshr %27, 32:i64 | |
| %29:i64 = subnsw 0:i64, %28 | |
| %30:i64 = and 4294967295:i64, %29 | |
| %31:i64 = mulnuw %30, %26 | |
| %32:i64 = lshr %31, 31:i64 | |
| %33:i64 = addnw 4294967294:i64, %32 | |
| %34:i64 = and 4294967295:i64, %33 | |
| %35 = block 2 | |
| %36:i32 = var | |
| %37:i32 = and 8388607:i32, %36 | |
| %38:i32 = ctlz %37 | |
| %39:i32 = addnw 24:i32, %38 | |
| %40:i32 = and 31:i32, %39 | |
| %41:i32 = shl %37, %40 | |
| %42:i32 = phi %35, %41, %37 | |
| %43:i32 = phi %0, %42, %42, %37 | |
| %44:i32 = shl %43, 1:i32 | |
| %45:i32 = or 16777216:i32, %44 | |
| %46:i64 = zext %45 | |
| %47:i64 = mulnuw %34, %46 (hasExternalUses) | |
| %48:i64 = lshr %47, 32:i64 | |
| %49:i32 = trunc %48 (hasExternalUses) | |
| %50:i1 = ult %49, 16777216:i32 (hasExternalUses) | |
| %51:i32 = subnsw 9:i32, %38 | |
| %52:i32 = phi %35, %51, 0:i32 | |
| %53:i32 = addnsw 4294967287:i32, %3 | |
| %54:i32 = addnsw %52, %53 | |
| %55:i32 = phi %0, %54, %52, 0:i32 | |
| %56:i32 = lshr %36, 23:i32 | |
| %57:i32 = and 255:i32, %56 (hasExternalUses) | |
| %58:i32 = lshr %1, 23:i32 | |
| %59:i32 = and 255:i32, %58 (hasExternalUses) | |
| %60:i32 = subnsw %57, %59 | |
| %61:i32 = addnsw %55, %60 | |
| %62:i32 = addnsw 4294967295:i32, %61 | |
| %63:i32 = select %50, %62, %61 | |
| infer %63 | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = ctlz %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 31:i32, %4 | |
| %6:i32 = shl %2, %5 | |
| %7:i32 = phi %0, %6, %2, %2 | |
| %8:i32 = or 8388608:i32, %7 (hasExternalUses) | |
| %9:i32 = shl %8, 8:i32 | |
| %10:i32 = sub 1963258675:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i64 = zext %9 | |
| %13:i64 = mulnuw %11, %12 | |
| %14:i64 = lshr %13, 32:i64 | |
| %15:i64 = subnsw 0:i64, %14 | |
| %16:i64 = and 4294967295:i64, %15 | |
| %17:i64 = mulnuw %16, %11 | |
| %18:i64 = lshr %17, 31:i64 | |
| %19:i64 = and 4294967295:i64, %18 | |
| %20:i64 = mulnuw %19, %12 | |
| %21:i64 = lshr %20, 32:i64 | |
| %22:i64 = subnsw 0:i64, %21 | |
| %23:i64 = and 4294967295:i64, %22 | |
| %24:i64 = mulnuw %23, %19 | |
| %25:i64 = lshr %24, 31:i64 | |
| %26:i64 = and 4294967295:i64, %25 | |
| %27:i64 = mulnuw %26, %12 | |
| %28:i64 = lshr %27, 32:i64 | |
| %29:i64 = subnsw 0:i64, %28 | |
| %30:i64 = and 4294967295:i64, %29 | |
| %31:i64 = mulnuw %30, %26 | |
| %32:i64 = lshr %31, 31:i64 | |
| %33:i64 = addnw 4294967294:i64, %32 | |
| %34:i64 = and 4294967295:i64, %33 | |
| %35 = block 2 | |
| %36:i32 = var | |
| %37:i32 = and 8388607:i32, %36 | |
| %38:i32 = ctlz %37 | |
| %39:i32 = addnw 24:i32, %38 | |
| %40:i32 = and 31:i32, %39 | |
| %41:i32 = shl %37, %40 | |
| %42:i32 = phi %35, %41, %37 | |
| %43:i32 = phi %0, %42, %42, %37 | |
| %44:i32 = shl %43, 1:i32 | |
| %45:i32 = or 16777216:i32, %44 | |
| %46:i64 = zext %45 | |
| %47:i64 = mulnuw %34, %46 (hasExternalUses) | |
| %48:i64 = lshr %47, 32:i64 | |
| infer %48 (demandedBits=0000000000000000000000000000000011111111111111111111111111111111) | |
| > | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = ctlz %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 31:i32, %4 | |
| %6:i32 = shl %2, %5 | |
| %7:i32 = phi %0, %6, %2, %2 | |
| %8:i32 = or 8388608:i32, %7 (hasExternalUses) | |
| %9:i32 = shl %8, 8:i32 | |
| %10:i32 = sub 1963258675:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i64 = zext %9 | |
| %13:i64 = mulnuw %11, %12 | |
| %14:i64 = lshr %13, 32:i64 | |
| %15:i64 = subnsw 0:i64, %14 | |
| %16:i64 = and 4294967295:i64, %15 | |
| %17:i64 = mulnuw %16, %11 | |
| %18:i64 = lshr %17, 31:i64 | |
| %19:i64 = and 4294967295:i64, %18 | |
| %20:i64 = mulnuw %19, %12 | |
| %21:i64 = lshr %20, 32:i64 | |
| %22:i64 = subnsw 0:i64, %21 | |
| %23:i64 = and 4294967295:i64, %22 | |
| %24:i64 = mulnuw %23, %19 | |
| %25:i64 = lshr %24, 31:i64 | |
| %26:i64 = and 4294967295:i64, %25 | |
| %27:i64 = mulnuw %26, %12 | |
| %28:i64 = lshr %27, 32:i64 | |
| %29:i64 = subnsw 0:i64, %28 | |
| %30:i64 = and 4294967295:i64, %29 | |
| %31:i64 = mulnuw %30, %26 | |
| %32:i64 = lshr %31, 31:i64 | |
| %33:i64 = addnw 4294967294:i64, %32 | |
| %34:i64 = and 4294967295:i64, %33 | |
| %35 = block 2 | |
| %36:i32 = var | |
| %37:i32 = and 8388607:i32, %36 | |
| %38:i32 = ctlz %37 | |
| %39:i32 = addnw 24:i32, %38 | |
| %40:i32 = and 31:i32, %39 | |
| %41:i32 = shl %37, %40 | |
| %42:i32 = phi %35, %41, %37 | |
| %43:i32 = phi %0, %42, %42, %37 | |
| %44:i32 = shl %43, 1:i32 | |
| %45:i32 = or 16777216:i32, %44 | |
| %46:i64 = zext %45 | |
| %47:i64 = mulnuw %34, %46 (hasExternalUses) | |
| %48:i64 = lshr %47, 33:i64 | |
| %49:i32 = trunc %48 | |
| infer %49 (demandedBits=01111111111111111111111111111111) | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = ctlz %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 31:i32, %4 | |
| %6:i32 = shl %2, %5 | |
| %7:i32 = phi %0, %6, %2, %2 | |
| %8:i32 = or 8388608:i32, %7 (hasExternalUses) | |
| %9:i32 = shl %8, 8:i32 | |
| %10:i32 = sub 1963258675:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i64 = zext %9 | |
| %13:i64 = mulnuw %11, %12 | |
| %14:i64 = lshr %13, 32:i64 | |
| %15:i64 = subnsw 0:i64, %14 | |
| %16:i64 = and 4294967295:i64, %15 | |
| %17:i64 = mulnuw %16, %11 | |
| %18:i64 = lshr %17, 31:i64 | |
| %19:i64 = and 4294967295:i64, %18 | |
| %20:i64 = mulnuw %19, %12 | |
| %21:i64 = lshr %20, 32:i64 | |
| %22:i64 = subnsw 0:i64, %21 | |
| %23:i64 = and 4294967295:i64, %22 | |
| %24:i64 = mulnuw %23, %19 | |
| %25:i64 = lshr %24, 31:i64 | |
| %26:i64 = and 4294967295:i64, %25 | |
| %27:i64 = mulnuw %26, %12 | |
| %28:i64 = lshr %27, 32:i64 | |
| %29:i64 = subnsw 0:i64, %28 | |
| %30:i64 = and 4294967295:i64, %29 | |
| %31:i64 = mulnuw %30, %26 | |
| %32:i64 = lshr %31, 31:i64 | |
| %33:i64 = addnw 4294967294:i64, %32 | |
| %34:i64 = and 4294967295:i64, %33 | |
| %35 = block 2 | |
| %36:i32 = var | |
| %37:i32 = and 8388607:i32, %36 | |
| %38:i32 = ctlz %37 | |
| %39:i32 = addnw 24:i32, %38 | |
| %40:i32 = and 31:i32, %39 | |
| %41:i32 = shl %37, %40 | |
| %42:i32 = phi %35, %41, %37 | |
| %43:i32 = phi %0, %42, %42, %37 | |
| %44:i32 = shl %43, 1:i32 | |
| %45:i32 = or 16777216:i32, %44 | |
| %46:i64 = zext %45 | |
| %47:i64 = mulnuw %34, %46 (hasExternalUses) | |
| %48:i64 = lshr %47, 33:i64 | |
| infer %48 (demandedBits=0000000000000000000000000000000001111111111111111111111111111111) | |
| > | |
| <sprofile > <1> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = ctlz %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 31:i32, %4 | |
| %6:i32 = shl %2, %5 | |
| %7:i32 = phi %0, %6, %2, %2 | |
| %8:i32 = or 8388608:i32, %7 (hasExternalUses) | |
| %9:i32 = shl %8, 8:i32 | |
| %10:i32 = sub 1963258675:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i64 = zext %9 | |
| %13:i64 = mulnuw %11, %12 | |
| %14:i64 = lshr %13, 32:i64 | |
| %15:i64 = subnsw 0:i64, %14 | |
| %16:i64 = and 4294967295:i64, %15 | |
| %17:i64 = mulnuw %16, %11 | |
| %18:i64 = lshr %17, 31:i64 | |
| %19:i64 = and 4294967295:i64, %18 | |
| %20:i64 = mulnuw %19, %12 | |
| %21:i64 = lshr %20, 32:i64 | |
| %22:i64 = subnsw 0:i64, %21 | |
| %23:i64 = and 4294967295:i64, %22 | |
| %24:i64 = mulnuw %23, %19 | |
| %25:i64 = lshr %24, 31:i64 | |
| %26:i64 = and 4294967295:i64, %25 | |
| %27:i64 = mulnuw %26, %12 | |
| %28:i64 = lshr %27, 32:i64 | |
| %29:i64 = subnsw 0:i64, %28 | |
| %30:i64 = and 4294967295:i64, %29 | |
| %31:i64 = mulnuw %30, %26 | |
| %32:i64 = lshr %31, 31:i64 | |
| %33:i64 = addnw 4294967294:i64, %32 | |
| %34:i64 = and 4294967295:i64, %33 | |
| infer %34 | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = ctlz %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 31:i32, %4 | |
| %6:i32 = shl %2, %5 | |
| %7:i32 = phi %0, %6, %2, %2 | |
| %8:i32 = or 8388608:i32, %7 (hasExternalUses) | |
| %9:i32 = shl %8, 8:i32 | |
| %10:i32 = sub 1963258675:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i64 = zext %9 | |
| %13:i64 = mulnuw %11, %12 | |
| %14:i64 = lshr %13, 32:i64 | |
| %15:i64 = subnsw 0:i64, %14 | |
| %16:i64 = and 4294967295:i64, %15 | |
| %17:i64 = mulnuw %16, %11 | |
| %18:i64 = lshr %17, 31:i64 | |
| %19:i64 = and 4294967295:i64, %18 | |
| %20:i64 = mulnuw %19, %12 | |
| %21:i64 = lshr %20, 32:i64 | |
| %22:i64 = subnsw 0:i64, %21 | |
| %23:i64 = and 4294967295:i64, %22 | |
| %24:i64 = mulnuw %23, %19 | |
| %25:i64 = lshr %24, 31:i64 | |
| %26:i64 = and 4294967295:i64, %25 | |
| %27:i64 = mulnuw %26, %12 | |
| %28:i64 = lshr %27, 32:i64 | |
| %29:i64 = subnsw 0:i64, %28 | |
| %30:i64 = and 4294967295:i64, %29 | |
| %31:i64 = mulnuw %30, %26 | |
| %32:i64 = lshr %31, 31:i64 | |
| %33:i64 = addnw 4294967294:i64, %32 | |
| infer %33 (demandedBits=0000000000000000000000000000000011111111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3:i32 = ctlz %2 | |
| %4:i32 = addnw 24:i32, %3 | |
| %5:i32 = and 31:i32, %4 | |
| %6:i32 = shl %2, %5 | |
| %7:i32 = phi %0, %6, %2, %2 | |
| %8:i32 = or 8388608:i32, %7 (hasExternalUses) | |
| %9:i32 = shl %8, 8:i32 | |
| %10:i32 = sub 1963258675:i32, %9 | |
| %11:i64 = zext %10 | |
| %12:i64 = zext %9 | |
| %13:i64 = mulnuw %11, %12 | |
| %14:i64 = lshr %13, 32:i64 | |
| %15:i64 = subnsw 0:i64, %14 | |
| %16:i64 = and 4294967295:i64, %15 | |
| %17:i64 = mulnuw %16, %11 | |
| %18:i64 = lshr %17, 31:i64 | |
| %19:i64 = and 4294967295:i64, %18 | |
| %20:i64 = mulnuw %19, %12 | |
| %21:i64 = lshr %20, 32:i64 | |
| %22:i64 = subnsw 0:i64, %21 | |
| %23:i64 = and 4294967295:i64, %22 | |
| %24:i64 = mulnuw %23, %19 | |
| %25:i64 = lshr %24, 31:i64 | |
| %26:i64 = and 4294967295:i64, %25 | |
| %27:i64 = mulnuw %26, %12 | |
| %28:i64 = lshr %27, 32:i64 | |
| %29:i64 = subnsw 0:i64, %28 | |
| %30:i64 = and 4294967295:i64, %29 | |
| %31:i64 = mulnuw %30, %26 | |
| %32:i64 = lshr %31, 31:i64 | |
| infer %32 (demandedBits=0000000000000000000000000000000011111111111111111111111111111111) | |
| > | |
| <noinfer> <> | |
| <sprofile > <4> | |
| ------------------------------------------------------ | |
| <%0 = block 3 | |
| %1:i32 = var | |
| %2:i32 = and 8388607:i32, %1 | |
| %3: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment