bogner wrote: > I do not see the invocation of any of the newly created functions in `class > DXILOpbuilder` specific to DXIL Ops `create##Name##Op(...)` or > `tryCreate##Name##Op(...)` (for example `createSinSin13()` or > `tryCreateSin13()` when lowering `llvm.sin.*`). Are these in preparation for > upcoming changes?
The intention is to make it a little bit cleaner when we do custom lowering, so that we can call `Builder->createCreateHandleFromBindingOp(...)` directly rather than having to do something like `Builder->createOp(DXILOp::CreateHandleFromBinding, ...)`. > It appears that macro defs `DXIL_OPCODE` are generated in `DXILEmitter` with > its definition is in `DXILOpBuilder.h`. Would you consider generating the > `tryCreate<Name><Code>(...)` and `create<Name><Code>(...)` for each of DXIL > Ops in `DXILEmitter`, instead, to keep the entire function generation > functionality in a single place i.e., `DXILEmitter`? I don't understand the suggestion. If you're saying we should emit the full text of the declarations from DXILEmitter rather than the table of simple macros then I disagree with that approach - generating full fledged C++ snippets from tablegen should be avoided when possible, as it's quite a bit harder to see what's happening when it's done that way. https://github.com/llvm/llvm-project/pull/101250 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits