This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: repost: [DF] Use HARD_REG_SETs instead of bitmaps
Hi Paolo, Jakub,
thanks for the feedback on my patch. I'm attaching two versions of it:
hardreg-struct-v4c: HARD_REG_SET is always a struct, and only references to it
are passed in all relevant function calls.
hardreg-struct-v5b: keep original HARD_REG_SET, for target.live_on_entry()
pass a pointer to a wrapper struct including a pointer to the original
HARD_REG_SET.
I measured both versions on x86_64 (one long per HARD_REG_SET) and
sparc-linux-gnu (multiple longs per HARD_REG_SET). In both archs there
is no performance penalty that can be measured reliably, timings are too
close to tell, so I consider the performance issue of my original patch to
be fixed. FWIW here is the instruction count from callgrind on x86_64 for
"gcc -O3 -g vla4.f90" from the testsuite:
trunk: 49716078
v4c: 49731151
v5b: 49725263
Now which one is actually better? My personal opinion is that v4c is
cleaner (I love deleting code...) but v5b is easier to be merged since it
touches less code. What do you think?
Thanks,
Dimitris
Attachment:
hardreg-struct-v4c.diff
Description: Text document
Attachment:
hardreg-struct-v5b.diff
Description: Text document