https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94809
--- Comment #8 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-9 branch has been updated by Jakub Jelinek <ja...@gcc.gnu.org>: https://gcc.gnu.org/g:522022361984407ebc84cde22bdbd199261d0443 commit r9-8888-g522022361984407ebc84cde22bdbd199261d0443 Author: Jakub Jelinek <ja...@redhat.com> Date: Tue Apr 28 11:26:56 2020 +0200 tree: Fix up TREE_SIDE_EFFECTS on internal calls [PR94809] On the following testcase, match.pd during GENERIC folding changes the -1U / x < y into __imag__ .MUL_OVERFLOW (x, y), but unfortunately unlike for normal calls nothing sets TREE_SIDE_EFFECTS on the call. There is the process_call_operands function that non-internal call creation calls and it is usable for internal calls too, e.g. TREE_SIDE_EFFECTS is derived from checking whether the call has side-effects (non-ECF_{CONST,PURE}; we have those for internal calls) and from whether any of the arguments has TREE_SIDE_EFFECTS. 2020-04-28 Jakub Jelinek <ja...@redhat.com> PR tree-optimization/94809 * tree.c (build_call_expr_internal_loc_array): Call process_call_operands. * gcc.c-torture/execute/pr94809.c: New test. (cherry picked from commit 34f6b14ff33e0c64b3a4a1a2cd871df715d69151)