4a213870db 
								
							 
						 
						
							
							
								
								Revert r107202. It is not adding any value.  
							
							... 
							
							
							
							llvm-svn: 111870 
							
						 
						
							2010-08-24 00:06:12 +00:00  
				
					
						
							
							
								 
						
							
								a8652674e0 
								
							 
						 
						
							
							
								
								Handle qualified constants that are directly folded by FE.  
							
							... 
							
							
							
							PR 7920.
llvm-svn: 111820 
							
						 
						
							2010-08-23 18:25:56 +00:00  
				
					
						
							
							
								 
						
							
								578ee4070c 
								
							 
						 
						
							
							
								
								Create the new linker type "linker_private_weak_def_auto".  
							
							... 
							
							
							
							It's similar to "linker_private_weak", but it's known that the address of the
object is not taken. For instance, functions that had an inline definition, but
the compiler decided not to inline it. Note, unlike linker_private and
linker_private_weak, linker_private_weak_def_auto may have only default
visibility.  The symbols are removed by the linker from the final linked image
(executable or dynamic library).
llvm-svn: 111684 
							
						 
						
							2010-08-20 22:05:50 +00:00  
				
					
						
							
							
								 
						
							
								0d323aef46 
								
							 
						 
						
							
							
								
								Improve whitespace.  
							
							... 
							
							
							
							llvm-svn: 111384 
							
						 
						
							2010-08-18 18:41:13 +00:00  
				
					
						
							
							
								 
						
							
								7e2f4ce439 
								
							 
						 
						
							
							
								
								Until uleb/sleb are MC-ized, add a hack to make them work with ELF object  
							
							... 
							
							
							
							emission.
llvm-svn: 111177 
							
						 
						
							2010-08-16 20:08:40 +00:00  
				
					
						
							
							
								 
						
							
								8e06a5eb47 
								
							 
						 
						
							
							
								
								Do not forget debug info for enums. Use named mdnode to keep track of these types.  
							
							... 
							
							
							
							llvm-svn: 110712 
							
						 
						
							2010-08-10 20:01:20 +00:00  
				
					
						
							
							
								 
						
							
								b219746c80 
								
							 
						 
						
							
							
								
								Handle TAG_constant for integers.  
							
							... 
							
							
							
							llvm-svn: 110656 
							
						 
						
							2010-08-10 07:11:13 +00:00  
				
					
						
							
							
								 
						
							
								18ba0b4ac3 
								
							 
						 
						
							
							
								
								Simplify.  
							
							... 
							
							
							
							llvm-svn: 110653 
							
						 
						
							2010-08-10 04:12:17 +00:00  
				
					
						
							
							
								 
						
							
								b1e07b3f2a 
								
							 
						 
						
							
							
								
								Drop "const". It does not add value here.  
							
							... 
							
							
							
							llvm-svn: 110652 
							
						 
						
							2010-08-10 04:09:06 +00:00  
				
					
						
							
							
								 
						
							
								469c12d254 
								
							 
						 
						
							
							
								
								Do not include file static variable in pubnames list.  
							
							... 
							
							
							
							Refactor and simplify code to avoid redundant checks.
