Ignore:
Timestamp:
Aug 2, 2011, 1:10:28 AM (8 years ago)
Author:
shermer
Message:

Work towards optimization.

Added LocalDeadCodeEliminator? (LDCE), separate from the old EliminateDeadCode?. Worked on clarifying code in DefUseProperty?. LDCE does not improve almost-SSA code much, so I've left it out of the standard transformation pipeline in main.Main.

Added a global liveness analysis class, LivenessProperty?. This is prep for a global dead code eliminator.

Added possibleUseEIndices() and defEIndices() to Op, and similar things to instruction; this localizes decisions about which instruction operands mean what. Finding all the places in the code base that make these decisions, and changing them to use this mechanism, may take a while.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • proto/pebble/trunk/inputs/input-11.pbl

    r1254 r1256  
    1010        m = b & c
    1111#       d = >>>j
    12 #       g = b +> d
     12        g = b +> d
    1313        f = d ^ a
    1414        d = m <> b
     
    1616        if v & d | x not allone then {
    1717                x = 0
     18                g = a +> d
     19                h = x1
    1820        }
    1921        else {
    2022                m = 1
     23                f = r <> m
     24                g = x2
    2125        }
    2226
     27        g = b +> d
     28        f = d ^ a
     29        m = x3
    2330
    2431}
Note: See TracChangeset for help on using the changeset viewer.