Commit 15e96fa
authored
JIT: Fix
`gtNodeHasSideEffects` is meant to check if a node has side effects when
you exclude its children. However, it was checking arguments of calls
which is more conservative than expected.
The actual reason we were doing that seems to be `gtTreeHasSideEffects`
that sometimes wants to ignore `GTF_CALL` on pure helper calls. It was
relying on this check in `gtNodeHasSideEffect`; instead move it to
`gtTreeHasSideEffects` where it belongs.
This is an alternative fix for #106129; there we leave a
`COMMA(CORINFO_HELP_RUNTIMELOOKUP_METHOD, ...)` around because
extracting side effects from op1 does not end up getting rid of the
call.
Fix #106129gtNodeHasSideEffects checking call arguments (#106185)1 parent c1ab6c5 commit 15e96fa
3 files changed
+26
-40
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6254 | 6254 | | |
6255 | 6255 | | |
6256 | 6256 | | |
6257 | | - | |
6258 | | - | |
6259 | | - | |
6260 | | - | |
6261 | | - | |
6262 | | - | |
6263 | | - | |
| 6257 | + | |
6264 | 6258 | | |
6265 | 6259 | | |
6266 | 6260 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
16828 | 16828 | | |
16829 | 16829 | | |
16830 | 16830 | | |
16831 | | - | |
16832 | | - | |
16833 | | - | |
16834 | | - | |
16835 | | - | |
16836 | | - | |
16837 | | - | |
16838 | | - | |
16839 | | - | |
16840 | | - | |
16841 | | - | |
16842 | | - | |
16843 | | - | |
16844 | | - | |
16845 | | - | |
16846 | | - | |
16847 | | - | |
16848 | | - | |
16849 | | - | |
16850 | | - | |
16851 | | - | |
16852 | | - | |
16853 | | - | |
16854 | | - | |
16855 | | - | |
| 16831 | + | |
16856 | 16832 | | |
16857 | 16833 | | |
16858 | 16834 | | |
| |||
16892 | 16868 | | |
16893 | 16869 | | |
16894 | 16870 | | |
16895 | | - | |
| 16871 | + | |
16896 | 16872 | | |
16897 | 16873 | | |
16898 | | - | |
16899 | | - | |
| 16874 | + | |
| 16875 | + | |
16900 | 16876 | | |
16901 | | - | |
16902 | | - | |
16903 | | - | |
16904 | | - | |
| 16877 | + | |
16905 | 16878 | | |
| 16879 | + | |
| 16880 | + | |
| 16881 | + | |
| 16882 | + | |
| 16883 | + | |
| 16884 | + | |
| 16885 | + | |
| 16886 | + | |
| 16887 | + | |
| 16888 | + | |
| 16889 | + | |
| 16890 | + | |
| 16891 | + | |
| 16892 | + | |
16906 | 16893 | | |
16907 | | - | |
| 16894 | + | |
16908 | 16895 | | |
16909 | 16896 | | |
16910 | 16897 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1666 | 1666 | | |
1667 | 1667 | | |
1668 | 1668 | | |
| 1669 | + | |
| 1670 | + | |
1669 | 1671 | | |
1670 | 1672 | | |
1671 | 1673 | | |
1672 | 1674 | | |
1673 | 1675 | | |
1674 | 1676 | | |
1675 | 1677 | | |
| 1678 | + | |
1676 | 1679 | | |
1677 | 1680 | | |
1678 | 1681 | | |
| |||
1688 | 1691 | | |
1689 | 1692 | | |
1690 | 1693 | | |
| 1694 | + | |
| 1695 | + | |
1691 | 1696 | | |
1692 | 1697 | | |
1693 | 1698 | | |
| |||
0 commit comments