llvm-6502/lib/Transforms
Chandler Carruth 99a54942ae Teach the rewriting of memcpy calls to support subvector copies.
This also cleans up a bit of the memcpy call rewriting by sinking some
irrelevant code further down and making the call-emitting code a bit
more concrete.

Previously, memcpy of a subvector would actually miscompile (!!!) the
copy into a single vector element copy. I have no idea how this ever
worked. =/ This is the memcpy half of PR14478 which we probably weren't
noticing previously because it didn't actually assert.

The rewrite relies on the newly refactored insert- and extractVector
functions to do the heavy lifting, and those are the same as used for
loads and stores which makes the test coverage a bit more meaningful
here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170338 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-17 14:51:24 +00:00
..
Hello
InstCombine
Instrumentation
IPO Revert r170246, "Enable the loop vectorizer by default." 2012-12-15 06:11:13 +00:00
Scalar Teach the rewriting of memcpy calls to support subvector copies. 2012-12-17 14:51:24 +00:00
Utils
Vectorize
CMakeLists.txt
LLVMBuild.txt
Makefile