[all-commits] [llvm/llvm-project] 6f28fb: Recommit "[DSE] Track earliest escape, use for loa...

Florian Hahn via All-commits all-commits at lists.llvm.org
Fri Sep 24 09:13:53 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6f28fb708149e9db8d077e65fcc9f87d566e824a
      https://github.com/llvm/llvm-project/commit/6f28fb708149e9db8d077e65fcc9f87d566e824a
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2021-09-24 (Fri, 24 Sep 2021)

  Changed paths:
    M llvm/include/llvm/Analysis/CaptureTracking.h
    M llvm/lib/Analysis/CaptureTracking.cpp
    M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
    M llvm/test/Transforms/DeadStoreElimination/captures-before-load.ll

  Log Message:
  -----------
  Recommit "[DSE] Track earliest escape, use for loads in isReadClobber."

This reverts the revert commit df56fc6ebbee6c458b0473185277b7860f7e3408.

This version of the patch adjusts the location where the EarliestEscapes
cache is cleared when an instruction gets removed. The earliest escaping
instruction does not have to be a memory instruction.

It could be a ptrtoint instruction like in the added test
@earliest_escape_ptrtoint, which subsequently gets removed. We need to
invalidate the EarliestEscape entry referring to the ptrtoint when
deleting it.

This fixes the crash mentioned in
https://bugs.chromium.org/p/chromium/issues/detail?id=1252762#c6




More information about the All-commits mailing list