LLVM backend for 6502
Go to file
Nate Begeman 5fbb5d2459 Teach LLVM how to scalarize packed types. Currently, this only works on
packed types with an element count of 1, although more generic support is
coming.  This allows LLVM to turn the following code:

void %foo(<1 x float> * %a) {
entry:
  %tmp1 = load <1 x float> * %a;
  %tmp2 = add <1 x float> %tmp1, %tmp1
  store <1 x float> %tmp2, <1 x float> *%a
  ret void
}

Into:

_foo:
        lfs f0, 0(r3)
        fadds f0, f0, f0
        stfs f0, 0(r3)
        blr


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24416 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-19 00:36:38 +00:00
autoconf add malloc_zone_statistics, remove mstats 2005-11-14 07:24:17 +00:00
docs Fix some typos noticed by Gabor Greif! 2005-11-15 06:07:55 +00:00
examples When a function takes a variable number of pointer arguments, with a zero 2005-10-23 04:37:20 +00:00
include/llvm Teach LLVM how to scalarize packed types. Currently, this only works on 2005-11-19 00:36:38 +00:00
lib Teach LLVM how to scalarize packed types. Currently, this only works on 2005-11-19 00:36:38 +00:00
projects unbreak the build again 2005-10-27 16:30:44 +00:00
runtime This was never updated for the project makefile changes 2005-10-18 18:50:26 +00:00
test testcase for recent indvars patches 2005-11-18 19:38:15 +00:00
tools Allow users to specify -Wl,-native* multiple times if they please 2005-11-17 16:08:04 +00:00
utils Validate that the input to 'Pat' patterns is sane. 2005-11-17 17:43:52 +00:00
win32 Keep Visual Studio building. 2005-11-16 06:10:53 +00:00
Xcode Remove the lowerconstantexprs pass 2005-10-29 05:34:40 +00:00
.cvsignore
configure regenearte 2005-11-14 07:25:50 +00:00
CREDITS.TXT
LICENSE.TXT
llvm.spec
llvm.spec.in
Makefile
Makefile.common
Makefile.config.in
Makefile.rules Move some constant folding code shared by Analysis and Transform passes 2005-10-27 15:54:34 +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.