Mirror of official llvm git repository located at http://llvm.org/git/llvm. Updated every five minutes.
Go to file
Suyog Sarda 1dea0dc279 This patch recognizes (+ (+ v0, v1) (+ v2, v3)), reorders them for bundling into vector of loads,
and vectorizes it. 
 
 Test case :
 
       float hadd(float* a) {
           return (a[0] + a[1]) + (a[2] + a[3]);
        }
 
 
 AArch64 assembly before patch :
 
        ldp	s0, s1, [x0]
 	ldp	s2, s3, [x0, #8]
 	fadd	s0, s0, s1
 	fadd	s1, s2, s3
 	fadd	s0, s0, s1
 	ret
 
 AArch64 assembly after patch :
 
        ldp	d0, d1, [x0]
 	fadd	v0.2s, v0.2s, v1.2s
 	faddp	s0, v0.2s
 	ret

Reviewed Link : http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20141208/248531.html



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224119 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-12 12:53:44 +00:00
autoconf Expose LLVM version string via macro in llvm-config.h, and modify Go bindings 2014-11-19 03:34:17 +00:00
bindings IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
cmake cmake: Make SVNVersion.inc work on Windows if svn is called svn.bat. 2014-12-10 00:10:21 +00:00
docs Added documentation for MergeFunctions pass: 2014-12-10 17:42:01 +00:00
examples Once more on the cmake build. nativecodegen->native on the dependencies. 2014-12-08 18:24:06 +00:00
include Emit Tag_ABI_FP_16bit_format build attribute. 2014-12-12 11:59:18 +00:00
lib This patch recognizes (+ (+ v0, v1) (+ v2, v3)), reorders them for bundling into vector of loads, 2014-12-12 12:53:44 +00:00
projects
test This patch recognizes (+ (+ v0, v1) (+ v2, v3)), reorders them for bundling into vector of loads, 2014-12-12 12:53:44 +00:00
tools Silence gcc 4.9.1 warning 'xyz' is used uninitialized in this function. 2014-12-12 11:07:51 +00:00
unittests Remove a convoluted way of calling close by moving the call to the only caller. 2014-12-11 20:12:55 +00:00
utils Try to include operand counts for mismatches in tablegen. 2014-12-11 22:27:14 +00:00
.arcconfig
.clang-format
.clang-tidy Enable display of compiler diagnostics in clang-tidy by default. 2014-10-29 17:29:38 +00:00
.gitignore
CMakeLists.txt Adding a new option to CMake to disable C++ atexit on llvm-shlib. 2014-12-09 18:49:55 +00:00
CODE_OWNERS.TXT Tom Stellard is now the code owner for libclc. 2014-12-12 01:11:48 +00:00
configure Expose LLVM version string via macro in llvm-config.h, and modify Go bindings 2014-11-19 03:34:17 +00:00
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in Add a check for misbehaving -Wcomment from gcc-4.7 and add 2014-11-05 00:35:15 +00:00
Makefile.rules Add a check for misbehaving -Wcomment from gcc-4.7 and add 2014-11-05 00:35:15 +00:00
README.txt [TEST-COMMIT] As per Developer Policy, Added a blank line. 2014-12-06 00:38:39 +00:00

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for the Low Level
Virtual Machine, a toolkit for the construction of highly optimized compilers,
optimizers, and runtime environments.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you're writing a package for LLVM, see docs/Packaging.rst for our
suggestions.