[PATCH] D60318: [ExpandMemCmp] Improve generated code for simple non-equality compares.

Clement Courbet via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 11 08:29:20 PDT 2019


courbet added a comment.

There is still some test fixing to do for Power, but before I do that I'd like to get your opinion on the approach, in particular regarding the pass placement (I pretty much placed it randomly here).

The nice thing here is that this discovered many more optimization opportunities (e.g. the `length2` tests). I attached some benchmark data + fixture to the patch.
There is only one regression for N==24 in the equality case (this can be seen in the `length24_eq` test).

> https://bugs.llvm.org/show_bug.cgi?id=36421

I've added a test for this one, but note that it still requires `-extra-vectorizer-passes` because there is not EarlyCSE pass after the function simplification pipeline. I could leave it like this or add one non-optionally, WDYT ?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D60318





More information about the llvm-commits mailing list