type-inference in tblgen for instrinfo

If there is a design document describing the codegen backend to tblgen, and the type-inference system it uses, I would appreciate a pointer to it.

all I can find online, like “TableGen BackEnds” and “Writing an LLVM Backend”, don’t go into these details, but I seem to need a deeper understanding,

For example when I add “i32:” to an internal node of pattern tree, for example “i32:shl” in

[(set i32:$dst (i32:shl i32:rs1, i32:rs2))]

Then I get the error “expected variable name in dag operator”, and a source cursor pointing to the “shl”

I am able to jump to all kinds of conclusions about the nature of this “error”, but don’t have any hard facts to go by.

–Peter.

If there is a design document describing the codegen backend to tblgen, and the type-inference system it uses, I would appreciate a pointer to it.

all I can find online, like “TableGen BackEnds” and “Writing an LLVM Backend”, don’t go into these details, but I seem to need a deeper understanding,

For example when I add “i32:” to an internal node of pattern tree, for example “i32:shl” in

[(set i32:$dst (i32:shl i32:rs1, i32:rs2))]

Then I get the error “expected variable name in dag operator”, and a source cursor pointing to the “shl”

I am able to jump to all kinds of conclusions about the nature of this “error”, but don’t have any hard facts to go by.