Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								60ce558aaa 
								
							 
						 
						
							
							
								
								implement the 'c' inline asm modifier character  
							
							 
							
							... 
							
							
							
							llvm-svn: 31325 
							
						 
						
							2006-10-31 20:12:30 +00:00  
						
					 
				
					
						
							
							
								 
								Anton Korobeynikov
							
						 
						
							 
							
							
							
							
								
							
							
								aa4c0f9374 
								
							 
						 
						
							
							
								
								1. Clean up code due to changes in SwitchTo*Section(2)  
							
							 
							
							... 
							
							
							
							2. Added partial debug support for mingw\cygwin targets (the same as
   Linux\ELF). Please note, that currently mingw\cygwin uses 'stabs' format
   for storing debug info by default, thus many (runtime) libraries has
   this information included. These formats shouldn't be mixed in one binary
   ('stabs' & 'DWARF'), otherwise binutils tools will be confused.
llvm-svn: 31311 
							
						 
						
							2006-10-31 08:31:24 +00:00  
						
					 
				
					
						
							
							
								 
								Reid Spencer
							
						 
						
							 
							
							
							
							
								
							
							
								b51b5c0b1f 
								
							 
						 
						
							
							
								
								Add debug support for X86/ELF targets (Linux). This allows llvm-gcc4  
							
							 
							
							... 
							
							
							
							generated object modules to be debugged with gdb. Hopefully this helps
pre-release debugging.
llvm-svn: 31299 
							
						 
						
							2006-10-30 22:32:30 +00:00  
						
					 
				
					
						
							
							
								 
								Anton Korobeynikov
							
						 
						
							 
							
							
							
							
								
							
							
								24b7ac303c 
								
							 
						 
						
							
							
								
								Fixed mingw\cygwin linkonce linkage once again.  
							
							 
							
							... 
							
							
							
							Added workaround for linker bug with linkonce sections.
