hanchenye-llvm-project/llvm
Hal Finkel 40c34781b5 PPC: Don't restrict lvsl generation to after type legalization
This is a re-commit of r190764, with an extra check to make sure that we're not
performing the transformation on illegal types (a small test case has been
added for this as well).

Original commit message:

The PPC backend uses a target-specific DAG combine to turn unaligned Altivec
loads into a permutation-based sequence when possible. Unfortunately, the
target-specific DAG combine is not always called on all loads of interest
(sometimes the routines in DAGCombine call CombineTo such that the new node and
users are not added to the worklist); allowing the combine to trigger early
(before type legalization) mitigates this problem. Because the autovectorizers
only create legal vector types, I don't expect a lot of cases where this
optimization is enabled by type legalization in practice.

llvm-svn: 190771
2013-09-15 22:09:58 +00:00
..
autoconf Fix for executing AutoRegen.sh. Revert a part of r187209. 2013-09-13 10:29:42 +00:00
bindings [python-bindings] Added support for getting/setting operands of values and getting the number of operands of a value. 2013-09-11 01:38:12 +00:00
cmake Fixup for r190409: add dep on LZMA only if CMake is cross-compiling 2013-09-12 08:26:53 +00:00
docs typo fix: use BUILD_ARCHIVE to build .a libs and not ARCHIVE_LIBRARY 2013-09-13 15:01:54 +00:00
examples ExceptionDemo.cpp: Tweak a @param. [-Wdocumentation] 2013-07-29 11:03:50 +00:00
include ELF: Add support for the exclude section bit for gas compat. 2013-09-15 19:53:20 +00:00
lib PPC: Don't restrict lvsl generation to after type legalization 2013-09-15 22:09:58 +00:00
projects Port the detection of zlib from the main autoconf system to the sample 2013-08-18 01:55:15 +00:00
runtime Bring back the build of libprofile_rt on Sparc. It is now working correctly. See: 2013-09-08 09:15:09 +00:00
test PPC: Don't restrict lvsl generation to after type legalization 2013-09-15 22:09:58 +00:00
tools ELF: Add support for the exclude section bit for gas compat. 2013-09-15 19:53:20 +00:00
unittests Re-submit r190469: YAMLIO: Fix string quoting logic. 2013-09-11 04:00:08 +00:00
utils Replace some unnecessary vector copies with references. 2013-09-15 22:04:42 +00:00
.arcconfig
.clang-format Add a clang-format file so that the tool can automatically detect the 2013-09-02 07:19:04 +00:00
.gitignore
CMakeLists.txt [conf] Add config variable to disable crash related overrides. 2013-08-30 20:39:21 +00:00
CODE_OWNERS.TXT Add more owners to CODE_OWNERS.TXT (Kostya Serebryany: AddressSanitizer and ThreadSanitizer; Evgeniy Stepanov: MemorySanitizer) 2013-06-27 08:47:12 +00:00
CREDITS.TXT Test commit. 2013-08-16 18:09:06 +00:00
LICENSE.TXT
LLVMBuild.txt
Makefile Fix regular expression used by 'make update' to only look for 'I' and '?' at the start of svn info results and to check for spaces after 'I' instead of just after '?'. 2013-07-03 14:48:37 +00:00
Makefile.common
Makefile.config.in Add an autoconf option for turning on -gsplit-dwarf by default 2013-06-25 01:12:25 +00:00
Makefile.rules Makefile.rules: Avoid -fomit-frame-pointer also on cygwin due to PR14646. 2013-08-18 03:38:40 +00:00
README.txt
configure [conf] Add config variable to disable crash related overrides. 2013-08-30 20:39:21 +00:00
llvm.spec.in

README.txt

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.