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: [Patch Ping] [RFC] Alias export patch


Diego Novillo wrote:
What if instead of exporting the information into the base decls we did
it on the RTL registers?  This would mean changing the out-of-ssa phase.
 What I'm thinking is to create a different RTL register per SSA name
and add the points-to sets to each of these registers.  This would
preserve our flow-sensitive points-to information.

Similarly when lowering INDIRECT_REFs, the memory expressions that get
created would use the memory tag associated with the INDIRECT_REF, which
would give you a potentially different points-to set per mem.

Andrew Macleod was thinking of changing the out-of-ssa phase, but I am
not sure what he had in mind. Andrew, would something like this be doable?

Yeah, its in my plan to convert the out of ssa pass to directly create registers instead of going through variables like it does today. Although at some abstract level you can get the same functionality with the variables out of ssa generates today. we will still be coalescing SSA_NAMEs together to remove PHI nodes, so there will not be a one-to-one relationship between registers and ssa_names.


I have started a patch for this, and made some progress, but I haven't had time to get back to it.

However, as I said, there will be a register for each variable we have today, so the resolution isn't different. you won't get 'finer grain resolution' by going directly to registers, but you might have a peice of rtl you can key off of I suppose.

I would think today that at out-of-ssa time you have the ssa_name to decl mappings, you could attach to those decls which are created there quite easily...

Andrew


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