Derive the mustprogress attribute based on the willreturn attribute
or the fact that all callers are mustprogress.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Unit Tests
Event Timeline
Basically it looks good to me.
However, it's not obvious to me that (known) willreturn can derive mustprogress.
(It seems correct to me though)
llvm/lib/Transforms/IPO/AttributorAttributes.cpp | ||
---|---|---|
2363–2367 | This initialization is already done by AAMustProgress::initialize(A) so I think initialize function can be removed. |
However, it's not obvious to me that (known) willreturn can derive mustprogress.
Given that we know we will return or throw, the function will make progress, so it's not going to get stuck. Arguably, it's a bit backwards but it might help down the road.
I'll fix LLVM.tools/UpdateTestChecks/update_test_checks::check_attrs.test before committing.
This initialization is already done by AAMustProgress::initialize(A) so I think initialize function can be removed.