llvm-project/llvm/lib/VMCore
Reid Spencer 7ce2d2a8fe 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.

llvm-svn: 32770
2006-12-29 20:29:48 +00:00
..
AsmWriter.cpp For PR950: 2006-12-29 20:29:48 +00:00
BasicBlock.cpp add method, correct comment 2006-09-23 04:03:45 +00:00
ConstantFolding.cpp Cleanup ConstantFoldCompareInstruction: 2006-12-24 18:52:08 +00:00
ConstantFolding.h Cleanup ConstantFoldCompareInstruction: 2006-12-24 18:52:08 +00:00
Constants.cpp Fix some comments. 2006-12-24 18:42:29 +00:00
Dominators.cpp Removed iostream #includes. Replaced std::cerr with DOUT. 2006-11-17 08:03:48 +00:00
Function.cpp For PR950: 2006-11-27 01:05:10 +00:00
Globals.cpp Add a version of the globalvariable ctor that inserts at a specific location. 2006-09-30 21:31:26 +00:00
InlineAsm.cpp For PR780: 2006-06-07 23:03:13 +00:00
Instruction.cpp For PR950: 2006-12-23 06:05:41 +00:00
Instructions.cpp For PR950: 2006-12-23 06:05:41 +00:00
IntrinsicInst.cpp Update version in safe guards. 2006-12-13 17:49:24 +00:00
LeakDetector.cpp Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, are 2006-12-07 01:30:32 +00:00
Makefile Make the makefile tell us when Intrinsics.gen is being updated. 2006-10-26 01:42:23 +00:00
Mangler.cpp Adding dllimport, dllexport and external weak linkage types. 2006-09-14 18:23:27 +00:00
Module.cpp Removing even more <iostream> includes. 2006-12-07 20:04:42 +00:00
ModuleProvider.cpp Remove trailing whitespace 2005-04-21 23:48:37 +00:00
Pass.cpp ModulePass and ImmutablePass. Force out of line virtual method. 2006-12-22 22:49:00 +00:00
PassManager.cpp At the beginning of run, initialize analyis info availability for _ALL_ 2006-12-21 00:16:50 +00:00
PassManagerT.h Using PDL as a prefix for PassDebugLevel enums is not a good idea. 2006-12-13 21:13:31 +00:00
SymbolTable.cpp For PR950: 2006-12-23 06:05:41 +00:00
SymbolTableListTraitsImpl.h Remove trailing whitespace 2005-04-21 23:48:37 +00:00
Type.cpp Packed Structures 2006-12-08 18:06:16 +00:00
TypeSymbolTable.cpp Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, are 2006-12-07 01:30:32 +00:00
Value.cpp Removed iostream #includes. Replaced std::cerr with DOUT. 2006-11-17 08:03:48 +00:00
ValueSymbolTable.cpp Removed iostream #includes. Replaced std::cerr with DOUT. 2006-11-17 08:03:48 +00:00
ValueTypes.cpp Add some advice 2006-07-27 04:24:14 +00:00
Verifier.cpp For PR950: 2006-12-23 06:05:41 +00:00