This is the mail archive of the gcc@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: number of vector template instances and pointers


Fery wrote:
> > When I create two vectors with different pointer types (e.g.
> > vector<char*> and vector<int*>), gcc compiles in two instances of vector
> > code. In SH architecture, it means cca. n * 10K of code, which is quite
> > big in our project.
> > 
> > The question is, can I somehow force the compiler to use the same code
> > for the two template instances?

The answer at the moment is no.

On Mon, Sep 20, 2004 at 07:54:40AM -0700, Dan Kegel wrote:
> If the object code generated for the two is really identical,
> then if you really wanted to, you could write a whole-program
> optimizer pass that combined them.

It would be possible to refactor libstdc++ so that it uses the same
code for those functions of Container<POD> whose code only depends on
sizeof<POD>.  Alternatively and more simply, there could be a
specialization just for Container<T*> that would use common code.
That work has not yet been done.


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