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: [PING] Function versioning and IPCP extension


Diego Novillo <dnovillo@redhat.com> wrote on 27/07/2005 15:43:29:

> On Wed, Jul 27, 2005 at 02:58:12PM +0300, Razya Ladelsky wrote:
> 
> > The functionality of create_tmp_var_name is not enough.
> > We need to add code that replaces non-alphanumeric characters
> > with the character '_'.
> > For instance operator<< should be replaced with operator__.
> > 
> Yes, I can see what the function does.  I need to understand
> "why".  Are you exporting these names to the debug info and need
> only alphanumeric characters to not confuse the debugger, or
> something?
> 

The mangled name is not available at the point we perfom versioning. 
We create an unmangled name which remains the name of the versioned 
function,
and becomes the final assembly name (it does not get mangled).
Non-alphanumeric characters may be translated into a non-valid assembly 
code.
Therefore, when we create the versioned name, it is our responsibility to 
create
a valid assembly name.


> > For the moment versioning code uses inlining code and shares the same 
> > restrictions.
> > This is due to the way in which versioning is currently implemented.
> > 
> > Basically almost every function could be versioned, and versioning 
should 
> > have its
> > own criteria.
> >
> If you need to untie yourself from the inlining code, then let's
> do that.  How much extra work would that be?  If necessary, you
> could do it as a follow-up patch.

I'm not sure that the changes required are trivial and can be implemented
in a short time.
I certainly intend to do this at a later stage.

Razya


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