LLVM backend for 6502
Go to file
Andrew Trick e0ef509aeb Increased the register pressure limit on x86_64 from 8 to 12
regs. This is the only change in this checkin that may affects the
default scheduler. With better register tracking and heuristics, it
doesn't make sense to artificially lower the register limit so much.

Added -sched-high-latency-cycles and X86InstrInfo::isHighLatencyDef to
give the scheduler a way to account for div and sqrt on targets that
don't have an itinerary. It is currently defaults to 10 (the actual
number doesn't matter much), but only takes effect on non-default
schedulers: list-hybrid and list-ilp.

Added several heuristics that can be individually disabled for the
non-default sched=list-ilp mode. This helps us determine how much
better we can do on a given benchmark than the default
scheduler. Certain compute intensive loops run much faster in this
mode with the right set of heuristics, and it doesn't seem to have
much negative impact elsewhere. Not all of the heuristics are needed,
but we still need to experiment to decide which should be disabled by
default for sched=list-ilp.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127067 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-05 08:00:22 +00:00
autoconf lib/Support/Errno.cpp: Check strerror_s() with HAVE_DECL_STRERROR_S in config.h.*. 2011-02-09 04:18:48 +00:00
bindings Fix compiling the ocaml kaleidoscope tutorials 2011-02-09 18:32:02 +00:00
cmake Support for parallel compilation (/MP) when using the VS IDE. 2011-03-02 17:47:37 +00:00
docs remove jeff's name (by his request) 2011-03-05 07:23:02 +00:00
examples Fix compiling the ocaml kaleidoscope tutorials 2011-02-09 18:32:02 +00:00
include Increased the register pressure limit on x86_64 from 8 to 12 2011-03-05 08:00:22 +00:00
lib Increased the register pressure limit on x86_64 from 8 to 12 2011-03-05 08:00:22 +00:00
projects Regen configure 2010-12-12 21:42:01 +00:00
runtime Implementation of path profiling. 2011-01-29 01:09:53 +00:00
test Thread comparisons over udiv/sdiv/ashr/lshr exact and lshr nuw/nsw whenever 2011-03-05 05:19:11 +00:00
tools Add a special streamer to libLTO that just records symbols definitions and 2011-03-02 04:14:42 +00:00
unittests Fixes warnings emitted by Visual Studio 2010 compiler. 2011-03-01 23:11:57 +00:00
utils Fix the case where the number of jobs is less than the 2011-03-04 23:02:52 +00:00
website
.gitignore Cleanup and document .gitignore. 2010-12-17 17:22:50 +00:00
build-for-llvm-top.sh
CMakeLists.txt Cmake fix for option defaults not being set correctly on first run 2011-03-01 22:31:19 +00:00
configure lib/Support/Errno.cpp: Check strerror_s() with HAVE_DECL_STRERROR_S in config.h.*. 2011-02-09 04:18:48 +00:00
CREDITS.TXT Another git svn dcommit test. This time let's hope it doesn't kill my repo. 2010-12-10 14:45:10 +00:00
LICENSE.TXT
llvm.spec.in
Makefile Merge System into Support. 2010-11-29 18:16:10 +00:00
Makefile.common
Makefile.config.in autoconf: Add --disable-embed-stdcxx to suppress linking libstdc++.a into llvm.dll with --enable-shared on Cygming. 2010-12-29 03:59:14 +00:00
Makefile.rules Better OpenBSD support, patch by Amit Kulkarni. I have no way to test 2011-02-21 18:38:56 +00:00
ModuleInfo.txt Remove trailing space. This is just an excuse to poke the 2010-10-05 20:32:15 +00:00
README.txt Test commit. 2011-02-11 19:11:57 +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.