aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/X86/X86IntelAsmPrinter.cpp
Commit message (Collapse)AuthorAgeFilesLines
* For PR786:Reid Spencer2006-11-021-1/+0
| | | | | | | | | | | Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting fall out by removing unused variables. Remaining warnings have to do with unused functions (I didn't want to delete code without review) and unused variables in generated code. Maintainers should clean up the remaining issues when they see them. All changes pass DejaGnu tests and Olden. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31380 91177308-0d34-0410-b5e6-96231b3b80d8
* 1. Clean up code due to changes in SwitchTo*Section(2)Anton Korobeynikov2006-10-311-4/+4
| | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31311 91177308-0d34-0410-b5e6-96231b3b80d8
* Move getPreferredAlignmentLog from AsmPrinter to TargetDataDevang Patel2006-10-241-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31171 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR950:Reid Spencer2006-10-201-1/+1
| | | | | | | | | This patch implements the first increment for the Signless Types feature. All changes pertain to removing the ConstantSInt and ConstantUInt classes in favor of just using ConstantInt. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31063 91177308-0d34-0410-b5e6-96231b3b80d8
* Pass the MachineFunction into EmitJumpTableInfo.Chris Lattner2006-10-051-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30742 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement getSectionForFunction, use it when printing function body.Chris Lattner2006-10-051-2/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30737 91177308-0d34-0410-b5e6-96231b3b80d8
* Various random and minor code cleanups.Chris Lattner2006-09-261-4/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30608 91177308-0d34-0410-b5e6-96231b3b80d8
* Adding codegeneration for StdCall & FastCall calling conventionsAnton Korobeynikov2006-09-201-6/+35
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30549 91177308-0d34-0410-b5e6-96231b3b80d8
* Adding dllimport, dllexport and external weak linkage types.Anton Korobeynikov2006-09-141-4/+55
| | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30374 91177308-0d34-0410-b5e6-96231b3b80d8
* Committing X86-64 support.Evan Cheng2006-09-081-9/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30177 91177308-0d34-0410-b5e6-96231b3b80d8
* Make target asm info a property of the target machine.Jim Laskey2006-09-071-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30162 91177308-0d34-0410-b5e6-96231b3b80d8
* Separate target specific asm properties from the asm printers.Jim Laskey2006-09-061-32/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30126 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename ASM modifier trunc8, trunc16 to subreg8, subreg16.Evan Cheng2006-05-311-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28606 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove a couple of bogus casts.Evan Cheng2006-05-261-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28493 91177308-0d34-0410-b5e6-96231b3b80d8
* X86 integer register classes naming changes. Make them consistent with FP, ↵Evan Cheng2006-05-161-4/+4
| | | | | | vector classes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28324 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement MASM sections correctly, without a "has masm sections flag" and a ↵Chris Lattner2006-05-091-1/+3
| | | | | | bunch of special case code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28194 91177308-0d34-0410-b5e6-96231b3b80d8
* MASM doesn't have one of these.Chris Lattner2006-05-091-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28190 91177308-0d34-0410-b5e6-96231b3b80d8
* Preserve prior behaviorChris Lattner2006-05-091-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28187 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the MASM asmprinter's lies. It does not want to emit code to .text/.dataChris Lattner2006-05-091-3/+7
| | | | | | | it wants it emitted to _text/_data. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28185 91177308-0d34-0410-b5e6-96231b3b80d8
* Split SwitchSection into SwitchTo{Text|Data}Section methods.Chris Lattner2006-05-091-5/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28184 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixing truncate. Previously we were emitting truncate from r16 to r8 asEvan Cheng2006-05-081-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28164 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix some loose ends in MASM support.Jeff Cohen2006-05-061-60/+69
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28148 91177308-0d34-0410-b5e6-96231b3b80d8
* Better implementation of truncate. ISel matches it to a pseudo instructionEvan Cheng2006-05-051-101/+34
| | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28119 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename MO_VirtualRegister -> MO_Register. Clean up immediate handling.Chris Lattner2006-05-041-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28104 91177308-0d34-0410-b5e6-96231b3b80d8
* There shalt be only one "immediate" operand type!Chris Lattner2006-05-041-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28099 91177308-0d34-0410-b5e6-96231b3b80d8
* Make external globals public; other minor cleanup.Jeff Cohen2006-05-041-15/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28096 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove a bunch more SparcV9 specific stuffChris Lattner2006-05-041-6/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28093 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove some more unused stuff from MachineInstr that was leftover from V9.Chris Lattner2006-05-041-4/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28091 91177308-0d34-0410-b5e6-96231b3b80d8
* Extend printBasicBlockLabel a bit so that it can be used to print allNate Begeman2006-05-021-4/+4
| | | | | | | | basic block labels, consolidating the code to do so in one place for each target. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28050 91177308-0d34-0410-b5e6-96231b3b80d8
* De-virtualize SwitchSection.Jeff Cohen2006-05-021-26/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28047 91177308-0d34-0410-b5e6-96231b3b80d8
* De-virtualize EmitZeroes.Jeff Cohen2006-05-021-7/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28046 91177308-0d34-0410-b5e6-96231b3b80d8
* Finish support for Microsoft ML/MASM. May still be a few rough edges.Jeff Cohen2006-05-021-3/+48
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28045 91177308-0d34-0410-b5e6-96231b3b80d8
* Make Intel syntax mode friendlier to Microsoft ML assembler (still needs ↵Jeff Cohen2006-05-021-14/+92
| | | | | | more work). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28044 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove %'s from register names when in intel mode.Chris Lattner2006-05-011-4/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28027 91177308-0d34-0410-b5e6-96231b3b80d8
* I can't spell: Register, not Regsiter.Evan Cheng2006-04-281-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28021 91177308-0d34-0410-b5e6-96231b3b80d8
* Implemented x86 inline asm b, h, w, k modifiers.Evan Cheng2006-04-281-0/+122
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28020 91177308-0d34-0410-b5e6-96231b3b80d8
* Bare-bone X86 inline asm printer support.Evan Cheng2006-04-281-0/+28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28014 91177308-0d34-0410-b5e6-96231b3b80d8
* JumpTable support! What this represents is working asm and jit support forNate Begeman2006-04-221-7/+2
| | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27947 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure that debug labels are defined within the same section and after theJim Laskey2006-04-071-5/+5
| | | | | | | entry point of a function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27494 91177308-0d34-0410-b5e6-96231b3b80d8
* Change interface to DwarfWriter.Jim Laskey2006-03-231-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26991 91177308-0d34-0410-b5e6-96231b3b80d8
* Added getTargetLowering() to TargetMachine. Refactored targets to support this.Evan Cheng2006-03-131-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26742 91177308-0d34-0410-b5e6-96231b3b80d8
* - Emit subsections_via_symbols for Darwin.Evan Cheng2006-03-071-7/+13
| | | | | | | - Conditionalize Dwarf debugging output (Darwin only for now). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26582 91177308-0d34-0410-b5e6-96231b3b80d8
* Enable Dwarf debugging info.Evan Cheng2006-03-071-0/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26581 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed ConstantPoolIndex operand asm print bug. This fixed 2005-07-17-INT-To-FPEvan Cheng2006-02-261-10/+16
| | | | | | | and 2005-05-12-Int64ToFP. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26380 91177308-0d34-0410-b5e6-96231b3b80d8
* Added an offset field to ConstantPoolSDNode.Evan Cheng2006-02-251-17/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26371 91177308-0d34-0410-b5e6-96231b3b80d8
* PIC related bug fixes.Evan Cheng2006-02-231-2/+2
| | | | | | | | 1. Various asm printer bug. 2. Lowering bug. Now TargetGlobalAddress is wrapped in X86ISD::TGAWrapper. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26324 91177308-0d34-0410-b5e6-96231b3b80d8
* - Added option -relocation-model to set relocation model. Valid values ↵Evan Cheng2006-02-221-6/+7
| | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26315 91177308-0d34-0410-b5e6-96231b3b80d8
* x86 / Darwin PIC support.Evan Cheng2006-02-181-4/+43
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26273 91177308-0d34-0410-b5e6-96231b3b80d8
* Darwin ABI issues: weak, linkonce, etc. dynamic-no-pic support is complete.Evan Cheng2006-02-071-3/+3
| | | | | | | | Also fixed a function stub bug. Added weak and linkonce support for x86 Linux. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26038 91177308-0d34-0410-b5e6-96231b3b80d8
* Eliminate the printCallOperand method, using a 'call' modifier onChris Lattner2006-02-061-5/+5
| | | | | | | printOperand instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@26025 91177308-0d34-0410-b5e6-96231b3b80d8