This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[tree-ssa-branch] Make SSA CCP functional [patch]


The attached collection of patches bring CCP closer to
bootstrapping.  With this we now pass most of c-torture with CCP
enabled.

20020807-add-true-false-edges.diff: Adds two edge attributes for
    edges coming out of basic block with predicates controlling
    the execution of if/while/do nodes.  This is used to tell
    which edge will execute when a predicate is proven to have a
    constant value.


20020807-add-varref-id.diff: Adds a new ID field to each variable
    reference so that we can map them into arrays.


20020807-fix-ccp.diff: The main change is to map constant values
    to variable references instead of VAR_DECLs.  The constant
    value of a USE is that of its immediately reaching
    definition.
    
    When visiting expressions, we set the executable bit on
    conditional edges based on the evaluation of the predicate.

    We also mark expressions that need folding while substituing
    reference with constant lattice values.


20020807-misc.diff: Unshares references to compound expression
    before simplification.  It also reorders the order of dumps
    to coincide with the order in which we call the
    transformations.  Long term, this should probably be done
    at runtime.

20020807-unparse-debug-dumps.diff: Makes the debugging dumps for
    the flowgraph show unparsed tree nodes.


Installed and bootstrapped on x86.  CCP is still not run by
default.


Diego.

Attachment: 20020807-add-true-false-edges.diff
Description: Text document

Attachment: 20020807-add-varref-id.diff
Description: Text document

Attachment: 20020807-fix-ccp.diff
Description: Text document

Attachment: 20020807-misc.diff
Description: Text document

Attachment: 20020807-unparse-debug-dumps.diff
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]