Skip to content

Commit 47b2103

Browse files
committed
RuntimeLibcalls: Add mustprogress to common function attributes
1 parent 31b8490 commit 47b2103

File tree

5 files changed

+7
-7
lines changed

5 files changed

+7
-7
lines changed

llvm/lib/IR/RuntimeLibcalls.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -134,8 +134,8 @@ RuntimeLibcallsInfo::getFunctionTy(LLVMContext &Ctx, const Triple &TT,
134134
const DataLayout &DL,
135135
RTLIB::LibcallImpl LibcallImpl) const {
136136
static constexpr Attribute::AttrKind CommonFnAttrs[] = {
137-
Attribute::NoCallback, Attribute::NoFree, Attribute::NoSync,
138-
Attribute::NoUnwind, Attribute::WillReturn};
137+
Attribute::MustProgress, Attribute::NoCallback, Attribute::NoFree,
138+
Attribute::NoSync, Attribute::NoUnwind, Attribute::WillReturn};
139139
static constexpr Attribute::AttrKind CommonPtrArgAttrs[] = {
140140
Attribute::NoAlias, Attribute::WriteOnly, Attribute::NonNull};
141141

llvm/test/Transforms/Util/DeclareRuntimeLibcalls/armpl.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,4 @@
2626
; CHECK: declare aarch64_vector_pcs void @armpl_vsincosq_f64(<2 x double>, ptr noalias nonnull writeonly align 16, ptr noalias nonnull writeonly align 16) [[ATTRS]]
2727

2828

29-
; CHECK: attributes [[ATTRS]] = { nocallback nofree nosync nounwind willreturn memory(argmem: write) }
29+
; CHECK: attributes [[ATTRS]] = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: write) }

llvm/test/Transforms/Util/DeclareRuntimeLibcalls/merge_attributes.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ define noundef nofpclass(nan) float @sqrtf(float %x) "foo" {
88
; FIXME: Individual fields of nofpclass not merged
99
; CHECK: define noundef nofpclass(ninf nsub nnorm) float @sqrtf(float %x) [[SQRT_ATTR:#[0-9]+]] {
1010

11-
; CHECK: attributes [[SQRT_ATTR]] = { nocallback nofree nosync nounwind willreturn memory(errnomem: write) "foo" }
11+
; CHECK: attributes [[SQRT_ATTR]] = { mustprogress nocallback nofree nosync nounwind willreturn memory(errnomem: write) "foo" }

llvm/test/Transforms/Util/DeclareRuntimeLibcalls/sincos_stret.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616
; SRET: declare void @__sincos_stret(ptr sret({ double, double }) align 4, double) [[SINCOS_ATTRS:#[0-9]+]]
1717
; SRET: declare void @__sincosf_stret(ptr sret({ float, float }) align 4, float) [[SINCOS_ATTRS:#[0-9]+]]
1818

19-
; CHECK: attributes [[SINCOS_ATTRS]] = { nocallback nofree nosync nounwind willreturn memory(errnomem: write) }
20-
; SRET: attributes [[SINCOS_ATTRS]] = { nocallback nofree nosync nounwind willreturn memory(argmem: write, errnomem: write) }
19+
; CHECK: attributes [[SINCOS_ATTRS]] = { mustprogress nocallback nofree nosync nounwind willreturn memory(errnomem: write) }
20+
; SRET: attributes [[SINCOS_ATTRS]] = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: write, errnomem: write) }
2121

2222
; NONE-NOT: __sincos_stret
2323
; NONE-NOT: __sincosf_stret

llvm/test/Transforms/Util/DeclareRuntimeLibcalls/sleef.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,4 @@
2525

2626
; CHECK: declare void @_ZGVsNxvl8l8_sincospi(<vscale x 2 x double>, ptr noalias nonnull writeonly align 16, ptr noalias nonnull writeonly align 16) [[ATTRS]]
2727

28-
; CHECK: attributes [[ATTRS]] = { nocallback nofree nosync nounwind willreturn memory(argmem: write) }
28+
; CHECK: attributes [[ATTRS]] = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: write) }

0 commit comments

Comments
 (0)