[llvm-commits] [PATCH] Teach IRBuilder about simplifying BinOp(Value, Constant)
    Török Edwin 
    edwintorok at gmail.com
       
    Mon Jan  5 11:27:07 PST 2009
    
    
  
On 2009-01-05 21:06, Chris Lattner wrote:
> On Jan 5, 2009, at 1:25 AM, Török Edwin wrote:
>   
>> I added back the Constant* functions in ConstantFolder/TargetFolder,
>> since llvm-gcc is using them (called with constant* params, expecting
>> constant* return).
>>     
>
> Hi Edwin,
>
> Please don't put the large SimplifyBinOp/findBinOp functions inline  
> into ConstantFolder.h.
>   
Hi Chris,
What .cpp file should it live in?
I can't find anything suitable in lib/Support/, and I wouldn't put it
into Analysis, since IRBuilder is in Support.
Should I create a ConstantFolder.cpp?
> Also, I think it is somewhat strange to call ConstantFolder::CreateNot  
> with non-constant operands.  Should this functionality be moved out of  
> the ConstantFolder class into some new place?
>   
At the moment it is called from IRBuilder.h only, I could put the
CreateNot/CreateNeg functionality into IRBuilder,
and remove those CreateNot/CreateNeg taking non-constant operands from
the folder, since all it does is call findBinOp if reuseOps is true.
> finally, please follow the standard convention of putting the '{' on  
> the previous line instead of on a new one.
>   
I'll fix, findBinOp/getReuse has it in the wrong place.
It seems I am automatically putting the { after the function prototype
without even noticing.
Best regards,
--Edwin
    
    
More information about the llvm-commits
mailing list