Changed sections prefix to allow linker merge them
(PE loader doesn't like too much long-named sections :) )
All of this unbreaks libstdc++ on mingw32 allowing (small)
programs to be compiled, linked and run.
llvm-svn: 31033 
							
						 
						
							2006-10-18 09:12:29 +00:00  
						
					 
				
					
						
							
							
								 
								Anton Korobeynikov
							
						 
						
							 
							
							
							
							
								
							
							
								75b01beb2f 
								
							 
						 
						
							
							
								
								Adding linkonce linkage codegeneration support for mingw32\cygwin  
							
							 
							
							... 
							
							
							
							targets.
llvm-svn: 31011 
							
						 
						
							2006-10-17 20:29:49 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a6a570e02f 
								
							 
						 
						
							
							
								
								Pass the MachineFunction into EmitJumpTableInfo.  
							
							 
							
							... 
							
							
							
							llvm-svn: 30742 
							
						 
						
							2006-10-05 03:01:21 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b82247b168 
								
							 
						 
						
							
							
								
								Implement getSectionForFunction, use it when printing function body.  
							
							 
							
							... 
							
							
							
							llvm-svn: 30737 
							
						 
						
							2006-10-05 02:43:52 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								104aa5dbc1 
								
							 
						 
						
							
							
								
								Various random and minor code cleanups.  
							
							 
							
							... 
							
							
							
							llvm-svn: 30608 
							
						 
						
							2006-09-26 03:57:53 +00:00  
						
					 
				
					
						
							
							
								 
								Anton Korobeynikov
							
						 
						
							 
							
							
							
							
								
							
							
								3c5b3df6a0 
								
							 
						 
						
							
							
								
								Adding codegeneration for StdCall & FastCall calling conventions  
							
							 
							
							... 
							
							
							
							llvm-svn: 30549 
							
						 
						
							2006-09-20 22:03:51 +00:00  
						
					 
				
					
						
							
							
								 
								Anton Korobeynikov
							
						 
						
							 
							
							
							
							
								
							
							
								6f7072c66a 
								
							 
						 
						
							
							
								
								Added some eye-candy for Subtarget type checking  
							
							 
							
							... 
							
							
							
							Added X86 StdCall & FastCall calling conventions. Codegen will follow.
llvm-svn: 30446 
							
						 
						
							2006-09-17 20:25:45 +00:00  
						
					 
				
					
						
							
							
								 
								Anton Korobeynikov
							
						 
						
							 
							
							
							
							
								
							
							
								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  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								11b0a5dbd4 
								
							 
						 
						
							
							
								
								Committing X86-64 support.  
							
							 
							
							... 
							
							
							
							llvm-svn: 30177 
							
						 
						
							2006-09-08 06:48:29 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Laskey
							
						 
						
							 
							
							
							
							
								
							
							
								261779bb45 
								
							 
						 
						
							
							
								
								Make target asm info a property of the target machine.  
							
							 
							
							... 
							
							
							
							llvm-svn: 30162 
							
						 
						
							2006-09-07 22:06:40 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Laskey
							
						 
						
							 
							
							
							
							
								
							
							
								a6211dcdad 
								
							 
						 
						
							
							
								
								Separate target specific asm properties from the asm printers.  
							
							 
							
							... 
							
							
							
							llvm-svn: 30126 
							
						 
						
							2006-09-06 18:34:40 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								6d464146d0 
								
							 
						 
						
							
							
								
								Minor asm fix.  
							
							 
							
							... 
							
							
							
							llvm-svn: 29965 
							
						 
						
							2006-08-29 22:14:48 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								00884b51c5 
								
							 
						 
						
							
							
								
								On Mac, print jump table entries after the function to work around a linker issue.  
							
							 
							
							... 
							
							
							
							llvm-svn: 29946 
							
						 
						
							2006-08-28 22:14:16 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Laskey
							
						 
						
							 
							
							
							
							
								
							
							
								3b4866e194 
								
							 
						 
						
							
							
								
								Use the predicate.  
							
							 
							
							... 
							
							
							
							llvm-svn: 29322 
							
						 
						
							2006-07-27 02:05:13 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								787565024a 
								
							 
						 
						
							
							
								
								Support jump tables when in PIC relocation model  
							
							 
							
							... 
							
							
							
							llvm-svn: 29318 
							
						 
						
							2006-07-27 01:13:04 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								9e56e5c003 
								
							 
						 
						
							
							
								
								Rename RelocModel::PIC to PIC_, to avoid conflicts with -DPIC.  
							
							 
							
							... 
							
							
							
							llvm-svn: 29307 
							
						 
						
							2006-07-26 21:12:04 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Laskey
							
						 
						
							 
							
							
							
							
								
							
							
								5ba7c23cdd 
								
							 
						 
						
							
							
								
								Bug#834 ICE (crash in code generator?) when building PCH .  
							
							 
							
							... 
							
							
							
							Missing Darwin check in Intel ATT ASM printer.
llvm-svn: 29204 
							
						 
						
							2006-07-19 11:54:50 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Laskey
							
						 
						
							 
							
							
							
							
								
							
							
								a7b2bd5997 
								
							 
						 
						
							
							
								
								Add and sort "sections" in debug lines.  This always stepping through  
							
							 
							
							... 
							
							
							
							code in sections other than ".text", including weak sections like ctors and
dtors.
llvm-svn: 28909 
							
						 
						
							2006-06-23 12:51:53 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Laskey
							
						 
						
							 
							
							
							
							
								
							
							
								f67bec0579 
								
							 
						 
						
							
							
								
								Place dwarf headers at earliest possible point.  Well behaved when skipping  
							
							 
							
							... 
							
							
							
							functions.
llvm-svn: 28781 
							
						 
						
							2006-06-14 11:35:03 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								cfaffdd335 
								
							 
						 
						
							
							
								
								Rename ASM modifier trunc8, trunc16 to subreg8, subreg16.  
							
							 
							
							... 
							
							
							
							llvm-svn: 28606 
							
						 
						
							2006-05-31 22:34:26 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								70145f2d5e 
								
							 
						 
						
							
							
								
								Remove a couple of bogus casts.  
							
							 
							
							... 
							
							
							
							llvm-svn: 28493 
							
						 
						
							2006-05-26 08:04:31 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								2554e3d9ba 
								
							 
						 
						
							
							
								
								X86 / Cygwin asm / alignment fixes.  
							
							 
							
							... 
							
							
							
							Patch contributed by Anton Korobeynikov!
llvm-svn: 28480 
							
						 
						
							2006-05-25 21:59:08 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								9fee442e63 
								
							 
						 
						
							
							
								
								X86 integer register classes naming changes. Make them consistent with FP, vector classes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 28324 
							
						 
						
							2006-05-16 07:21:53 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								d0201946ad 
								
							 
						 
						
							
							
								
								Fix the MASM asmprinter's lies.  It does not want to emit code to .text/.data  
							
							 
							
							... 
							
							
							
							it wants it emitted to _text/_data.
llvm-svn: 28185 
							
						 
						
							2006-05-09 05:12:53 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								8488ba2e41 
								
							 
						 
						
							
							
								
								Split SwitchSection into SwitchTo{Text|Data}Section methods.  
							
							 
							
							... 
							
							
							
							llvm-svn: 28184 
							
						 
						
							2006-05-09 04:59:56 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								9733bde74c 
								
							 
						 
						
							
							
								
								Fixing truncate. Previously we were emitting truncate from r16 to r8 as  
							
							 
							
							... 
							
							
							
							movw. That is we promote the destination operand to r16. So
        %CH = TRUNC_R16_R8 %BP
is emitted as
        movw %bp, %cx.
This is incorrect. If %cl is live, it would be clobbered.
Ideally we want to do the opposite, that is emitted it as
        movb ??, %ch
But this is not possible since %bp does not have a r8 sub-register.
We are now defining a new register class R16_ which is a subclass of R16
containing only those 16-bit registers that have r8 sub-registers (i.e.
AX - DX). We isel the truncate to two instructions, a MOV16to16_ to copy the
value to the R16_ class, followed by a TRUNC_R16_R8.
Due to bug 770, the register colaescer is not going to coalesce between R16 and
R16_. That will be fixed later so we can eliminate the MOV16to16_. Right now, it
can only be eliminated if we are lucky that source and destination registers are
the same.
llvm-svn: 28164 
							
						 
						
							2006-05-08 08:01:26 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								ddb6cc1d8e 
								
							 
						 
						
							
							
								
								Better implementation of truncate. ISel matches it to a pseudo instruction  
							
							 
							
							... 
							
							
							
							that gets emitted as movl (for r32 to i16, i8) or a movw (for r16 to i8). And
if the destination gets allocated a subregister of the source operand, then
the instruction will not be emitted at all.
llvm-svn: 28119 
							
						 
						
							2006-05-05 05:40:20 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								10b71c0d08 
								
							 
						 
						
							
							
								
								Rename MO_VirtualRegister -> MO_Register.  Clean up immediate handling.  
							
							 
							
							... 
							
							
							
							llvm-svn: 28104 
							
						 
						
							2006-05-04 18:05:43 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								fef7a2d0f5 
								
							 
						 
						
							
							
								
								There shalt be only one "immediate" operand type!  
							
							 
							
							... 
							
							
							
							llvm-svn: 28099 
							
						 
						
							2006-05-04 17:21:20 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								940cc978ef 
								
							 
						 
						
							
							
								
								Remove a bunch more SparcV9 specific stuff  
							
							 
							
							... 
							
							
							
							llvm-svn: 28093 
							
						 
						
							2006-05-04 01:15:02 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								9f6639b64d 
								
							 
						 
						
							
							
								
								Remove some more unused stuff from MachineInstr that was leftover from V9.  
							
							 
							
							... 
							
							
							
							llvm-svn: 28091 
							
						 
						
							2006-05-04 00:44:25 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								b9d4f8324d 
								
							 
						 
						
							
							
								
								Extend printBasicBlockLabel a bit so that it can be used to print all  
							
							 
							
							... 
							
							
							
							basic block labels, consolidating the code to do so in one place for each
target.
llvm-svn: 28050 
							
						 
						
							2006-05-02 05:37:32 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								d369603df9 
								
							 
						 
						
							
							
								
								I can't spell: Register, not Regsiter.  
							
							 
							
							... 
							
							
							
							llvm-svn: 28021 
							
						 
						
							2006-04-28 23:19:39 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								b244b80172 
								
							 
						 
						
							
							
								
								Implemented x86 inline asm b, h, w, k modifiers.  
							
							 
							
							... 
							
							
							
							llvm-svn: 28020 
							
						 
						
							2006-04-28 23:11:40 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								68a44dc445 
								
							 
						 
						
							
							
								
								Bare-bone X86 inline asm printer support.  
							
							 
							
							... 
							
							
							
							llvm-svn: 28014 
							
						 
						
							2006-04-28 21:19:05 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								4ca2ea5b43 
								
							 
						 
						
							
							
								
								JumpTable support!  What this represents is working asm and jit support for  
							
							 
							
							... 
							
							
							
							x86 and ppc for 100% dense switch statements when relocations are non-PIC.
This support will be extended and enhanced in the coming days to support
PIC, and less dense forms of jump tables.
llvm-svn: 27947 
							
						 
						
							2006-04-22 18:53:45 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Laskey
							
						 
						
							 
							
							
							
							
								
							
							
								c0d6518f27 
								
							 
						 
						
							
							
								
								Make sure that debug labels are defined within the same section and after the  
							
							 
							
							... 
							
							
							
							entry point of a function.
llvm-svn: 27494 
							
						 
						
							2006-04-07 20:44:42 +00:00  
						
					 
				
					
						
							
							
								 
								Jim Laskey
							
						 
						
							 
							
							
							
							
								
							
							
								cf0166fbeb 
								
							 
						 
						
							
							
								
								Change interface to DwarfWriter.  
							
							 
							
							... 
							
							
							
							llvm-svn: 26991 
							
						 
						
							2006-03-23 18:09:44 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								2dd2c652b2 
								
							 
						 
						
							
							
								
								Added getTargetLowering() to TargetMachine. Refactored targets to support this.  
							
							 
							
							... 
							
							
							
							llvm-svn: 26742 
							
						 
						
							2006-03-13 23:20:37 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								a4a4ceb478 
								
							 
						 
						
							
							
								
								- Emit subsections_via_symbols for Darwin.  
							
							 
							
							... 
							
							
							
							- Conditionalize Dwarf debugging output (Darwin only for now).
llvm-svn: 26582 
							
						 
						
							2006-03-07 02:23:26 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								30d7b70b73 
								
							 
						 
						
							
							
								
								Enable Dwarf debugging info.  
							
							 
							
							... 
							
							
							
							llvm-svn: 26581 
							
						 
						
							2006-03-07 02:02:57 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								75b8783aaf 
								
							 
						 
						
							
							
								
								Fixed ConstantPoolIndex operand asm print bug. This fixed 2005-07-17-INT-To-FP  
							
							 
							
							... 
							
							
							
							and 2005-05-12-Int64ToFP.
llvm-svn: 26380 
							
						 
						
							2006-02-26 08:28:12 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								ed169db8a5 
								
							 
						 
						
							
							
								
								Added an offset field to ConstantPoolSDNode.  
							
							 
							
							... 
							
							
							
							llvm-svn: 26371 
							
						 
						
							2006-02-25 09:54:52 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								1f342c2884 
								
							 
						 
						
							
							
								
								PIC related bug fixes.  
							
							 
							
							... 
							
							
							
							1. Various asm printer bug.
2. Lowering bug. Now TargetGlobalAddress is wrapped in X86ISD::TGAWrapper.
llvm-svn: 26324 
							
						 
						
							2006-02-23 02:43:52 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								7714a59d91 
								
							 
						 
						
							
							
								
								Missing .globl for weak / link-once .text symbols.  
							
							 
							
							... 
							
							
							
							llvm-svn: 26321 
							
						 
						
							2006-02-22 23:59:57 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								73136dfecc 
								
							 
						 
						
							
							
								
								- Added option -relocation-model to set relocation model. Valid values include static, pic,  
							
							 
							
							... 
							
							
							
							dynamic-no-pic, and default.
PPC and x86 default is dynamic-no-pic for Darwin, pic for others.
- Removed options -enable-pic and -ppc-static.
llvm-svn: 26315 
							
						 
						
							2006-02-22 20:19:42 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								5588de9415 
								
							 
						 
						
							
							
								
								x86 / Darwin PIC support.  
							
							 
							
							... 
							
							
							
							llvm-svn: 26273 
							
						 
						
							2006-02-18 00:15:05 +00:00