------- Comment #28 from steven at gcc dot gnu dot org  2007-12-16 12:01 -------
Created an attachment (id=14778)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14778&action=view)
Change worklist solver to double queue algorithm

I re-read Cooper, Harvey and Kennedy, who wrote a nice paper about various work
list based dataflow solvers.

The attached patch modifies df_worklist_dataflow to a double queue algorithm,
while retaining the property that basic blocks are added to the queue in RPO
order.  This approach gives me a speedup comparable to (but slightly less than)
the hybrid search algorithm.  This is not really surprising because the double
queue work list algorithm also completes full iterations over the CFG before
considering the second queue.

Seongbae, what are your ideas about the double queue approach (or maybe other
algorithms suggested by Harvey)?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34400

Reply via email to