llvm-svn: 110642 
							
						 
						
							2010-08-10 01:37:23 +00:00  
				
					
						
							
							
								 
						
							
								394a69ed52 
								
							 
						 
						
							
							
								
								Undo accidental commit.  
							
							... 
							
							
							
							llvm-svn: 110623 
							
						 
						
							2010-08-09 23:28:52 +00:00  
				
					
						
							
							
								 
						
							
								4eda9abddb 
								
							 
						 
						
							
							
								
								Simplify. Avoid redundant checks.  
							
							... 
							
							
							
							llvm-svn: 110621 
							
						 
						
							2010-08-09 23:26:06 +00:00  
				
					
						
							
							
								 
						
							
								c7cf14f5f6 
								
							 
						 
						
							
							
								
								Refactor.  
							
							... 
							
							
							
							llvm-svn: 110607 
							
						 
						
							2010-08-09 21:39:24 +00:00  
				
					
						
							
							
								 
						
							
								6d9f9feb2b 
								
							 
						 
						
							
							
								
								Refactoring. Update DbgVarible to handle queries itself.  
							
							... 
							
							
							
							llvm-svn: 110600 
							
						 
						
							2010-08-09 21:01:39 +00:00  
				
					
						
							
							
								 
						
							
								b6511a36b4 
								
							 
						 
						
							
							
								
								It is ok, and convenient, to pass descriptors by value.  
							
							... 
							
							
							
							llvm-svn: 110590 
							
						 
						
							2010-08-09 20:20:05 +00:00  
				
					
						
							
							
								 
						
							
								406798a17d 
								
							 
						 
						
							
							
								
								Rename a method.  
							
							... 
							
							
							
							llvm-svn: 110586 
							
						 
						
							2010-08-09 18:51:29 +00:00  
				
					
						
							
							
								 
						
							
								a7aed18624 
								
							 
						 
						
							
							
								
								Reapply r110396, with fixes to appease the Linux buildbot gods.  
							
							... 
							
							
							
							llvm-svn: 110460 
							
						 
						
							2010-08-06 18:33:48 +00:00  
				
					
						
							
							
								 
						
							
								bda59bd247 
								
							 
						 
						
							
							
								
								Revert r110396 to fix buildbots.  
							
							... 
							
							
							
							llvm-svn: 110410 
							
						 
						
							2010-08-06 00:23:35 +00:00  
				
					
						
							
							
								 
						
							
								755aceb5d0 
								
							 
						 
						
							
							
								
								Don't use PassInfo* as a type identifier for passes.  Instead, use the address of the static  
							
							... 
							
							
							
							ID member as the sole unique type identifier.  Clean up APIs related to this change.
llvm-svn: 110396 
							
						 
						
							2010-08-05 23:42:04 +00:00  
				
					
						
							
							
								 
						
							
								6c378ac473 
								
							 
						 
						
							
							
								
								Use location entry only of the location described by DBG_VALUE is valid.  
							
							... 
							
							
							
							llvm-svn: 110255 
							
						 
						
							2010-08-04 22:07:27 +00:00  
				
					
						
							
							
								 
						
							
								6d21f61b3f 
								
							 
						 
						
							
							
								
								Fix typo in comment.  
							
							... 
							
							
							
							llvm-svn: 110244 
							
						 
						
							2010-08-04 20:32:36 +00:00  
				
					
						
							
							
								 
						
							
								2392287306 
								
							 
						 
						
							
							
								
								Change this llvm_unreachable to report_fatal_error, since it can  
							
							... 
							
							
							
							be triggered by valid, if dubious, IR.
llvm-svn: 110240 
							
						 
						
							2010-08-04 18:51:09 +00:00  
				
					
						
							
							
								 
						
							
								0e60e67efb 
								
							 
						 
						
							
							
								
								If a variable is spilled by code generator then use DW_OP_fbreg to describe its location on stack.  
							
							... 
							
							
							
							llvm-svn: 110234 
							
						 
						
							2010-08-04 18:40:52 +00:00  
				
					
						
							
							
								 
						
							
								d070128de5 
								
							 
						 
						
							
							
								
								Free DbgScope created for dead functions.  
							
							... 
							
							
							
							llvm-svn: 110045 
							
						 
						
							2010-08-02 17:32:15 +00:00  
				
					
						
							
							
								 
						
							
								d9900542a6 
								
							 
						 
						
							
							
								
								Reference the personalities. Don't copy them into a new vector.  
							
							... 
							
							
							
							llvm-svn: 109966 
							
						 
						
							2010-08-01 01:34:21 +00:00  
				
					
						
							
							
								 
						
							
								84a74779a1 
								
							 
						 
						
							
							
								
								It is FE's responsibility to emit proper directory name.  
							
							... 
							
							
							
							llvm-svn: 109538 
							
						 
						
							2010-07-27 20:51:15 +00:00  
				
					
						
							
							
								 
						
							
								498877d055 
								
							 
						 
						
							
							
								
								Use current working directory when Dirname is empty. This only happens when absolute source file path is used on compiler command line.  
							
							... 
							
							
							
							llvm-svn: 109302 
							
						 
						
							2010-07-24 00:53:22 +00:00  
				
					
						
							
							
								 
						
							
								28499f76c9 
								
							 
						 
						
							
							
								
								Revert r109262.  
							
							... 
							
							
							
							llvm-svn: 109285 
							
						 
						
							2010-07-23 23:04:41 +00:00  
				
					
						
							
							
								 
						
							
								3032354bbe 
								
							 
						 
						
							
							
								
								IF directory name is empty then try to extract one using absolute file name.  
							
							... 
							
							
							
							llvm-svn: 109262 
							
						 
						
							2010-07-23 20:36:13 +00:00  
				
					
						
							
							
								 
						
							
								965a73a28c 
								
							 
						 
						
							
							
								
								For ARM/Darwin, add a dwarf entry indicating whether a function is arm or thumb  
							
							... 
							
							
							
							rdar://8202967
