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: [RFC] Track discriminators by instruction instead of by basic block


> How much more memory do we need when keeping discriminators
> with LTO (which you don't - patches to lto-streamer-{in,out} are missing).

I'm thinking of leaving build_cfg the way it is currently (where it
assigns discriminators to basic blocks as necessary), but move the
mechanics of assigning the discriminators to individual instructions
down to the fixup_cfg pass. The earliest we actually use the
discriminators is in tree_profile, so that gets the discriminators
assigned just before we use them, and it means that the assignment
happens after lto-streamer-in, so I don't need to stream out the
per-instruction discriminator information. I'll still need to stream
the per-basic-block discriminator info out in output_cfg(), but that's
fairly easy, and adds only one byte (discriminators are small and
usually 0) per basic block.

Does that sound reasonable?

-cary


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