This is the mail archive of the gcc@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]

gcc/resource.c mark_target_live_regs Question



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.

Compiling gcc/testsuite/gcc.c-torture/compile/20001226-1.c with -O1,
-O2, or -O3 for mips-sgi-irix6.5 demonstrates the resulting slow
running time.

Thanks for the information,
Jeffrey D. Oldham
oldham@codesourcery.com


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