Summary: | Extra V_MAY_DEF on a static variable whose address is not taken (we should be able to move the load out of the loop) | ||
---|---|---|---|
Product: | gcc | Reporter: | Andrew Pinski <pinskia> |
Component: | tree-optimization | Assignee: | Not yet assigned to anyone <unassigned> |
Status: | RESOLVED FIXED | ||
Severity: | enhancement | CC: | dnovillo, gcc-bugs |
Priority: | P2 | Keywords: | missed-optimization |
Version: | 4.0.0 | ||
Target Milestone: | --- | ||
Host: | Target: | ||
Build: | Known to work: | ||
Known to fail: | Last reconfirmed: | 2009-04-22 22:15:04 | |
Bug Depends on: | 22532 | ||
Bug Blocks: | 18439, 20367 |
Description
Andrew Pinski
2005-02-11 14:47:15 UTC
Confirmed. oh, why is d considered call clobbered when it cannot be: Variable: d.0, UID 0, float Variable: d, UID 1, float, is global, call clobbered, default def: d_4 This is not fixed Kenny's promote statics, in fact we now produce worse code at -O3. Note on ppc- darwin the code is fine since -fno-math-errno is done by default. (In reply to comment #3) > This is not fixed Kenny's promote statics, in fact we now produce worse code at -O3. Note on ppc- > darwin the code is fine since -fno-math-errno is done by default. I filed that as PR 22532. I think the FIXME in tree-ssa-operands.c is the answer here: /* FIXME - if we have better information from the static vars analysis, we need to make the cache call site specific. This way we can have the performance benefits even if we are doing good optimization. */ Long fixed. |