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]
Other format: [Raw text]

Re: Slowdowns in code generated by GCC>=3.3


    Steven> Now, the problem is that gcse and crossjumping may move
    Steven> code in the block with the factored computed jump, so when
    Steven> we later try to undo the factoring, we think it is too
    Steven> expensive to do that.  We end up with lots and lots of
    Steven> jumps to a single computed jump that is very difficult to
    Steven> predict.

I just lurk on this list, so feel free to ignore this comment...

Perhaps it would be possible to mark the block with the factored
computed jump in some way.  Any pass which tries to do code motion, or
other problematic optimizations, could check that note and inhibit
code motion into the block.  That would preserve the block with the
factored computed jump so it can be un-factored later.  Perhaps then
it wouldn't be necessary to disable gcse in functions with computed
jumps.

Pablo


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