Skip to content

GVN invalidates memdep #3546

@lattner

Description

@lattner
Bugzilla Link 3174
Version 1.0
OS All

Extended Description

The GVN pass is invalidating memdep, which causes it to be recomputed for memcpy optimizer. We also run DSE substantially later, which means that extra passes have to get recomputed:

    Memory Dependence Analysis
    Global Value Numbering
  •  Memory Dependence Analysis
     MemCpy Optimization
     Sparse Conditional Constant Propagation
     Combine redundant instructions
     Break critical edges in CFG
     Conditional Propagation
    
  •  Dominator Tree Construction
     Memory Dependence Analysis
     Dead Store Elimination
    

GVN would have to inform memdep about blocks it removes if it were to declare that it preserved it though (MergeBlockIntoPredecessor) and we'd have to teach memdep how to handle this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugzillaIssues migrated from bugzillallvm:GVNGVN and NewGVN stages (Global value numbering)slow-compile

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions