summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/MCSymbol.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Assembler should accept redefinitions of unused variable symbols.Jim Grosbach2012-03-201-2/+0
| | | | | | rdar://11027851 llvm-svn: 153137
* Tidy up.Jim Grosbach2012-03-201-3/+2
| | | | llvm-svn: 153136
* MC: Change variable symbols to be recognized as defined, by assigning their ↵Daniel Dunbar2011-04-291-3/+7
| | | | | | sections based on FindAssociatedSection(). llvm-svn: 130523
* Change MCExpr::EvaluateAsRelocatableImpl of variables to return the originalRafael Espindola2010-11-151-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | variable if recursing fails to simplify it. Factor AliasedSymbol to be a method of MCSymbol. Update MCAssembler::EvaluateFixup to match the change in EvaluateAsRelocatableImpl. Remove the WeakRefExpr hack, as the object writer now sees the weakref with no extra effort needed. Nothing else is using MCTargetExpr, but keep it for now. Now that the ELF writer sees relocations with aliases, handle .weak foo2 foo2: .weak bar2 .set bar2,foo2 .quad bar2 the same way gas does and produce a relocation with bar2. llvm-svn: 119152
* Fix PR8565.Rafael Espindola2010-11-151-0/+1
| | | | | | | | | | | This moves most of the isUsed logic to the MCSymbol itself. With this we get a bit more relaxed about allowing definitions after uses: uses that don't evaluate their argument immediately (jmp foo) are accepted. ddunbar, this was the smallest compromise I could think of that lets us accept gcc (and clang!) assembly. llvm-svn: 119144
* MC/Mach-O: Mark absolute variable's appropriately, and add Mach-O support forDaniel Dunbar2010-05-051-0/+4
| | | | | | | writing them. - <rdar://problem/7885351> integrated assembler broken for i386 objc code llvm-svn: 103112
* MC: Make setVariableValue check the redefinition condition a bit more strongly.Daniel Dunbar2010-05-051-0/+8
| | | | llvm-svn: 103110
* now that MCSymbol::print doesn't use it's MAI argument, we can Chris Lattner2010-01-171-3/+2
| | | | | | | remove it and change all the code that prints MCSymbols to use << instead, which is much simpler and cleaner. llvm-svn: 93695
* rename NameNeedsEscaping -> NameNeedsQuoting, eliminate the checkChris Lattner2010-01-171-9/+4
| | | | | | | for first character which is a digit, mangler would have taken care of this already. llvm-svn: 93694
* Get MCSymbol out of the mangling business, and move all the logicChris Lattner2010-01-171-57/+4
| | | | | | | | | | | 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. llvm-svn: 93690
* expose a static function as a static method on the MCSymbol class.Chris Lattner2010-01-131-4/+7
| | | | llvm-svn: 93350
* Change errs() to dbgs().David Greene2010-01-051-1/+2
| | | | llvm-svn: 92632
* Pass StringRef by value.Daniel Dunbar2009-11-061-1/+1
| | | | llvm-svn: 86251
* Allow symbols to start from the digit if target requests it. This allows, ↵Anton Korobeynikov2009-09-181-6/+9
| | | | | | | | | e.g. pinning variables to specified absolute address. Make use of this feature for MSP430. This unbreaks PR4776. llvm-svn: 82227
* fix MCSymbol printing on darwin to exactly match the mangler (handling of \n ↵Chris Lattner2009-09-131-8/+28
| | | | | | and " in a symbol name). llvm-svn: 81683
* Make the MC symbol printer and llvm::Mangler exactly agree on manglingChris Lattner2009-09-131-20/+50
| | | | | | for systems that don't support quoting (PR4966). llvm-svn: 81682
* allow @ in symbol names without quoting the identifier. This Chris Lattner2009-09-091-1/+1
| | | | | | allows things like @PLT without quotes. llvm-svn: 81296
* fix MCSymbol printing to exactly match the normal mangler rules soChris Lattner2009-09-031-19/+23
| | | | | | we can diff .s files. llvm-svn: 80894
* Thread an MCAsmInfo pointer through the various MC printing APIs, Chris Lattner2009-09-031-2/+2
| | | | | | | and fix a few things using << on MCSymbols to use ->print(). No functionality change other than unbreaking my previous patch. llvm-svn: 80890
* llvm-mc: Clean up some handling of symbol/section association to be more correctDaniel Dunbar2009-08-221-0/+4
| | | | | | | | | (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
* Add MCSymbol::{print, dump}Daniel Dunbar2009-08-141-0/+49
llvm-svn: 78983
OpenPOWER on IntegriCloud