[all-commits] [llvm/llvm-project] f2c7c3: [ObjC][ARC] Invalidate an entry of UnderlyingObjCP...

Akira Hatanaka via All-commits all-commits at lists.llvm.org
Mon Nov 8 14:41:20 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: f2c7c3c7c7b19e77a2948de3c1dd982bf3840377
      https://github.com/llvm/llvm-project/commit/f2c7c3c7c7b19e77a2948de3c1dd982bf3840377
  Author: Akira Hatanaka <ahatanaka at apple.com>
  Date:   2021-11-08 (Mon, 08 Nov 2021)

  Changed paths:
    M llvm/include/llvm/Analysis/ObjCARCAnalysisUtils.h
    M llvm/lib/Transforms/ObjCARC/ProvenanceAnalysis.h

  Log Message:
  -----------
  [ObjC][ARC] Invalidate an entry of UnderlyingObjCPtrCache when the
instruction the key points to is deleted

Use weak value handles for both the key and the value. The entry is
invalid if either value handle is null.

This fixes an assertion failure in BasicAAResult::alias that is caused
by UnderlyingObjCPtrCache returning a wrong value.

I don't have a test case for this patch that fails reliably.

rdar://83984790




More information about the All-commits mailing list