4a618827de 
								
							 
						 
						
							
							
								
								Fix "the the" and similar typos.  
							
							... 
							
							
							
							llvm-svn: 95781 
							
						 
						
							2010-02-10 16:03:48 +00:00  
				
					
						
							
							
								 
						
							
								76555b513c 
								
							 
						 
						
							
							
								
								constify a bunch of dwarf stuff now that the registerinfo method  
							
							... 
							
							
							
							is constified.
llvm-svn: 94613 
							
						 
						
							2010-01-26 23:18:02 +00:00  
				
					
						
							
							
								 
						
							
								69bb026835 
								
							 
						 
						
							
							
								
								rename the dwarf class to DwarfPrinter.  This matches the filename  
							
							... 
							
							
							
							and much more accurately describes what it is all about.
llvm-svn: 94233 
							
						 
						
							2010-01-22 22:23:57 +00:00  
				
					
						
							
							
								 
						
							
								018b29b039 
								
							 
						 
						
							
							
								
								MDNodes are not expected to disappear or replaced by another MDNode, so there is no need to pay the cost of WeakVH and ValueMaps.  
							
							... 
							
							
							
							llvm-svn: 93865 
							
						 
						
							2010-01-19 06:19:05 +00:00  
				
					
						
							
							
								 
						
							
								06d45f6e75 
								
							 
						 
						
							
							
								
								Change DIEObjectLabel to take an MCSymbol instead of std::string.  
							
							... 
							
							
							
							llvm-svn: 93647 
							
						 
						
							2010-01-16 18:50:28 +00:00  
				
					
						
							
							
								 
						
							
								1f4690c624 
								
							 
						 
						
							
							
								
								Add support to emit debug info for C++ namespaces.  
							
							... 
							
							
							
							llvm-svn: 91440 
							
						 
						
							2009-12-15 19:16:48 +00:00  
				
					
						
							
							
								 
						
							
								525dda05a0 
								
							 
						 
						
							
							
								
								Use DW_AT_specification to point to DIE describing function declaration.  
							
							... 
							
							
							
							llvm-svn: 91278 
							
						 
						
							2009-12-14 16:18:45 +00:00  
				
					
						
							
							
								 
						
							
								b314bd688a 
								
							 
						 
						
							
							
								
								Construct CompileUnits lazily.  
							
							... 
							
							
							
							llvm-svn: 91159 
							
						 
						
							2009-12-11 21:37:07 +00:00  
				
					
						
							
							
								 
						
							
								2b75ed2c3d 
								
							 
						 
						
							
							
								
								Refactor code that finds context for a given die.  
							
							... 
							
							
							
							Create global variable DIEs after creating subprogram DIEs. This allows function level static variable's to find their context at the time of DIE creation.
llvm-svn: 91055 
							
						 
						
							2009-12-10 19:14:49 +00:00  
				
					
						
							
							
								 
						
							
								b5b60ea4f9 
								
							 
						 
						
							
							
								
								Refactor.  
							
							... 
							
							
							
							llvm-svn: 91051 
							
						 
						
							2009-12-10 18:05:33 +00:00  
				
					
						
							
							
								 
						
							
								9ccfb641d1 
								
							 
						 
						
							
							
								
								Reapply r90858, a cleanup patch.  
							
							... 
							
							
							
							llvm-svn: 90979 
							
						 
						
							2009-12-09 18:24:21 +00:00  
				
					
						
							
							
								 
						
							
								512001ac7d 
								
							 
						 
						
							
							
								
								Revert 90858 90875 and 90805 for now.  
							
							... 
							
							
							
							llvm-svn: 90898 
							
						 
						
							2009-12-08 23:21:45 +00:00  
				
					
						
							
							
								 
						
							
								24c0bb1ca1 
								
							 
						 
						
							
							
								
								Cleanup.  
							
							... 
							
							
							
							There is no need to supply ModuleCU to addType() as a parameter.
