LLVM backend for 6502
Go to file
Andrew Trick 2661b411cc I'm introducing a new machine model to simultaneously allow simple
subtarget CPU descriptions and support new features of
MachineScheduler.

MachineModel has three categories of data:
1) Basic properties for coarse grained instruction cost model.
2) Scheduler Read/Write resources for simple per-opcode and operand cost model (TBD).
3) Instruction itineraties for detailed per-cycle reservation tables.

These will all live side-by-side. Any subtarget can use any
combination of them. Instruction itineraries will not change in the
near term. In the long run, I expect them to only be relevant for
in-order VLIW machines that have complex contraints and require a
precise scheduling/bundling model. Once itineraries are only actively
used by VLIW-ish targets, they could be replaced by something more
appropriate for those targets.

This tablegen backend rewrite sets things up for introducing
MachineModel type #2: per opcode/operand cost model.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159891 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-07 04:00:00 +00:00
autoconf Remove autoconf support for runtest and tclsh, some of the last vestigal 2012-06-27 23:53:41 +00:00
bindings
cmake LLVMConfig.cmake.in: Quote around @LLVM_INSTALL_PREFIX@, or it would not accept whitespace paths. 2012-07-07 03:12:28 +00:00
docs Since SmallMap was removed in r158644, remove documentation in ProgrammersManual.html. 2012-07-06 23:06:47 +00:00
examples Move llvm/Support/IRBuilder.h -> llvm/IRBuilder.h 2012-06-29 12:38:19 +00:00
include I'm introducing a new machine model to simultaneously allow simple 2012-07-07 04:00:00 +00:00
lib I'm introducing a new machine model to simultaneously allow simple 2012-07-07 04:00:00 +00:00
projects Remove 'check-dg', a wrapper around 'check-local-dg' which was just 2012-06-28 00:03:13 +00:00
runtime Free the allocated filename. Found by clang static analyzer. 2012-06-15 09:11:47 +00:00
test X86: Fix optimizeCompare to correctly check safe condition. 2012-07-07 03:34:46 +00:00
tools Target option DisableJumpTables is a gross hack. Move it to TargetLowering instead. 2012-07-02 22:39:56 +00:00
unittests Revert "IntRange:" as it appears to be breaking self hosting. 2012-07-02 23:22:21 +00:00
utils I'm introducing a new machine model to simultaneously allow simple 2012-07-07 04:00:00 +00:00
.gitignore
CMakeLists.txt Hoist LLVM's lit testsuite infrastructure into module so that it can be 2012-06-30 10:14:14 +00:00
configure Regenerate. 2012-06-28 20:35:00 +00:00
CREDITS.TXT Alphabetize. 2012-06-19 23:47:58 +00:00
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in Remove autoconf support for runtest and tclsh, some of the last vestigal 2012-06-27 23:53:41 +00:00
Makefile.rules Remove 'check-dg', a wrapper around 'check-local-dg' which was just 2012-06-28 00:03:13 +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.