@@ -1687,6 +1687,13 @@ const AugmentedReturn &EnzymeLogic::CreateAugmentedPrimal(
16871687 gutils->newFunc ->removeAttribute (llvm::AttributeList::ReturnIndex,
16881688 llvm::Attribute::NoAlias);
16891689 }
1690+ #if LLVM_VERSION_MAJOR >= 11
1691+ if (gutils->newFunc ->hasAttribute (llvm::AttributeList::ReturnIndex,
1692+ llvm::Attribute::NoUndef)) {
1693+ gutils->newFunc ->removeAttribute (llvm::AttributeList::ReturnIndex,
1694+ llvm::Attribute::NoUndef);
1695+ }
1696+ #endif
16901697 if (gutils->newFunc ->hasAttribute (llvm::AttributeList::ReturnIndex,
16911698 llvm::Attribute::NonNull)) {
16921699 gutils->newFunc ->removeAttribute (llvm::AttributeList::ReturnIndex,
@@ -2005,6 +2012,13 @@ const AugmentedReturn &EnzymeLogic::CreateAugmentedPrimal(
20052012 NewF->removeAttribute (llvm::AttributeList::ReturnIndex,
20062013 llvm::Attribute::NoAlias);
20072014 }
2015+ #if LLVM_VERSION_MAJOR >= 11
2016+ if (NewF->hasAttribute (llvm::AttributeList::ReturnIndex,
2017+ llvm::Attribute::NoUndef)) {
2018+ NewF->removeAttribute (llvm::AttributeList::ReturnIndex,
2019+ llvm::Attribute::NoUndef);
2020+ }
2021+ #endif
20082022 if (NewF->hasAttribute (llvm::AttributeList::ReturnIndex,
20092023 llvm::Attribute::ZExt)) {
20102024 NewF->removeAttribute (llvm::AttributeList::ReturnIndex,
@@ -3168,6 +3182,13 @@ Function *EnzymeLogic::CreatePrimalAndGradient(
31683182 gutils->newFunc ->removeAttribute (llvm::AttributeList::ReturnIndex,
31693183 llvm::Attribute::NoAlias);
31703184 }
3185+ #if LLVM_VERSION_MAJOR >= 11
3186+ if (gutils->newFunc ->hasAttribute (llvm::AttributeList::ReturnIndex,
3187+ llvm::Attribute::NoUndef)) {
3188+ gutils->newFunc ->removeAttribute (llvm::AttributeList::ReturnIndex,
3189+ llvm::Attribute::NoUndef);
3190+ }
3191+ #endif
31713192 if (gutils->newFunc ->hasAttribute (llvm::AttributeList::ReturnIndex,
31723193 llvm::Attribute::NonNull)) {
31733194 gutils->newFunc ->removeAttribute (llvm::AttributeList::ReturnIndex,
0 commit comments