Skip to content
  • Andrew Young's avatar
    [mlir] Support use-def cycles in graph regions during regionDCE · f178c13f
    Andrew Young authored
    When deleting operations in DCE, the algorithm uses a post-order walk of
    the IR to ensure that value uses were erased before value defs. Graph
    regions do not have the same structural invariants as SSA CFG, and this
    post order walk could delete value defs before uses.  This problem is
    guaranteed to occur when there is a cycle in the use-def graph.
    
    This change stops DCE from visiting the operations and blocks in any
    meaningful order.  Instead, we rely on explicitly dropping all uses of a
    value before deleting it.
    
    Reviewed By: mehdi_amini, rriddle
    
    Differential Revision: https://reviews.llvm.org/D98919
    f178c13f
Loading