[PATCH] don't transform splats of vector FP (PR20358)

Sanjay Patel spatel at rotateright.com
Fri Jul 18 11:20:37 PDT 2014


Hi aschwaighofer, hfinkel, dexonsmith,

This patch addresses the performance problem shown here:
http://llvm.org/bugs/show_bug.cgi?id=20358

It may be a (severe) performance loss to transform shuffle ops on FP vectors.

Remove all of the calls to SimplifyVectorOp() that originate from FP instructions and add an assert in SimplifyVectorOp() to make sure we're not accessing an FP vector.

Remove the existing testcase for this transform from test/Transforms/InstCombine/vec_shuffle.ll, add a new testcase to verify that we don't do the transform, and consolidate the testcase that I added for the related bug PR20059 into this file (there are several similar bug fix testcases in the existing test file).

http://reviews.llvm.org/D4583

Files:
  lib/Transforms/InstCombine/InstCombineAddSub.cpp
  lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
  lib/Transforms/InstCombine/InstructionCombining.cpp
  test/Transforms/InstCombine/pr20059.ll
  test/Transforms/InstCombine/vec_shuffle.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D4583.11652.patch
Type: text/x-patch
Size: 6673 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140718/7fe14be2/attachment.bin>


More information about the llvm-commits mailing list