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

            Bug ID: 125792
           Summary: phiopt late in gimple should do some ifcvt
           Product: gcc
           Version: 16.0
            Status: UNCONFIRMED
          Keywords: missed-optimization
          Severity: enhancement
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: pinskia at gcc dot gnu.org
            Blocks: 67962, 80874, 122837, 125557
  Target Milestone: ---

With some costing model, phiopt should do some ifcvt in the last phiopt.

First phase would be when the 1/2 middle bbs are empty (PR 67962, PR 122837,PR
80874). And then handle that.

Second phase (like what is needed for PR 125557) would be when the middle basic
blocks are not empty and that is more complex and the costing there is more
complex.


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67962
[Bug 67962] Optimization opportunity with conditional swap to two MIN/MAX in
phiopt
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80874
[Bug 80874] gcc does not emit cmov for minmax
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122837
[Bug 122837] Suboptimal codegen for std::midpoint
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125557
[Bug 125557] Missed if-conversion of load addresses

Reply via email to