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

            Bug ID: 70078
           Summary: gccint: define_split "not" allowed to create pseudos
           Product: gcc
           Version: 6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: other
          Assignee: unassigned at gcc dot gnu.org
          Reporter: vogt at linux dot vnet.ibm.com
  Target Milestone: ---

The section "Defining How to Split Instructions" in the gccint manual claims

  The preparation-statements are similar to those statements that are
  specified for define_expand.
  ...
  Unlike those in define_expand, however, these statements must not
  generate any new pseudo-registers.  Once reload has completed, they
  also must not allocate any space in the stack frame.

Splitters seem to be allowed to generate new pseudos under certain
circumstances (some splitters call can_create_psudo_p()).  So, is this correct
instead?

  ...
  Unlike those in define_expand, however, once reload has completed
  these statements must neither generate any new pseudo-registers nor
  allocate any space in the stack frame.  This can be checked by calling
  can_create_pseudo_p.

Reply via email to