Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Fix PR8565. | Rafael Espindola | 2010-11-15 | 2 | -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 Lattner | 2010-11-15 | 1 | -1/+8 | |
| | | | | llvm-svn: 119122 | |||||
* | add targetoperand flags for jump tables, constant pool and block address | Chris Lattner | 2010-11-15 | 1 | -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) to | Rafael Espindola | 2010-11-14 | 1 | -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 VariantKind | Chris Lattner | 2010-11-14 | 1 | -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 .type | Rafael Espindola | 2010-11-14 | 1 | -1/+2 | |
| | | | | | | directive. llvm-svn: 119073 | |||||
* | Fix the type of a symbol created with .comm and no corresponding .type. | Rafael Espindola | 2010-11-14 | 1 | -0/+1 | |
| | | | | llvm-svn: 119060 | |||||
* | Handle a peculiar comdat case: Creating a section with an undefined | Rafael Espindola | 2010-11-14 | 2 | -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 of | Rafael Espindola | 2010-11-14 | 1 | -11/+6 | |
| | | | | | | the symbols. llvm-svn: 119022 | |||||
* | Fix warning. | Rafael Espindola | 2010-11-14 | 1 | -0/+4 | |
| | | | | llvm-svn: 119021 | |||||
* | MC: Simplify Mach-O and ELF object writer implementations. | Daniel Dunbar | 2010-11-13 | 2 | -192/+98 | |
| | | | | | | - What was I thinking????? llvm-svn: 118992 | |||||
* | Fix warning and add support for printing gnu_unique_object. | Rafael Espindola | 2010-11-13 | 1 | -0/+2 | |
| | | | | llvm-svn: 118981 | |||||
* | Parse and record the gnu_unique_object type. | Rafael Espindola | 2010-11-13 | 2 | -0/+2 | |
| | | | | llvm-svn: 118980 | |||||
* | Parse and remember discriminators in .loc line. I try to output them with | Rafael Espindola | 2010-11-13 | 2 | -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 Espindola | 2010-11-13 | 1 | -1/+1 | |
| | | | | llvm-svn: 118962 | |||||
* | MCELF: Copy the symbol name only if we're going to modify it. | Benjamin Kramer | 2010-11-12 | 1 | -9/+8 | |
| | | | | llvm-svn: 118920 | |||||
* | Remove what looks like dead code in the production of debug lines. | Rafael Espindola | 2010-11-12 | 1 | -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 Espindola | 2010-11-12 | 1 | -10/+4 | |
| | | | | llvm-svn: 118893 | |||||
* | Trailing whitespace. | Jim Grosbach | 2010-11-11 | 1 | -5/+5 | |
| | | | | llvm-svn: 118831 | |||||
* | Mark labels declared in tls sections as STT_TLS. This matches the behavior of | Rafael Espindola | 2010-11-11 | 2 | -33/+37 | |
| | | | | | | gas. llvm-svn: 118818 | |||||
* | Initial comdat implementation. | Rafael Espindola | 2010-11-11 | 3 | -28/+145 | |
| | | | | llvm-svn: 118805 | |||||
* | Make AliasedSymbol able to handle MCTargetExpr. They can get here if | Rafael Espindola | 2010-11-11 | 1 | -3/+16 | |
| | | | | | | a weakref is used with a VariantKind. llvm-svn: 118798 | |||||
* | Fix the symbol index of weak references. Also make RecordRelocation a bit | Rafael Espindola | 2010-11-11 | 1 | -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 is | Rafael Espindola | 2010-11-11 | 1 | -6/+4 | |
| | | | | | | a leftover from the removal of isExplicit. llvm-svn: 118774 | |||||
* | Factor some code into WriteSection. | Rafael Espindola | 2010-11-10 | 1 | -62/+72 | |
| | | | | llvm-svn: 118733 | |||||
* | Update the section index map after we add the medatada sections. | Rafael Espindola | 2010-11-10 | 1 | -0/+4 | |
| | | | | llvm-svn: 118728 | |||||
* | Use SectionIndexMap in WriteSymbolTable to make it a little less brittle. | Rafael Espindola | 2010-11-10 | 1 | -16/+17 | |
| | | | | llvm-svn: 118725 | |||||
* | Factor some code into ComputeIndexMap. | Rafael Espindola | 2010-11-10 | 1 | -14/+28 | |
| | | | | llvm-svn: 118722 | |||||
* | Change the String<size> methods to take a fragment instead of a buffer. | Rafael Espindola | 2010-11-10 | 1 | -77/+40 | |
| | | | | llvm-svn: 118709 | |||||
* | Use MCSectionELF in places we know we have an ELF section. | Rafael Espindola | 2010-11-10 | 2 | -8/+7 | |
| | | | | llvm-svn: 118699 | |||||
* | Update ARMConstantPoolValue to not use a modifier string. Use an explicit | Jim Grosbach | 2010-11-10 | 1 | -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 problems | Rafael Espindola | 2010-11-09 | 4 | -40/+30 | |
| | | | | | | earlier. Implicit bool -> int conversions are evil! llvm-svn: 118651 | |||||
* | Revert previous patch. Missed a case. | Rafael Espindola | 2010-11-09 | 4 | -29/+40 | |
| | | | | llvm-svn: 118645 | |||||
* | Remove IsExplicit. It was always false. | Rafael Espindola | 2010-11-09 | 4 | -40/+29 | |
| | | | | llvm-svn: 118639 | |||||
* | Fix typo. | Daniel Dunbar | 2010-11-08 | 1 | -1/+1 | |
| | | | | llvm-svn: 118421 | |||||
* | Set default flags for .rodata. | Rafael Espindola | 2010-11-08 | 1 | -1/+3 | |
| | | | | llvm-svn: 118395 | |||||
* | Speed up AddSectionToTheEnd. It was walking all fragments in all sections. | Rafael Espindola | 2010-11-07 | 1 | -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 Espindola | 2010-11-07 | 1 | -13/+18 | |
| | | | | llvm-svn: 118365 | |||||
* | Add '.code 32' assembler directive to MC streamers. | Jim Grosbach | 2010-11-05 | 3 | -0/+3 | |
| | | | | llvm-svn: 118309 | |||||
* | MC'ize the '.code 16' and '.thumb_func' ARM directives. | Jim Grosbach | 2010-11-05 | 6 | -2/+36 | |
| | | | | llvm-svn: 118301 | |||||
* | Put class into an anonymous namespace. | Benjamin Kramer | 2010-11-05 | 1 | -0/+2 | |
| | | | | llvm-svn: 118294 | |||||
* | Allow targets to specify the MachO CPUType/CPUSubtype information. | Jim Grosbach | 2010-11-05 | 1 | -7/+13 | |
| | | | | llvm-svn: 118288 | |||||
* | syntaxunified directive is a no-op for MachO writing. | Jim Grosbach | 2010-11-05 | 1 | -0/+1 | |
| | | | | llvm-svn: 118287 | |||||
* | Add 118023 back, but with proper spelling for .uleb128/.sleb128. | Rafael Espindola | 2010-11-04 | 1 | -2/+4 | |
| | | | | llvm-svn: 118254 | |||||
* | Do relaxations with FT_Org fragments. Fixes the FIXME: | Rafael Espindola | 2010-11-02 | 1 | -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 Espindola | 2010-11-02 | 8 | -87/+159 | |
| | | | | llvm-svn: 118023 | |||||
* | Write the line info to .debug_line. | Rafael Espindola | 2010-11-01 | 1 | -0/+9 | |
| | | | | llvm-svn: 117930 | |||||
* | Move EmitInstruction to MCObjectStreamer so that ELF and MachO can share it. | Rafael Espindola | 2010-11-01 | 4 | -69/+46 | |
| | | | | llvm-svn: 117925 | |||||
* | Add support for .value. | Rafael Espindola | 2010-11-01 | 1 | -0/+2 | |
| | | | | llvm-svn: 117922 | |||||
* | Implement .weakref. | Rafael Espindola | 2010-11-01 | 8 | -2/+121 | |
| | | | | llvm-svn: 117911 |