[PATCH] D113031: [GlobalISel] Add a bisection point after instruction selection.

Quentin Colombet via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 2 10:41:31 PDT 2021


qcolombet added a comment.

Hi Amara,

I like the approach but I wonder if we can avoid the BisectClient to trickle down to every optimization. (see inline comment)

Regarding the key for `shouldPerformBisectAction`, how do we handle the cases of optimizations running several times?
E.g., let say you want the first instance of instcombine to run, but not the second one. Same question if we want to run a specific combine, but not another one (when bisecting fast math optimizations for instance.)

Cheers,
-Quentin



================
Comment at: llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp:310
+  if (BisectISel) {
+    RemoteBisectClient BisectClient;
+    // If we're building with multiple architectures, we could have conflicts
----------------
Instead of pushing the BisectClient on every optimization, could we embedded this information within the IR itself?

What I have in mind is something similar to `optnone`, but that would control each optimization separately. Essentially `optnone` would be an equivalent of a `0xfffff` on disabling all optimizations.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D113031/new/

https://reviews.llvm.org/D113031



More information about the llvm-commits mailing list