llvm-svn: 109057 
							
						 
						
							2010-07-21 23:03:52 +00:00  
				
					
						
							
							
								 
						
							
								a8683bb033 
								
							 
						 
						
							
							
								
								80 column and trailing whitespace cleanup  
							
							... 
							
							
							
							llvm-svn: 109037 
							
						 
						
							2010-07-21 21:21:52 +00:00  
				
					
						
							
							
								 
						
							
								093cb79d4b 
								
							 
						 
						
							
							
								
								Disallow null as a named metadata operand.  
							
							... 
							
							
							
							Make MDNode::destroy private.
Fix the one thing that used MDNode::destroy, outside of MDNode itself.
One should never delete or destroy an MDNode explicitly. MDNodes
implicitly go away when there are no references to them (implementation
details aside).
llvm-svn: 109028 
							
						 
						
							2010-07-21 18:54:18 +00:00  
				
					
						
							
							
								 
						
							
								61475c5c3c 
								
							 
						 
						
							
							
								
								Correct line info for declarations/definitions.  Radar 8063111.  
							
							... 
							
							
							
							llvm-svn: 108784 
							
						 
						
							2010-07-19 23:56:30 +00:00  
				
					
						
							
							
								 
						
							
								18efced1a2 
								
							 
						 
						
							
							
								
								Fix PR 7662.  
							
							... 
							
							
							
							Do not try to insert local variable info to a DIE used for function declaration.
llvm-svn: 108731 
							
						 
						
							2010-07-19 17:53:55 +00:00  
				
					
						
							
							
								 
						
							
								419197cc4d 
								
							 
						 
						
							
							
								
								Target: Give the TargetAsmParser access to the TargetMachine.  
							
							... 
							
							
							
							- Unfortunate, but necessary for now to handle subtarget instruction matching. Eventually we should factor out the lower level target machine information so we don't need to do this.
llvm-svn: 108664 
							
						 
						
							2010-07-19 00:33:49 +00:00  
				
					
						
							
							
								 
						
							
								7f5bf5ae2a 
								
							 
						 
						
							
							
								
								MC: Move several clients to using AsmParser constructor function.  
							
							... 
							
							
							
							llvm-svn: 108645 
							
						 
						
							2010-07-18 18:31:33 +00:00  
				
					
						
							
							
								 
						
							
								ac67e99d53 
								
							 
						 
						
							
							
								
								Use isPrologLabel() instead of checking the opcode directly.  
							
							... 
							
							
							
							llvm-svn: 108628 
							
						 
						
							2010-07-17 19:18:44 +00:00  
				
					
						
							
							
								 
						
							
								bf8370ff36 
								
							 
						 
						
							
							
								
								Consider this function:  
							
							... 
							
							
							
							void foo() { __builtin_unreachable(); }
It will output the following on Darwin X86:
_func1:
Leh_func_begin0:
        pushq %rbp
Ltmp0:
        movq %rsp, %rbp
Ltmp1:
Leh_func_end0:
This prolog adds a new Call Frame Information (CFI) row to the FDE with an
address that is not within the address range of the code it describes -- part is
equal to the end of the function -- and therefore results in an invalid EH
frame. If we emit a nop in this situation, then the CFI row is now within the
address range.
llvm-svn: 108568 
							
						 
						
							2010-07-16 22:51:10 +00:00  
				
					
						
							
							
								 
						
							
								499f797cdd 
								
							 
						 
						
							
							
								
								Rename DBG_LABEL PROLOG_LABEL, because it's only used during prolog emission and  
							
							... 
							
							
							
							thus is a much more meaningful name.