llvm-svn: 90858 
							
						 
						
							2009-12-08 15:31:31 +00:00  
				
					
						
							
							
								 
						
							
								b074d1783b 
								
							 
						 
						
							
							
								
								Add support to emit debug info for c++ style namespaces.  
							
							... 
							
							
							
							llvm-svn: 90805 
							
						 
						
							2009-12-07 21:41:32 +00:00  
				
					
						
							
							
								 
						
							
								eb57c59b66 
								
							 
						 
						
							
							
								
								Add support to emit debug info for virtual functions and virtual base classes.  
							
							... 
							
							
							
							llvm-svn: 90474 
							
						 
						
							2009-12-03 19:11:07 +00:00  
				
					
						
							
							
								 
						
							
								236526dd18 
								
							 
						 
						
							
							
								
								Emit method definition DIE at module level (even for methods with inlined functino body at soure level) so that the debugger can invoke it. This fixes many test failures in gdb test suite.  
							
							... 
							
							
							
							llvm-svn: 90375 
							
						 
						
							2009-12-03 01:25:38 +00:00  
				
					
						
							
							
								 
						
							
								2d9caf9fe5 
								
							 
						 
						
							
							
								
								Use StringRef (again) in DebugInfo interface.  
							
							... 
							
							
							
							llvm-svn: 89866 
							
						 
						
							2009-11-25 17:36:49 +00:00  
				
					
						
							
							
								 
						
							
								b3e0168428 
								
							 
						 
						
							
							
								
								Use StringRef instead of std::string in DIEString.  
							
							... 
							
							
							
							llvm-svn: 89793 
							
						 
						
							2009-11-24 19:42:17 +00:00  
				
					
						
							
							
								 
						
							
								04d2f2d192 
								
							 
						 
						
							
							
								
								Emit pubtypes.  
							
							... 
							
							
							
							llvm-svn: 89725 
							
						 
						
							2009-11-24 01:14:22 +00:00  
				
					
						
							
							
								 
						
							
								930143b0dc 
								
							 
						 
						
							
							
								
								Cosmetic changes, which were long overdue, in DwarfDebug.cpp.  
							
							... 
							
							
							
							llvm-svn: 89537 
							
						 
						
							2009-11-21 02:48:08 +00:00  
				
					
						
							
							
								 
						
							
								92e8c655b2 
								
							 
						 
						
							
							
								
								There is no need to use FoldingSet to unique DIEs.  
							
							... 
							
							
							
							DIEs are created from MDNode, which are already uniqued. And DwarfDebug already uses ValueMaps to find and use existing DIE for a given MDNode.
llvm-svn: 89518 
							
						 
						
							2009-11-21 00:31:03 +00:00  
				
					
						
							
							
								 
						
							
								a1c09d674e 
								
							 
						 
						
							
							
								
								Remove VISIBILITY_HIDDEN from the classes in this directory. Fixes bug 5507.  
							
							... 
							
							
							
							llvm-svn: 89075 
							
						 
						
							2009-11-17 09:17:08 +00:00  
				
					
						
							
							
								 
						
							
								2904aa9f6e 
								
							 
						 
						
							
							
								
								"Attach debug info with llvm instructions" mode was enabled a month ago. Now make it permanent and remove old way of inserting intrinsics to encode debug info for line number and scopes.  
							
							... 
							
							
							
							llvm-svn: 87014 
							
						 
						
							2009-11-12 19:02:56 +00:00  
				
					
						
							
							
								 
						
							
								f6eeaebd76 
								
							 
						 
						
							
							
								
								Implement support to debug inlined functions.  
							
							... 
							
							
							
							llvm-svn: 86748 
							
						 
						
							2009-11-10 23:06:00 +00:00  
				
					
						
							
							
								 
						
							
								cfeaa48642 
								
							 
						 
						
							
							
								
								Do not held on to DenseMap slot accross map insertion. The insertion may cause the map to grow rending the slot invalid.  
							
							... 
							
							
							
							Use this opportunity to use ValueMap instead of DenseMap.
llvm-svn: 85298 
							
						 
						
							2009-10-27 20:47:17 +00:00  
				
					
						
							
							
								 
						
							
								6875c5ebe4 
								
							 
						 
						
							
							
								
								Add support to record DbgScope as inlined scope.  
							
							... 
							
							
							
							llvm-svn: 84134 
							
						 
						
							2009-10-14 21:08:09 +00:00  
				
					
						
							
							
								 
						
							
								df45c7f642 
								
							 
						 
						
							
							
								
								Extract scope information from the variable itself, instead of relying on alloca or llvm.dbg.declare location.  
							
							... 
							
							
							
							While recording beginning of a function, use scope info from the first location entry instead of just relying on first location entry itself.
llvm-svn: 83684 
							
						 
						
							2009-10-09 22:42:28 +00:00  
				
					
						
							
							
								 
						
							
								20b2a77765 
								
							 
						 
						
							
							
								
								Do not record line number to implicitly mark start of function if function has arguments. Extra line number entries trip gdb in some cases.  
							
							... 
							
							
							
							llvm-svn: 83563 
							
						 
						
							2009-10-08 18:48:03 +00:00  
				
					
						
							
							
								 
						
							
								2980a22028 
								
							 
						 
						
							
							
								
								Remove dead code.  
							
							... 
							
							
							
							llvm-svn: 83362 
							
						 
						
							2009-10-06 02:01:32 +00:00  
				
					
						
							
							
								 
						
							
								8db360da7b 
								
							 
						 
						
							
							
								
								Add utility routine to set begin and end labels for DbgScopes.  
							
							... 
							
							
							
							This will be used by processDebugLoc().
