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

Reply via email to