f3baad3ee1 
								
							 
						 
						
							
							
								
								Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, are  
							
							... 
							
							
							
							now cerr, cout, and NullStream resp.
llvm-svn: 32298 
							
						 
						
							2006-12-07 01:30:32 +00:00  
				
					
						
							
							
								 
						
							
								12c94949e0 
								
							 
						 
						
							
							
								
								Introducing external weak linkage. Darwin codegen should be added later.  
							
							... 
							
							
							
							llvm-svn: 32052 
							
						 
						
							2006-12-01 00:25:12 +00:00  
				
					
						
							
							
								 
						
							
								7339b8dbfd 
								
							 
						 
						
							
							
								
								Removed #include <iostream> and replaced with llvm_* streams.  
							
							... 
							
							
							
							llvm-svn: 31936 
							
						 
						
							2006-11-27 10:09:12 +00:00  
				
					
						
							
							
								 
						
							
								1b9633d7f0 
								
							 
						 
						
							
							
								
								silence warnings  
							
							... 
							
							
							
							llvm-svn: 31587 
							
						 
						
							2006-11-09 05:18:12 +00:00  
				
					
						
							
							
								 
						
							
								d61d39ec53 
								
							 
						 
						
							
							
								
								Adding dllimport, dllexport and external weak linkage types.  
							
							... 
							
							
							
							DLL* linkages got full (I hope) codegeneration support in C & both x86
assembler backends.
External weak linkage added for future use, we don't provide any
codegeneration, etc. support for it.
llvm-svn: 30374 
							
						 
						
							2006-09-14 18:23:27 +00:00  
				
					
						
							
							
								 
						
							
								19247f36ea 
								
							 
						 
						
							
							
								
								eliminate some ugly code, using ConstantExpr::getWithOperands instead.  
							
							... 
							
							
							
							llvm-svn: 29149 
							
						 
						
							2006-07-14 22:21:31 +00:00  
				
					
						
							
							
								 
						
							
								44ab8aefa6 
								
							 
						 
						
							
							
								
								Fix Regression/Linker/2006-06-15-GlobalVarAnment.ll  
							
							... 
							
							
							
							llvm-svn: 28812 
							
						 
						
							2006-06-16 01:24:04 +00:00  
				
					
						
							
							
								 
						
							
								c774592641 
								
							 
						 
						
							
							
								
								Fix linking of inline asm objects.  
							
							... 
							
							
							
							llvm-svn: 28640 
							
						 
						
							2006-06-01 19:14:22 +00:00  
				
					
						
							
							
								 
						
							
								0197e454d1 
								
							 
						 
						
							
							
								
								Add shufflevector support  
							
							... 
							
							
							
							llvm-svn: 27515 
							
						 
						
							2006-04-08 01:19:47 +00:00  
				
					
						
							
							
								 
						
							
								5c349b8b7d 
								
							 
						 
						
							
							
								
								Add code to RemapOperand() to handle Instruction::ExtractElement and  
							
							... 
							
							
							
							Instruction::InsertElement.
llvm-svn: 27477 
							
						 
						
							2006-04-07 01:27:42 +00:00  
				
					
						
							
							
								 
						
							
								8ebd2164eb 
								
							 
						 
						
							
							
								
								Rename method  
							
							... 
							
							
							
							llvm-svn: 25571 
							
						 
						
							2006-01-24 04:14:29 +00:00  
				
					
						
							
							
								 
						
							
								dd2d3faf19 
								
							 
						 
						
							
							
								
								Add support for linking inline asm  
							
							... 
							
							
							
							llvm-svn: 25560 
							
						 
						
							2006-01-23 23:08:37 +00:00  
				
					
						
							
							
								 
						
							
								93bde9cbf7 
								
							 
						 
						
							
							
								
								add support for ConstantPacked to the linker  
							
							... 
							
							
							
							llvm-svn: 25467 
							
						 
						
							2006-01-19 23:15:58 +00:00  
				
					
						
							
							
								 
						
							
								d490d4f023 
								
							 
						 
						
							
							
								
								Fix test/Regression/Linker/2005-12-06-AppendingZeroLengthArrays.ll and  
							
							... 
							
							
							
							PR662.  Thanks to Markus for providing me with a ton of files to
