diff --git a/llvm/include/llvm/IR/Attributes.h b/llvm/include/llvm/IR/Attributes.h index ec451f6b08695..534d96d2c46e5 100644 --- a/llvm/include/llvm/IR/Attributes.h +++ b/llvm/include/llvm/IR/Attributes.h @@ -212,6 +212,8 @@ class Attribute { MemoryEffects ME); LLVM_ABI static Attribute getWithNoFPClass(LLVMContext &Context, FPClassTest Mask); + LLVM_ABI static Attribute getWithDeadOnReturnInfo(LLVMContext &Context, + DeadOnReturnInfo DI); LLVM_ABI static Attribute getWithCaptureInfo(LLVMContext &Context, CaptureInfo CI); diff --git a/llvm/lib/IR/Attributes.cpp b/llvm/lib/IR/Attributes.cpp index f156202ce6775..f4bdf959f05f3 100644 --- a/llvm/lib/IR/Attributes.cpp +++ b/llvm/lib/IR/Attributes.cpp @@ -288,6 +288,11 @@ Attribute Attribute::getWithNoFPClass(LLVMContext &Context, return get(Context, NoFPClass, ClassMask); } +Attribute Attribute::getWithDeadOnReturnInfo(LLVMContext &Context, + DeadOnReturnInfo DI) { + return get(Context, DeadOnReturn, DI.toIntValue()); +} + Attribute Attribute::getWithCaptureInfo(LLVMContext &Context, CaptureInfo CI) { return get(Context, Captures, CI.toIntValue()); }