[PATCH] D86798: [EarlyCSE] fold commutable intrinsics

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 28 13:58:54 PDT 2020


nikic accepted this revision.
nikic added a comment.

In D86798#2245372 <https://reviews.llvm.org/D86798#2245372>, @spatel wrote:

> Just dropping the fixed-point intrinsics from this patch is not enough because this assert still fires for the 2 operand intrinsics:
>
>   assert(I->getNumOperands() == 2 && "Unsupported commutative instruction!");
>
> ...because a CallInst's first operand is the called function (the 2 argument intrinsics always have 3 operands).
> So at the least, I need to adjust the asserts in GVN and NewGVN. There's also a use of isCommutative() in SLP that I can't tell at a glance is safe. Still want to make those changes here, or a follow-up patch?

Ah, that's unfortunate. Let's handle this in a followup then.


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

https://reviews.llvm.org/D86798



More information about the llvm-commits mailing list