aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/MC/MCSymbol.h
Commit message (Collapse)AuthorAgeFilesLines
* llvm-mc: Support reassignment of variables in one special case, when theDaniel Dunbar2010-05-171-5/+12
| | | | | | | | variable has not yet been used in an expression. This allows us to support a few cases that show up in real code (mostly because gcc generates it for Objective-C on Darwin), without giving up a reasonable semantic model for assignment. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103950 91177308-0d34-0410-b5e6-96231b3b80d8
* MC: Make setVariableValue check the redefinition condition a bit more strongly.Daniel Dunbar2010-05-051-4/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103110 91177308-0d34-0410-b5e6-96231b3b80d8
* MC: Rename MCSymbol::{g,s}etValue -> MCSymbol::{g,s}etVariableValue.Daniel Dunbar2010-05-051-4/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103095 91177308-0d34-0410-b5e6-96231b3b80d8
* Add MCSymbol::isInSection.Daniel Dunbar2010-03-181-4/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98790 91177308-0d34-0410-b5e6-96231b3b80d8
* fix a memory leak yjasskin pointed out: MCSymbol is bump pointerChris Lattner2010-03-151-7/+6
| | | | | | | | | | | allocated and thus not freed. This is cool except that it contains and std::string so the string data didn't get freed. In any case there is no reason to redundantly store the string data in the MCSymbol anyway, just make the MCSymbol ref the string data in the MCContext StringMap. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98536 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix "the the" and similar typos.Dan Gohman2010-02-101-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95781 91177308-0d34-0410-b5e6-96231b3b80d8
* now that MCSymbol::print doesn't use it's MAI argument, we can Chris Lattner2010-01-171-2/+5
| | | | | | | | | remove it and change all the code that prints MCSymbols to use << instead, which is much simpler and cleaner. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93695 91177308-0d34-0410-b5e6-96231b3b80d8
* Get MCSymbol out of the mangling business, and move all the logicChris Lattner2010-01-171-7/+3
| | | | | | | | | | | | to Mangler. Now MCSymbol just decides whether to slap quotes around a symbol when printing it. This also fixes some weirdness where two MCSymbols could be created for the same symbol, if one needed to be mangled and got mangled to the other one. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93690 91177308-0d34-0410-b5e6-96231b3b80d8
* expose a static function as a static method on the MCSymbol class.Chris Lattner2010-01-131-0/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93350 91177308-0d34-0410-b5e6-96231b3b80d8
* Pass StringRef by value.Daniel Dunbar2009-11-061-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86251 91177308-0d34-0410-b5e6-96231b3b80d8
* Move DataTypes.h to include/llvm/System, update all users. This breaks the lastChandler Carruth2009-10-261-1/+1
| | | | | | | direct inclusion edge from System to Support. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85086 91177308-0d34-0410-b5e6-96231b3b80d8
* MC: Move assembler variable values from MCContext to MCSymbol.Daniel Dunbar2009-10-161-3/+28
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84229 91177308-0d34-0410-b5e6-96231b3b80d8
* Thread an MCAsmInfo pointer through the various MC printing APIs, Chris Lattner2009-09-031-1/+2
| | | | | | | | and fix a few things using << on MCSymbols to use ->print(). No functionality change other than unbreaking my previous patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80890 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc/Mach-O: Don't put assembler temporary labels in the symbol table.Daniel Dunbar2009-08-261-0/+5
| | | | | | | | | - I moved section creation back into AsmParser. I think policy decisions like this should be pushed higher, not lower, when possible (in addition the assembler has flags which change this behavior, for example). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80162 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Add MCSection::isDefined()Daniel Dunbar2009-08-261-1/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80057 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc/Mach-O: Improve symbol table support:Daniel Dunbar2009-08-221-4/+3
| | | | | | | | | | | | - Honor .globl. - Set symbol type and section correctly ('nm' now works), and order symbols appropriately. - Take care to the string table so that the .o matches 'as' exactly (for ease of testing). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79740 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Clean up some handling of symbol/section association to be more correctDaniel Dunbar2009-08-221-14/+45
| | | | | | | | | (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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79733 91177308-0d34-0410-b5e6-96231b3b80d8
* change AsmPrinter to switch sections using AsmStreamer instead ofChris Lattner2009-08-171-3/+3
| | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79227 91177308-0d34-0410-b5e6-96231b3b80d8
* Add MCSymbol::{print, dump}Daniel Dunbar2009-08-141-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78983 91177308-0d34-0410-b5e6-96231b3b80d8
* Move MCContext and friends to StringRef based APIs.Daniel Dunbar2009-07-271-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77251 91177308-0d34-0410-b5e6-96231b3b80d8
* Tweak MCSymbol doxyments.Daniel Dunbar2009-07-011-3/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74599 91177308-0d34-0410-b5e6-96231b3b80d8
* disable some ctors.Chris Lattner2009-07-011-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74591 91177308-0d34-0410-b5e6-96231b3b80d8
* add some comments to MCSymbol header, make the ctor private so that only ↵Chris Lattner2009-07-011-5/+28
| | | | | | MCContext can create these. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74590 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Evaluation for relocatable expressions.Daniel Dunbar2009-06-301-0/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74496 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Diagnose misuse (mix) of defined symbols and labels.Daniel Dunbar2009-06-291-1/+5
| | | | | | | | | | | | | | | | | | - For example, we diagnose errors on: -- a: a = 10 -- - For now we reject code like: -- .long a a = 10 -- which "as" accepts (on Darwin). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74476 91177308-0d34-0410-b5e6-96231b3b80d8
* We decided to not worry about Atoms for now, it should be straightforward toDaniel Dunbar2009-06-241-7/+6
| | | | | | | | | reintroduce them later. Also, don't require MCSection* when creating a symbol. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74081 91177308-0d34-0410-b5e6-96231b3b80d8
* Start MCAsmStreamer implementation.Daniel Dunbar2009-06-241-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74044 91177308-0d34-0410-b5e6-96231b3b80d8
* Start flushing out MCContext.Daniel Dunbar2009-06-231-0/+30
- Lives inside new library lib/MC (LLVMMC.a) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74013 91177308-0d34-0410-b5e6-96231b3b80d8