reproduce the problem!
llvm-svn: 24619 
							
						 
						
							2005-12-06 17:30:58 +00:00  
				
					
						
							
							
								 
						
							
								c9c0473fa5 
								
							 
						 
						
							
							
								
								For PR495:  
							
							... 
							
							
							
							Get rid of the difference between file paths and directory paths. The Path
class now simply stores a path that can refer to either a file or a
directory. This required various changes in the implementation and interface
of the class with the corresponding impact to its users. Doxygen comments were
also updated to reflect these changes. Interface changes are:
appendDirectory -> appendComponent
appendFile -> appendComponent
elideDirectory -> eraseComponent
elideFile -> eraseComponent
elideSuffix -> eraseSuffix
renameFile -> rename
setDirectory -> set
setFile -> set
Changes pass Dejagnu and llvm-test/SingleSource tests.
llvm-svn: 22349 
							
						 
						
							2005-07-07 23:21:43 +00:00  
				
					
						
							
							
								 
						
							
								e251b5ca89 
								
							 
						 
						
							
							
								
								Preserve CC's when linking modules  
							
							... 
							
							
							
							llvm-svn: 21799 
							
						 
						
							2005-05-09 01:09:39 +00:00  
				
					
						
							
							
								 
						
							
								10468d8a3c 
								
							 
						 
						
							
							
								
								Remove trailing whitespace  
							
							... 
							
							
							
							llvm-svn: 21422 
							
						 
						
							2005-04-21 22:55:34 +00:00  
				
					
						
							
							
								 
						
							
								531f9e92d4 
								
							 
						 
						
							
							
								
								This mega patch converts us from using Function::a{iterator|begin|end} to  
							
							... 
							
							
							
							using Function::arg_{iterator|begin|end}.  Likewise Module::g* -> Module::global_*.
This patch is contributed by Gabor Greif, thanks!
llvm-svn: 20597 
							
						 
						
							2005-03-15 04:54:21 +00:00  
				
					
						
							
							
								 
						
							
								fe723a7c05 
								
							 
						 
						
							
							
								
								Eliminate silly warnings from the linker of the form:  
							
							... 
							
							
							
							WARNING: Type conflict between types named 'union.._604.'.
    Src=' %union.._604.'.
   Dest=' %union.._604.'
llvm-svn: 20252 
							
						 
						
							2005-02-19 17:52:37 +00:00  
				
					
						
							
							
								 
						
							
								16277c1775 
								
							 
						 
						
							
							
								
								Allow globals to be of different const'nesses when we link.  
							
							... 
							
							
							
							This finally resolves PR502, PR450,
and test/Regression/Linker/2005-02-12-ConstantGlobals{,-2}.ll correctly
llvm-svn: 20135 
							
						 
						
							2005-02-12 19:20:28 +00:00  
				
					
						
							
							
								 
						
							
								c4e3153455 
								
							 
						 
						
							
							
								
								Make LinkModules a static member function  
							
							... 
							
							
							
							llvm-svn: 18859 
							
						 
						
							2004-12-13 03:00:16 +00:00  
				
					
						
							
							
								 
						
							
								b7f5916e01 
								
							 
						 
						
							
							
								
								Make sure to link the target-triple as well, so it ends up in the .llvm.bc file  
							
							... 
							
							
							
							llvm-svn: 18774 
							
						 
						
							2004-12-10 20:26:15 +00:00  
				
					
						
							
							
								 
						
							
								db38fe94ae 
								
							 
						 
						
							
							
								
								Revert this disgusting hack, John has a much nicer solution  
							
							... 
							
							
							
							llvm-svn: 18611 
							
						 
						
							2004-12-08 03:31:14 +00:00  
				
					
						
							
							
								 
						
							
								79a993ea0d 
								
							 
						 
						
							
							
								
								Add a disgusting hack to work around a libstdc++ issue.  This code should  
							
							... 
							
							
							
							be removed when PR400 is resolved.
