summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/MCStreamer.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Revert my previous patch to make the valgrind bots happy.Rafael Espindola2010-12-101-57/+1
| | | | llvm-svn: 121461
* Initial support for the cfi directives. This is just enough to getRafael Espindola2010-12-091-1/+57
| | | | | | | | | | | f: .cfi_startproc nop .cfi_endproc assembled (on ELF). llvm-svn: 121434
* Add assert to catch an attempt to emit .byte 256Devang Patel2010-12-091-1/+2
| | | | llvm-svn: 121402
* Second try at making direct object emission produce the same resultsRafael Espindola2010-12-061-0/+12
| | | | | | | as llc + llvm-mc. This time ELF is not changed and I tested that llvm-gcc bootstrap on darwin10 using darwin9's assembler and linker. llvm-svn: 121006
* Revert previous two patches while I try to find out how to make bothRafael Espindola2010-12-061-6/+0
| | | | | | linux and darwin assemblers happy :-( llvm-svn: 121004
* Add an EmitAbsValue helper method and use it in cases where we want to be sureRafael Espindola2010-12-061-0/+6
| | | | | | | that no relocations are used (on MochO). Fixes llc producing different output from llc + llvm-mc. llvm-svn: 121000
* Make EmitIntValue more efficient and more like what we do for leb128. TheRafael Espindola2010-12-031-1/+6
| | | | | | difference is much smaller (about 0.3s) but significant. llvm-svn: 120787
* Do with uleb the same trick we now do with dwarf line/address advances. ThisRafael Espindola2010-12-031-2/+8
| | | | | | avoids creating leb128 fragments and speeds up the test in PR8711 to 33s. llvm-svn: 120774
* Try to resolve symbol differences early, and if successful create a plainRafael Espindola2010-12-031-0/+11
| | | | | | | data fragment. This reduces the time to assemble the test in 8711 from 60s to 54s. llvm-svn: 120767
* Avoid code duplication in the many unsupported EmitGPRel32Value implementations.Rafael Espindola2010-11-281-0/+4
| | | | llvm-svn: 120243
* Add basic CFI methods to the streamer interface.Rafael Espindola2010-11-221-0/+28
| | | | llvm-svn: 119972
* Add .loc methods to the streamer.Rafael Espindola2010-11-161-0/+14
| | | | | | | Next: Add support for the !HasDotLocAndDotFile case to the MCAsmStreamer and then switch codegen to use it. llvm-svn: 119384
* Add support for expressions in .sleb/.uleb directives.Rafael Espindola2010-11-021-14/+8
| | | | llvm-svn: 118023
* Implement .weakref.Rafael Espindola2010-11-011-0/+1
| | | | llvm-svn: 117911
* This is the last major patch to implement support for the .loc directiveKevin Enderby2010-09-301-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | and output the dwarf line number tables. This contains the code to emit and encode the dwarf line tables from the previously gathered information in the MCLineSection objects. This contains all the details to encode the line and address deltas into the dwarf line table. To do this an MCDwarfLineAddrFragment has been added. Also this moves the interface code out of Mach-O streamer into MCDwarf so it should be useable by other object file formats. There is now one call to be made from an MCObjectStreamer EmitInstruction() method: MCLineEntry::Make(this, getCurrentSection()); to create a line entry after each instruction is assembled. And one call call to be made from an MCObjectStreamer Finish() method: MCDwarfFileTable::Emit(this, DwarfLineSection); when getContext().hasDwarfFiles() is true and is passed a object file specific MCSection where to emit the dwarf file and the line tables. This appears to now be correct for 32-bit targets, at least x86. But the relocation entries for 64-bit Darwin needs some further work which is next up to work on. So for now the 64-bit Mach-O target does not output the dwarf file and line tables. llvm-svn: 115157
* Add AsmParser support for the ELF .previous directive. Patch by Roman Divacky.Benjamin Kramer2010-09-021-1/+2
| | | | llvm-svn: 112849
* _[A-Z] identifiers are reserved for the implementation.Michael J. Spencer2010-07-191-1/+1
| | | | llvm-svn: 108682
* Grammar fix. This is a test commit.Matt Fleming2010-05-201-1/+1
| | | | llvm-svn: 104264
* add a twine form of MCStreamer::EmitRawText, and mc'izeChris Lattner2010-04-031-0/+8
| | | | | | a few more things in AsmPrinter.cpp. llvm-svn: 100294
* add <cstdlib> header for abort() on linux builders.Chris Lattner2010-04-031-0/+1
| | | | llvm-svn: 100290
* add a new EmitInlineAsm function to asmprinter to handle inline asm.Chris Lattner2010-04-031-0/+9
| | | | | | | 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
* add a EmitSymbolValue convenience method to MCStreamer.Chris Lattner2010-03-091-0/+5
| | | | llvm-svn: 98017
* add a new MCAsmStreamer::GetCommentOS method to simplify stuffChris Lattner2010-01-221-1/+7
| | | | | | that doesn't want to use twines. llvm-svn: 94199
* add a new EmitIntValue method that MCStreamer impls can optionally defineChris Lattner2010-01-191-0/+7
| | | | | | and that clients can use. llvm-svn: 93923
* Generalize mcasmstreamer data emission APIs to take an address spaceChris Lattner2010-01-191-2/+3
| | | | | | identifier. There is no way to work around it. llvm-svn: 93896
* add a "MCStreamer::EmitFill" method, and move the default implementationChris Lattner2010-01-191-0/+9
| | | | | | (which just iteratively emits bytes) to MCStreamer. llvm-svn: 93888
* Make AsmStreamer maintain a notion of the current section, pushing it up ↵Chris Lattner2009-08-181-1/+1
| | | | | | | | | | | | from the MCAsmStreamer. Based on this, eliminate the current section from AsmPrinter. While I'm at it, clean up the last of the horrible "switch to null section" stuff and add an assert. This change is in preparation for completely eliminating asmprinter::switchtosection. llvm-svn: 79324
* Start MCAsmStreamer implementation.Daniel Dunbar2009-06-241-0/+18
llvm-svn: 74044
OpenPOWER on IntegriCloud