Running out of bits in TSFlags

I’m working on a backend and I need to store more information about a MachineInstr but unfortunately all the bits of TSFlags have been used. Is there any other way to store information? Otherwise I’ll try to evict certain bits of TSFlags which don’t seem to be used, but I need quite a few of them.

Can TSFlags be just an index into another table where this information is stored? That is, can you use it as a pointer? Not sure if that needs any TableGen backend changes.

We’re always running out of bits in TSFlags in the AMDGPU backend. The usual fallback is to create a tablegen GenericTable that allows you to store arbitrary information in a table that can be queried by opcode. Examples: llvm-project/llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td at main · llvm/llvm-project · GitHub