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

            Bug ID: 121692
           Summary: Inlining fails with builtin_constant_p
           Product: gcc
           Version: 16.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: ipa
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jchrist at linux dot ibm.com
  Target Milestone: ---

Created attachment 62216
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=62216&action=edit
Reproducer

When a function splits control flow based on __builtin_constant_p of an
argument, inlining heuristic does not properly track size of the resulting
function.  This leads to missed inlining opertunities.

Attached reproducer is an excerpt from building the Linux kernel on s390x. 
Here, function __flogr should be inlined into all call sites, but is not due to
a large block of code in the __builtin_constant_p case.

Reply via email to