LLVM backend for 6502
Go to file
Hal Finkel d68b03bcd2 Account for scalarization costs in BasicTTI::getMemoryOpCost for extending vector loads
When a vector type legalizes to a larger vector type, and the target does not
support the associated extending load (or truncating store), then legalization
will scalarize the load (or store) resulting in an associated scalarization
cost.  BasicTTI::getMemoryOpCost needs to account for this.

Between this, and r205487, PowerPC on the P7 with VSX enabled shows:

MultiSource/Benchmarks/PAQ8p/paq8p: 43% speedup
SingleSource/Benchmarks/BenchmarkGame/puzzle: 51% speedup
SingleSource/UnitTests/Vectorizer/gcc-loops 28% speedup

(some of these are new; some of these, such as PAQ8p, just reverse regressions
that VSX support would trigger)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205495 91177308-0d34-0410-b5e6-96231b3b80d8
2014-04-03 00:53:59 +00:00
autoconf ARM64: initial backend import 2014-03-29 10:18:08 +00:00
bindings
cmake ARM64: initial backend import 2014-03-29 10:18:08 +00:00
docs Recover TableGen/LangRef, make it official 2014-04-01 09:51:49 +00:00
examples
include Revert "Fix a nomenclature error in llvm-nm." 2014-04-03 00:19:35 +00:00
lib Account for scalarization costs in BasicTTI::getMemoryOpCost for extending vector loads 2014-04-03 00:53:59 +00:00
projects Remove projects/sample. 2014-03-12 22:40:22 +00:00
test Account for scalarization costs in BasicTTI::getMemoryOpCost for extending vector loads 2014-04-03 00:53:59 +00:00
tools Revert "Fix a nomenclature error in llvm-nm." 2014-04-03 00:19:35 +00:00
unittests MCJIT: ensure that cygwin is identified properly 2014-03-31 23:42:23 +00:00
utils lit: Set a base directory for compiler-rt tests 2014-03-31 23:14:10 +00:00
.arcconfig
.clang-format
.gitignore Remove projects/sample. 2014-03-12 22:40:22 +00:00
CMakeLists.txt Add ability to disable building LLVM utils 2014-04-02 22:49:58 +00:00
CODE_OWNERS.TXT ARM Linux support 2014-04-02 23:03:28 +00:00
configure ARM64: initial backend import 2014-03-29 10:18:08 +00:00
CREDITS.TXT
LICENSE.TXT Remove projects/sample. 2014-03-12 22:40:22 +00:00
llvm.spec.in
LLVMBuild.txt
Makefile [configure/make] Propagate names of build host tools when making BuildTools 2014-03-25 21:45:41 +00:00
Makefile.common
Makefile.config.in
Makefile.rules Use -std=gnu++11 on cygwin and mingw. 2014-03-12 20:01:15 +00:00
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.