[llvm] r222410 - Use array_lengthof instead of	sizeof(array)/sizeof(element) in a tablegen output.
    Craig Topper 
    craig.topper at gmail.com
       
    Wed Nov 19 22:02:20 PST 2014
    
    
  
Unfortunately that probably doesn't work as its being used to create an
extern int to pass the size of an array from one translation unit in the
MCTargetDesc to a different translation unit in the Target's CodeGen layer.
On Wed, Nov 19, 2014 at 9:54 PM, David Blaikie <dblaikie at gmail.com> wrote:
>
>
> On Wed, Nov 19, 2014 at 9:22 PM, Craig Topper <craig.topper at gmail.com>
> wrote:
>
>> Author: ctopper
>> Date: Wed Nov 19 23:22:32 2014
>> New Revision: 222410
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=222410&view=rev
>> Log:
>> Use array_lengthof instead of sizeof(array)/sizeof(element) in a tablegen
>> output.
>>
>
> I can't quite tell from just the diff here, but another option that might
> be relevant is to use ArrayRef - has the same template argument deduction
> trick and gives the higher level API of the array.
>
>
>>
>> Modified:
>>     llvm/trunk/utils/TableGen/RegisterInfoEmitter.cpp
>>
>> Modified: llvm/trunk/utils/TableGen/RegisterInfoEmitter.cpp
>> URL:
>> http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/RegisterInfoEmitter.cpp?rev=222410&r1=222409&r2=222410&view=diff
>>
>> ==============================================================================
>> --- llvm/trunk/utils/TableGen/RegisterInfoEmitter.cpp (original)
>> +++ llvm/trunk/utils/TableGen/RegisterInfoEmitter.cpp Wed Nov 19 23:22:32
>> 2014
>> @@ -379,9 +379,9 @@ RegisterInfoEmitter::EmitRegMappingTable
>>        OS << "extern const unsigned " << Namespace
>>           << (j == 0 ? "DwarfFlavour" : "EHFlavour") << i <<
>> "Dwarf2LSize";
>>        if (!isCtor)
>> -        OS << " = sizeof(" << Namespace
>> +        OS << " = array_lengthof(" << Namespace
>>             << (j == 0 ? "DwarfFlavour" : "EHFlavour") << i
>> -           << "Dwarf2L)/sizeof(MCRegisterInfo::DwarfLLVMRegPair);\n\n";
>> +           << "Dwarf2L);\n\n";
>>        else
>>          OS << ";\n\n";
>>      }
>> @@ -427,9 +427,8 @@ RegisterInfoEmitter::EmitRegMappingTable
>>        OS << "extern const unsigned " << Namespace
>>           << (j == 0 ? "DwarfFlavour" : "EHFlavour") << i <<
>> "L2DwarfSize";
>>        if (!isCtor)
>> -        OS << " = sizeof(" << Namespace
>> -           << (j == 0 ? "DwarfFlavour" : "EHFlavour") << i
>> -           << "L2Dwarf)/sizeof(MCRegisterInfo::DwarfLLVMRegPair);\n\n";
>> +        OS << " = array_lengthof(" << Namespace
>> +           << (j == 0 ? "DwarfFlavour" : "EHFlavour") << i <<
>> "L2Dwarf);\n\n";
>>        else
>>          OS << ";\n\n";
>>      }
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>
>
>
-- 
~Craig
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141119/160a89e9/attachment.html>
    
    
More information about the llvm-commits
mailing list