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

Re: PATCH for purge_addressof sluggishness

>>>>> "Richard" == Richard Henderson <> writes:

    Richard> First, why the hash table?  You're collecting lists for
    Richard> each and every pseudo in the function.  Seems much more
    Richard> sensible to use an array indexed by regno (a varray if
    Richard> you wish for safety).

Hmm.  This patch is a what's left of a more complicated endeavor.

But, my thinking was that we might be able to index only those REGs
that are actually used in ADDRESSOF.  Since there are (in my example)
hundreds of thousands of REGs, the hash table might be valuable in
terms of space.  Also, hash_tables come with their own obstack, which
is nice in that it makes it easy to deallocate the lists when they're
no longer needed.  Of course, we could to this with a varray, too.

    Richard> We know from the previous test that ht == 0, and it was
    Richard> somewhat confusing to me looking at the patch.  It seems
    Richard> marginally cleaner to me to go ahead and write `NULL'.

Agreed.  Let's assume I'll correct this nit, and convert the
hash-table to an varray.  OK to put that in?

Mark Mitchell         
CodeSourcery, LLC     

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