|
8 | 8 | ;; RUN: foreach %s %t wasm-opt --no-partial-inline=*maybe* --inlining --optimize-level=3 --partial-inlining-ifs=1 -S -o - | filecheck %s --check-prefix NO_PART |
9 | 9 | ;; RUN: foreach %s %t wasm-opt --no-full-inline=*maybe* --inlining --optimize-level=3 --partial-inlining-ifs=1 -S -o - | filecheck %s --check-prefix NO_FULL |
10 | 10 | ;; RUN: foreach %s %t wasm-opt --no-inline=*maybe* --inlining --optimize-level=3 --partial-inlining-ifs=1 -S -o - | filecheck %s --check-prefix NO_BOTH |
| 11 | +;; RUN: foreach %s %t wasm-opt --no-inline=*****maybe***** --inlining --optimize-level=3 --partial-inlining-ifs=1 -S -o - | filecheck %s --check-prefix NO_BOTH |
11 | 12 |
|
12 | 13 | (module |
13 | 14 | ;; YES_ALL: (type $0 (func)) |
|
638 | 639 | ) |
639 | 640 | ) |
640 | 641 |
|
| 642 | +(func $very-long-name-we-should-not-error-on-even-though-it-is-very-very-long |
| 643 | + ;; Test a long name. |
| 644 | + ) |
| 645 | + |
| 646 | + ;; NO_FULL: (func $very-long-name-we-should-not-error-on-maybe-even-though-it-is-very-very-long |
| 647 | + ;; NO_FULL-NEXT: ) |
| 648 | + ;; NO_BOTH: (func $very-long-name-we-should-not-error-on-maybe-even-though-it-is-very-very-long |
| 649 | + ;; NO_BOTH-NEXT: ) |
| 650 | + (func $very-long-name-we-should-not-error-on-maybe-even-though-it-is-very-very-long |
| 651 | + ;; Test a long name with "maybe" in it. |
| 652 | + ) |
| 653 | + |
| 654 | + ;; NO_FULL: (func $very-long-name-we-may-should-not-error-on-maybe-even-though-it-is-very-very-long |
| 655 | + ;; NO_FULL-NEXT: ) |
| 656 | + ;; NO_BOTH: (func $very-long-name-we-may-should-not-error-on-maybe-even-though-it-is-very-very-long |
| 657 | + ;; NO_BOTH-NEXT: ) |
| 658 | + (func $very-long-name-we-may-should-not-error-on-maybe-even-though-it-is-very-very-long |
| 659 | + ;; Test a long name with "maybe" in it, and a partial match earlier ("may"). |
| 660 | + ) |
| 661 | + |
| 662 | +(func $maybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmayb |
| 663 | + ;; Test a long name with many partial matches but no real match. |
| 664 | +) |
| 665 | + |
| 666 | +;; NO_FULL: (func $maybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybe |
| 667 | +;; NO_FULL-NEXT: ) |
| 668 | +;; NO_BOTH: (func $maybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybe |
| 669 | +;; NO_BOTH-NEXT: ) |
| 670 | +(func $maybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybe |
| 671 | + ;; Test a long name with many partial matches and one real match right at the end. |
| 672 | +) |
| 673 | + |
| 674 | +(func $mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm |
| 675 | + ;; Test a long name with even more tiny partial matches but no real match. |
| 676 | +) |
| 677 | + |
641 | 678 | ;; YES_ALL: (func $caller |
642 | 679 | ;; YES_ALL-NEXT: (local $0 i32) |
643 | 680 | ;; YES_ALL-NEXT: (local $1 i32) |
|
741 | 778 | ;; YES_ALL-NEXT: ) |
742 | 779 | ;; YES_ALL-NEXT: ) |
743 | 780 | ;; YES_ALL-NEXT: ) |
| 781 | + ;; YES_ALL-NEXT: (block $__inlined_func$very-long-name-we-should-not-error-on-even-though-it-is-very-very-long$4 |
| 782 | + ;; YES_ALL-NEXT: (block |
| 783 | + ;; YES_ALL-NEXT: ) |
| 784 | + ;; YES_ALL-NEXT: ) |
| 785 | + ;; YES_ALL-NEXT: (block $__inlined_func$very-long-name-we-should-not-error-on-maybe-even-though-it-is-very-very-long$5 |
| 786 | + ;; YES_ALL-NEXT: (block |
| 787 | + ;; YES_ALL-NEXT: ) |
| 788 | + ;; YES_ALL-NEXT: ) |
| 789 | + ;; YES_ALL-NEXT: (block $__inlined_func$very-long-name-we-may-should-not-error-on-maybe-even-though-it-is-very-very-long$6 |
| 790 | + ;; YES_ALL-NEXT: (block |
| 791 | + ;; YES_ALL-NEXT: ) |
| 792 | + ;; YES_ALL-NEXT: ) |
| 793 | + ;; YES_ALL-NEXT: (block $__inlined_func$maybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmayb$7 |
| 794 | + ;; YES_ALL-NEXT: (block |
| 795 | + ;; YES_ALL-NEXT: ) |
| 796 | + ;; YES_ALL-NEXT: ) |
| 797 | + ;; YES_ALL-NEXT: (block $__inlined_func$maybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybe$8 |
| 798 | + ;; YES_ALL-NEXT: (block |
| 799 | + ;; YES_ALL-NEXT: ) |
| 800 | + ;; YES_ALL-NEXT: ) |
| 801 | + ;; YES_ALL-NEXT: (block $__inlined_func$mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm$9 |
| 802 | + ;; YES_ALL-NEXT: (block |
| 803 | + ;; YES_ALL-NEXT: ) |
| 804 | + ;; YES_ALL-NEXT: ) |
744 | 805 | ;; YES_ALL-NEXT: ) |
745 | 806 | ;; NO_PART: (func $caller |
746 | 807 | ;; NO_PART-NEXT: (call $maybe-partial-or-full-1 |
|
755 | 816 | ;; NO_PART-NEXT: (call $maybe-partial-or-full-2 |
756 | 817 | ;; NO_PART-NEXT: (i32.const 1) |
757 | 818 | ;; NO_PART-NEXT: ) |
| 819 | + ;; NO_PART-NEXT: (block $__inlined_func$very-long-name-we-should-not-error-on-even-though-it-is-very-very-long |
| 820 | + ;; NO_PART-NEXT: (block |
| 821 | + ;; NO_PART-NEXT: ) |
| 822 | + ;; NO_PART-NEXT: ) |
| 823 | + ;; NO_PART-NEXT: (block $__inlined_func$very-long-name-we-should-not-error-on-maybe-even-though-it-is-very-very-long$1 |
| 824 | + ;; NO_PART-NEXT: (block |
| 825 | + ;; NO_PART-NEXT: ) |
| 826 | + ;; NO_PART-NEXT: ) |
| 827 | + ;; NO_PART-NEXT: (block $__inlined_func$very-long-name-we-may-should-not-error-on-maybe-even-though-it-is-very-very-long$2 |
| 828 | + ;; NO_PART-NEXT: (block |
| 829 | + ;; NO_PART-NEXT: ) |
| 830 | + ;; NO_PART-NEXT: ) |
| 831 | + ;; NO_PART-NEXT: (block $__inlined_func$maybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmayb$3 |
| 832 | + ;; NO_PART-NEXT: (block |
| 833 | + ;; NO_PART-NEXT: ) |
| 834 | + ;; NO_PART-NEXT: ) |
| 835 | + ;; NO_PART-NEXT: (block $__inlined_func$maybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybe$4 |
| 836 | + ;; NO_PART-NEXT: (block |
| 837 | + ;; NO_PART-NEXT: ) |
| 838 | + ;; NO_PART-NEXT: ) |
| 839 | + ;; NO_PART-NEXT: (block $__inlined_func$mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm$5 |
| 840 | + ;; NO_PART-NEXT: (block |
| 841 | + ;; NO_PART-NEXT: ) |
| 842 | + ;; NO_PART-NEXT: ) |
758 | 843 | ;; NO_PART-NEXT: ) |
759 | 844 | ;; NO_FULL: (func $caller |
760 | 845 | ;; NO_FULL-NEXT: (local $0 i32) |
|
817 | 902 | ;; NO_FULL-NEXT: ) |
818 | 903 | ;; NO_FULL-NEXT: ) |
819 | 904 | ;; NO_FULL-NEXT: ) |
| 905 | + ;; NO_FULL-NEXT: (block $__inlined_func$very-long-name-we-should-not-error-on-even-though-it-is-very-very-long$4 |
| 906 | + ;; NO_FULL-NEXT: (block |
| 907 | + ;; NO_FULL-NEXT: ) |
| 908 | + ;; NO_FULL-NEXT: ) |
| 909 | + ;; NO_FULL-NEXT: (call $very-long-name-we-should-not-error-on-maybe-even-though-it-is-very-very-long) |
| 910 | + ;; NO_FULL-NEXT: (call $very-long-name-we-may-should-not-error-on-maybe-even-though-it-is-very-very-long) |
| 911 | + ;; NO_FULL-NEXT: (block $__inlined_func$maybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmayb$5 |
| 912 | + ;; NO_FULL-NEXT: (block |
| 913 | + ;; NO_FULL-NEXT: ) |
| 914 | + ;; NO_FULL-NEXT: ) |
| 915 | + ;; NO_FULL-NEXT: (call $maybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybe) |
| 916 | + ;; NO_FULL-NEXT: (block $__inlined_func$mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm$6 |
| 917 | + ;; NO_FULL-NEXT: (block |
| 918 | + ;; NO_FULL-NEXT: ) |
| 919 | + ;; NO_FULL-NEXT: ) |
820 | 920 | ;; NO_FULL-NEXT: ) |
821 | 921 | ;; NO_BOTH: (func $caller |
822 | 922 | ;; NO_BOTH-NEXT: (call $maybe-partial-or-full-1 |
|
831 | 931 | ;; NO_BOTH-NEXT: (call $maybe-partial-or-full-2 |
832 | 932 | ;; NO_BOTH-NEXT: (i32.const 1) |
833 | 933 | ;; NO_BOTH-NEXT: ) |
| 934 | + ;; NO_BOTH-NEXT: (block $__inlined_func$very-long-name-we-should-not-error-on-even-though-it-is-very-very-long |
| 935 | + ;; NO_BOTH-NEXT: (block |
| 936 | + ;; NO_BOTH-NEXT: ) |
| 937 | + ;; NO_BOTH-NEXT: ) |
| 938 | + ;; NO_BOTH-NEXT: (call $very-long-name-we-should-not-error-on-maybe-even-though-it-is-very-very-long) |
| 939 | + ;; NO_BOTH-NEXT: (call $very-long-name-we-may-should-not-error-on-maybe-even-though-it-is-very-very-long) |
| 940 | + ;; NO_BOTH-NEXT: (block $__inlined_func$maybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmayb$1 |
| 941 | + ;; NO_BOTH-NEXT: (block |
| 942 | + ;; NO_BOTH-NEXT: ) |
| 943 | + ;; NO_BOTH-NEXT: ) |
| 944 | + ;; NO_BOTH-NEXT: (call $maybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybe) |
| 945 | + ;; NO_BOTH-NEXT: (block $__inlined_func$mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm$2 |
| 946 | + ;; NO_BOTH-NEXT: (block |
| 947 | + ;; NO_BOTH-NEXT: ) |
| 948 | + ;; NO_BOTH-NEXT: ) |
834 | 949 | ;; NO_BOTH-NEXT: ) |
835 | 950 | (func $caller |
836 | 951 | ;; In YES_ALL we will fully inline all of these. In NO_FULL we will partially |
|
851 | 966 | (call $maybe-partial-or-full-2 |
852 | 967 | (i32.const 1) |
853 | 968 | ) |
| 969 | + (call $very-long-name-we-should-not-error-on-even-though-it-is-very-very-long) |
| 970 | + (call $very-long-name-we-should-not-error-on-maybe-even-though-it-is-very-very-long) |
| 971 | + (call $very-long-name-we-may-should-not-error-on-maybe-even-though-it-is-very-very-long) |
| 972 | + (call $maybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmayb) |
| 973 | + (call $maybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybmaybe) |
| 974 | + (call $mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm) |
854 | 975 | ) |
855 | 976 | ) |
856 | 977 | ;; NO_FULL: (func $byn-split-outlined-B$maybe-partial-or-full-1 (param $x i32) |
|
0 commit comments