llvm-project/llvm/test/Transforms/ObjCARC
Akira Hatanaka 430512ed7d [ObjC][ARC] Don't move a retain call living outside a loop into the loop
body

We started seeing cases where ARC optimizer would move retain calls into
loop bodies, causing imbalance in the number of retain and release
calls, after changes were made to delete inert ARC calls since the inert
calls that used to block code motion are gone.

Fix the bug by setting the CFG hazard flag when visiting a loop header.

rdar://problem/56908836
2020-02-25 13:00:10 -08:00
..
allocas.ll
apelim.ll
basic.ll
cfg-hazards.ll [ObjC][ARC] Don't move a retain call living outside a loop into the loop 2020-02-25 13:00:10 -08:00
clang-arc-use-barrier.ll
code-motion.ll
comdat-ipo.ll
contract-catchswitch.ll
contract-end-of-use-list.ll
contract-marker-funclet.ll
contract-marker.ll
contract-max-bb-size.ll
contract-replace-arg-use.ll
contract-storestrong-funclet.ll
contract-storestrong-ivar.ll
contract-storestrong.ll
contract-testcases.ll
contract.ll
empty-block.ll
ensure-that-exception-unwind-path-is-visited.ll
escape.ll
expand.ll
funclet.ll
gvn.ll
inert-global.ll [ObjC][ARC] Keep track of phis that have been discovered to avoid an 2020-02-07 20:33:11 -08:00
inlined-autorelease-return-value.ll llvm/ObjCARC: Eliminate inlined AutoreleaseRV calls 2019-11-19 12:02:01 -08:00
intrinsic-use-isolated.ll
intrinsic-use.ll
invoke-2.ll
invoke.ll
move-and-form-retain-autorelease.ll
move-and-merge-autorelease.ll
nested.ll [IR] Mark memset.* intrinsics as IntrWriteMem. 2020-01-16 10:35:46 +00:00
opt-catchswitch.ll
opt-max-ptr-states.ll
path-overflow.ll
pointer-types.ll
post-inlining.ll [ObjC][ARC] Ignore lifetime markers between *ReturnValue calls 2019-11-05 06:39:22 -08:00
pr12270.ll
provenance.ll
retain-block-side-effects.ll
retain-not-declared.ll
rle-s2l.ll
rv.ll
split-backedge.ll
tail-call-invariant-enforcement.ll
unsafe-claim-rv.ll llvm/ObjCARC: Eliminate inlined AutoreleaseRV calls 2019-11-19 12:02:01 -08:00
weak-contract.ll
weak-copies.ll
weak-dce.ll
weak.ll