[PATCH] D86468: [WIP][GlobalISel] CSE copies

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 24 10:09:44 PDT 2020


arsenm added a comment.

In D86468#2234031 <https://reviews.llvm.org/D86468#2234031>, @foad wrote:

>> I thought the argument for having a CSEMIRBuilder is as a compile time improvement to avoid creating the instructions in the first place. I do think we are missing optimization combines during legalization though, copy propagation being among them.
>
> I think MIRBuilders in general should be doing way more up-front simplification to avoid generating redundant instructions. ConstantFoldingMIRBuilder doesn't seem to be used at all, and none of the MIRBuilders seem to do other trivial simplifications like x+0 -> x.

I always thought all the stuff SelectionDAG::getNode tried to do was insane, and a large part of why the DAG is so slow. How often do these trivially simplifiable situations actually get produced during legalization and combines? I would expect it's pretty rare


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D86468



More information about the llvm-commits mailing list