tobias-stadler wrote:

> Is this a fundamental issue of the combiner or do we have to revisit the 
> situation when the combiner becomes slowly more powerful?

This is a fundamental issue of combiner-style algorithms. Fixed-point iteration 
just burns too much compile-time for no good reason. Both the InstCombiner and 
the DAGCombiner don't use fixed-point iteration anymore for the same 
compile-time reasons. The heuristics I have implemented should be mostly on-par 
with how thoroughly the other combiner implementations currently handle 
retrying combines. The main difference is that we can rely on the Observer to 
detect changes for retrying combines and the other combiner implementations 
need to use WorkList-aware functions for performing changes on the IR. If this 
approach is good enough for SelectionDAG, I don't see this approach becoming a 
problem for GlobalISel.

https://github.com/llvm/llvm-project/pull/102167
_______________________________________________
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to