This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/24762] [killloop-branch] code motion of non-invariant expressions with hard registers.
- From: "dberlin at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 9 Nov 2005 23:30:55 -0000
- Subject: [Bug rtl-optimization/24762] [killloop-branch] code motion of non-invariant expressions with hard registers.
- References: <bug-24762-280@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #9 from dberlin at gcc dot gnu dot org 2005-11-09 23:30 -------
Okay, well, there are also bugs in df.c on mainline in regards to not creating
uses for "always-live" registers and registers that are live over eh edges, for
example. (It does none of this). Seriously. Hard regs are very badly broken
in mainline df.c in terms of liveness and use-def/def-use chains.
Steven tells me flow.c gets liveness for your particular example wrong too
though. In the dataflow branch df.c, we would add a use for the "live on entry
to eh" regs, in the artifical uses code for eh blocks, and it would just work.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24762