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


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