On 11/23/2021 1:08 PM, Navid Rahimi wrote:
In gimple your primary goal should be to reduce the number of
expressions that are evaluated. This patch does the opposite.
That is actually a really good point in my opinion. I am hesitant about this
patch and wanted to hear gcc-patch opinion about this. Doing something like
this in IR level is a little bit counter intuitive to me. I will take a look at
LLVM in my spare time to see where they are transferring that pattern and what
was the rationale behind it.
It could be easily looked at as target expansion issue. ie, there's two
equivalent forms for the full expression and the desired form varies
based on some property of the target. The idea we've kicked around, but
not implemented, would be to allow target specific match.pd patterns to
drive rewriting expressions at the gimple->rtl border.
Jeff