LLVM backend for 6502
Go to file
Chandler Carruth fca3f4021a Teach the new SROA a new trick. Now we zap any memcpy or memmoves which
are in fact identity operations. We detect these and kill their
partitions so that even splitting is unaffected by them. This is
particularly important because Clang relies on emitting identity memcpy
operations for struct copies, and these fold away to constants very
often after inlining.

Fixes the last big performance FIXME I have on my plate.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165285 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-05 01:29:09 +00:00
autoconf Re-enable support for --program-prefix. 2012-10-01 18:40:32 +00:00
bindings
cmake
docs The alignment of an sret parameter is known: it must be at least the 2012-10-04 13:36:31 +00:00
examples
include Rename the Target specific passes in the DataLayout class to be Target agnostic. 2012-10-04 23:01:22 +00:00
lib Teach the new SROA a new trick. Now we zap any memcpy or memmoves which 2012-10-05 01:29:09 +00:00
projects Re-enable support for --program-prefix. 2012-10-01 18:40:32 +00:00
runtime Add an explicit -object_path_lto flag during linking with a uniquified temporary 2012-10-03 23:52:10 +00:00
test Teach the new SROA a new trick. Now we zap any memcpy or memmoves which 2012-10-05 01:29:09 +00:00
tools Add an explicit -object_path_lto flag during linking with a uniquified temporary 2012-10-03 23:52:10 +00:00
unittests Adding MCJIT and MemoryBuffer unit tests 2012-10-04 20:29:44 +00:00
utils Added instregex support to TableGen subtarget emitter. 2012-10-03 23:06:32 +00:00
.gitignore
CMakeLists.txt
CODE_OWNERS.TXT
configure Re-enable support for --program-prefix. 2012-10-01 18:40:32 +00:00
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
Makefile Set the 'build clang only' flag when we're building only clang. 2012-10-02 20:32:23 +00:00
Makefile.common
Makefile.config.in Re-enable support for --program-prefix. 2012-10-01 18:40:32 +00:00
Makefile.rules Use -object_path_lto when linking executables if building Apple style. 2012-10-05 00:22:46 +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 HTML documentation provided in docs/index.html for further
assistance with LLVM.

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