Length restriction in tablegen

Hi

Is there some sort of restriction over class length names in td files. For e.g. something like below gives an abort with tablegen. The abort goes away when I reduce the name “my_target_intrinsics_class…” to something shorter. I have not counted the exact length limit though. Is this a known issue?

defm target_intrinsic: SomeSuperclass<my_target_intrinsics_class_for_atomic_instruction_and_or_xor_cas, … >

Note that I have just given the above example for simple understanding.

Is there some sort of restriction over class length names in td files.

Only your own sanity, as far as I know.

For e.g. something like below gives an abort with tablegen. The abort goes away when I reduce the name "my_target_intrinsics_class..." to something shorter. I have not counted the exact length limit though. Is this a known issue?

No, can you reproduce it in a debugger? Please file a bug report with a stack trace and steps to reproduce.

Thanks,
/jakob

The issue is seen on windows (x86_64)and for a private target. I tried
some time debugging tablgen on windows but it might take more time to
look into ParseObjectBody and ParseItem functions for the error.

The error that I see is as follows:

tblgen.exe -I . -gen-tgt-intrinsic -o HSAILGenIntrinsics.inc ..\..\..\HSAIL.td

..\..\..\..\..\..\utils\TableGen\build\w8\B_dbg\tblgen.exe: Unknown
unexpected exception occurred.

The problem site seems to be the following definition:

def int_HSAIL_atomic_compare_exchange_strong_gi32 :
GCCBuiltin<"__atomic_cas_gi32">,

defm a_c_e_strong_gi :
TernaryAtomicB32<int_HSAIL_atomic_compare_exchange_strong_gi32,
.....>;

I know it is not of much information. But I can definitely see that
reducing the length of class name "
int_HSAIL_atomic_compare_exchange_strong_gi32 " to something like
"int_hsail_a_c_e_gi32 helps in getting through this error.

I have encountered this issue at other places... Not sure if other
targets faced this issue. It might help to see if this issue gets
reproduced in upstreamed targets like X86.