LLVM backend for 6502
Go to file
Chandler Carruth 2e38cf961d Introduce a loop block rotation optimization to the new block placement
pass. This is designed to achieve one of the important optimizations
that the old code placement pass did, but more simply.

This is a somewhat rough and *very* conservative version of the
transform. We could get a lot fancier here if there are profitable cases
to do so. In particular, this only looks for a single pattern, it
insists that the loop backedge being rotated away is the last backedge
in the chain, and it doesn't provide any means of doing better in-loop
placement due to the rotation. However, it appears that it will handle
the important loops I am finding in the LLVM test suite.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145158 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-27 00:38:03 +00:00
autoconf Add configure checking for pread(2) and use it to save a syscall when reading files. 2011-11-22 12:31:53 +00:00
bindings
cmake Add configure checking for pread(2) and use it to save a syscall when reading files. 2011-11-22 12:31:53 +00:00
docs Move the branch probability blurb into the optimizer section. Add a minimal bullet for AVX. 2011-11-26 11:14:54 +00:00
examples
include This patch contains support for encoding FMA4 instructions and 2011-11-25 19:33:42 +00:00
lib Introduce a loop block rotation optimization to the new block placement 2011-11-27 00:38:03 +00:00
projects
runtime
test Introduce a loop block rotation optimization to the new block placement 2011-11-27 00:38:03 +00:00
tools Point to libLTO with -L/PATH/ -lLTO so that it is found in the install 2011-11-23 03:07:25 +00:00
unittests Fix APFloat::convert so that it handles narrowing conversions correctly; it 2011-11-26 03:38:02 +00:00
utils Remove some unnecessary filtering checks from X86 disassembler table build. 2011-11-19 05:48:20 +00:00
.gitignore
CMakeLists.txt Revert r144300 "llvm-config: Replace with C++ version (was llvm-config-2).", 2011-11-10 19:59:35 +00:00
configure Add configure checking for pread(2) and use it to save a syscall when reading files. 2011-11-22 12:31:53 +00:00
CREDITS.TXT
LICENSE.TXT Happy new year. 2011-06-12 15:26:54 +00:00
llvm.spec.in
LLVMBuild.txt build: Add initial cut at LLVMBuild.txt files. 2011-11-03 18:53:17 +00:00
Makefile Merge the install-clang-c target into install-clang. <rdar://problem/10217046> 2011-11-27 00:26:22 +00:00
Makefile.common
Makefile.config.in build/Make: Define a TARGET_NATIVE_ARCH variable to be a bit more precise than 2011-11-12 00:18:02 +00:00
Makefile.rules build/Make: Switch over to using llvm-config-2 for dependencies one more (hopefully last) time, now that it also builds as a build tool. 2011-11-14 17:17:45 +00:00
README.txt Undo test commit 2011-11-22 20:05:48 +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 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.