[llvm-commits] [llvm] r156905 - in /llvm/trunk: lib/VMCore/Function.cpp utils/TableGen/IntrinsicEmitter.cpp

Chris Lattner sabre at nondot.org
Wed May 16 20:46:19 PDT 2012


On May 16, 2012, at 8:03 PM, Francois Pichet wrote:
> On Wed, May 16, 2012 at 2:34 AM, Chris Lattner <sabre at nondot.org> wrote:
>> Author: lattner
>> Date: Wed May 16 01:34:44 2012
>> New Revision: 156905
>> 
>> URL: http://llvm.org/viewvc/llvm-project?rev=156905&view=rev
>> Log:
>> Significantly reduce the compiled size of Functions.cpp by turning a big blob of tblgen
>> generated code (for Intrinsic::getType) into a table.  This handles common cases right now,
>> but I plan to extend it to handle all cases and merge in type verification logic as well
>> in follow-on patches.
>> +static void EncodeFixedType(Record *R, SmallVectorImpl<unsigned> &Sig) {
>> +
>> +  if (R->isSubClassOf("LLVMMatchType")) {
>> +    return Sig.push_back(~0U);
> 
> You are too powerful for MSVC:
> 
> 1>c:\dev\llvm\llvm_trunk2\utils\tablegen\intrinsicemitter.cpp(472):
> fatal error C1001: An internal error has occurred in the compiler.
> 1>  (compiler file
> 'f:\dd\vctools\compiler\utc\src\p2\main.c[0x695A85AC:0x00000018]',
> line 183)

Ok, that's weird.  Can you wrap the pragmas with the appropriate MSVC ifdefs?

-Chris



More information about the llvm-commits mailing list