[llvm] [DirectX][DXIL] Distinguish return type for overload type resolution. (PR #85646)

Farzon Lotfi via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 18 11:54:02 PDT 2024


================
@@ -229,13 +229,13 @@ static Type *getTypeFromParameterKind(ParameterKind Kind, Type *OverloadTy) {
 ///               its specification in DXIL.td.
 /// \param OverloadTy Return type to be used to construct DXIL function type.
 static FunctionType *getDXILOpFunctionType(const OpCodeProperty *Prop,
-                                           Type *OverloadTy) {
+                                           Type *ReturnTy, Type *OverloadTy) {
   SmallVector<Type *> ArgTys;
 
   auto ParamKinds = getOpCodeParameterKind(*Prop);
 
-  // Add OverloadTy as return type of the function
-  ArgTys.emplace_back(OverloadTy);
+  // Add ReturnTy as return type of the function
+  ArgTys.emplace_back(ReturnTy);
----------------
farzonl wrote:

>From what I can tell the fix was to add the return type  field and add it as the firstArg and then the change in llvm/utils/TableGen/DXILEmitter.cpp that lets you toggle between index 0 an1 for the overload type.  Everything else looks to be a change to support these two changes?

https://github.com/llvm/llvm-project/pull/85646


More information about the llvm-commits mailing list