[Bug tree-optimization/94809] [8/9/10 Regression] Different results between gcc-9 and gcc-6
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Apr 28 09:28:20 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94809
--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <jakub@gcc.gnu.org>:
https://gcc.gnu.org/g:34f6b14ff33e0c64b3a4a1a2cd871df715d69151
commit r10-8009-g34f6b14ff33e0c64b3a4a1a2cd871df715d69151
Author: Jakub Jelinek <jakub@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 <jakub@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.
More information about the Gcc-bugs
mailing list