[all-commits] [llvm/llvm-project] a2a550: [nfc][mlgo] Incrementally update DominatorTreeAnal...

Mircea Trofin via All-commits all-commits at lists.llvm.org
Fri Aug 23 13:14:02 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a2a5508bdae7d115b6c3ace461beb7a987a44407
      https://github.com/llvm/llvm-project/commit/a2a5508bdae7d115b6c3ace461beb7a987a44407
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-08-23 (Fri, 23 Aug 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/FunctionPropertiesAnalysis.h
    M llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
    M llvm/lib/Analysis/MLInlineAdvisor.cpp

  Log Message:
  -----------
  [nfc][mlgo] Incrementally update DominatorTreeAnalysis in FunctionPropertiesAnalysis (#104867)

We need the dominator tree analysis for loop info analysis, which we need to get features like most nested loop and number of top level loops. Invalidating and recomputing these from scratch after each successful inlining can sometimes lead to lengthy compile times. We don't need to recompute from scratch, though, since we have some boundary information about where the changes to the CFG happen; moreover, for dom tree, the API supports incrementally updating the analysis result.

This change addresses the dom tree part. The loop info is still recomputed from scratch. This does reduce the compile time quite significantly already, though (~5x in a specific case)

The loop info change might be more involved and would follow in a subsequent PR.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list