[llvm-commits] [llvm] r90445 - in /llvm/trunk: include/llvm/Analysis/ProfileInfo.h lib/Analysis/ProfileInfo.cpp
Andreas Neustifter
astifter-llvm at gmx.at
Thu Dec 3 23:33:28 PST 2009
On 12/03/2009 06:47 PM, Chris Lattner wrote:
>
> On Dec 3, 2009, at 1:30 AM, Andreas Neustifter wrote:
>
>> Author: astifter
>> Date: Thu Dec 3 03:30:12 2009
>> New Revision: 90445
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=90445&view=rev
>> Log:
>> Converted ProfileInfo to template, added more API for
>> ProfileInfo-preserving.
>
> Does this have to be a template? Why not use a base class that keeps a
> map<void*, double> and then have derived classes for LLVM BB and MBB's?
> This would significantly reduce code size.
I'm still not very proficient with the C++-Type system so maybe this is
a stupid question but:
When I would use this approach, how would I use the shared code between
the two derived classes?
Naturally the code would be in the base class, but when I want to use
this code I would have to have functions in the derived classes that
hand the typecasted pointers to the base class?
I must admit that I still have to move shared code from ProfileInfo.cpp
to ProfileInfo.h, but there will be a large shared code base between
this two classes.
Agreed, the shared code in the base class is duplicated, is this what I
shall strive to prevent?
Andi
More information about the llvm-commits
mailing list