[Bug tree-optimization/19637] Missed constant propagation with placement new

2005-10-09 Thread rguenth at gcc dot gnu dot org
--- Comment #7 from rguenth at gcc dot gnu dot org 2005-10-09 09:47 --- The non-null check is now removed for the foo_char() case by VRP (note that the non-null check for the two viod-cases are _not_ removed by VRP but by DOM1. The propagation of the initialization in foo_void_offset is

[Bug tree-optimization/19637] Missed constant propagation with placement new

2005-09-20 Thread pinskia at gcc dot gnu dot org
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-09-21 01:46 --- Note these are all questionable in aliasing. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19637

[Bug tree-optimization/19637] Missed constant propagation with placement new

2005-04-16 Thread giovannibajo at libero dot it
--- Additional Comments From giovannibajo at libero dot it 2005-04-16 16:38 --- Notice that the frontend shouldn't *ever* call fold. It's the optimizers' job to adjust these things. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19637

[Bug tree-optimization/19637] Missed constant propagation with placement new

2005-04-16 Thread pinskia at gcc dot gnu dot org
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-04-16 16:32 --- Confirmed. -- What|Removed |Added Status|UNCONFIRMED |NEW E

[Bug tree-optimization/19637] Missed constant propagation with placement new

2005-02-10 Thread rguenth at gcc dot gnu dot org
--- Additional Comments From rguenth at gcc dot gnu dot org 2005-02-10 10:20 --- The C++ frontend doesn't give us the opportunity to canonicalize &i to &i[0] as it doesn't call fold in typeck:build_address or decay_conversion. I'm lost here. -- http://gcc.gnu.org/bugzilla/show_bug.c

[Bug tree-optimization/19637] Missed constant propagation with placement new

2005-02-10 Thread rguenth at gcc dot gnu dot org
--- Additional Comments From rguenth at gcc dot gnu dot org 2005-02-10 09:49 --- The difference between foo_void and foo_void_offset is that for foo_void PRE cannot see that (struct Foo *) &i[0] is equivalent to (struct Foo *) &i. As such, for foo_void we end up with : __p_2 = &i[0];

[Bug tree-optimization/19637] Missed constant propagation with placement new

2005-02-10 Thread rguenth at gcc dot gnu dot org
--- Additional Comments From rguenth at gcc dot gnu dot org 2005-02-10 09:39 --- It's CCP that for foo_void is able to propagate &i[0] into the comparison here: struct Foo * const this; void * D.1798; size_t D.1795; void * __p; int i[2]; struct Foo * i.6; int D.1786; str

[Bug tree-optimization/19637] Missed constant propagation with placement new

2005-01-26 Thread pinskia at gcc dot gnu dot org
-- What|Removed |Added Severity|normal |enhancement Keywords||missed-optimization http://gcc.gnu.org/bugzilla/s