llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-backend-directx Author: Justin Bogner (bogner) <details> <summary>Changes</summary> In 8cf85653b6f5 "[DirectX] Make DXILOpBuilder's API more useable" we introduced specialized createOp methods for each DirectX op for convenience, but the API is buggy and untested. It also isn't actually as useful as I imagined it would be since we don't have argument names or const-ness represented in DXIL.td currently. Remove these methods for now and we can reintroduce them if we actually need them later. --- Full diff: https://github.com/llvm/llvm-project/pull/104245.diff 2 Files Affected: - (modified) llvm/lib/Target/DirectX/DXILOpBuilder.cpp (+1-1) - (modified) llvm/lib/Target/DirectX/DXILOpBuilder.h (+1-13) ``````````diff diff --git a/llvm/lib/Target/DirectX/DXILOpBuilder.cpp b/llvm/lib/Target/DirectX/DXILOpBuilder.cpp index 42df7c90cb337..91e6931b3f788 100644 --- a/llvm/lib/Target/DirectX/DXILOpBuilder.cpp +++ b/llvm/lib/Target/DirectX/DXILOpBuilder.cpp @@ -424,7 +424,7 @@ Expected<CallInst *> DXILOpBuilder::tryCreateOp(dxil::OpCode OpCode, return B.CreateCall(DXILFn, OpArgs); } -CallInst *DXILOpBuilder::createOp(dxil::OpCode OpCode, ArrayRef<Value *> &Args, +CallInst *DXILOpBuilder::createOp(dxil::OpCode OpCode, ArrayRef<Value *> Args, Type *RetTy) { Expected<CallInst *> Result = tryCreateOp(OpCode, Args, RetTy); if (Error E = Result.takeError()) diff --git a/llvm/lib/Target/DirectX/DXILOpBuilder.h b/llvm/lib/Target/DirectX/DXILOpBuilder.h index ff66f39a3ceb3..5d83357f7a2e9 100644 --- a/llvm/lib/Target/DirectX/DXILOpBuilder.h +++ b/llvm/lib/Target/DirectX/DXILOpBuilder.h @@ -33,25 +33,13 @@ class DXILOpBuilder { /// Create a call instruction for the given DXIL op. The arguments /// must be valid for an overload of the operation. - CallInst *createOp(dxil::OpCode Op, ArrayRef<Value *> &Args, + CallInst *createOp(dxil::OpCode Op, ArrayRef<Value *> Args, Type *RetTy = nullptr); -#define DXIL_OPCODE(Op, Name) \ - CallInst *create##Name##Op(ArrayRef<Value *> &Args, Type *RetTy = nullptr) { \ - return createOp(dxil::OpCode(Op), Args, RetTy); \ - } -#include "DXILOperation.inc" - /// Try to create a call instruction for the given DXIL op. Fails if the /// overload is invalid. Expected<CallInst *> tryCreateOp(dxil::OpCode Op, ArrayRef<Value *> Args, Type *RetTy = nullptr); -#define DXIL_OPCODE(Op, Name) \ - Expected<CallInst *> tryCreate##Name##Op(ArrayRef<Value *> &Args, \ - Type *RetTy = nullptr) { \ - return tryCreateOp(dxil::OpCode(Op), Args, RetTy); \ - } -#include "DXILOperation.inc" /// Return the name of the given opcode. static const char *getOpCodeName(dxil::OpCode DXILOp); `````````` </details> https://github.com/llvm/llvm-project/pull/104245 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits