[PATCH] D138796: ObjCARC: Try to fix faulty tests
Duncan P. N. Exon Smith via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Dec 2 15:41:29 PST 2022
dexonsmith added a comment.
In D138796#3957499 <https://reviews.llvm.org/D138796#3957499>, @ahatanak wrote:
> I confirmed ARC optimizer hasn't removed the retain/release pairs in both functions at least since October 2017. The retain/release pair in `@"\01-[Top0 _getX]"` can be removed. I'm not sure about the one in `@"\01-[A z]"`.
Great progress; seems to me like the regression is old enough it might not be an easy fix. Are you okay with the tests being cleaned up to reflect reality in the meantime?
One option would be this commit as-is (maybe with a comment in the regressed test?). Another alternative would be to move the tests that had bitrotted to a different file, which is XFAIL'ed for now while you investigate how/whether to get them passing again; this has the benefit of making the expected/desired behaviour clear.
WDYT?
================
Comment at: llvm/test/Transforms/ObjCARC/basic.ll:2715
+; CHECK: tail call void @llvm.objc.release(i8* [[SELF_CAST1]])
+; CHECK: }
+define { <2 x float>, <2 x float> } @"\01-[A z]"({}* %self, i8* nocapture %_cmd) nounwind {
----------------
arsenm wrote:
> dexonsmith wrote:
> > Can/should this be `CHECK: [^]}` to confirm it's a scoping brace instead of a type brace?
> [^]} doesn't work, but {{^}}} does (which looks like a bug in the check itself)
Right, right; I misremembered how to get into regex mode. `{{^}}}` seems correct.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D138796/new/
https://reviews.llvm.org/D138796
More information about the llvm-commits
mailing list