[PATCH] D119916: Add a machine function pass to convert binop(phi(constants), v) to phi(binop)

Guozhi Wei via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 16 13:10:23 PST 2022


Carrot added a comment.

In D119916#3325495 <https://reviews.llvm.org/D119916#3325495>, @nikic wrote:

> My first question here would be whether it is preferable to do this as a machine-pass, or as a backend IR pass (which runs post-LSR at least, possibly part of CGP). Do you have any thoughts about what the trade-offs between those two options would be?

@lebedev.ri mentioned there is no immediate materialization instructions at IR. These instructions are explicitly generated in Machine IR. For CGP there is comment "It should eventually be removed." in the file, so my understanding is we should not add too many things in it if possible. I didn't thought too much about other places in backend LLVM IR because I thought most of them are lowering and expanding work that should be done before SelectionDAG.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D119916



More information about the llvm-commits mailing list