llvm-svn: 108563 
							
						 
						
							2010-07-16 22:20:36 +00:00  
				
					
						
							
							
								 
						
							
								37c42a3d02 
								
							 
						 
						
							
							
								
								Remove many calls to TII::isMoveInstr. Targets should be producing COPY anyway.  
							
							... 
							
							
							
							TII::isMoveInstr is going tobe completely removed.
llvm-svn: 108507 
							
						 
						
							2010-07-16 04:45:42 +00:00  
				
					
						
							
							
								 
						
							
								28fd6785bc 
								
							 
						 
						
							
							
								
								a more graceful fix for test/Other/inline-asm-newline-terminator.ll,  
							
							... 
							
							
							
							follow on to r103765
llvm-svn: 108390 
							
						 
						
							2010-07-15 00:37:34 +00:00  
				
					
						
							
							
								 
						
							
								d08fb75aaa 
								
							 
						 
						
							
							
								
								Reverting r107918 and r107919.  Radar 8063111.  
							
							... 
							
							
							
							llvm-svn: 107930 
							
						 
						
							2010-07-08 23:25:39 +00:00  
				
					
						
							
							
								 
						
							
								4c6bd6612f 
								
							 
						 
						
							
							
								
								Relax assertion. In optimized code, it is possible that first instruction is coming from a inlined function.  
							
							... 
							
							
							
							This fixes PR7596 .
llvm-svn: 107923 
							
						 
						
							2010-07-08 22:39:20 +00:00  
				
					
						
							
							
								 
						
							
								43d226deea 
								
							 
						 
						
							
							
								
								Fix decl/def debug info for template functions.  Radar 8063111.  
							
							... 
							
							
							
							llvm-svn: 107919 
							
						 
						
							2010-07-08 22:28:59 +00:00  
				
					
						
							
							
								 
						
							
								9c160e1213 
								
							 
						 
						
							
							
								
								Reuse DIEInteger for 1. This is frequently used while emitting an attribute using dwarf::DW_FORM_flag form.  
							
							... 
							
							
							
							llvm-svn: 107903 
							
						 
						
							2010-07-08 20:10:35 +00:00  
				
					
						
							
							
								 
						
							
								a37a95ea2f 
								
							 
						 
						
							
							
								
								One MDNode may be used to create regular DIE as well as abstract DIE.  
							
							... 
							
							
							
							Keep track of abstract subprogram DIEs. 
llvm-svn: 107822 
							
						 
						
							2010-07-07 22:20:57 +00:00  
				
					
						
							
							
								 
						
							
								9a0339fc1f 
								
							 
						 
						
							
							
								
								Rename couple of maps.  
							
							... 
							
							
							
							llvm-svn: 107810 
							
						 
						
							2010-07-07 20:49:57 +00:00  
				
					
						
							
							
								 
						
							
								30265c4f8b 
								
							 
						 
						
							
							
								
								80 cols.  
							
							... 
							
							
							
							llvm-svn: 107807 
							
						 
						
							2010-07-07 20:12:52 +00:00  
				
					
						
							
							
								 
						
							
								4d887f7ca7 
								
							 
						 
						
							
							
								
								Propagate the AlignStack bit in InlineAsm's to the  
							
							... 
							
							
							
							PrologEpilog code, and use it to determine whether
the asm forces stack alignment or not.  gcc consistently
does not do this for GCC-style asms; Apple gcc inconsistently
sometimes does it for asm blocks.  There is no
convenient place to put a bit in either the SDNode or
the MachineInstr form, so I've added an extra operand
to each; unlovely, but it does allow for expansion for
more bits, should we need it.  PR 5125.  Some
existing testcases are affected.
The operand lists of the SDNode and MachineInstr forms
are indexed with awesome mnemonics, like "2"; I may
fix this someday, but not now.  I'm not making it any
worse.  If anyone is inspired I think you can find all
the right places from this patch.
llvm-svn: 107506 
							
						 
						
							2010-07-02 20:16:09 +00:00  
				
					
						
							
							
								 
						
							
								504055ce9e 
								
							 
						 
						
							
							
								
								Make the "linker_private" linkage type emit a non-weak symbol to the file. It  
							
							... 
							
							
							
							will still be stripped by the linker when it generates the final image.
llvm-svn: 107440 
							
						 
						
							2010-07-01 22:38:24 +00:00