[PATCH] D20983: [InstCombine] scalarizePHI should not assume the code it sees has been CSE'd

Michael Kuperstein via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 3 12:55:20 PDT 2016


mkuper created this revision.
mkuper added reviewers: majnemer, spatel.
mkuper added a subscriber: llvm-commits.

scalarizePHI only looks for phis that have exactly two users - the "latch" use, and an extract. Unfortunately, we can not assume such extracts have been CSEd, since InstCombine itself may create an extract which is a duplicate of an existing one. This extends it to handle several extracts from the same index.

This hopefully fixes the performance regression in PR27988.

http://reviews.llvm.org/D20983

Files:
  lib/Transforms/InstCombine/InstCombineVectorOps.cpp
  test/Transforms/InstCombine/vec_phi_extract.ll
  test/Transforms/LoopVectorize/PowerPC/vsx-tsvc-s173.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D20983.59602.patch
Type: text/x-patch
Size: 5760 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160603/3364f7b2/attachment.bin>


More information about the llvm-commits mailing list