https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125788

Drea Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Blocks|                            |51964
           See Also|                            |https://gcc.gnu.org/bugzill
                   |                            |a/show_bug.cgi?id=13563,
                   |                            |https://gcc.gnu.org/bugzill
                   |                            |a/show_bug.cgi?id=110192

--- Comment #5 from Drea Pinski <pinskia at gcc dot gnu.org> ---
Note the store sinking happens in sink_common_stores_to_bb.
The way I would phase it is the following:
phase 1: Add operands sinking
phase 2: Add load sinking (Allowing for stores before the load)
phase 3: Add call sinking
phase 4: Enchance store sinking

Note phiopt can/should still do the factoring too because there it could create
a forwarder block if factoring out of a simple `ifthenelse` which allows for
ifcvt to happen while sinking here is unrelated to ifcvt.


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51964
[Bug 51964] Missed tail merging opportunity with calls

Reply via email to