summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/MCAsmStreamer.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* llvm-mc: Switch MCInst to storing an MCExpr* instead of an MCValue.Daniel Dunbar2009-08-311-22/+4
| | | | | | Also, use MCInst::print instead of custom code in MCAsmPrinter. llvm-svn: 80575
* llvm-mc: MCStreamer cleanups. - Remove EmitLocalSymbol, this is unsupported ↵Daniel Dunbar2009-08-301-14/+8
| | | | | | | | for now. - Switch Emit{CommonSymbol,Zerofill} to take alignment in bytes (for consistency). llvm-svn: 80484
* llvm-mc: Emit .lcomm as .zerofill.Daniel Dunbar2009-08-281-6/+3
| | | | llvm-svn: 80343
* llvm-mc: Add const to EmitZeroFill section argument.Daniel Dunbar2009-08-281-2/+2
| | | | llvm-svn: 80341
* llvm-mc: Print encodings after the instruction, and only when we have an asmDaniel Dunbar2009-08-271-17/+18
| | | | | | printer. llvm-svn: 80233
* Sketch TargetRegistry support for MCCodeEmitter abstract interface.Daniel Dunbar2009-08-271-4/+27
| | | | | | - Of course, nothing actually can provide this interface yet. llvm-svn: 80188
* rename TAI -> MAI, being careful not to make MAILJMP instructions :)Chris Lattner2009-08-221-9/+9
| | | | llvm-svn: 79777
* Rename TargetAsmInfo (and its subclasses) to MCAsmInfo.Chris Lattner2009-08-221-4/+4
| | | | llvm-svn: 79763
* llvm-mc: Clean up some handling of symbol/section association to be more correctDaniel Dunbar2009-08-221-6/+5
| | | | | | | | | (external was really undefined and there wasn't an explicit representation for absolute symbols). - This still needs some cleanup to how the absolute "pseudo" section is dealt with, but I haven't figured out the nicest approach yet. llvm-svn: 79733
* fix asmstreaming of 2/4 byte elements with pow-2 alignments.Chris Lattner2009-08-191-1/+8
| | | | llvm-svn: 79408
* switch asmprinter to emit alignments through OutStreamer.Chris Lattner2009-08-191-14/+29
| | | | llvm-svn: 79406
* eliminate AsmPrinter::SwitchToSection and just have clientsChris Lattner2009-08-191-0/+1
| | | | | | talk to the MCStreamer directly instead. llvm-svn: 79405
* Make AsmStreamer maintain a notion of the current section, pushing it up ↵Chris Lattner2009-08-181-3/+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
* change AsmPrinter to switch sections using AsmStreamer instead ofChris Lattner2009-08-171-6/+4
| | | | | | | | | doing it directly. This requires const'izing a bunch of stuff that took sections, but this seems like the right semantic thing to do: emitting a label to a section shouldn't mutate the MCSection object itself, for example. llvm-svn: 79227
* give MCAsmStreamer a TargetAsmInfo.Chris Lattner2009-08-171-4/+7
| | | | llvm-svn: 79222
* formatting cleanups, no functionality change.Chris Lattner2009-08-171-43/+36
| | | | llvm-svn: 79221
* llvm-mc: Fix bugs where bytes were unintentionally being printed as signed.Daniel Dunbar2009-08-141-1/+1
| | | | | | | - We now print all of 403.gcc cleanly (llvm-mc -> 'as' as diffed to 'as'), minus two 'rep;movsl' instructions (which I missed before). llvm-svn: 79031
* llvm-mc: When handling a .set, make sure to print subsequent references to theDaniel Dunbar2009-08-141-2/+9
| | | | | | | | symbol as the symbol name itself, not the expression it was defined to. These have different semantics due to the quirky .set behavior (which absolutizes an expression that would otherwise be treated as a relocation). llvm-svn: 79025
* llvm-mc: zerofill shouldn't print quotes around the section,segment.Daniel Dunbar2009-08-141-2/+1
| | | | llvm-svn: 79017
* Update llvm-mc / MCAsmStreamer to print the instruction using the actual targetDaniel Dunbar2009-08-141-43/+21
| | | | | | | | | | | specific printer (this only works on x86, for now). - This makes it possible to do some correctness checking of the parsing and matching, since we can compare the results of 'as' on the original input, to those of 'as' on the output from llvm-mc. - In theory, we could now have an easy ATT -> Intel syntax converter. :) llvm-svn: 78986
* llvm-mc: Add dummy MCStreamer implementation, (eventually) for use in profiling.Daniel Dunbar2009-08-131-5/+2
| | | | | | | | - Currently unused. - A few other random comment fixes lumped in. llvm-svn: 78960
* split MachO section handling stuff out to its out .h/.cpp file.Chris Lattner2009-08-101-1/+1
| | | | llvm-svn: 78576
* Make the big switch: Change MCSectionMachO to represent a section *semantically*Chris Lattner2009-08-101-1/+3
| | | | | | | | | | | | | | | | instead of syntactically as a string. This means that it keeps track of the segment, section, flags, etc directly and asmprints them in the right format. This also includes parsing and validation support for llvm-mc and "attribute(section)", so we should now start getting errors about invalid section attributes from the compiler instead of the assembler on darwin. Still todo: 1) Uniquing of darwin mcsections 2) Move all the Darwin stuff out to MCSectionMachO.[cpp|h] 3) there are a few FIXMEs, for example what is the syntax to get the S_GB_ZEROFILL segment type? llvm-svn: 78547
* sink the 'name' and 'isdirective' state out of MCSection into its derived ↵Chris Lattner2009-08-081-12/+8
| | | | | | | | classes. This totally optimizes PIC16 sections by not having an 'isdirective' bit anymore!! ;-) llvm-svn: 78517
* llvm-mc: Fix .s output to quote section & symbol names when necessary.Daniel Dunbar2009-07-311-12/+51
| | | | llvm-svn: 77749
* llvm-mc: Implement .abort fully in the front endDaniel Dunbar2009-07-271-10/+0
| | | | llvm-svn: 77272
* llvm-mc: Move AsmLexer::getCurStrVal to StringRef based API.Daniel Dunbar2009-07-271-3/+3
| | | | | | - My DFS traversal of LLVM is, at least for now, nearly complete! :) llvm-svn: 77258
* Removed the DumpSymbolsandMacros and LoadSymbolsandMacros MCStreamer API asKevin Enderby2009-07-201-12/+0
| | | | | | | | | the parsing of the .dump and .load should be done in the assembly parser and not have any need for an MCStreamer API. Changed the code for now so these just produce an error saying these specific directives are not yet implemented since they are likely no longer used and may never need to be implemented. llvm-svn: 76462
* Removed the SubsectionsViaSymbols MCStreamer API and replaced it with a genericKevin Enderby2009-07-161-3/+6
| | | | | | | EmitAssemblerFlag API which takes a value from the added AssemblerFlag enumerated constants. llvm-svn: 76087
* implement .include in the lexer/parser instead of passing it into the streamer.Chris Lattner2009-07-161-6/+0
| | | | llvm-svn: 75896
* Added llvm-mc support for parsing the .dump and .load directives.Kevin Enderby2009-07-151-0/+12
| | | | llvm-svn: 75786
* Added llvm-mc support for parsing the .include directive.Kevin Enderby2009-07-141-0/+6
| | | | llvm-svn: 75711
* Added llvm-mc support for parsing the .lsym directive.Kevin Enderby2009-07-141-0/+6
| | | | llvm-svn: 75685
* Added llvm-mc support for parsing the .desc directive.Kevin Enderby2009-07-141-0/+6
| | | | llvm-svn: 75645
* llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable.Torok Edwin2009-07-141-3/+3
| | | | | | | | | This adds location info for all llvm_unreachable calls (which is a macro now) in !NDEBUG builds. In NDEBUG builds location info and the message is off (it only prints "UREACHABLE executed"). llvm-svn: 75640
* Added llvm-mc support for parsing the .abort directive.Kevin Enderby2009-07-131-0/+10
| | | | llvm-svn: 75545
* add llvm-mc support for parsing the .subsections_via_symbols directive.Kevin Enderby2009-07-131-0/+6
| | | | llvm-svn: 75500
* assert(0) -> LLVM_UNREACHABLE.Torok Edwin2009-07-111-3/+5
| | | | | | | | | Make llvm_unreachable take an optional string, thus moving the cerr<< out of line. LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for NDEBUG builds. llvm-svn: 75379
* add support for .zerofill, patch by Kevin Enderby!Chris Lattner2009-07-101-0/+18
| | | | llvm-svn: 75301
* add llvm-mc support for parsing the .lcomm directive, patch by Kevin Enderby!Chris Lattner2009-07-091-3/+6
| | | | llvm-svn: 75148
* Implement parsing support for the .comm directive. Patch byChris Lattner2009-07-071-0/+12
| | | | | | Kevin Enderby! llvm-svn: 74944
* Dump MCInsts in the MC .s printer, for now.Daniel Dunbar2009-07-011-2/+23
| | | | llvm-svn: 74593
* llvm-mc: Parse .{,b,p2}align{,w,l} directives.Daniel Dunbar2009-06-291-5/+9
| | | | llvm-svn: 74478
* Initialize CurSection in constructor.Torok Edwin2009-06-291-1/+1
| | | | | | Not doing so causes some unittests to fail, because CurSection is uninitialized. llvm-svn: 74442
* Rename MCValue::getCst to getConstant and add MCValue::isConstant.Daniel Dunbar2009-06-291-4/+4
| | | | llvm-svn: 74440
* MC: Truncate values when printing, to keep 'as' happy.Daniel Dunbar2009-06-251-3/+13
| | | | llvm-svn: 74201
* Sketch streamer support for .align, .org functionality.Daniel Dunbar2009-06-241-0/+37
| | | | llvm-svn: 74109
* We decided to not worry about Atoms for now, it should be straightforward toDaniel Dunbar2009-06-241-7/+14
| | | | | | | | reintroduce them later. Also, don't require MCSection* when creating a symbol. llvm-svn: 74081
* MCStreamer: Add a few more "symbol attributes".Daniel Dunbar2009-06-241-1/+10
| | | | llvm-svn: 74077
* MCStreamer: Test printing values.Daniel Dunbar2009-06-241-1/+1
| | | | llvm-svn: 74076
OpenPOWER on IntegriCloud