public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug tree-optimization/109334] New: tree-object-size: Improve size computation in arguments @ 2023-03-29 11:14 siddhesh at gcc dot gnu.org 2023-03-30 22:04 ` [Bug tree-optimization/109334] " muecker at gwdg dot de ` (4 more replies) 0 siblings, 5 replies; 6+ messages in thread From: siddhesh at gcc dot gnu.org @ 2023-03-29 11:14 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109334 Bug ID: 109334 Summary: tree-object-size: Improve size computation in arguments Product: gcc Version: 13.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: siddhesh at gcc dot gnu.org CC: jakub at gcc dot gnu.org, marxin at gcc dot gnu.org, msebor at gcc dot gnu.org, muecker at gwdg dot de, siddhesh at gcc dot gnu.org Depends on: 104970 Target Milestone: --- The fix for bug 104970 is too restrictive, size computation should also work for VLA bounds and also cases where it could work without attributes in simple cases, e.g. size_t __attribute__ ((noinline)) test_parmsz_internal3 (size_t sz1, size_t sz2, double obj[sz1][sz2]) { return __builtin_dynamic_object_size (obj, 0); } or __attribute__ ((noinline, access (read_only, 2, 1))) int foo(int n, int buf[n]) { buf[n] = 1; return __builtin_dynamic_object_size(buf, 0); } int main() { int n = 10; int buf[n]; return foo(n, buf); } Referenced Bugs: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104970 [Bug 104970] [12 Regression] ICE in execute_todo, at passes.cc:2133 since r12-6480-gea19c8f33a3a8d2b ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug tree-optimization/109334] tree-object-size: Improve size computation in arguments 2023-03-29 11:14 [Bug tree-optimization/109334] New: tree-object-size: Improve size computation in arguments siddhesh at gcc dot gnu.org @ 2023-03-30 22:04 ` muecker at gwdg dot de 2023-03-31 12:27 ` siddhesh at gcc dot gnu.org ` (3 subsequent siblings) 4 siblings, 0 replies; 6+ messages in thread From: muecker at gwdg dot de @ 2023-03-30 22:04 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109334 --- Comment #1 from Martin Uecker <muecker at gwdg dot de> --- Created attachment 54796 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54796&action=edit partial fix Simply removing the condition based on internal_p would make it work for the most important cases as in the attached patch. The check for constant sizes already prevents the original ICE. ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug tree-optimization/109334] tree-object-size: Improve size computation in arguments 2023-03-29 11:14 [Bug tree-optimization/109334] New: tree-object-size: Improve size computation in arguments siddhesh at gcc dot gnu.org 2023-03-30 22:04 ` [Bug tree-optimization/109334] " muecker at gwdg dot de @ 2023-03-31 12:27 ` siddhesh at gcc dot gnu.org 2023-10-29 6:48 ` cvs-commit at gcc dot gnu.org ` (2 subsequent siblings) 4 siblings, 0 replies; 6+ messages in thread From: siddhesh at gcc dot gnu.org @ 2023-03-31 12:27 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109334 --- Comment #2 from Siddhesh Poyarekar <siddhesh at gcc dot gnu.org> --- That seems OK; I had added that to be conservative since I really only intended to add support for the access attribute back then and not the implicit attributes. Could you please post that on the ML and have it reviewed? Thanks! ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug tree-optimization/109334] tree-object-size: Improve size computation in arguments 2023-03-29 11:14 [Bug tree-optimization/109334] New: tree-object-size: Improve size computation in arguments siddhesh at gcc dot gnu.org 2023-03-30 22:04 ` [Bug tree-optimization/109334] " muecker at gwdg dot de 2023-03-31 12:27 ` siddhesh at gcc dot gnu.org @ 2023-10-29 6:48 ` cvs-commit at gcc dot gnu.org 2023-10-29 7:29 ` sjames at gcc dot gnu.org 2024-05-07 7:40 ` rguenth at gcc dot gnu.org 4 siblings, 0 replies; 6+ messages in thread From: cvs-commit at gcc dot gnu.org @ 2023-10-29 6:48 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109334 --- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Martin Uecker <uecker@gcc.gnu.org>: https://gcc.gnu.org/g:d96757842a13cad3500b74a352ab34d27a8be622 commit r14-4993-gd96757842a13cad3500b74a352ab34d27a8be622 Author: Martin Uecker <uecker@tugraz.at> Date: Wed Oct 25 23:24:34 2023 +0200 tree-optimization/109334: Improve computation for access attribute The fix for PR104970 restricted size computations to the case where the access attribute was specified explicitly (no VLA). It also restricted it to void pointers or elements with constant sizes. The second restriction is enough to fix the original bug. Revert the first change to again allow size computations for VLA parameters and for VLA parameters together with an explicit access attribute. gcc/ChangeLog: PR tree-optimization/109334 * tree-object-size.cc (parm_object_size): Allow size computation for implicit access attributes. gcc/testsuite/ChangeLog: PR tree-optimization/109334 * gcc.dg/builtin-dynamic-object-size-0.c (test_parmsz_simple3): Supported again. (test_parmsz_external4): New test. * gcc.dg/builtin-dynamic-object-size-20.c: New test. * gcc.dg/pr104970.c: New test. ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug tree-optimization/109334] tree-object-size: Improve size computation in arguments 2023-03-29 11:14 [Bug tree-optimization/109334] New: tree-object-size: Improve size computation in arguments siddhesh at gcc dot gnu.org ` (2 preceding siblings ...) 2023-10-29 6:48 ` cvs-commit at gcc dot gnu.org @ 2023-10-29 7:29 ` sjames at gcc dot gnu.org 2024-05-07 7:40 ` rguenth at gcc dot gnu.org 4 siblings, 0 replies; 6+ messages in thread From: sjames at gcc dot gnu.org @ 2023-10-29 7:29 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109334 Sam James <sjames at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Target Milestone|--- |14.0 Status|UNCONFIRMED |NEW See Also| |https://gcc.gnu.org/bugzill | |a/show_bug.cgi?id=104970 Last reconfirmed| |2023-10-29 --- Comment #4 from Sam James <sjames at gcc dot gnu.org> --- Fixed for 14 then? ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug tree-optimization/109334] tree-object-size: Improve size computation in arguments 2023-03-29 11:14 [Bug tree-optimization/109334] New: tree-object-size: Improve size computation in arguments siddhesh at gcc dot gnu.org ` (3 preceding siblings ...) 2023-10-29 7:29 ` sjames at gcc dot gnu.org @ 2024-05-07 7:40 ` rguenth at gcc dot gnu.org 4 siblings, 0 replies; 6+ messages in thread From: rguenth at gcc dot gnu.org @ 2024-05-07 7:40 UTC (permalink / raw) To: gcc-bugs https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109334 Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|14.0 |14.2 --- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> --- GCC 14.1 is being released, retargeting bugs to GCC 14.2. ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2024-05-07 7:40 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2023-03-29 11:14 [Bug tree-optimization/109334] New: tree-object-size: Improve size computation in arguments siddhesh at gcc dot gnu.org 2023-03-30 22:04 ` [Bug tree-optimization/109334] " muecker at gwdg dot de 2023-03-31 12:27 ` siddhesh at gcc dot gnu.org 2023-10-29 6:48 ` cvs-commit at gcc dot gnu.org 2023-10-29 7:29 ` sjames at gcc dot gnu.org 2024-05-07 7:40 ` rguenth at gcc dot gnu.org
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).