[llvm-commits] Tblgen refactoring

Jakob Stoklund Olesen stoklund at 2pi.dk
Tue Jan 1 08:20:23 PST 2013


Looks good. 

/jakob

On Jan 1, 2013, at 1:34, Sean Silva <silvas at purdue.edu> wrote:

> Jakob, could you take a look at this?
> 
> -- Sean Silva
> 
> On Tue, Jan 1, 2013 at 2:06 AM, Malul, Elior <elior.malul at intel.com> wrote:
>> Attached is a revised patch.
>> Thx, Elior
>> 
>> -----Original Message-----
>> From: Sean Silva [mailto:silvas at purdue.edu]
>> Sent: Tuesday, January 01, 2013 02:31
>> To: Malul, Elior
>> Cc: llvm-commits at cs.uiuc.edu
>> Subject: Re: [llvm-commits] Tblgen refactoring
>> 
>> Please submit a revised patch for review.
>> 
>> -- Sean Silva
>> 
>> On Mon, Dec 31, 2012 at 6:20 AM, Malul, Elior <elior.malul at intel.com> wrote:
>>> Hi Sean.
>>> As you mentioned, the main idea behind the patch is to eliminate the (what seems to me as) excessive overloading of 'subClassOf' for every derived type.
>>> Instead, I have changed it so there will be only one virtual method with the prototype 'virtual void baseClassOf(const RecTy*)'.
>>> Then, the dynamic type to the parameter is done (when needed) by querying the 'getRecTyKind()' method.
>>> It does add some branches to the code, but I think all together, it conforms better to the DRY principle.
>>> 
>>> Thx for your comment. See rest of my comment in the text below:
>>> 
>>> -----Original Message-----
>>> From: Sean Silva [mailto:silvas at purdue.edu]
>>> Sent: Monday, December 31, 2012 13:09
>>> To: Malul, Elior
>>> Cc: llvm-commits at cs.uiuc.edu
>>> Subject: Re: [llvm-commits] Tblgen refactoring
>>> 
>>> This is something that has been bugging me too!
>>> 
>>> Maybe you could explain a bit better the idea behind the patch a bit more? I think that it's the right direction. My understanding is that what you are doing is removing all the different overloads and having a single baseClassOf which dynamically looks at the records it is interested in? If that's correct then that sounds good to me.
>>> 
>>> A few comments:
>>> 
>>> -//===----------------------------------------------------------------------===//
>>> -//    std::string wrapper for DenseMap purposes
>>> -//===----------------------------------------------------------------
>>> ------===//
>>> -
>>> 
>>> --Elior:
>>> OK, I will separate for a different patch.
>>> 
>>> This is unrelated to the current patch. I think it's a good change, but please separate it out into a different patch.
>>> 
>>> +//
>>> +//RecTy
>>> +//
>>> +
>>> 
>>> --Elior:
>>> Same goes here.
>>> 
>>> Same for these "headers" too. I think they are a worthwhile change, but keep them in a separate patch.
>>> 
>>> -    return true;
>>> +   return true;
>>> 
>>> What's the point of dedenting this by 1 space?
>>> 
>>> --Elior:
>>> Accidental space deletion.
>>> 
>>> -- Sean Silva
>>> 
>>> On Mon, Dec 31, 2012 at 2:25 AM, Malul, Elior <elior.malul at intel.com> wrote:
>>>> Hi all, attached is a small patch that I think makes tblgen somewhat
>>>> more maintainable.
>>>> 
>>>> 
>>>> 
>>>> The way code is at the moment, if one want's to add a new tblgen type
>>>> (that is to subclass 'RecTy'),
>>>> 
>>>> Not only he/she compelled to add implementation to all variants of
>>>> 'baseClassOf',
>>>> 
>>>> one also needs to add a new 'baseClassOf' method for the newly added
>>>> types to *all* the types in the hierarchy.
>>>> 
>>>> The attached patch tries to deal with that phenomena.
>>>> 
>>>> 
>>>> 
>>>> I will appreciate if those who care about tblgen will review it.
>>>> 
>>>> Thx, Elior
>>>> 
>>>> ---------------------------------------------------------------------
>>>> Intel Israel (74) Limited
>>>> 
>>>> This e-mail and any attachments may contain confidential material for
>>>> the sole use of the intended recipient(s). Any review or distribution
>>>> by others is strictly prohibited. If you are not the intended
>>>> recipient, please contact the sender and delete all copies.
>>>> 
>>>> 
>>>> _______________________________________________
>>>> llvm-commits mailing list
>>>> llvm-commits at cs.uiuc.edu
>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>> ---------------------------------------------------------------------
>>> Intel Israel (74) Limited
>>> 
>>> This e-mail and any attachments may contain confidential material for
>>> the sole use of the intended recipient(s). Any review or distribution
>>> by others is strictly prohibited. If you are not the intended
>>> recipient, please contact the sender and delete all copies.
>> ---------------------------------------------------------------------
>> Intel Israel (74) Limited
>> 
>> This e-mail and any attachments may contain confidential material for
>> the sole use of the intended recipient(s). Any review or distribution
>> by others is strictly prohibited. If you are not the intended
>> recipient, please contact the sender and delete all copies.




More information about the llvm-commits mailing list