llvm-6502/include/llvm
Chris Lattner df98617b23 Reimplement the old and horrible bison parser for .ll files with a nice
and clean recursive descent parser.

This change has a couple of ramifications:
1. The parser code is about 400 lines shorter (in what we maintain, not
   including what is autogenerated).
2. The code should be significantly faster than the old code because we 
   don't have to work around bison's poor handling of datatypes with 
   ctors/dtors.  This also makes the code much more resistant to memory 
   leaks.
3. We now get caret diagnostics from the .ll parser, woo.
4. The actual diagnostics emited from the parser are completely different
   so a bunch of testcases had to be updated.
5. I now disallow "%ty = type opaque %ty = type i32".  There was no good
   reason to support this, it was just an accident of the old 
   implementation.  I have no reason to think that anyone is actually using
   this.
6. The syntax for sticking a global variable has changed to make it 
   unambiguous.  I don't think anyone is depending on this since only clang
   supports this and it is not solid yet, so I'm not worried about anything
   breaking.
7. This gets rid of the last use of bison, and along with it the .cvs files.
   I'll prune this from the makefiles as a subsequent commit.

There are a few minor cleanups that can be done after this commit (suggestions
welcome!) but this passes dejagnu testing and is ready for its time in the
limelight.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61558 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-02 07:01:27 +00:00
..
ADT Fix typo. 2009-01-02 05:01:22 +00:00
Analysis Today the front-ends (llvm-gcc and clang) generate multiple llvm.dbg.compile_units to identify source file for various debug entities. Each llvm.dbg.compile_unit matches one file on the disk. However, the backend only supports one DW_TAG_compile_unit per .o file. The backend selects first compile_unit from the vector to construct DW_TAG_compile_unit entry, which is not correct in all cases. 2008-12-17 22:39:29 +00:00
Assembly Reimplement the old and horrible bison parser for .ll files with a nice 2009-01-02 07:01:27 +00:00
Bitcode Add support for writing LLVM IR to a specified BitstreamWriter. 2008-12-19 18:37:59 +00:00
CodeGen Some compilers are picky about accessing the first element of a std::vector if 2009-01-01 01:14:31 +00:00
CompilerDriver Some enhancements for the 'case' expression. 2008-12-17 02:47:01 +00:00
Config CMake: Remove HAVE_LT_DLOPEN from config.h.cmake because it was 2008-11-18 21:12:01 +00:00
Debugger
ExecutionEngine DisableGVCompilation should not abort on internal GlobalValue's. 2008-12-09 07:31:49 +00:00
Support newline at end of phile 2008-12-09 06:32:32 +00:00
System Update the stub and callback code to handle lazy compilation. The stub 2008-10-20 21:39:23 +00:00
Target Fix PR3274: when promoting the condition of a BRCOND node, 2009-01-01 15:52:00 +00:00
Transforms Rename AddReadAttrs to FunctionAttrs, and teach it how 2008-12-31 16:14:43 +00:00
AbstractTypeUser.h implement simplify_type for PATypeHolder so that isa<FooType>(PATypeHolder) 2008-12-27 07:47:40 +00:00
Argument.h Don't analyze arguments already marked 'nocapture'. 2008-12-31 18:08:59 +00:00
Attributes.h Add a new Attribute::getAlignmentFromAttrs method. 2008-12-31 08:41:38 +00:00
AutoUpgrade.h
BasicBlock.h fix grammar, thanks Duncan! 2008-12-11 11:44:49 +00:00
CallGraphSCCPass.h
CallingConv.h
CMakeLists.txt CMake: Adds header and TableGen files to Visual Studio solution. A new 2008-11-15 02:08:08 +00:00
Constant.h
Constants.h Reword the comment for ConstantInt's getLimitedValue. 2008-12-20 17:06:39 +00:00
DerivedTypes.h
Function.h
GlobalAlias.h
GlobalValue.h
GlobalVariable.h
InlineAsm.h Keep track of *which* input constraint matches an output 2008-10-17 16:47:46 +00:00
InstrTypes.h Use the opcode predicates, instead of duplicating the code. 2008-10-17 21:42:45 +00:00
Instruction.def
Instruction.h improve const correctness. 2008-11-27 08:39:18 +00:00
Instructions.h move select validation logic into a shared place where the select ctor, 2008-12-29 00:12:50 +00:00
IntrinsicInst.h reapply Sanjiv's patch to genericize memcpy/memset/memmove to take an 2008-11-21 16:42:48 +00:00
Intrinsics.h
Intrinsics.td Add sub/mul overflow intrinsics. This currently doesn't have a 2008-12-09 22:08:41 +00:00
IntrinsicsAlpha.td Modify the intrinsics pattern to separate out the "return" types from the 2008-11-13 09:08:33 +00:00
IntrinsicsARM.td Modify the intrinsics pattern to separate out the "return" types from the 2008-11-13 09:08:33 +00:00
IntrinsicsCellSPU.td Modify the intrinsics pattern to separate out the "return" types from the 2008-11-13 09:08:33 +00:00
IntrinsicsPowerPC.td Modify the intrinsics pattern to separate out the "return" types from the 2008-11-13 09:08:33 +00:00
IntrinsicsX86.td Modify the intrinsics pattern to separate out the "return" types from the 2008-11-13 09:08:33 +00:00
IntrinsicsXCore.td Add XCore intrinsics for getid (returns thread id) and bitrev (reverses 2008-11-14 10:12:16 +00:00
LinkAllPasses.h Rename AddReadAttrs to FunctionAttrs, and teach it how 2008-12-31 16:14:43 +00:00
LinkAllVMCore.h opt was not exporting the Mangler symbols 2008-11-05 22:42:50 +00:00
Linker.h Make comments and code for QuietWarnings and QuietErrors 2008-10-25 17:57:20 +00:00
Module.h - Add a "getOrInsertGlobal" method to the Module class. This acts similarly to 2008-11-04 22:51:24 +00:00
ModuleProvider.h
OperandTraits.h
Pass.h Add an assert to catch user errors like: 2008-10-31 17:27:41 +00:00
PassAnalysisSupport.h
PassManager.h
PassManagers.h
PassSupport.h
SymbolTableListTraits.h
Type.h
TypeSymbolTable.h
Use.h
User.h Do not allow a user to set the operand for a constant. 2008-10-28 17:22:40 +00:00
Value.h Comment typeo fix, thanks Duncan! 2008-12-02 18:33:11 +00:00
ValueSymbolTable.h