gcc/resource.c mark_target_live_regs Question

Richard Kenner kenner@vlsi1.ultra.nyu.edu
Wed Feb 14 16:25:00 GMT 2001


    Why does resource.c's mark_target_live_regs() start computing live
    registers at the previous BARRIER rather than the beginning of the
    basic block containing the target?  For functions with lots of
    instructions but few BARRIERs, this can lead to O(n^2) performance
    even if the function has many basic blocks.

It originally did this because register death information on hard regs
was not accurate after reload.  I don't know if this is still true.



More information about the Gcc mailing list