[all-commits] [llvm/llvm-project] 8537a7: [ConstraintElim] Update existing constraint system...

Florian Hahn via All-commits all-commits at lists.llvm.org
Mon Feb 6 08:44:08 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8537a7c91c55152534baae0735c8a7e466d489ac
      https://github.com/llvm/llvm-project/commit/8537a7c91c55152534baae0735c8a7e466d489ac
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-02-06 (Mon, 06 Feb 2023)

  Changed paths:
    M llvm/lib/Analysis/ConstraintSystem.cpp

  Log Message:
  -----------
  [ConstraintElim] Update existing constraint system in place (NFC).

This patch breaks up the solving step into 2 phases:

1. Collect all rows where the variable to eliminate is != 0 and remove
   it from the original system.
2. Process all collect rows to build new set of constraints, add them to
   the original system.

This is much more efficient for excessive cases, as this avoids a large
number of moves to the new system. This reduces the time spent in
ConstraintElimination for the test case shared in D135915 from ~3s to
0.6s.




More information about the All-commits mailing list