]> granicus.if.org Git - re2c/commit
Use backwards propagation for liveness analyses on tags.
authorUlya Trofimovich <skvadrik@gmail.com>
Wed, 18 May 2016 14:30:49 +0000 (15:30 +0100)
committerUlya Trofimovich <skvadrik@gmail.com>
Wed, 18 May 2016 14:30:49 +0000 (15:30 +0100)
commiteeceb1d5baf3f868a64bf5fa0408f0a06cc48285
treef0e2e0af62c34b2aee27dd5032a45ff7b840f4b3
parent7726029aa93d4e31c53adadd20f834212f4638c1
Use backwards propagation for liveness analyses on tags.

In commit a7a26d17cee825afcbe8659cb31a04a165172eed we added fix-point
iterative algorithm to do liveness analyses on tags:

    The usual algorithm for liveness analyses doesn't use DFS;
    instead, it iterates on DFA states until fix point is reached
    (next iteration adds no changes to live set compared to the
    previous iteration). The fix applies this algorithm.

However, instead of iterating until fix point is reached, one may
use backwards propagation of live variables starting from the points
where these variables are used.
re2c/src/ir/dfa/tag_deduplication.cc
re2c/src/ir/skeleton/skeleton.cc
re2c/src/ir/tagpool.cc
re2c/src/ir/tagpool.h