Class DuplicateBlockMerging

  • All Implemented Interfaces:
    IRTransform

    public class DuplicateBlockMerging
    extends Object
    implements IRTransform
    Merges duplicate blocks created by node splitting while preserving reducibility.
    • Constructor Detail

      • DuplicateBlockMerging

        public DuplicateBlockMerging()
        Creates the pass in conservative mode.
      • DuplicateBlockMerging

        public DuplicateBlockMerging​(boolean aggressive)
        Creates the pass.
        Parameters:
        aggressive - true to merge candidates that the conservative mode leaves alone
    • Method Detail

      • getName

        public String getName()
        Description copied from interface: IRTransform
        Gets the name of this transformation.
        Specified by:
        getName in interface IRTransform
        Returns:
        the transformation name
      • run

        public boolean run​(IRMethod method)
        Description copied from interface: IRTransform
        Runs the transformation on the specified method.
        Specified by:
        run in interface IRTransform
        Parameters:
        method - the method to transform
        Returns:
        true if the method was modified