[Bug tree-optimization/92155] strlen(a) not folded after memset(a, 0, sizeof a)

2020-01-29 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92155 Martin Liška changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|

[Bug tree-optimization/92155] strlen(a) not folded after memset(a, 0, sizeof a)

2019-10-18 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92155 --- Comment #4 from Martin Sebor --- Author: msebor Date: Fri Oct 18 22:26:39 2019 New Revision: 277194 URL: https://gcc.gnu.org/viewcvs?rev=277194&root=gcc&view=rev Log: PR tree-optimization/92157 - incorrect strcmp() == 0 result for unknown st

[Bug tree-optimization/92155] strlen(a) not folded after memset(a, 0, sizeof a)

2019-10-18 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92155 --- Comment #3 from Martin Sebor --- Actually, the memcpy is transformed to MEM_REF and the strlen pass knows how to deal with a subset of those (small powers of 2). What it doesn't know how to do yet is deal with other sizes like in the test ca

[Bug tree-optimization/92155] strlen(a) not folded after memset(a, 0, sizeof a)

2019-10-18 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92155 --- Comment #2 from Martin Sebor --- The inequality (__builtin_strlen (a4) != 0) is folded into (a4[0] != 0) very early on during Gimplification so the strlen pass never sees it. What the strlen pass should be able to do is fold strlen(a4) below

[Bug tree-optimization/92155] strlen(a) not folded after memset(a, 0, sizeof a)

2019-10-18 Thread prathamesh3492 at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92155 prathamesh3492 at gcc dot gnu.org changed: What|Removed |Added CC||prathamesh3492 at gcc