llvm-svn: 18610 
							
						 
						
							2004-12-08 03:28:51 +00:00  
				
					
						
							
							
								 
						
							
								a57c105687 
								
							 
						 
						
							
							
								
								Fix linkage of mismatched weak globals.  This unbreaks 300.twolf  
							
							... 
							
							
							
							llvm-svn: 18494 
							
						 
						
							2004-12-04 18:54:48 +00:00  
				
					
						
							
							
								 
						
							
								fc61de3902 
								
							 
						 
						
							
							
								
								Significantly rework linker support for global variables, allowing it to  
							
							... 
							
							
							
							correctly link globals whose LLVM types do not match.
This fixes several of the F2C SPEC FP benchmarks, which were failing this
due to the implementation of common blocks used by f2c.
llvm-svn: 18465 
							
						 
						
							2004-12-03 22:18:41 +00:00  
				
					
						
							
							
								 
						
							
								2c4f9a484c 
								
							 
						 
						
							
							
								
								Remove blank comment lines for uniformity.  
							
							... 
							
							
							
							Make sure lines don't exceed 80 cols.
llvm-svn: 18242 
							
						 
						
							2004-11-25 09:29:44 +00:00  
				
					
						
							
							
								 
						
							
								f27514df9d 
								
							 
						 
						
							
							
								
								Don't increment a dead iterator  
							
							... 
							
							
							
							llvm-svn: 17904 
							
						 
						
							2004-11-16 19:04:40 +00:00  
				
					
						
							
							
								 
						
							
								7391dde138 
								
							 
						 
						
							
							
								
								Simplify the remapper by only needing one map, since the body of the functions  
							
							... 
							
							
							
							being linked do not need to be remapped any longer.
llvm-svn: 17900 
							
						 
						
							2004-11-16 17:12:38 +00:00  
				
					
						
							
							
								 
						
							
								2f0557d0e4 
								
							 
						 
						
							
							
								
								Take advantage of the fact that we are allowed to clobber the input module  
							
							... 
							
							
							
							by splicing function bodies from the src module to the destination module.
This speeds up linking quite a bit, e.g. gccld time on 176.gcc from 26s -> 20s
when forming the .rbc file, with a profile build.  One of the really strange
but cool effects of this patch is that it speeds up the optimizers as well,
from 12s -> 10.7s, presumably because of better locality???
In any case, this is just a first step.  We can trivially get rid of the
LocalMap now and do other simplifications.
llvm-svn: 17893 
							
						 
						
							2004-11-16 07:31:51 +00:00  
				
					
						
							
							
								 
						
							
								f2e808449d 
								
							 
						 
						
							
							
								
								The second arg may be clobbered by this function  
							
							... 
							
							
							
							llvm-svn: 17880 
							
						 
						
							2004-11-16 06:41:36 +00:00  
				
					
						
							
							
								 
						
							
								9b0ddbbe2c 
								
							 
						 
						
							
							
								
								Linker.h moved to include/llvm from include/llvm/Support.  
							
							... 
							
							
							
							llvm-svn: 17807 
							
						 
						
							2004-11-14 23:27:04 +00:00  
				
					
						
							
							
								 
						
							
								361e513db0 
								
							 
						 
						
							
							
								
								This file originated in lib/VMCore/Linker.cpp but now lives in  
							
							... 
							
							
							
							lib/Linker/LinkModules.cpp
llvm-svn: 17694 
							
						 
						
							2004-11-12 20:37:43 +00:00