Go to file
Hal Finkel 90adf0fe06 Make use of previously generated stores in SelectionDAGLegalize::ExpandExtractFromVectorThroughStack
When expanding EXTRACT_VECTOR_ELT and EXTRACT_SUBVECTOR using
SelectionDAGLegalize::ExpandExtractFromVectorThroughStack, we store the entire
vector and then load the piece we want. This is fine in isolation, but
generating a new store (and corresponding stack slot) for each extraction ends
up producing code of poor quality. When we scalarize a vector operation (using
SelectionDAG::UnrollVectorOp for example) we generate one EXTRACT_VECTOR_ELT
for each element in the vector. This used to generate one stored copy of the
vector for each element in the vector. Now we search the uses of the vector for
a suitable store before generating a new one, which results in much more
efficient scalarization code.

llvm-svn: 205153
2014-03-30 15:10:18 +00:00
clang clang/test/Preprocessor/headermap-rel2.c: Recognize dos path. 2014-03-30 15:09:08 +00:00
clang-tools-extra clang-modernize: fix invalid assignment in findClangApplyReplacements() 2014-03-30 10:50:25 +00:00
compiler-rt [sanitizer] Fix Mac build. 2014-03-28 14:01:40 +00:00
debuginfo-tests relax testcase for LLDB output format compatibility. 2014-03-19 23:06:18 +00:00
libclc Introduce M_LOG2E_F and M_LOG2E 2014-03-28 21:19:03 +00:00
libcxx Use defined(__APPLE__) rather than __APPLE__ 2014-03-30 14:59:12 +00:00
libcxxabi Simplify. 2014-03-20 01:28:28 +00:00
lld Forgot to replace a %t1 in the previous commit. 2014-03-29 06:45:26 +00:00
lldb Include string.h for memset() prototype. Thanks Dmitri. 2014-03-29 19:29:04 +00:00
llvm Make use of previously generated stores in SelectionDAGLegalize::ExpandExtractFromVectorThroughStack 2014-03-30 15:10:18 +00:00
openmp Revert commit (testing commit hook). 2014-03-04 18:06:04 +00:00
polly Updated test/create_ll.sh to work with old & new clang versions. 2014-03-25 15:50:44 +00:00