llvm-6502/include/llvm
Chris Lattner a45664f709 Add a new set of helper classes for creating and reading debug
information.  This logically replaces the "Desc" classes in
MachineModuleInfo.  Nice features of these classes are that they:

1. Are much more efficient than MMI because they don't create a 
   temporary parallel data structure for debug info that has to be
   'serialized' and 'deserialized' into/out of the module.
2. These provide a much cleaner abstraction for debug info than 
   MMI, which will make it easier to change the implementation in 
   the future (to be MDNode-based).
3. These are much easier to use than the MMI interfaces, requiring
   a lot less code in the front-ends.
4. These can be used to both create (for frontends) and read (for
   codegen) debug information.  DebugInfoBuilder can only be used
   to create the nodes.

So far, this is implemented just enough to support the debug info
generation needs of clang.  This can and should be extended to 
support the full set of debug info constructs, and we should switch
llvm-gcc and llc over to using this in the near future.

This code also has a ton of FIXMEs in it, because the way we 
currently represent debug info in LLVM IR is basically insane in a
variety of details.  This sort of issue should be fixed when we
eventually reimplement debug info on top of MDNodes.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58954 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-10 02:56:27 +00:00
..
ADT Overload AddInteger on int/long/long long instead of on int/int64_t, 2008-11-03 19:40:18 +00:00
Analysis Add a new set of helper classes for creating and reading debug 2008-11-10 02:56:27 +00:00
Assembly Move Print*Pass to use raw_ostream. 2008-10-22 03:25:22 +00:00
Bitcode Add raw_ostream versions of WriteBitcodeToFile and BitcodeWriterPass. 2008-10-22 17:39:14 +00:00
CodeGen Rename isGVNonLazyPtr to isIndirectSym to reflect how it will be used. 2008-11-10 01:08:07 +00:00
CompilerDriver Add LLVMC2 tool definitions for Objective-C and Objective-C++. 2008-11-08 03:25:47 +00:00
Config CMake: GetTargetTriple: new module for determining the target 2008-10-26 00:47:52 +00:00
Debugger Fix more -Wshorten-64-to-32 warnings. 2008-05-05 18:30:58 +00:00
ExecutionEngine Support for allocation of TLS variables in the JIT. Allocation of a global 2008-10-25 15:41:43 +00:00
Support Symbol visibility is unsupported on cygwin too. 2008-10-31 18:05:01 +00:00
System Update the stub and callback code to handle lazy compilation. The stub 2008-10-20 21:39:23 +00:00
Target Rename isGVNonLazyPtr to isIndirectSym to reflect how it will be used. 2008-11-10 01:08:07 +00:00
Transforms Do now allow InlineAlways pass to remove dead functions. 2008-11-05 01:39:16 +00:00
AbstractTypeUser.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
Argument.h Large mechanical patch. 2008-09-25 21:00:45 +00:00
Attributes.h Fix whitespace in a comment. 2008-10-15 22:55:03 +00:00
AutoUpgrade.h Enable first-class aggregates support. 2008-07-23 00:34:11 +00:00
BasicBlock.h Switch the asmprinter (.ll) and all the stuff it requires over to 2008-08-23 22:23:09 +00:00
CallGraphSCCPass.h Tidy up several unbeseeming casts from pointer to intptr_t. 2008-09-04 17:05:41 +00:00
CallingConv.h Add "inreg" field to CallSDNode (doesn't increase 2008-09-26 19:31:26 +00:00
Constant.h fix typo's 2008-10-13 10:28:12 +00:00
Constants.h A file missed from previous checkin. 2008-10-09 23:01:07 +00:00
DerivedTypes.h Remove unused parameter. Some clients might use -Werror when compiling and 2008-06-05 07:24:08 +00:00
Function.h Fix disagreement about where the attributes are 2008-10-07 22:33:44 +00:00
GlobalAlias.h Make safer variant of alias resolution routine to be default 2008-09-09 20:05:04 +00:00
GlobalValue.h Rename isWeakForLinker to mayBeOverridden. Use it 2008-09-29 11:25:42 +00:00
GlobalVariable.h Add GlobalValue::{removeFromParent,eraseFromParent} 2008-08-29 07:30:15 +00:00
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 Cosmetic. 2008-10-06 20:33:02 +00:00
Instruction.h Correct the name of isTrapping in comments. 2008-10-15 22:56:21 +00:00
Instructions.h Don't force things to be Value * when they're not. 2008-10-29 00:30:54 +00:00
IntrinsicInst.h Split the SelectionDAG-building code, including the FunctionLoweringInfo 2008-09-03 16:12:24 +00:00
Intrinsics.h Large mechanical patch. 2008-09-25 21:00:45 +00:00
Intrinsics.td - Modify the stack protector algorithm so that the stack slot is allocated in 2008-11-07 01:23:58 +00:00
IntrinsicsAlpha.td Note that ADDC and company don't actually expand yet (missing in legalize 2008-10-07 02:10:26 +00:00
IntrinsicsARM.td remove attribution from a variety of miscellaneous files. 2007-12-29 22:59:10 +00:00
IntrinsicsCellSPU.td Final de-tabification. 2008-02-27 06:33:05 +00:00
IntrinsicsPowerPC.td Implement __sync_synchronize on ppc32. Patch by Gary Benson. 2008-08-22 17:20:54 +00:00
IntrinsicsX86.td Removed pinsrd and pinsrq intrinsics because the code generator does not support 2008-10-15 06:27:16 +00:00
LinkAllPasses.h Add a new pass to simplify specific half_powr function calls. This is 2008-11-04 23:41:45 +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 Remove warnings about unused parameters and shadowed variables. 2008-05-19 20:15:12 +00:00
OperandTraits.h 80col 2008-07-05 22:41:37 +00:00
Pass.h Add an assert to catch user errors like: 2008-10-31 17:27:41 +00:00
PassAnalysisSupport.h Speed up the passmgr by avoiding heap thrashing on vectors. 2008-08-08 05:33:04 +00:00
PassManager.h allow updating the MPM, so that you can use one FunctionPAssManager with 2008-06-26 22:26:45 +00:00
PassManagers.h Trim #includes. 2008-10-16 20:18:31 +00:00
PassSupport.h Correct a comment. 2008-06-24 17:46:48 +00:00
SymbolTableListTraits.h Fold the useful features of alist and alist_node into ilist, and 2008-07-28 21:51:04 +00:00
Type.h add a new form of Type::dump that takes a module for type names, 2008-10-01 20:16:19 +00:00
TypeSymbolTable.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
Use.h Add comment on how tagged pointers are 2008-10-17 08:31:36 +00:00
User.h Do not allow a user to set the operand for a constant. 2008-10-28 17:22:40 +00:00
Value.h fit in 80 cols 2008-10-28 06:20:17 +00:00
ValueSymbolTable.h implement some fixme's by making "autorenaming" in the value symbol table not 2008-06-27 21:26:26 +00:00