Devang Patel 
							
						 
					 
					
						
						
							
						
						3655a21b15 
					 
					
						
						
							
							Continue to hoist uses of getCompileUnit() up. The goal is to get rid of uses of getCompileUnit().  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137683  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-08-15 23:36:40 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						d30243402b 
					 
					
						
						
							
							This is somewhat déjà-vu, but avoid using getCompileUnit() as much as possible.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137668  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-08-15 22:24:32 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						d0b5a5ece4 
					 
					
						
						
							
							Refactor. Variables are part of compile unit so let CompileUnit create new variable.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137663  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-08-15 22:04:40 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						7a328270be 
					 
					
						
						
							
							There is no need to maintain a set to keep track of variables that use location expressions. In such cases, AT_location attribute's value will be a label.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137659  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-08-15 21:43:21 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						c890b19226 
					 
					
						
						
							
							Fix warning.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137658  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-08-15 21:35:16 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						ff9dd0ac55 
					 
					
						
						
							
							Simplify. Let DbgVariable keep track of variable's DBG_VALUE machine instruction.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137656  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-08-15 21:24:36 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						5a1a67cd3f 
					 
					
						
						
							
							Simplify mapping to variable from its abstract variable info.  
						
						... 
						
						
						
						When a variable is inlined multiple places, abstract variable keeps name, location, type etc.. info and all other concreate instances of the variable directly refers to abstract variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137637  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-08-15 19:01:20 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						a098c506a2 
					 
					
						
						
							
							Refactor.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137632  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-08-15 18:40:16 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						59bc4093d5 
					 
					
						
						
							
							Refactor.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137631  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-08-15 18:35:42 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						6f9d8ffe5e 
					 
					
						
						
							
							Refactor. Global variables are part of compile unit so let CompileUnit create new global variable.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137621  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-08-15 17:57:41 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						dbc64af76d 
					 
					
						
						
							
							Refactor. A subprogram is part of compile unit so let CompileUnit construct new subprogram.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137618  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-08-15 17:24:54 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						cd9f6c53de 
					 
					
						
						
							
							Use ArrayRef.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137485  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-08-12 18:10:19 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						0fa5e053a9 
					 
					
						
						
							
							Plug a memory leak.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137321  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-08-11 18:39:28 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						5bc942cc3c 
					 
					
						
						
							
							Stay within 80 columns.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137283  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-08-10 23:58:09 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						b549bcfe6c 
					 
					
						
						
							
							Distinguish between two copies of one inlined variable. Take 2.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137253  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-08-10 21:50:54 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						9ce256421a 
					 
					
						
						
							
							Revert unintentional parts of previous check-in.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137249  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-08-10 21:16:49 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						bf47fdb91c 
					 
					
						
						
							
							Start using LexicalScopes utility. No intetional functionality change.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137246  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-08-10 20:55:27 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						c040529269 
					 
					
						
						
							
							Simplify by creating parent first.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137056  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-08-08 18:22:10 +00:00 
						 
				 
			
				
					
						
							
							
								Chandler Carruth 
							
						 
					 
					
						
						
							
						
						4147f39769 
					 
					
						
						
							
							Temporarily revert r135528 which distinguishes between two copies of one  
						
						... 
						
						
						
						inlined variable, based on the discussion in PR10542.