llvm-svn: 83361 
							
						 
						
							2009-10-06 01:50:42 +00:00  
				
					
						
							
							
								 
						
							
								849e59abb2 
								
							 
						 
						
							
							
								
								Remove unintentional function decl.  
							
							... 
							
							
							
							llvm-svn: 83356 
							
						 
						
							2009-10-06 01:31:35 +00:00  
				
					
						
							
							
								 
						
							
								475d32a987 
								
							 
						 
						
							
							
								
								Add utility routine to collect variable debug info. This is not yet used.  
							
							... 
							
							
							
							llvm-svn: 83355 
							
						 
						
							2009-10-06 01:26:37 +00:00  
				
					
						
							
							
								 
						
							
								4c420eca41 
								
							 
						 
						
							
							
								
								Adjust context for the global variables that are not at file scope, e.g.  
							
							... 
							
							
							
							void foo() { static int bar = 42; }
Here, foo's DIE is parent of bar's DIE.
llvm-svn: 83344 
							
						 
						
							2009-10-05 23:40:42 +00:00  
				
					
						
							
							
								 
						
							
								75cc16c0f2 
								
							 
						 
						
							
							
								
								Add support to extract lexical scope information from DebugLoc attached with an machine instruction.  
							
							... 
							
							
							
							This is not yet enabled.
llvm-svn: 83210 
							
						 
						
							2009-10-01 20:31:14 +00:00  
				
					
						
							
							
								 
						
							
								3256c751f5 
								
							 
						 
						
							
							
								
								Use MDNode * directly as an RecordSourceLine() argument.  
							
							... 
							
							
							
							llvm-svn: 83182 
							
						 
						
							2009-09-30 22:51:28 +00:00  
				
					
						
							
							
								 
						
							
								14cf8ecf0b 
								
							 
						 
						
							
							
								
								Add a way for a frontend to generate more complex dwarf location  
							
							... 
							
							
							
							information.  This allows arbitrary code involving DW_OP_plus_uconst
and DW_OP_deref.  The scheme allows for easy extention to include,
any, or all of the DW_OP_ opcodes.  I thought about just exposing all
of them, but, wasn't sure if people wanted the dwarf opcodes exposed
in the api.  Is that a layering violation?
With this scheme, the entire existing block scheme used by llvm-gcc
can be switched over to the new scheme.  I think that would be
cleaner, as then the compiler specific bits are not present in llvm
proper.  Before the old code can be yanked however, similar code in
clang would have to be removed.
Next up, more testing.
llvm-svn: 83120 
							
						 
						
							2009-09-30 00:08:22 +00:00  
				
					
						
							
							
								 
						
							
								b296942f6d 
								
							 
						 
						
							
							
								
								Remove std::string uses from DebugInfo interface.  
							
							... 
							
							
							
							llvm-svn: 83083 
							
						 
						
							2009-09-29 18:40:58 +00:00  
				
					
						
							
							
								 
						
							
								b2de5fa689 
								
							 
						 
						
							
							
								
								Subprogram is a scope. Derive DISubprogram from DIScope.  
							
							... 
							
							
							
							llvm-svn: 80637 
							
						 
						
							2009-08-31 22:47:13 +00:00  
				
					
						
							
							
								 
						
							
								c87c1e2cfd 
								
							 
						 
						
							
							
								
								Add flag to mark structs for Apple Block "byref" variables; also add code to  
							
							... 
							
							
							
							modify the type and location debug information for these variables to match the
programmer's expectations.
llvm-svn: 80625 
							
						 
						
							2009-08-31 21:19:37 +00:00  
				
					
						
							
							
								 
						
							
								80ae34974b 
								
							 
						 
						
							
							
								
								Reapply 79977.  
							
							... 
							
							
							
							Use MDNodes to encode debug info in llvm IR.
llvm-svn: 80406 
							
						 
						
							2009-08-28 23:24:31 +00:00  
				
					
						
							
							
								 
						
							
								f08e35d9dc 
								
							 
						 
						
							
							
								
								Revert 79977. It causes llvm-gcc bootstrap failures on some platforms.  
							
							... 
							
							
							
							llvm-svn: 80073 
							
						 
						
							2009-08-26 05:01:18 +00:00  
				
					
						
							
							
								 
						
							
								02aac922b4 
								
							 
						 
						
							
							
								
								Update DebugInfo interface to use metadata, instead of special named llvm.dbg.... global variables, to encode debugging information in llvm IR. This is mostly a mechanical change that tests metadata support very well.  
							
							... 
							
							
							
							This change speeds up llvm-gcc by more then 6% at "-O0 -g" (measured by compiling InstructionCombining.cpp!)
