llvm-6502/include/llvm/Analysis
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
..
AliasAnalysis.h Revert 51775. 2008-05-30 22:47:19 +00:00
AliasSetTracker.h Fold the useful features of alist and alist_node into ilist, and 2008-07-28 21:51:04 +00:00
CallGraph.h Teach internalize to preserve the callgraph. 2008-10-03 07:36:09 +00:00
CFGPrinter.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
ConstantFolding.h "ret (constexpr)" can't be folded into a Constant. Add a method to 2008-05-25 20:56:15 +00:00
ConstantsScanner.h For PR1338: rename include/llvm/ADT/ilist and friends to end with ".h" 2008-05-29 17:41:17 +00:00
DebugInfo.h Add a new set of helper classes for creating and reading debug 2008-11-10 02:56:27 +00:00
DominatorInternals.h Fix more -Wshorten-64-to-32 warnings. 2008-05-05 18:30:58 +00:00
Dominators.h Tidy up several unbeseeming casts from pointer to intptr_t. 2008-09-04 17:05:41 +00:00
EscapeAnalysis.h Trim #includes. 2008-10-16 20:18:31 +00:00
FindUsedTypes.h Tidy up several unbeseeming casts from pointer to intptr_t. 2008-09-04 17:05:41 +00:00
Interval.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
IntervalIterator.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
IntervalPartition.h Tidy up several unbeseeming casts from pointer to intptr_t. 2008-09-04 17:05:41 +00:00
LibCallAliasAnalysis.h Expose a public interface to this pass. 2008-06-05 23:45:18 +00:00
LibCallSemantics.h Revert 51775. 2008-05-30 22:47:19 +00:00
LoopInfo.h Use empty() instead of begin() == end(). 2008-08-14 18:13:49 +00:00
LoopPass.h Tidy up several unbeseeming casts from pointer to intptr_t. 2008-09-04 17:05:41 +00:00
LoopVR.h Because of the laziness, the required passes must exist even after 2008-06-30 01:04:39 +00:00
MemoryDependenceAnalysis.h Tidy up several unbeseeming casts from pointer to intptr_t. 2008-09-04 17:05:41 +00:00
Passes.h Remove GCSE, ValueNumbering, and LoadValueNumbering. These have been deprecated for almost a year; it's finally time for them to go away. 2008-08-15 21:31:02 +00:00
PostDominators.h Tidy up several unbeseeming casts from pointer to intptr_t. 2008-09-04 17:05:41 +00:00
ProfileInfo.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
ProfileInfoLoader.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
ProfileInfoTypes.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
ScalarEvolution.h Tidy up several unbeseeming casts from pointer to intptr_t. 2008-09-04 17:05:41 +00:00
ScalarEvolutionExpander.h Expand SCEVUDiv of power of 2 to a lshr instruction. 2008-07-08 05:05:37 +00:00
ScalarEvolutionExpressions.h Remove getValueRange from SCEV. It wasn't doing anything there anyways, and a 2008-07-09 03:21:51 +00:00
SparsePropagation.h "This patch adds a virtual call to AbstractLatticeFunction to derive a 2008-08-09 17:23:35 +00:00
Trace.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00
ValueTracking.h - Re-apply 52748 and friends with fix. GetConstantStringInfo() returns an empty string for ConstantAggregateZero case which surprises selectiondag. 2008-06-30 07:31:25 +00:00
Verifier.h Don't attribute in file headers anymore. See llvmdev for the 2007-12-29 19:59:42 +00:00