LLVM backend for 6502
Go to file
Reid Spencer b951bc0283 For PR950:
Remove all grammar conflicts from assembly parsing.  This change involves:
1. Making the "type" keyword not a primitive type (removes several
   reduce/reduce conflicts)
2. Being more specific about which linkage types are allowed for functions
   and global variables. In particular "appending" can no longer be
   specified for a function. A differentiation was made between the various
   internal and external linkage types.
3. Introduced the "define" keyword which is now required when defining a
   function. This disambiguates several cases where a named function return
   type could get confused with the definition of a new type. Using the
   keyword eliminates all shift/reduce conflicts and the remaining
   reduce/reduce conflicts.

These changes are necessary to implement the function parameter attributes
that will be introduced soon. Adding the function parameter attributes in
the presence of the shift/reduce and reduce/reduce conflicts led to severe
ambiguities that caused the parser to report syntax errors that needed to
be resolved. This patch resolves them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32770 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-29 20:29:48 +00:00
autoconf Add a new variable, LLVMGCCLIBEXEC to get the libexec directory where the 2006-12-21 22:55:41 +00:00
docs Preview of new calling conventions: cextcc and csretextcc to handle explicit 2006-12-28 16:55:55 +00:00
examples For PR950: 2006-12-23 06:05:41 +00:00
include/llvm Make a variable private now that the conditions requiring it to be 2006-12-29 04:12:03 +00:00
lib For PR950: 2006-12-29 20:29:48 +00:00
projects For PR950: 2006-12-23 06:05:41 +00:00
runtime Undo removal of the runtime libraries. While this may have been a bit 2006-11-17 03:32:33 +00:00
test Run llvm-upgrade on test to prepare for new assembly syntax. 2006-12-29 20:21:51 +00:00
tools For PR950: 2006-12-23 06:05:41 +00:00
utils Remove some clutter and make it keep going instead of stopping at the 2006-12-18 00:37:37 +00:00
win32 Partial unbreak of VC++ (stream stuff has no easy fix). 2006-12-15 21:47:01 +00:00
Xcode Try again. 2006-11-05 21:21:20 +00:00
.cvsignore Add llvm.spec, a generated file. 2006-10-18 19:23:56 +00:00
configure Add a new variable, LLVMGCCLIBEXEC to get the libexec directory where the 2006-12-21 22:55:41 +00:00
CREDITS.TXT The list is sorted by name. 2006-08-29 01:42:47 +00:00
LICENSE.TXT burg is gone 2006-09-11 17:28:11 +00:00
llvm.spec.in Minor technical correction in documentation. 2006-08-21 01:58:57 +00:00
Makefile Undo removal of the runtime libraries. While this may have been a bit 2006-11-17 03:32:33 +00:00
Makefile.common
Makefile.config.in Add a new variable, LLVMGCCLIBEXEC to get the libexec directory where the 2006-12-21 22:55:41 +00:00
Makefile.rules Allow an --enable-pic option to turn on -fPIC compiler option when building. 2006-12-16 22:07:52 +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.