Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | MC/Mach-O: Initial x86_64 support. | Daniel Dunbar | 2010-03-13 | 1 | -45/+80 | |
| | | | | llvm-svn: 98454 | |||||
* | MC/Mach-O: PCrel relocations weren't using the right base address, they are | Daniel Dunbar | 2010-03-13 | 1 | -1/+1 | |
| | | | | | | | relative to the fragment address, not its offset. This was masked by the text section normally being at address 0. llvm-svn: 98420 | |||||
* | MC/Mach-O: Implement initial support for relaxation. | Daniel Dunbar | 2010-03-12 | 1 | -9/+117 | |
| | | | | | | | | | | | | - The implementation is currently very brain dead and inefficient, but I have a clear plan on how to fix it. - The good news is, it works and correctly assembles 403.gcc (when built with Clang, at '-Os', '-Os -g', and '-O3'). Even better, at '-Os' and '-Os -g', the resulting binary is exactly equivalent to that when built with the system assembler. So it probably works! :) llvm-svn: 98396 | |||||
* | MC: Factor out MCAssembler::EvaluateFixup, and simplify. | Daniel Dunbar | 2010-03-12 | 1 | -33/+52 | |
| | | | | llvm-svn: 98381 | |||||
* | MC/Mach-O: Add MCSymbolData::getAddress() utility. | Daniel Dunbar | 2010-03-11 | 1 | -4/+4 | |
| | | | | llvm-svn: 98266 | |||||
* | MC/Mach-O: Implement "absolutizing" semantics of .set, by evaluating the ↵ | Daniel Dunbar | 2010-03-11 | 1 | -2/+8 | |
| | | | | | | assembly time value of variables. llvm-svn: 98241 | |||||
* | MC/Mach-O: Start passing in the basic MCAsmLayout object. | Daniel Dunbar | 2010-03-11 | 1 | -13/+14 | |
| | | | | | | - Also, drop the current location part of AsmLayout, I think I prefer to implement this via explicit symbols. llvm-svn: 98240 | |||||
* | MC: Provide MCAssembler with a TargetAsmBackend. | Daniel Dunbar | 2010-03-11 | 1 | -2/+3 | |
| | | | | llvm-svn: 98222 | |||||
* | MC/Mach-O: Use the MCAssembler symbol map instead of reconstructing. | Daniel Dunbar | 2010-03-10 | 1 | -32/+17 | |
| | | | | llvm-svn: 98187 | |||||
* | MC/Mach-O: Resolve a FIXME; these relocation types are no longer semanticaly ↵ | Daniel Dunbar | 2010-03-10 | 1 | -3/+5 | |
| | | | | | | different. llvm-svn: 98120 | |||||
* | MC/Mach-O: Use the SECTDIFF relocation type for (A - B + constant) where A ↵ | Daniel Dunbar | 2010-03-10 | 1 | -8/+11 | |
| | | | | | | | | is external. - I'm not sure why, but this is what 'as' does. llvm-svn: 98115 | |||||
* | MC/Mach-O: For PCrel relocations, we need to compensate for the PCrel ↵ | Daniel Dunbar | 2010-03-09 | 1 | -5/+9 | |
| | | | | | | adjustment when determining if we need a scattered relocation. llvm-svn: 98082 | |||||
* | MC/Mach-O: Also set the PCrel bit in the second half of paired relocation ↵ | Daniel Dunbar | 2010-03-09 | 1 | -4/+2 | |
| | | | | | | entries. llvm-svn: 98081 | |||||
* | MC/Mach-O: Don't generate relocations for PCrel fixups to local labels. | Daniel Dunbar | 2010-03-09 | 1 | -9/+19 | |
| | | | | llvm-svn: 98080 | |||||
* | MC/Mach-O: Tweak .dump() formatting. | Daniel Dunbar | 2010-03-09 | 1 | -4/+4 | |
| | | | | llvm-svn: 98028 | |||||
* | MC/Mach-O: Don't adjust section sizes when aligning zero fill sections, just ↵ | Daniel Dunbar | 2010-03-09 | 1 | -5/+1 | |
| | | | | | | pad the address. llvm-svn: 98027 | |||||
* | MC/Macho-O: Align the zerofill section itself to the maximum alignment. | Daniel Dunbar | 2010-03-08 | 1 | -0/+10 | |
| | | | | llvm-svn: 97991 | |||||
* | MC/Mach-O: Fix address compution for zero fill sections. | Daniel Dunbar | 2010-03-08 | 1 | -2/+2 | |
| | | | | llvm-svn: 97984 | |||||
* | MC/Mach-O: Error out instead of crashing on invalid scattered relocation ↵ | Daniel Dunbar | 2010-03-08 | 1 | -2/+11 | |
| | | | | | | expressions. llvm-svn: 97983 | |||||
* | This is the second patch to allow x86 code to be aligned with optimal nops. | Kevin Enderby | 2010-02-23 | 1 | -2/+47 | |
| | | | | | | | | | | With the compiler changed to use EmitCodeAlignment() it does change the functionality. But X86 assembly code assembled with llvm-mc does not change its output. For that we will eventually change the assembler frontend to detect a '.align x, 0x90' when used in a section that 'hasInstructions' and use EmitCodeAlignment, but will wait until we have better target hooks. llvm-svn: 96988 | |||||
* | This is the first patch to put the needed bits in place to eventually allow code | Kevin Enderby | 2010-02-23 | 1 | -0/+23 | |
| | | | | | | | | | | | to be aligned with optimal nops. This patch does not change any functionality and when the compiler is changed to use EmitCodeAlignment() it should also not change the resulting output. Once the compiler change is made and everything looks good the next patch with the table of optimal X86 nops will be added to WriteNopData() changing the output. There are many FIXMEs in this patch which will be removed when we have better target hooks (coming soon I hear). llvm-svn: 96963 | |||||
* | MC/Mach-O: Update fixup values for change to X86 offsets. | Daniel Dunbar | 2010-02-17 | 1 | -6/+4 | |
| | | | | llvm-svn: 96532 | |||||
* | Pacify gcc-4.5, which warns (correctly) that these switches have | Duncan Sands | 2010-02-17 | 1 | -2/+2 | |
| | | | | | | cases that are not part of the enum. llvm-svn: 96477 | |||||
* | MCAssembler: Fix pcrel relocations. Oh and, | Daniel Dunbar | 2010-02-13 | 1 | -2/+23 | |
| | | | | | | | | | -- ddunbar@ozzy:tmp$ clang -m32 -integrated-as hello.c && ./a.out hello world! -- llvm-svn: 96096 | |||||
* | MC/Mach-O: Start emitting fixups/relocations for instructions. | Daniel Dunbar | 2010-02-13 | 1 | -0/+7 | |
| | | | | llvm-svn: 96095 | |||||
* | MCAssembler: Switch MCAsmFixup to storing MCFixupKind instead of just a size. | Daniel Dunbar | 2010-02-13 | 1 | -8/+20 | |
| | | | | llvm-svn: 96094 | |||||
* | MCAssembler: Sink fixup list into MCDataFragment. | Daniel Dunbar | 2010-02-13 | 1 | -15/+18 | |
| | | | | llvm-svn: 96093 | |||||
* | MCAssembler: Switch MCFillFragment to only taking constant values. Symbolic ↵ | Daniel Dunbar | 2010-02-13 | 1 | -47/+5 | |
| | | | | | | expressions can always be emitted as data + fixups. llvm-svn: 96092 | |||||
* | MCAssembler: Start applying fixups in the data section. | Daniel Dunbar | 2010-02-13 | 1 | -1/+19 | |
| | | | | llvm-svn: 96090 | |||||
* | MCAssembler: Add assorted dump() methods. | Daniel Dunbar | 2010-02-13 | 1 | -0/+144 | |
| | | | | llvm-svn: 96089 | |||||
* | MC: Move assembler-backend's fixup list into the fragment. | Daniel Dunbar | 2010-02-11 | 1 | -40/+22 | |
| | | | | llvm-svn: 95926 | |||||
* | MC: Move MCSectionData::Fixup out to MCAsmFixup. | Daniel Dunbar | 2010-02-11 | 1 | -8/+7 | |
| | | | | llvm-svn: 95925 | |||||
* | llvm-mc: Add --show-fixups option, for displaying the instruction fixup ↵ | Daniel Dunbar | 2010-02-09 | 1 | -4/+4 | |
| | | | | | | information in the asm comments. llvm-svn: 95710 | |||||
* | MC/Mach-O: Set SOME_INSTRUCTIONS bit for sections. | Daniel Dunbar | 2010-02-02 | 1 | -2/+7 | |
| | | | | llvm-svn: 95135 | |||||
* | Add a new top-level MachO.h file for manifest constants, fixing | Chris Lattner | 2010-02-02 | 1 | -3/+3 | |
| | | | | | | a layering violation from MC -> Target. llvm-svn: 95113 | |||||
* | Remove this fixme, looking at the linker source, all targets pad to 4 bytes. | Nate Begeman | 2010-01-19 | 1 | -2/+0 | |
| | | | | llvm-svn: 93835 | |||||
* | Pass StringRef by value. | Daniel Dunbar | 2009-11-06 | 1 | -1/+1 | |
| | | | | llvm-svn: 86251 | |||||
* | Minor formatting tweaks. | Daniel Dunbar | 2009-10-16 | 1 | -24/+24 | |
| | | | | llvm-svn: 84235 | |||||
* | MC: Switch assembler API to using MCExpr instead of MCValue. | Daniel Dunbar | 2009-10-16 | 1 | -19/+39 | |
| | | | | llvm-svn: 84234 | |||||
* | llvm-mc: Store MCSymbolData value as a pointer (to make MSVC happy). | Daniel Dunbar | 2009-09-01 | 1 | -2/+2 | |
| | | | | llvm-svn: 80652 | |||||
* | llvm-mc: Make MCSymbolData symbol member const. | Daniel Dunbar | 2009-08-31 | 1 | -5/+5 | |
| | | | | llvm-svn: 80573 | |||||
* | llvm-mc: Add MCContext to MCAssembler. | Daniel Dunbar | 2009-08-31 | 1 | -3/+2 | |
| | | | | llvm-svn: 80572 | |||||
* | llvm-mc: Support .comm emission. | Daniel Dunbar | 2009-08-28 | 1 | -12/+34 | |
| | | | | llvm-svn: 80351 | |||||
* | llvm-mc: Support .zerofill emission. | Daniel Dunbar | 2009-08-28 | 1 | -3/+64 | |
| | | | | | | - I'm still trying to figure out the cleanest way to implement this and match the assembler, currently there are some substantial differences. llvm-svn: 80347 | |||||
* | llvm-mc: Tweak section alignment and size computation to match 'as' closer. | Daniel Dunbar | 2009-08-28 | 1 | -20/+42 | |
| | | | | llvm-svn: 80345 | |||||
* | llvm-mc: Fix thinko in emitting values. | Daniel Dunbar | 2009-08-28 | 1 | -1/+1 | |
| | | | | llvm-svn: 80340 | |||||
* | Try to make MSVC just a little happier. | Daniel Dunbar | 2009-08-27 | 1 | -2/+2 | |
| | | | | llvm-svn: 80187 | |||||
* | llvm-mc/Mach-O: Don't put assembler temporary labels in the symbol table. | Daniel Dunbar | 2009-08-26 | 1 | -0/+8 | |
| | | | | | | | | - 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). llvm-svn: 80162 | |||||
* | llvm-mc/Mach-O: Set .subsections_via_symbols flag properly. | Daniel Dunbar | 2009-08-26 | 1 | -9/+21 | |
| | | | | llvm-svn: 80144 | |||||
* | llvm-mc/Mach-O: Add support for relocations. | Daniel Dunbar | 2009-08-26 | 1 | -13/+225 | |
| | | | | | | | | | | - I haven't really tried to find the "right" way to store the fixups or apply them, yet. This works, but isn't particularly elegant or fast. - Still no evaluation support, so we don't actually ever not turn a fixup into a relocation entry. llvm-svn: 80089 |