Class SConstantPropagatorAndFolder

    • Field Detail

      • debug

        protected boolean debug
    • Constructor Detail

      • SConstantPropagatorAndFolder

        public SConstantPropagatorAndFolder​(Singletons.Global g)
    • Method Detail

      • internalTransform

        protected void internalTransform​(Body b,
                                         String phaseName,
                                         Map<String,​String> options)
        Description copied from class: BodyTransformer
        This method is called to perform the transformation itself. It is declared abstract; subclasses must implement this method by making it the entry point to their actual Body transformation.
        Specified by:
        internalTransform in class BodyTransformer
        Parameters:
        b - the body on which to apply the transformation
        phaseName - the phasename for this transform; not typically used by implementations.
        options - the actual computed options; a combination of default options and Scene specified options.
      • propagateResults

        protected void propagateResults​(Map<Local,​Constant> localToConstant)
        Propagates constants to the definition and uses of the relevant locals given a mapping. Notice that we use the Shimple implementation of LocalDefs and LocalUses.
      • removeStmts

        protected void removeStmts​(List<IfStmt> deadStmts)
        Removes the given list of fall through IfStmts from the body.
      • replaceStmts

        protected void replaceStmts​(Map<Stmt,​GotoStmt> stmtsToReplace)
        Replaces conditional branches by unconditional branches as given by the mapping.