ObjCARC: Try to fix faulty tests
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Sat, 26 Nov 2022 19:07:43 +0000 (14:07 -0500)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Tue, 13 Dec 2022 03:44:43 +0000 (22:44 -0500)
commit021ff534bf2a6fd4ccef8bae1b6feb8439a0cc5c
tree6037649459aa5d1ccfcce4fb8a7059dcd67bbb2b
parent4f63f9739c086352c9b632671752e78c79c8625b
ObjCARC: Try to fix faulty tests

These were trying to check if there was not an llvm.objc call before a
closing "}", which presumably was intended to match the end of the
function. Really this was matching the closing } in "bitcast {}* %self
to i8*", which can't be what anyone intended. This broke after
converting the test to opaque pointer deleted this bitcast.

There are in fact @llvm.obj calls remaining in the function, so this
may indicate the transform this was intended to check is actually
broken. In @"\01-[A z]" (great test name), the first retain call seems
to move down to the printf. The second case, @"\01-[Top0 _getX]", has
no change.

Change the checks to what's produced and add FIXMES. Also change the }
checks to match only at the start of the line for the function end.
llvm/test/Transforms/ObjCARC/basic.ll