summaryrefslogtreecommitdiffstats
path: root/lib/MC
Commit message (Collapse)AuthorAgeFilesLines
* 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
* add a twine version of MCContext::GetOrCreateSymbol.Chris Lattner2009-10-191-1/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84561 91177308-0d34-0410-b5e6-96231b3b80d8
* MC: Set symbol values in MachO MCStreamer.Daniel Dunbar2009-10-161-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84236 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor formatting tweaks.Daniel Dunbar2009-10-162-34/+34
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84235 91177308-0d34-0410-b5e6-96231b3b80d8
* MC: Switch assembler API to using MCExpr instead of MCValue.Daniel Dunbar2009-10-162-31/+41
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84234 91177308-0d34-0410-b5e6-96231b3b80d8
* MC: Remove unneeded context argument to MCExpr::Evaluate*.Daniel Dunbar2009-10-162-9/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84233 91177308-0d34-0410-b5e6-96231b3b80d8
* MC: Tweak variable assignment diagnostics, and make reassignment of non-absoluteDaniel Dunbar2009-10-161-0/+1
| | | | | | variables and symbols invalid. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84232 91177308-0d34-0410-b5e6-96231b3b80d8
* MC: When parsing a variable reference, substitute absolute variables immediatelyDaniel Dunbar2009-10-161-1/+4
| | | | | | since they are allowed to be redefined. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84230 91177308-0d34-0410-b5e6-96231b3b80d8
* MC: Move assembler variable values from MCContext to MCSymbol.Daniel Dunbar2009-10-161-2/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84229 91177308-0d34-0410-b5e6-96231b3b80d8
* MC: Switch MCContext value table to storing MCExprs.Daniel Dunbar2009-10-162-21/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84228 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed MCSectionMachO::ParseSectionSpecifier to allow an attribute of "none" soKevin Enderby2009-10-071-4/+6
| | | | | | | | that a symbol stub section with no attributes can be parsed as in: .section __TEXT,__picsymbolstub4,symbol_stubs,none,16 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83488 91177308-0d34-0410-b5e6-96231b3b80d8
* No newline at end of files.Edward O'Callaghan2009-10-052-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83318 91177308-0d34-0410-b5e6-96231b3b80d8
* eliminate a use of strtoul.Chris Lattner2009-09-201-12/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82382 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow symbols to start from the digit if target requests it. This allows, ↵Anton Korobeynikov2009-09-182-6/+10
| | | | | | | | | e.g. pinning variables to specified absolute address. Make use of this feature for MSP430. This unbreaks PR4776. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82227 91177308-0d34-0410-b5e6-96231b3b80d8
* Big change #1 for personality function references:Chris Lattner2009-09-162-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Eliminate the PersonalityPrefix/Suffix & NeedsIndirectEncoding fields from MAI: they aren't part of the asm syntax, they are related to the structure of the object file. To replace their functionality, add a new TLOF::getSymbolForDwarfGlobalReference method which asks targets to decide how to reference a global from EH in a pc-relative way. The default implementation just returns the symbol. The default darwin implementation references the symbol through an indirect $non_lazy_ptr stub. The bizarro x86-64 darwin specialization handles the weird "foo@GOTPCREL+4" hack. DwarfException.cpp now uses this to emit the reference to the symbol in the right way, and this also eliminates another horrible hack from DwarfException.cpp: - if (strcmp(MAI->getPersonalitySuffix(), "+4@GOTPCREL")) - O << "-" << MAI->getPCSymbol(); git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81991 91177308-0d34-0410-b5e6-96231b3b80d8
* add a helper method for creating MCSymbol and MCSymbolRefExpr atChris Lattner2009-09-161-0/+6
| | | | | | | the same time. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81984 91177308-0d34-0410-b5e6-96231b3b80d8
* remove some horrible MAI hooks which fortunately turn out to be always empty.Chris Lattner2009-09-151-4/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81946 91177308-0d34-0410-b5e6-96231b3b80d8
* Update CMake.Daniel Dunbar2009-09-141-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81757 91177308-0d34-0410-b5e6-96231b3b80d8
* Change MCAsmStreamer to take an MCInstPrinter instead of a Chris Lattner2009-09-141-8/+8
| | | | | | | | | | | | | full AsmPrinter, and change TargetRegistry to keep track of registered MCInstPrinters. llvm-mc is still linking in the entire target foo to get the code emitter stuff, but this is an important step in the right direction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81754 91177308-0d34-0410-b5e6-96231b3b80d8
* add a new MCInstPrinter class, move the (trivial) MCDisassmbler ctor inline.Chris Lattner2009-09-142-3/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81745 91177308-0d34-0410-b5e6-96231b3b80d8
* 'printMCInst' doesn't print newlines after instructions anymore.Chris Lattner2009-09-131-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81723 91177308-0d34-0410-b5e6-96231b3b80d8
* remove MAI::JumpTableSpecialLabelPrefix now that MAI Chris Lattner2009-09-132-7/+0
| | | | | | | has real information about linker private linkage. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81695 91177308-0d34-0410-b5e6-96231b3b80d8
* fix MCSymbol printing on darwin to exactly match the mangler (handling of \n ↵Chris Lattner2009-09-131-8/+28
| | | | | | and " in a symbol name). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81683 91177308-0d34-0410-b5e6-96231b3b80d8
* 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). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81682 91177308-0d34-0410-b5e6-96231b3b80d8
* eliminate the "MBBLabel" MCOperand type, and just use a MCSymbol forChris Lattner2009-09-121-3/+0
| | | | | | | MBB labels like everything else. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81628 91177308-0d34-0410-b5e6-96231b3b80d8
* Update CMake files.Ted Kremenek2009-09-111-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81577 91177308-0d34-0410-b5e6-96231b3b80d8
* canonicalize namespace gymnasticsChris Lattner2009-09-091-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81402 91177308-0d34-0410-b5e6-96231b3b80d8
* Added an abstract superclass, MCDisassembler, forSean Callanan2009-09-091-0/+16
| | | | | | | | | | | | | | all disassemblers. Modified the MemoryObject to support 64-bit address spaces, regardless of the LLVM process's address width. Modified the Target class to allow extraction of a MCDisassembler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81392 91177308-0d34-0410-b5e6-96231b3b80d8
* allow @ in symbol names without quoting the identifier. This Chris Lattner2009-09-091-1/+1
| | | | | | | allows things like @PLT without quotes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81296 91177308-0d34-0410-b5e6-96231b3b80d8
* parenthesize symbol names that start with $, fixing X86/dollar-name.ll withChris Lattner2009-09-081-2/+13
| | | | | | | the new asmprinter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81269 91177308-0d34-0410-b5e6-96231b3b80d8
* Print "X-42" instead of "X+-42".Chris Lattner2009-09-081-1/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81203 91177308-0d34-0410-b5e6-96231b3b80d8
* make formatting of expressions more closely match the existing asmprinter.Chris Lattner2009-09-081-6/+19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81202 91177308-0d34-0410-b5e6-96231b3b80d8
* tidy whitespace.Chris Lattner2009-09-081-7/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81201 91177308-0d34-0410-b5e6-96231b3b80d8
* fix MCSymbol printing to exactly match the normal mangler rules soChris Lattner2009-09-031-19/+23
| | | | | | | we can diff .s files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80894 91177308-0d34-0410-b5e6-96231b3b80d8
* Thread an MCAsmInfo pointer through the various MC printing APIs, Chris Lattner2009-09-035-29/+38
| | | | | | | | 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
* inline insertion operators.Chris Lattner2009-09-031-15/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80888 91177308-0d34-0410-b5e6-96231b3b80d8
* output alignment value in hex so that we get:Chris Lattner2009-09-031-1/+2
| | | | | | | | | | | | .align 3, 0x90 instead of, .align 3, 144 suggested by eric. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80875 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Store MCSymbolData value as a pointer (to make MSVC happy).Daniel Dunbar2009-09-011-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80652 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Pass values to MCStreamer as MCExprs, not MCValues.Daniel Dunbar2009-08-313-34/+37
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80578 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Simplify EmitAssignment ('.set' is identical to '=').Daniel Dunbar2009-08-313-25/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80577 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Switch MCInst to storing an MCExpr* instead of an MCValue.Daniel Dunbar2009-08-313-27/+35
| | | | | | Also, use MCInst::print instead of custom code in MCAsmPrinter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80575 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Make MCSymbolData symbol member const.Daniel Dunbar2009-08-312-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80573 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Add MCContext to MCAssembler.Daniel Dunbar2009-08-312-4/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80572 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Add MCExpr::{dump,print}.Daniel Dunbar2009-08-311-0/+67
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80570 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Switch MCExpr construction to using static member functions, and ↵Daniel Dunbar2009-08-311-8/+28
| | | | | | taking the MCContext (which now owns all MCExprs). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80569 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Move AsmExpr into MC lib (as MCExpr).Daniel Dunbar2009-08-312-0/+163
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80567 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: MCStreamer cleanups. - Remove EmitLocalSymbol, this is unsupported ↵Daniel Dunbar2009-08-303-32/+16
| | | | | | | | for now. - Switch Emit{CommonSymbol,Zerofill} to take alignment in bytes (for consistency). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80484 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: .lsym is more unsupported than unimplemented, pending a use case ↵Daniel Dunbar2009-08-281-5/+5
| | | | | | | | appearing. Also, all one of the file level flags are implemented. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80352 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Support .comm emission.Daniel Dunbar2009-08-282-14/+41
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80351 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-mc: Support .zerofill emission.Daniel Dunbar2009-08-282-4/+85
| | | | | | - I'm still trying to figure out the cleanest way to implement this and match the assembler, currently there are some substantial differences. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80347 91177308-0d34-0410-b5e6-96231b3b80d8