summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix some loose ends in MASM support.Jeff Cohen2006-05-061-5/+5
| | | | llvm-svn: 28148
* Indent multiline asm strings more nicelyChris Lattner2006-05-051-5/+9
| | | | llvm-svn: 28132
* Refactor TargetMachine, pushing handling of TargetData into the ↵Owen Anderson2006-05-031-16/+16
| | | | | | | | target-specific subclasses. This has one caller-visible change: getTargetData() now returns a pointer instead of a reference. This fixes PR 759. llvm-svn: 28074
* Print function number instead of nameNate Begeman2006-05-021-3/+2
| | | | llvm-svn: 28057
* Extend printBasicBlockLabel a bit so that it can be used to print allNate Begeman2006-05-021-3/+8
| | | | | | | 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-10/+42
| | | | llvm-svn: 28047
* De-virtualize EmitZeroes.Jeff Cohen2006-05-021-3/+7
| | | | llvm-svn: 28046
* Make Intel syntax mode friendlier to Microsoft ML assembler (still needs ↵Jeff Cohen2006-05-021-10/+16
| | | | | | more work). llvm-svn: 28044
* Format #APP lines a bit nicerChris Lattner2006-05-011-2/+2
| | | | llvm-svn: 28026
* JumpTable support! What this represents is working asm and jit support forNate Begeman2006-04-221-0/+38
| | | | | | | | 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
* Use "llvm.metadata" section for debug globals. Filter out these globals in theJim Laskey2006-03-071-2/+6
| | | | | | asm printer. llvm-svn: 26599
* Move #include "llvm/CodeGen/AsmPrinter.h" to top since it's the interface.Evan Cheng2006-03-031-1/+1
| | | | llvm-svn: 26493
* Don't print llvm constant in assmebly file. Assembler won't like comments thatEvan Cheng2006-03-011-1/+3
| | | | | | span multiple lines. llvm-svn: 26463
* Use the PrintAsmMemoryOperand to print addressing modes.Chris Lattner2006-02-241-4/+19
| | | | llvm-svn: 26364
* Pass all the flags to the asm printer, not just the # operands.Chris Lattner2006-02-241-2/+4
| | | | llvm-svn: 26362
* Record all of the expanded registers in the DAG and machine instr, fixingChris Lattner2006-02-231-5/+12
| | | | | | several bugs in inline asm expanded operands. llvm-svn: 26332
* Adjust to MachineConstantPool interface change: instead of keeping aChris Lattner2006-02-091-1/+7
| | | | | | value/alignment pair for each constant, keep a value/offset pair. llvm-svn: 26078
* rename fields of constant pool entriesChris Lattner2006-02-091-4/+4
| | | | llvm-svn: 26076
* Simplify code, alignment must be specified now.Chris Lattner2006-02-091-10/+1
| | | | llvm-svn: 26074
* Add support for assembler directives that wrap inline asmChris Lattner2006-02-081-1/+4
| | | | llvm-svn: 26065
* Add support for modifier characters to operand printersChris Lattner2006-02-061-2/+21
| | | | llvm-svn: 26021
* make sure that global doubles are aligned to 8 bytesChris Lattner2006-02-051-5/+10
| | | | llvm-svn: 25981
* Implement the AsmPrinter::getPreferredAlignmentLog method.Chris Lattner2006-02-051-0/+16
| | | | llvm-svn: 25978
* Implement smart printing of inline asm strings, handling variants andChris Lattner2006-02-011-5/+112
| | | | | | | | | | | | | | | | | | | | | | substituted operands. For this testcase: int %test(int %A, int %B) { %C = call int asm "xyz $0, $1, $2", "=r,r,r"(int %A, int %B) ret int %C } we now emit: _test: or r2, r3, r3 or r3, r4, r4 xyz r2, r2, r3 ;; look here or r3, r2, r2 blr ... note the substituted operands. :) llvm-svn: 25886
* adjust to changes in InlineAsm interface. Fix a few minor bugs.Chris Lattner2006-02-011-0/+4
| | | | llvm-svn: 25865
* Allow the specification of explicit alignments for constant pool entries.Evan Cheng2006-01-311-5/+9
| | | | llvm-svn: 25855
* Print the most trivial inline asms.Chris Lattner2006-01-301-1/+12
| | | | llvm-svn: 25822
* Stub out a methodChris Lattner2006-01-271-0/+6
| | | | llvm-svn: 25676
* Set up MachineDebugInfo to scan for debug information form "llvm.db"g globals.Jim Laskey2006-01-261-0/+5
| | | | | | Global Variable information is now pulled from "llvm.dbg.globals" llvm-svn: 25655
* rename methodChris Lattner2006-01-241-3/+4
| | | | llvm-svn: 25572
* Print file-scope inline asm blocks at the start of the output file.Chris Lattner2006-01-231-0/+5
| | | | llvm-svn: 25565
* If using __main, emit global ctor/dtor list like any other globalChris Lattner2006-01-121-2/+2
| | | | llvm-svn: 25251
* Applied some recommend changes from sabre. The dominate one beginning "let theJim Laskey2006-01-041-1/+0
| | | | | | | pass manager do it's thing." Fixes crash when compiling -g files and suppresses dwarf statements if no debug info is present. llvm-svn: 25100
* Tie dwarf generation to darwin assembler.Jim Laskey2006-01-041-0/+1
| | | | llvm-svn: 25093
* add these so I can be less naughtyDuraid Madina2005-12-281-0/+1
| | | | llvm-svn: 25034
* Don't emit a null terminator, nor anything after it, to the ctor/dtor listChris Lattner2005-12-211-1/+4
| | | | llvm-svn: 24887
* Add a couple more fields, move ctor init list to .cpp file, add supportChris Lattner2005-12-131-0/+70
| | | | | | for emitting the ctor/dtor list for common targets. llvm-svn: 24694
* Avoid emitting two tabs when switching to a named sectionChris Lattner2005-12-091-2/+2
| | | | llvm-svn: 24646
* Teach the SelectionDAG ISel how to turn ConstantPacked values intoNate Begeman2005-12-061-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | constant nodes with vector types. Also teach the asm printer how to print ConstantPacked constant pool entries. This allows us to generate altivec code such as the following, which adds a vector constantto a packed float. LCPI1_0: <4 x float> < float 0.0e+0, float 0.0e+0, float 0.0e+0, float 1.0e+0 > .space 4 .space 4 .space 4 .long 1065353216 ; float 1 .text .align 4 .globl _foo _foo: lis r2, ha16(LCPI1_0) la r2, lo16(LCPI1_0)(r2) li r4, 0 lvx v0, r4, r2 lvx v1, r4, r3 vaddfp v0, v1, v0 stvx v0, r4, r3 blr For the llvm code: void %foo(<4 x float> * %a) { entry: %tmp1 = load <4 x float> * %a; %tmp2 = add <4 x float> %tmp1, < float 0.0, float 0.0, float 0.0, float 1.0 > store <4 x float> %tmp2, <4 x float> *%a ret void } llvm-svn: 24616
* Allow target to customize directive used to switch to arbitrary section in ↵Chris Lattner2005-11-211-1/+28
| | | | | | | | SwitchSection, add generic constant pool emitter llvm-svn: 24464
* increment the function number in SetupMachineFunctionChris Lattner2005-11-211-0/+1
| | | | llvm-svn: 24461
* Adjust to capitalized asmprinter method namesChris Lattner2005-11-211-18/+18
| | | | llvm-svn: 24457
* Add section switching to common code generator code. Add a couple ofChris Lattner2005-11-211-0/+19
| | | | | | asserts. llvm-svn: 24445
* Remove extraneous parents around constants when using a constant expr cast.Chris Lattner2005-11-151-2/+0
| | | | llvm-svn: 24357
* Teach emitAlignment to handle explicit alignment requests by globals.Chris Lattner2005-11-141-1/+3
| | | | llvm-svn: 24354
* Get rid of casts by #including the right headerChris Lattner2005-11-101-6/+6
| | | | llvm-svn: 24275
* Compile C strings to:Chris Lattner2005-11-101-0/+1
| | | | | | | | | | | | | l1__2E_str_1: ; '.str_1' .asciz "foo" not: .align 0 l1__2E_str_1: ; '.str_1' .asciz "foo" llvm-svn: 24273
* add support for .asciz, and enable it by default. If your target ↵Chris Lattner2005-11-101-5/+13
| | | | | | | | | | | | | | | | assemblerdoesn't support .asciz, just set AscizDirective to null in your asmprinter. This compiles C strings to: l1__2E_str_1: ; '.str_1' .asciz "foo" instead of: l1__2E_str_1: ; '.str_1' .ascii "foo\000" llvm-svn: 24272
* Culling out use of unions for converting FP to bits and vice versa.Jim Laskey2005-08-171-18/+7
| | | | llvm-svn: 22838
* Handle 64-bit constant exprs on 64-bit targets.Chris Lattner2005-08-081-1/+3
| | | | llvm-svn: 22696
OpenPOWER on IntegriCloud