LLVM backend for 6502
Go to file
Jakob Stoklund Olesen 9f63e10427 Start scaffolding for a MachineTraceMetrics analysis pass.
This is still a work in progress.

Out-of-order CPUs usually execute instructions from multiple basic
blocks simultaneously, so it is necessary to look at longer traces when
estimating the performance effects of code transformations.

The MachineTraceMetrics analysis will pick a typical trace through a
given basic block and provide performance metrics for the trace. Metrics
will include:

- Instruction count through the trace.
- Issue count per functional unit.
- Critical path length, and per-instruction 'slack'.

These metrics can be used to determine the performance limiting factor
when executing the trace, and how it will be affected by a code
transformation.

Initially, this will be used by the early if-conversion pass.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160796 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-26 18:38:11 +00:00
autoconf Fix a typo (the the => the) 2012-07-23 08:51:15 +00:00
bindings Remove tabs. 2012-07-19 00:23:13 +00:00
cmake autoconf: Re-introduce LLVM_HOSTTRIPLE since r143500, as rework of PR11060. 2012-07-22 03:04:52 +00:00
docs Add a floor intrinsic. 2012-07-26 17:43:27 +00:00
examples Move llvm/Support/IRBuilder.h -> llvm/IRBuilder.h 2012-06-29 12:38:19 +00:00
include Start scaffolding for a MachineTraceMetrics analysis pass. 2012-07-26 18:38:11 +00:00
lib Start scaffolding for a MachineTraceMetrics analysis pass. 2012-07-26 18:38:11 +00:00
projects Fix a typo (the the => the) 2012-07-23 08:51:15 +00:00
runtime Free the allocated filename. Found by clang static analyzer. 2012-06-15 09:11:47 +00:00
test Stop reassociate from looking through expressions of arbitrary complexity. This 2012-07-26 09:26:40 +00:00
tools Fix a typo (the the => the) 2012-07-23 08:51:15 +00:00
unittests make ConstantRange::zeroExtend() optimal 2012-07-23 20:33:29 +00:00
utils Make l/q suffixes on AVX forms of scalar convert instructions consistent with their non-AVX forms. 2012-07-26 07:48:28 +00:00
.gitignore Add tools/lld to .gitignore. 2012-05-02 21:25:32 +00:00
CMakeLists.txt Revert "Build script changes for R600/SI Codegen v6" 2012-07-16 18:19:46 +00:00
CODE_OWNERS.TXT Add the list of code owners to the top level of the LLVM source tree to 2012-07-26 08:04:09 +00:00
configure autoconf: Re-introduce LLVM_HOSTTRIPLE since r143500, as rework of PR11060. 2012-07-22 03:04:52 +00:00
CREDITS.TXT Alphabetize. 2012-06-19 23:47:58 +00:00
LICENSE.TXT Add YAML parser to Support. 2012-04-03 23:09:22 +00:00
llvm.spec.in Tidy up. s/Low Level Virtual Machine/LLVM/. 2012-01-25 22:00:23 +00:00
LLVMBuild.txt LLVMBuild: Introduce a common section which currently has a list of the 2011-12-12 22:45:54 +00:00
Makefile Do not install llvm-config-host for cross-builds of clang. rdar://11317847 2012-05-09 00:07:02 +00:00
Makefile.common [docs] Remove unsupported references to ExtraSource variable. 2012-05-15 21:32:27 +00:00
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 test commit 2012-07-11 17:34:12 +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.