Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8003854

PPC64 (part 115): expand nodes after register allocation

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Fixed
    • Icon: P4 P4
    • port-stage-ppc-aix
    • port-stage-ppc-aix
    • hotspot
    • None
    • master

        This is preparation for PPC64 integration: http://openjdk.java.net/jeps/175
        This and following ppc64 changes will go into staging repository first and tested there: http://hg.openjdk.java.net/ppc-aix-port/stage/

        Implement lateExpand that expands nodes after register allocation.

        http://hg.openjdk.java.net/ppc-aix-port/jdk8/hotspot/file/df79d76c17ab/ppc_patches/0115_8003850_opto-introduce_phase_lateExpand.patch

        We proposed this change before:
        http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2012-November/008909.html
         
        The lateExpand phase in the C2 compiler expands nodes after Register allocation.
        Some nodes can not be expanded during matching. E.g., register allocation
        might not be able to deal with the resulting pattern. To allow better
        scheduling in such cases, we introduce lateExpand which runs after
        register allocation. Whether and how nodes are expanded is specified
        in the ad-file. See block.cpp for a detailed documentation. We use this
        for some nodes on ppc, and extensively on ia64.
          
        In the mail cited above you find an example how to use late expand for the sparc.ad file.
        and you see the code generated by adlc.

              goetz Goetz Lindenmaier
              twisti Christian Thalinger (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: