summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix PR8565.Rafael Espindola2010-11-152-6/+26
| | | | | | | | | | | 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
* correct the fixup comment printer to work on big endian platforms.Chris Lattner2010-11-151-1/+8
| | | | llvm-svn: 119122
* add targetoperand flags for jump tables, constant pool and block addressChris Lattner2010-11-151-4/+15
| | | | | | | | | | | | | | nodes to indicate when ha16/lo16 modifiers should be used. This lets us pass PowerPC/indirectbr.ll. The one annoying thing about this patch is that the MCSymbolExpr isn't expressive enough to represent ha16(label1-label2) which we need on PowerPC. I have a terrible hack in the meantime, but this will have to be revisited at some point. Last major conversion item left is global variable references. llvm-svn: 119105
* Move the logic to decide with which symbol we produce a relocation (if any) toRafael Espindola2010-11-141-27/+44
| | | | | | a central location. This also makes us a bit more compatible with gas. llvm-svn: 119094
* reimplement ppc asmprinter "toc" handling to use a VariantKindChris Lattner2010-11-141-1/+2
| | | | | | | | on the operand, required for .o file writing and fixing the PowerPC/mult-alt-generic-powerpc64.ll failure with the new instprinter. llvm-svn: 119087
* Fix another case of a .comm directive without a corresponding .typeRafael Espindola2010-11-141-1/+2
| | | | | | directive. llvm-svn: 119073
* Fix the type of a symbol created with .comm and no corresponding .type.Rafael Espindola2010-11-141-0/+1
| | | | llvm-svn: 119060
* Handle a peculiar comdat case: Creating a section with an undefinedRafael Espindola2010-11-142-29/+55
| | | | | | | signature symbol causes a local symbol to be created unless there is some other use of the symbol. llvm-svn: 119026
* Simplify getSymbolIndexInSymbolTable by setting the actual index ofRafael Espindola2010-11-141-11/+6
| | | | | | the symbols. llvm-svn: 119022
* Fix warning.Rafael Espindola2010-11-141-0/+4
| | | | llvm-svn: 119021
* MC: Simplify Mach-O and ELF object writer implementations.Daniel Dunbar2010-11-132-192/+98
| | | | | | - What was I thinking????? llvm-svn: 118992
* Fix warning and add support for printing gnu_unique_object.Rafael Espindola2010-11-131-0/+2
| | | | llvm-svn: 118981
* Parse and record the gnu_unique_object type.Rafael Espindola2010-11-132-0/+2
| | | | llvm-svn: 118980
* Parse and remember discriminators in .loc line. I try to output them withRafael Espindola2010-11-132-2/+8
| | | | | | | another patch. This lets us parse a bit more of the gcc 4.5 output. llvm-svn: 118975
* Fix the encoding of negative line deltas.Rafael Espindola2010-11-131-1/+1
| | | | llvm-svn: 118962
* MCELF: Copy the symbol name only if we're going to modify it.Benjamin Kramer2010-11-121-9/+8
| | | | llvm-svn: 118920
* Remove what looks like dead code in the production of debug lines.Rafael Espindola2010-11-121-45/+2
| | | | | | | | | We only produce debug line information if we have seen a line directive, so this code is dead. Also, if we want to be bug by bug compatible with gas and sometimes produce "empty" .debug_line sections, this will match the content produced by gas. llvm-svn: 118914
* gnu as support both % and @ before types, do the same.Rafael Espindola2010-11-121-10/+4
| | | | llvm-svn: 118893
* Trailing whitespace.Jim Grosbach2010-11-111-5/+5
| | | | llvm-svn: 118831
* Mark labels declared in tls sections as STT_TLS. This matches the behavior ofRafael Espindola2010-11-112-33/+37
| | | | | | gas. llvm-svn: 118818
* Initial comdat implementation.Rafael Espindola2010-11-113-28/+145
| | | | llvm-svn: 118805
* Make AliasedSymbol able to handle MCTargetExpr. They can get here ifRafael Espindola2010-11-111-3/+16
| | | | | | a weakref is used with a VariantKind. llvm-svn: 118798
* Fix the symbol index of weak references. Also make RecordRelocation a bitRafael Espindola2010-11-111-22/+12
| | | | | | | easier to read by having const references to the symbol, aliased symbol and renamed symbol. llvm-svn: 118793
* Remove some explicit arguments to getELFSection. This isRafael Espindola2010-11-111-6/+4
| | | | | | a leftover from the removal of isExplicit. llvm-svn: 118774
* Factor some code into WriteSection.Rafael Espindola2010-11-101-62/+72
| | | | llvm-svn: 118733
* Update the section index map after we add the medatada sections.Rafael Espindola2010-11-101-0/+4
| | | | llvm-svn: 118728
* Use SectionIndexMap in WriteSymbolTable to make it a little less brittle.Rafael Espindola2010-11-101-16/+17
| | | | llvm-svn: 118725
* Factor some code into ComputeIndexMap.Rafael Espindola2010-11-101-14/+28
| | | | llvm-svn: 118722
* Change the String<size> methods to take a fragment instead of a buffer.Rafael Espindola2010-11-101-77/+40
| | | | llvm-svn: 118709
* Use MCSectionELF in places we know we have an ELF section.Rafael Espindola2010-11-102-8/+7
| | | | llvm-svn: 118699
* Update ARMConstantPoolValue to not use a modifier string. Use an explicitJim Grosbach2010-11-101-1/+11
| | | | | | | VariantKind marker to indicate the additional information necessary. Update MC to handle the new Kinds. rdar://8647623 llvm-svn: 118671
* Fixed version of 118639 with an extra assert to catch similar problemsRafael Espindola2010-11-094-40/+30
| | | | | | earlier. Implicit bool -> int conversions are evil! llvm-svn: 118651
* Revert previous patch. Missed a case.Rafael Espindola2010-11-094-29/+40
| | | | llvm-svn: 118645
* Remove IsExplicit. It was always false.Rafael Espindola2010-11-094-40/+29
| | | | llvm-svn: 118639
* Fix typo.Daniel Dunbar2010-11-081-1/+1
| | | | llvm-svn: 118421
* Set default flags for .rodata.Rafael Espindola2010-11-081-1/+3
| | | | llvm-svn: 118395
* Speed up AddSectionToTheEnd. It was walking all fragments in all sections.Rafael Espindola2010-11-071-19/+4
| | | | | | | | | | This is really slow with we have 1000s of sections each with a corresponding relocation section. Also, it is only used by the ELF writer to add basic data, so there is no need to force a new layout pass. Should fix PR8563. llvm-svn: 118377
* Relax dwarf line fragments. This fixes a crash in the included testcase.Rafael Espindola2010-11-071-13/+18
| | | | llvm-svn: 118365
* Add '.code 32' assembler directive to MC streamers.Jim Grosbach2010-11-053-0/+3
| | | | llvm-svn: 118309
* MC'ize the '.code 16' and '.thumb_func' ARM directives.Jim Grosbach2010-11-056-2/+36
| | | | llvm-svn: 118301
* Put class into an anonymous namespace.Benjamin Kramer2010-11-051-0/+2
| | | | llvm-svn: 118294
* Allow targets to specify the MachO CPUType/CPUSubtype information.Jim Grosbach2010-11-051-7/+13
| | | | llvm-svn: 118288
* syntaxunified directive is a no-op for MachO writing.Jim Grosbach2010-11-051-0/+1
| | | | llvm-svn: 118287
* Add 118023 back, but with proper spelling for .uleb128/.sleb128.Rafael Espindola2010-11-041-2/+4
| | | | llvm-svn: 118254
* Do relaxations with FT_Org fragments. Fixes the FIXME:Rafael Espindola2010-11-021-18/+24
| | | | | | | | | // FIXME: We should compute this sooner, we don't want to recurse here, and // we would like to be more functional. In MCAssembler::ComputeFragmentSize. llvm-svn: 118080
* Add support for expressions in .sleb/.uleb directives.Rafael Espindola2010-11-028-87/+159
| | | | llvm-svn: 118023
* Write the line info to .debug_line.Rafael Espindola2010-11-011-0/+9
| | | | llvm-svn: 117930
* Move EmitInstruction to MCObjectStreamer so that ELF and MachO can share it.Rafael Espindola2010-11-014-69/+46
| | | | llvm-svn: 117925
* Add support for .value.Rafael Espindola2010-11-011-0/+2
| | | | llvm-svn: 117922
* Implement .weakref.Rafael Espindola2010-11-018-2/+121
| | | | llvm-svn: 117911
OpenPOWER on IntegriCloud