Tablegen 'Instruction' class

Browsing various tablgen files, I see that some classes inherit from a an ‘Instruction’ class e.g.
class MipsInst in

Please can someone point me to where this ‘Instruction’ class is defined? I’ve had a thorough search through tablegen but failed to locate it. Is it defined programmatically in a .cpp somewhere? I’ve been able to define some classes that inherit and use “: Instruction” but I’d like to gain a better understanding of the class.

Thanks for any help!


Then Tablegen backends in llvm/utils/TableGen do things like
if (Operator->isSubClassOf("Instruction"))
so the behaviour is defined by those backends as well as the TD definition.

llvm/Target/ is another commonly used “system header” file for TG files of LLVM backends.