diff options
author | Nikita Popov <npopov@redhat.com> | 2022-10-11 11:01:29 +0200 |
---|---|---|
committer | Nikita Popov <npopov@redhat.com> | 2022-10-11 11:05:21 +0200 |
commit | ac47db6acad29b6e077593430338be69d81cb6c0 (patch) | |
tree | c2d7da6151e4cb0961111d8cf0d7fec2f9477e56 /llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp | |
parent | 256976774f6d41a6f851e5e1dd2da2fddad1377e (diff) | |
download | llvm-ac47db6acad29b6e077593430338be69d81cb6c0.zip llvm-ac47db6acad29b6e077593430338be69d81cb6c0.tar.gz llvm-ac47db6acad29b6e077593430338be69d81cb6c0.tar.bz2 |
[Attributes] Return Optional from getAllocSizeArgs() (NFC)
As suggested on D135572, return Optional<> from getAllocSizeArgs()
rather than the peculiar pair(0, 0) sentinel.
The method on Attribute itself does not return Optional, because
the attribute must exist in that case.
Diffstat (limited to 'llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp')
-rw-r--r-- | llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp b/llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp index fa468df..63397a2 100644 --- a/llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp +++ b/llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp @@ -545,12 +545,10 @@ Value *WebAssemblyLowerEmscriptenEHSjLj::wrapInvoke(CallBase *CI) { ArgAttributes.push_back(InvokeAL.getParamAttrs(I)); AttrBuilder FnAttrs(CI->getContext(), InvokeAL.getFnAttrs()); - if (FnAttrs.contains(Attribute::AllocSize)) { + if (auto Args = FnAttrs.getAllocSizeArgs()) { // The allocsize attribute (if any) referes to parameters by index and needs // to be adjusted. - unsigned SizeArg; - Optional<unsigned> NEltArg; - std::tie(SizeArg, NEltArg) = FnAttrs.getAllocSizeArgs(); + auto [SizeArg, NEltArg] = *Args; SizeArg += 1; if (NEltArg) NEltArg = NEltArg.value() + 1; |