[all-commits] [llvm/llvm-project] 1a0ddb: [GlobalISel] Filter combiner worklists (#197693)

Cullen Rhodes via All-commits all-commits at lists.llvm.org
Wed Jul 15 02:14:15 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1a0ddbdff9eef0257445778f36dd19b74f018487
      https://github.com/llvm/llvm-project/commit/1a0ddbdff9eef0257445778f36dd19b74f018487
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2026-07-15 (Wed, 15 Jul 2026)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/Combiner.h
    M llvm/lib/CodeGen/GlobalISel/Combiner.cpp
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
    M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp

  Log Message:
  -----------
  [GlobalISel] Filter combiner worklists (#197693)

This follows on from #196017 which added an opcode predicate for GICombiner
matchers and used it to return from tryCombineAll before executing the match
table.

The better approach is to not add opcodes with no combines to the worklist in
the first place. This is a further -0.35% CTMark geomean improvement on
aarch64-O0-g, sqlite is -0.67%.

https://llvm-compile-time-tracker.com/compare.php?from=35f5d7ea802eae78b26a5fb2a46f072acd15f49d&to=c356bec46b68b59f37b26347f93676c9102d810c&stat=instructions%3Au

I also measured O3 locally and it's positive:

```
stage1-aarch64-O3 -fglobal-isel
                 instructions:u                 diff
                            old           new
7zip               203863583445  203865335443  0.00%
Bullet             103920943623  103917036315 -0.00%
ClamAV              53008970261   52971646424 -0.07%
SPASS               41843361245   41815471487 -0.07%
consumer-typeset    31848080935   31816255572 -0.10%
kimwitu++           39779892082   39733563964 -0.12%
lencod              67158153709   67134337444 -0.04%
mafft               36689364945   36675438948 -0.04%
sqlite3             33436727535   33410098701 -0.08%
tramp3d-v4          76553056559   76569825676  0.02%
geomean             57208304686   57180409869 -0.05%
```

I am a bit worried about the incurred overhead of this for other opt levels as
we add more combines, but right now at least the data is positive.

Assisted-by: codex



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