summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86IntelAsmPrinter.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* MASM doesn't have one of these.Chris Lattner2006-05-091-0/+1
| | | | llvm-svn: 28190
* Preserve prior behaviorChris Lattner2006-05-091-2/+1
| | | | llvm-svn: 28187
* 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. llvm-svn: 28185
* Split SwitchSection into SwitchTo{Text|Data}Section methods.Chris Lattner2006-05-091-5/+5
| | | | llvm-svn: 28184
* 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. llvm-svn: 28164
* Fix some loose ends in MASM support.Jeff Cohen2006-05-061-60/+69
| | | | llvm-svn: 28148
* 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. llvm-svn: 28119
* Rename MO_VirtualRegister -> MO_Register. Clean up immediate handling.Chris Lattner2006-05-041-1/+1
| | | | llvm-svn: 28104
* There shalt be only one "immediate" operand type!Chris Lattner2006-05-041-2/+1
| | | | llvm-svn: 28099
* Make external globals public; other minor cleanup.Jeff Cohen2006-05-041-15/+17
| | | | llvm-svn: 28096
* Remove a bunch more SparcV9 specific stuffChris Lattner2006-05-041-6/+0
| | | | llvm-svn: 28093
* Remove some more unused stuff from MachineInstr that was leftover from V9.Chris Lattner2006-05-041-4/+0
| | | | llvm-svn: 28091
* 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. llvm-svn: 28050
* De-virtualize SwitchSection.Jeff Cohen2006-05-021-26/+2
| | | | llvm-svn: 28047
* De-virtualize EmitZeroes.Jeff Cohen2006-05-021-7/+2
| | | | llvm-svn: 28046
* Finish support for Microsoft ML/MASM. May still be a few rough edges.Jeff Cohen2006-05-021-3/+48
| | | | llvm-svn: 28045
* Make Intel syntax mode friendlier to Microsoft ML assembler (still needs ↵Jeff Cohen2006-05-021-14/+92
| | | | | | more work). llvm-svn: 28044
* Remove %'s from register names when in intel mode.Chris Lattner2006-05-011-4/+3
| | | | llvm-svn: 28027
* I can't spell: Register, not Regsiter.Evan Cheng2006-04-281-2/+2
| | | | llvm-svn: 28021
* Implemented x86 inline asm b, h, w, k modifiers.Evan Cheng2006-04-281-0/+122
| | | | llvm-svn: 28020
* Bare-bone X86 inline asm printer support.Evan Cheng2006-04-281-0/+28
| | | | llvm-svn: 28014
* 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. llvm-svn: 27947
* Make sure that debug labels are defined within the same section and after theJim Laskey2006-04-071-5/+5
| | | | | | entry point of a function. llvm-svn: 27494
* Change interface to DwarfWriter.Jim Laskey2006-03-231-2/+2
| | | | llvm-svn: 26991
* Added getTargetLowering() to TargetMachine. Refactored targets to support this.Evan Cheng2006-03-131-1/+0
| | | | llvm-svn: 26742
* - Emit subsections_via_symbols for Darwin.Evan Cheng2006-03-071-7/+13
| | | | | | - Conditionalize Dwarf debugging output (Darwin only for now). llvm-svn: 26582
* Enable Dwarf debugging info.Evan Cheng2006-03-071-0/+10
| | | | llvm-svn: 26581
* Fixed ConstantPoolIndex operand asm print bug. This fixed 2005-07-17-INT-To-FPEvan Cheng2006-02-261-10/+16
| | | | | | and 2005-05-12-Int64ToFP. llvm-svn: 26380
* Added an offset field to ConstantPoolSDNode.Evan Cheng2006-02-251-17/+9
| | | | llvm-svn: 26371
* 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. llvm-svn: 26324
* - 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. llvm-svn: 26315
* x86 / Darwin PIC support.Evan Cheng2006-02-181-4/+43
| | | | llvm-svn: 26273
* 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. llvm-svn: 26038
* Eliminate the printCallOperand method, using a 'call' modifier onChris Lattner2006-02-061-5/+5
| | | | | | printOperand instead. llvm-svn: 26025
* Add explicit #includes of <iostream>Chris Lattner2006-01-221-1/+1
| | | | llvm-svn: 25515
* No longer track value types for asm printer operands, and remove them asNate Begeman2005-11-301-2/+1
| | | | | | | an argument to every operand printing function. Requires some slight tweaks to x86, the only user. llvm-svn: 24541
* Fixed a minor bug: - -offset != offset iff offset == MININTEvan Cheng2005-11-301-1/+1
| | | | llvm-svn: 24522
* Use HasDotTypeDotSizeDirective instead of forELFChris Lattner2005-11-211-1/+1
| | | | llvm-svn: 24481
* Add a forELF flag, allowing the removal of forCygwin and simplification ofChris Lattner2005-11-211-1/+1
| | | | | | conditionals. llvm-svn: 24475
* Switch to using the shared constant pool printer, along with using shorterChris Lattner2005-11-211-2/+2
| | | | | | CPI ids llvm-svn: 24467
* Adjust to capitalized AsmPrinter method namesChris Lattner2005-11-211-2/+2
| | | | llvm-svn: 24456
* Use PrivateGlobalPrefix for basic block labels. This allows the x86 darwinChris Lattner2005-11-211-2/+4
| | | | | | port to properly use L for the bb prefix instead of . llvm-svn: 24454
* convert the rest of this over to use SwitchSectionChris Lattner2005-11-211-1/+1
| | | | llvm-svn: 24448
* Naturally align doubles in the constant pool, set PrivateGlobalPrefix onChris Lattner2005-11-211-1/+1
| | | | | | | | | darwin, use it when printing the constant pool indices so the labels are appropriately private, emit cp entries to .const instead of .data on darwin and only emit a single .section for the constant pool, not one for each entry. llvm-svn: 24440
* Add support for printing the sse scalar comparison instruction mnemonics.Nate Begeman2005-07-141-0/+16
| | | | llvm-svn: 22440
* Percolate the call up to the right superclassChris Lattner2005-07-031-1/+1
| | | | llvm-svn: 22330
* Refactor X86AsmPrinter.cpp into multiple files. Patch contributedChris Lattner2005-07-011-0/+205
by Aaron Gray, cleaned up by me. llvm-svn: 22324
OpenPOWER on IntegriCloud