LLVM backend for 6502
Go to file
Duncan Sands 245741d2a1 Fix up the logic for result expanding the various extension
operations so they work right for integers with funky
bit-widths.  For example, consider extending i48 to i64
on a 32 bit machine.  The i64 result is expanded to 2 x i32.
We know that the i48 operand will be promoted to i64, then
also expanded to 2 x i32.  If we had the expanded promoted
operand to hand, then expanding the result would be trivial.
Unfortunately at this stage we can only get hold of the
promoted operand.  So instead we kind of hand-expand, doing
explicit shifting and truncating to get the top and bottom
halves of the i64 operand into 2 x i32, which are then used
to expand the result.  This is harmless, because when the
promoted operand is finally expanded all this bit fiddling
turns into trivial operations which are eliminated either
by the expansion code itself or the DAG combiner.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43223 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-22 18:26:21 +00:00
autoconf Fixing a typo in configure.ac. 2007-10-03 12:06:41 +00:00
bindings Fix ocaml bindings for picky linkers. :) 2007-10-12 19:48:13 +00:00
docs fit in 80 cols :) 2007-10-22 16:44:31 +00:00
examples add a new BF->LLVM translator, contributed by Sterling Stein. 2007-09-12 18:24:00 +00:00
include add a mechanism for the JIT to invoke a function to lazily create functions as they are referenced. 2007-10-22 02:50:12 +00:00
lib Fix up the logic for result expanding the various extension 2007-10-22 18:26:21 +00:00
projects Convert .cvsignore files 2007-06-29 16:35:07 +00:00
runtime GarbageCollection.html is expanded to encompass the coming 2007-09-27 19:31:36 +00:00
test New test case. 2007-10-19 22:05:00 +00:00
tools Switching TargetMachineRegistry to use the new generic Registry. 2007-10-17 21:28:48 +00:00
utils Update this file for 2.0 syntax. Contributed by Jan Rehders 2007-10-19 16:54:13 +00:00
website Prepare for "core" website. 2007-08-03 05:43:35 +00:00
win32 Updated VC++ build system 2007-10-19 15:51:20 +00:00
Xcode Modified XCode project to contain... 2007-10-09 21:49:49 +00:00
build-for-llvm-top.sh Allow the configure options to be set according to the llvm-top options. 2007-08-31 19:53:42 +00:00
configure Regenerate. 2007-10-03 12:07:14 +00:00
CREDITS.TXT Adding myself 2007-10-11 18:54:49 +00:00
LICENSE.TXT Dror GCCLibraries: they are obsolete since 2.0 release. This also reduces number of licenses used in LLVM. 2007-08-21 22:40:44 +00:00
llvm.spec.in * llvm.spec.in: update blurb 2007-07-13 09:48:29 +00:00
Makefile Adding ocaml language bindings for the vmcore and bitwriter libraries. These are 2007-09-18 12:49:39 +00:00
Makefile.common Update comments to reflect new variable names. Patch contributed by 2005-02-14 16:02:19 +00:00
Makefile.config.in Providing --with-ocaml-libdir for ./configure. The default is the 2007-10-02 16:42:10 +00:00
Makefile.rules noone uses etags. Connected to PR1601 2007-09-26 06:10:47 +00:00
ModuleInfo.txt Update to include clean and install commands. 2007-07-20 20:54:41 +00:00
README.txt test 2007-04-20 20:49:25 +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.