[PATCH] D93586: [InstCombine] use poison as placeholder for undemanded elems

Juneyoung Lee via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 21 09:46:47 PST 2020


aqjune added a comment.

In D93586#2464841 <https://reviews.llvm.org/D93586#2464841>, @spatel wrote:

> Besides changing IRBuilder and shufflevector's definition, I think we'll also need updates in the vectorizers, InstSimplify, and other places in InstCombine that use UndefValue for InsertElement and shuffle transforms.

Thank you for the pointer!

> Do you have an estimate of how many tests are out there? If it's a temporary increase and not huge, I don't think there is much downside. But if we think the transition will take a long time, then maybe we don't want the duplication.

Using this command (which counts `insertelement <..> undef` in non-checks):

  grep -R -E '^[^;]*insertelement <.*> undef,' . | cut -d":" -f1 | uniq | wc -l

There are 792 files in llvm/test, most of which are in test/Transform (119) and test/CodeGen(655).
The transition will be swiftly done (if there's no other issue hopefully) by the next weekend.

My concern is that some tests aren't using `utils/update_test_checks.py`, and this makes things complicated. :(
Simply replacing `insertelement undef` at `CHECK:` isn't enough (ex: Transforms/SLPVectorizer/X86/alternate-cast.ll).
What do you think?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D93586



More information about the llvm-commits mailing list