summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/MCAsmStreamer.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add a InitSections method to the streamer interface.Rafael Espindola2010-09-151-0/+8
| | | | | | | | | | | | | | The ELF implementation now creates text, data and bss to match the gnu as behavior. The text streamer still has the old MachO specific behavior since the testsuite checks that it will error when a directive is given before a setting the current section for example. A nice benefit is that -n is not required anymore when producing ELF files. llvm-svn: 114027
* Add AsmParser support for the ELF .previous directive. Patch by Roman Divacky.Benjamin Kramer2010-09-021-0/+1
| | | | llvm-svn: 112849
* Plug the remaining MC leaks by giving MCObjectStreamer/MCAsmStreamer ↵Benjamin Kramer2010-07-291-1/+1
| | | | | | ownership of the TargetAsmBackend and the MCCodeEmitter. llvm-svn: 109767
* Added the darwin .weak_def_can_be_hidden directive.Kevin Enderby2010-07-081-0/+1
| | | | llvm-svn: 107886
* "This is just a cosmetic change in MCAsmStreamer.cpp/EmitSymbolAttribute: ↵Chris Lattner2010-06-211-11/+11
| | | | | | | | | | | all attributes have now a \t before and after, as done for '.type'. This makes the output look consistent, as well as help some third party assemblers expecting the attributes to be in the second column." Patch by Arnaud de Grandmaison! llvm-svn: 106469
* Don't call flush() at a library level which isn't checking for errorsDan Gohman2010-06-011-1/+0
| | | | | | and doesn't know where the output is going. llvm-svn: 105274
* MC: Change MCInst::dump_pretty to not include a trailing newline.Daniel Dunbar2010-05-261-2/+4
| | | | llvm-svn: 104696
* Make EmitTBSSSymbol take a section argument so that we can find it later.Eric Christopher2010-05-181-6/+9
| | | | | | Fix up callers and users. llvm-svn: 104057
* Assume that we'll handle mangling the symbols earlier and just put theEric Christopher2010-05-171-5/+4
| | | | | | symbol to the file as we have it. Simplifies out tbss handling. llvm-svn: 103928
* Add AsmParser support for darwin tbss directive.Eric Christopher2010-05-141-0/+18
| | | | | | Nothing uses this yet. llvm-svn: 103757
* break coff symbol definition stuff out into proper MCStreamer callbacks,Chris Lattner2010-05-081-1/+24
| | | | | | patch by Nathan Jeffords! llvm-svn: 103346
* MC/Mach-O: Mark absolute variable's appropriately, and add Mach-O support forDaniel Dunbar2010-05-051-1/+0
| | | | | | | writing them. - <rdar://problem/7885351> integrated assembler broken for i386 objc code llvm-svn: 103112
* MC: Reject attempts to define a variable symbol.Daniel Dunbar2010-05-051-4/+1
| | | | llvm-svn: 103111
* MC: Rename MCSymbol::{g,s}etValue -> MCSymbol::{g,s}etVariableValue.Daniel Dunbar2010-05-051-1/+1
| | | | llvm-svn: 103095
* fix an ugly wart in the MCInstPrinter api where theChris Lattner2010-04-041-1/+1
| | | | | | | | raw_ostream to print an instruction to had to be specified at MCInstPrinter construction time instead of being able to pick at each call to printInstruction. llvm-svn: 100307
* allow attaching comments to raw text.Chris Lattner2010-04-031-6/+3
| | | | llvm-svn: 100292
* add a new EmitInlineAsm function to asmprinter to handle inline asm.Chris Lattner2010-04-031-1/+21
| | | | | | | If we have an MCAsmStreamer, we continue to emit asm textually, otherwise we (currently) emit an error to errs and ignore it. llvm-svn: 100289
* MCInst: Add ::dump_pretty.Daniel Dunbar2010-03-221-17/+3
| | | | llvm-svn: 99216
* fix an MCInstPrinter leak that jyasskin pointed out:Chris Lattner2010-03-191-1/+2
| | | | | | createAsmStreamer now takes ownership of the instprinter. llvm-svn: 98939
* remove MAI argument from createAsmStreamer since itChris Lattner2010-03-121-5/+4
| | | | | | can get it from the context now. llvm-svn: 98361
* genericize MCAsmStreamer::EmitCodeAlignment to support other targetsChris Lattner2010-02-231-2/+3
| | | | | | so that it doesn't break them when the code generator starts using it. llvm-svn: 96966
* This is the first patch to put the needed bits in place to eventually allow codeKevin Enderby2010-02-231-0/+9
| | | | | | | | | | | to be aligned with optimal nops. This patch does not change any functionality and when the compiler is changed to use EmitCodeAlignment() it should also not change the resulting output. Once the compiler change is made and everything looks good the next patch with the table of optimal X86 nops will be added to WriteNopData() changing the output. There are many FIXMEs in this patch which will be removed when we have better target hooks (coming soon I hear). llvm-svn: 96963
* add a new MCInstPrinter::getOpcodeName interface, when it is Chris Lattner2010-02-111-0/+6
| | | | | | | implemented, llvm-mc --show-inst now uses it to print the instruction opcode as well as the number. llvm-svn: 95929
* make getFixupKindInfo return a const reference, allowingChris Lattner2010-02-111-2/+2
| | | | | | | the tables to be const. Teach MCCodeEmitter to handle the target-indep kinds so that we don't crash on them. llvm-svn: 95924
* MC: Switch MCFixup to just hold an MCExpr pointer instead of index into theDaniel Dunbar2010-02-101-1/+1
| | | | | | MCInst it came from. llvm-svn: 95767
* llvm-mc: Remove --show-fixups and always show as part of --show-encoding.Daniel Dunbar2010-02-101-19/+6
| | | | | | Also, fix a silly memory leak. llvm-svn: 95752
* daniel *really* likes fixups!Chris Lattner2010-02-101-0/+1
| | | | llvm-svn: 95742
* Add ability for MCInstPrinters to add comments for instructions.Chris Lattner2010-02-101-1/+4
| | | | | | | | | Enhance the x86 backend to show the hex values of immediates in comments when they are large. For example: movl $1072693248, 4(%esp) ## imm = 0x3FF00000 llvm-svn: 95728
* llvm-mc: Add --show-fixups option, for displaying the instruction fixup ↵Daniel Dunbar2010-02-091-21/+92
| | | | | | information in the asm comments. llvm-svn: 95710
* MC: First cut at MCFixup, for getting fixup/relocation information out of an ↵Daniel Dunbar2010-02-091-1/+2
| | | | | | MCCodeEmitter. llvm-svn: 95708
* make -show-inst be formatted a bit nicer. Before:Chris Lattner2010-02-091-8/+12
| | | | | | | | | | | | | | | | movl $3735928559, a ## inst: <MCInst 1273 <MCOperand Reg:0> <MCOperand Imm:1> <MCOperand Reg:0> <MCOperand Expr:(a)> <MCOperand Reg:0> <MCOperand Expr:(3735928559)>> after: movl $3735928559, a ## <MCInst #1273 ## <MCOperand Reg:0> ## <MCOperand Imm:1> ## <MCOperand Reg:0> ## <MCOperand Expr:(a)> ## <MCOperand Reg:0> ## <MCOperand Expr:(3735928559)>> llvm-svn: 95637
* print encodings like this:Chris Lattner2010-02-051-1/+1
| | | | | | | | | | | pslld 69, %mm3 ## encoding: [0x0f,0xf2,0x1c,0x25,0x45,0x00,0x00,0x00] instead of like this: pslld 69, %mm3 ## encoding: [0x0f,0xf2,0x1c,0x25,0x45,0000,0000,0000] this only affects 0. llvm-svn: 95441
* Use a tab instead of space after .type, for consistency.Dan Gohman2010-02-041-1/+1
| | | | llvm-svn: 95272
* llvm-mc: Add --show-inst option, for showing the MCInst inline with the assemblyDaniel Dunbar2010-02-031-19/+27
| | | | | | output. llvm-svn: 95227
* print instruction encodings with the existing comment facilities,Chris Lattner2010-02-031-18/+17
| | | | | | | | | | | | | so that llvm-mc -show-encoding prints like this: hlt ## encoding: [0xf4] instead of like this: hlt # encoding: [0xf4] llvm-svn: 95207
* refactor code so that LLVMTargetMachine creates the asmstreamer and Chris Lattner2010-02-021-1/+4
| | | | | | | mccontext instead of having AsmPrinter do it. This allows other types of MCStreamer's to be passed in. llvm-svn: 95155
* Emit .comm alignment in bytes but .align in powers of 2 for ARM ELF.Rafael Espindola2010-01-261-1/+1
| | | | | | Original patch by Sandeep Patel and updated by me. llvm-svn: 94582
* mcstreamerize gprel32 emission.Chris Lattner2010-01-251-7/+10
| | | | llvm-svn: 94452
* mcstreamerize .file and .file. This also fixes an issue where theChris Lattner2010-01-251-30/+56
| | | | | | | normal form of .file would fail if the filename had a weird character in it. llvm-svn: 94437
* emit ELF .type directives through MCStreamer instead of doing it textually.Chris Lattner2010-01-251-1/+1
| | | | llvm-svn: 94436
* add symbol attribute support for the ELF .type directive.Chris Lattner2010-01-251-1/+23
| | | | llvm-svn: 94435
* emit the .size directive for global variables on ELF throughChris Lattner2010-01-251-0/+6
| | | | | | mcstreamer. llvm-svn: 94416
* all supported target now have aligned common support.Chris Lattner2010-01-251-1/+1
| | | | llvm-svn: 94413
* mcize lcomm, simplify .comm, extend both to support 64-bit sizes.Chris Lattner2010-01-231-3/+19
| | | | llvm-svn: 94299
* move the various directive enums out of the MCStreamer classChris Lattner2010-01-231-18/+20
| | | | | | into a new MCDirectives.h file. llvm-svn: 94294
* mcize jump table and constant pool entry labels, .local on elf,Chris Lattner2010-01-231-1/+2
| | | | | | and some .weak directives. llvm-svn: 94284
* teach MCAsmStreamer::EmitBytes to use .ascii and .ascizChris Lattner2010-01-231-3/+47
| | | | llvm-svn: 94259
* Changes to fix buffering that I forgot to commit with previous patch.Chris Lattner2010-01-221-1/+6
| | | | llvm-svn: 94222
* Convert some more random-comment-printing stuff to use Chris Lattner2010-01-221-0/+5
| | | | | | | AddComment and GetCommentOS. Add a blank line between globals (even in non-verbose mode) to make the assembly more readable. llvm-svn: 94202
* add a new MCAsmStreamer::GetCommentOS method to simplify stuffChris Lattner2010-01-221-9/+32
| | | | | | that doesn't want to use twines. llvm-svn: 94199
OpenPOWER on IntegriCloud