This explodes the runtime of several passes down the pipeline due to
a large number of "copies" remaining live across a large function. This
only shows up with both debug and opt, but when it does it creates
a many-minute compile when self-hosting LLVM+Clang. There are several
other cases that show these types of regressions.
All of this is tracked in PR10542, and progress is being made on fixing
the issue. Once its addressed, the re-instated, but until then this
restores the performance for self-hosting and other opt+debug builds.
Devang, let me know if this causes any trouble, or impedes fixing it in
any way, and thanks for working on this!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136953  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-08-05 00:51:31 +00:00 
						 
				 
			
				
					
						
							
							
								Bob Wilson 
							
						 
					 
					
						
						
							
						
						cfc55c2fc9 
					 
					
						
						
							
							Some revisions to Devang's change r136759 for merged global debug info.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136802  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-08-03 19:42:51 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						027cbf9329 
					 
					
						
						
							
							Use byte offset, instead of element number, to access merged global.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136759  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-08-03 01:25:46 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						3bbb6f79b7 
					 
					
						
						
							
							Fix a lot of typos, improve (but not necessarily fix) grammaros and reflow some  
						
						... 
						
						
						
						lines. No functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136458  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-29 03:49:23 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						0748f83d37 
					 
					
						
						
							
							Remove outdated FIXME comment.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136275  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-27 22:00:01 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						26a92003cd 
					 
					
						
						
							
							It is quiet possible that inlined function body is split into multiple chunks of consequtive instructions. But, there is not any way to describe this in .debug_inline accelerator table used by gdb. However, describe non contiguous ranges of inlined function body appropriately using AT_range of DW_TAG_inlined_subroutine debug info entry.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136196  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-27 00:34:13 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						a671a3092a 
					 
					
						
						
							
							While extracting lexical scopes from machine instruction stream, work on one machine basic block at a time.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136106  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-26 18:09:53 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						3737b89098 
					 
					
						
						
							
							Refactor.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135633  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-20 23:00:27 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						40c7e4142e 
					 
					
						
						
							
							There are two ways to map a variable to its lexical scope. Lexical scope information is embedded in MDNode describing the variable. It is also available as a part of DebugLoc attached with DBG_VALUE instruction. DebugLoc attached with an instruction is less reliable in optimized code so use information embedded in the MDNode.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135629  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-20 22:18:50 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						c8fcfc9cd9 
					 
					
						
						
							
							Distinguish between two copies of one inlined variable.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135528  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-19 22:31:15 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						133b09953c 
					 
					
						
						
							
							Use DebugLoc directly to map inlined functions' instructions to respective lexical scope.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135302  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-15 21:25:44 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						1e479fb5c1 
					 
					
						
						
							
							Eliminate redundant map.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135278  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-15 16:38:42 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						a83bba46b3 
					 
					
						
						
							
							Reverting r135232. It's causing infinite looping in DbgScope::openInsnRange.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135254  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-15 06:26:35 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						0bf164605d 
					 
					
						
						
							
							Do not get confused by multiple empty lexical scopes inlined at one location.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135232  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-15 00:30:39 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						9b4a172ac0 
					 
					
						
						
							
							Refactor.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135212  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-14 23:17:49 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						4f455d6f25 
					 
					
						
						
							
							Eliminate redundant LLVMContext argument.  
						
						... 
						
						
						
						Improve DbgScope->dump() output.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135207  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-14 22:30:56 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						49c19f778b 
					 
					
						
						
							
							Simplify.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135127  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-14 01:52:45 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						d77ec6208c 
					 
					
						
						
							
							Simplify and delay extracting DebugLoc elements, scope and InlinedAt, as much as possible.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135124  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-14 01:14:57 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						0cd0c248cc 
					 
					
						
						
							
							Simplify. Compile unit check inside hasValidLocation() did not add any value.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135118  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-14 00:20:24 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						0f16a4eecc 
					 
					
						
						
							
							Fix typo in DEBUG message.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135111  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-14 00:04:53 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						5fc0d886da 
					 
					
						
						
							
							Add DEBUG messages.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135110  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-14 00:03:58 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						90b40414a0 
					 
					
						
						
							
							Refactor.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134703  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-08 17:09:57 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						80efd4e96b 
					 
					
						
						
							
							Make provision to have floating point constants in .debug_loc expressions.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134702  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-08 16:49:43 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						476df5f64f 
					 
					
						
						
							
							Add DEBUG message.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134643  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-07 21:44:42 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						7986289a9c 
					 
					
						
						
							
							Add DEBUG messages.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134572  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-07 00:14:27 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						90369eb209 
					 
					
						
						
							
							Remove dead code.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134561  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-07-06 23:26:18 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						8594d429e0 
					 
					
						
						
							
							Handle debug info for  i128 constants.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133821  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-06-24 20:46:11 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						ab5f788f67 
					 
					
						
						
							
							Use path API for path concatenation.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132668  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-06-05 14:36:47 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						4ada1d7910 
					 
					
						
						
							
							A DBG_VALUE that truncates a range does not start another dbg value range.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132433  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-06-01 23:00:17 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						c432907eca 
					 
					
						
						
							
							Do not drop constant values when a variable's content is described using .debug_loc entries.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132427  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-06-01 22:03:25 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						e9ae06ca98 
					 
					
						
						
							
							Include global types, that are referenced through local variables, in debug_pubtypes list.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132371  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-05-31 22:56:51 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						5b23b7fe31 
					 
					
						
						
							
							Make size computation less brittle.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132222  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-05-27 22:05:41 +00:00