[Bug tree-optimization/8781] Pessimization of C++ (functional) code

2006-04-05 Thread rguenth at gcc dot gnu dot org
--- Comment #20 from rguenth at gcc dot gnu dot org 2006-04-05 16:05 --- Because they are not the same: (gdb) call debug_generic_expr(0xb7e31c94) struct noop_tD.2008 (gdb) call debug_generic_expr(0xb7e3505c) struct noop_tD.2008 generated by #0 build1_stat (code=NOP_EXPR, type=0xb7e3

[Bug tree-optimization/8781] Pessimization of C++ (functional) code

2006-01-07 Thread pinskia at gcc dot gnu dot org
--- Comment #19 from pinskia at gcc dot gnu dot org 2006-01-08 05:32 --- Hmm, maybe there is really something else going on here: struct noop_tD.1999 D.2016; struct noop_tD.1999 predD.2575; predD.2575 = (struct noop_tD.1999) D.2016; Hmm, why is there a cast there? They are th

[Bug tree-optimization/8781] Pessimization of C++ (functional) code

2005-08-02 Thread pinskia at gcc dot gnu dot org
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-08-03 03:35 --- Even though comment #17 is correct, it is not the full story (I have a fix for the issue in comment #17). The real problem is that we don't consider function decls as constants so consider stuff we shoul

[Bug tree-optimization/8781] Pessimization of C++ (functional) code

2005-08-02 Thread pinskia at gcc dot gnu dot org
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-08-03 03:03 --- The real problem can be seen with: int f(void); int h(void); int g(int a) { int (*ff)(void) = f; int (**g)(void); g = &ff; (*g)(); h(); (*g)(); } we mark the value which we calling as escaping

[Bug tree-optimization/8781] Pessimization of C++ (functional) code

2005-08-02 Thread pinskia at gcc dot gnu dot org
--- Additional Comments From pinskia at gcc dot gnu dot org 2005-08-03 02:50 --- hmm, why are things being marked as call clobered when their addresses don't escape at all. Mostly: D.1928_31, is dereferenced, its value escapes, points-to anything which is the variable for the function

[Bug tree-optimization/8781] Pessimization of C++ (functional) code

2004-11-23 Thread pinskia at gcc dot gnu dot org
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-11-24 06:28 --- The problem here is: # predD.1714_2 = V_MUST_DEF ; predD.1714 = fD.1555; # predD.1718_36 = V_MAY_DEF ; predD.1718.predD.1583 = &predD.1714; # predD.1714_41 = V_MAY_DEF ; # predD.1718_42