llvm-svn: 79977 
							
						 
						
							2009-08-25 05:24:07 +00:00  
				
					
						
							
							
								 
						
							
								7b26fce23e 
								
							 
						 
						
							
							
								
								Rename TargetAsmInfo (and its subclasses) to MCAsmInfo.  
							
							... 
							
							
							
							llvm-svn: 79763 
							
						 
						
							2009-08-22 20:48:53 +00:00  
				
					
						
							
							
								 
						
							
								0939595711 
								
							 
						 
						
							
							
								
								Record variable debug info at ISel time directly.  
							
							... 
							
							
							
							llvm-svn: 79742 
							
						 
						
							2009-08-22 17:12:53 +00:00  
				
					
						
							
							
								 
						
							
								4d2c0f9008 
								
							 
						 
						
							
							
								
								switch off of 'Section' onto MCSection.  We're not properly using  
							
							... 
							
							
							
							MCSection subclasses yet, but this is a step in the right direction.
llvm-svn: 77708 
							
						 
						
							2009-07-31 18:48:30 +00:00  
				
					
						
							
							
								 
						
							
								b4c9579e69 
								
							 
						 
						
							
							
								
								revert rev. 75503 for now.  
							
							... 
							
							
							
							llvm-svn: 75507 
							
						 
						
							2009-07-13 21:26:33 +00:00  
				
					
						
							
							
								 
						
							
								31b3d7b53f 
								
							 
						 
						
							
							
								
								Use Mangler to remove leading '1' from linkage names.  
							
							... 
							
							
							
							llvm-svn: 75503 
							
						 
						
							2009-07-13 21:19:56 +00:00  
				
					
						
							
							
								 
						
							
								270d747359 
								
							 
						 
						
							
							
								
								Remove dead code.  
							
							... 
							
							
							
							llvm-svn: 74949 
							
						 
						
							2009-07-07 21:12:32 +00:00  
				
					
						
							
							
								 
						
							
								40d784180b 
								
							 
						 
						
							
							
								
								s/MainCU/ModuleCU/g  
							
							... 
							
							
							
							llvm-svn: 74452 
							
						 
						
							2009-06-29 20:45:18 +00:00  
				
					
						
							
							
								 
						
							
								0751a28888 
								
							 
						 
						
							
							
								
								Remove debug info anchors - llvm.dbg.compile_units, llvm.dbg.subprograms  
							
							... 
							
							
							
							and llvm.dbg.global_variables.
llvm-svn: 74251 
							
						 
						
							2009-06-26 01:49:18 +00:00  
				
					
						
							
							
								 
						
							
								0c044ecdb0 
								
							 
						 
						
							
							
								
								Simplify.  
							
							... 
							
							
							
							llvm-svn: 74215 
							
						 
						
							2009-06-25 22:36:02 +00:00  
				
					
						
							
							
								 
						
							
								744668d5af 
								
							 
						 
						
							
							
								
								Merge 'ConstructFunctionDbgScope' and 'ConstructAbstractDbgScope'.  
							
							... 
							
							
							
							llvm-svn: 72197 
							
						 
						
							2009-05-20 23:28:48 +00:00  
				
					
						
							
							
								 
						
							
								bcad77a8d5 
								
							 
						 
						
							
							
								
								Rename 'New*' methods to 'Create*' to be consistent. 'NewString' isn't used.  
							
							... 
							
							
							
							llvm-svn: 72196 
							
						 
						
							2009-05-20 23:24:48 +00:00  
				
					
						
							
							
								 
						
							
								2b128d70c5 
								
							 
						 
						
							
							
								
								Revert r72192. It was causing a build failure.  
							
							... 
							
							
							
							llvm-svn: 72193 
							
						 
						
							2009-05-20 23:19:06 +00:00  
				
					
						
							
							
								 
						
							
								8d7533d3e5 
								
							 
						 
						
							
							
								
								Do some mechanical changes. Combine the 'construct abastract dbg thingy' in with  
							
							... 
							
							
							
							the 'constract function dbg thingy'. Rename some methods to make them consistent
with the rest of the methods. Move the 'Emit' methods to the end of the file.
llvm-svn: 72192 
							
						 
						
							2009-05-20 23:04:56 +00:00  
				
					
						
							
							
								 
						
							
								bc308569a3 
								
							 
						 
						
							
							
								
								RecordVariable is called each time a DECLARE node is encountered. For an inlined  
							
							... 
							
							
							
							function, this could be many, many times. We don't want to re-add variables to
that DIE for each time. We just want to add them once. Check to make sure that
we haven't added them already.
llvm-svn: 72047 
							
						 
						
							2009-05-18 22:02:36 +00:00  
				
					
						
							
							
								 
						
							
								2f921f82e4 
								
							 
						 
						
							
							
								
								Split out the DwarfDebug module from the DwarfWriter module.  
							
							... 
							
							
							
							Again, no intendtional functionality change.
llvm-svn: 71854 
							
						 
						
							2009-05-15 09:23:25 +00:00