summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC
Commit message (Collapse)AuthorAgeFilesLines
* Move getOpcodeName from the various target InstPrinters into the superclass ↵Benjamin Kramer2012-04-021-1/+2
| | | | | | | | MCInstPrinter. All implementations used the same code. llvm-svn: 153866
* Make MCInstrInfo available to the MCInstPrinter. This will be used to remove ↵Craig Topper2012-04-023-4/+16
| | | | | | getInstructionName and the static data it contains since the same tables are already in MCInstrInfo. llvm-svn: 153860
* Prune some includesCraig Topper2012-03-273-3/+0
| | | | llvm-svn: 153502
* Prune some includes and forward declarations.Craig Topper2012-03-266-9/+10
| | | | llvm-svn: 153429
* Add a hook in MCELFObjectTargetWriter to allow targets to sort relocationAkira Hatanaka2012-03-232-29/+13
| | | | | | entries in the relocation table before they are written out to the file. llvm-svn: 153345
* Assembler should accept redefinitions of unused variable symbols.Jim Grosbach2012-03-202-2/+2
| | | | | | rdar://11027851 llvm-svn: 153137
* Tidy up.Jim Grosbach2012-03-201-3/+2
| | | | llvm-svn: 153136
* MC asm parser macro argument count was wrong when empty.Jim Grosbach2012-03-171-0/+5
| | | | | | | | evaluated to '1' when the argument list was empty (should be '0'). rdar://11057257 llvm-svn: 152967
* Implement relocation-overflow behavior for PE/COFF.Michael J. Spencer2012-03-151-2/+29
| | | | | | | | | This needs a test, but it will take some time to figure out the best way to get an input that will produce > 2^16 relocs. Patch by Graydon Hoare! llvm-svn: 152787
* Make MCRegisterInfo available to the the MCInstPrinter.Jim Grosbach2012-03-052-2/+3
| | | | | | | Used to allow context sensitive printing of super-register or sub-register references. llvm-svn: 152043
* Correctly initialize LineSectionSymbol. Thanks to Duncan Sands for noticing it.Rafael Espindola2012-03-032-2/+2
| | | | llvm-svn: 151979
* Make MemoryObject accessor members const againDerek Schuff2012-02-292-4/+4
| | | | llvm-svn: 151687
* On ELF, create relocations to the abbreviation and line sections when producingRafael Espindola2012-02-283-10/+34
| | | | | | | | | | debug info for assembly files. We were already doing the right thing when producing debug info for C/C++. ELF linkers don't know dwarf, so they depend on these relocations to produce valid dwarf output. llvm-svn: 151655
* ARM BL/BLX instruction fixups should use relocations.Jim Grosbach2012-02-271-2/+4
| | | | | | | | | | | | | We on the linker to resolve calls to the appropriate BL/BLX instruction to make interworking function correctly. It uses the symbol in the relocation to do that, so we need to be careful about being too clever. To enable this for ARM mode, split the BL/BLX fixup kind off from the unconditional-branch fixups. rdar://10927209 llvm-svn: 151571
* Grammar-o.Eric Christopher2012-02-251-1/+1
| | | | llvm-svn: 151418
* ARM Thumb symbol references in assembly need the low bit set.Jim Grosbach2012-02-241-0/+5
| | | | | | | | | Add support for a missed case when the symbols in a difference expression are in the same section but not the same fragment. rdar://10924681 llvm-svn: 151345
* Emit global ctors into .CRT$XCU instead of .ctors on Win32. Patch by Joe Groff!Michael J. Spencer2012-02-231-6/+16
| | | | llvm-svn: 151289
* Bump SmallString to the minimum required amount for raw_ostream to avoid ↵Benjamin Kramer2012-02-231-2/+2
| | | | | | | | allocation. It's is a bit annoying, we should hide this implementation detail better. llvm-svn: 151284
* MC: Fix the MCNullStreamer which was broken in r147763.Daniel Dunbar2012-02-221-0/+4
| | | | llvm-svn: 151213
* Switch the llvm::Triple class to immediately parse the triple string onChandler Carruth2012-02-211-4/+1
| | | | | | | | | construction. Simplify its interface, implementation, and users accordingly as there is no longer an 'uninitialized' state to check for. Also, fixes a bug lurking in the interface as there was one method that didn't correctly check for initialization. llvm-svn: 151024
* Remove dead code. Improve llvm_unreachable text. Simplify some control flow.Ahmed Charles2012-02-191-16/+11
| | | | llvm-svn: 150918
* Fix typo in comment ldopen() -> dlopen().Kevin Enderby2012-02-171-1/+1
| | | | llvm-svn: 150836
* Put back the initializing the targets in the disassembler API with a comment asKevin Enderby2012-02-171-0/+13
| | | | | | | to why this is needed. This broke the darwin's otool(1) program. This change was made in r144385. llvm-svn: 150832
* Generate the correct EH frame section types on Solaris, this time without ↵David Chisnall2012-02-171-1/+8
| | | | | | breaking other platforms... llvm-svn: 150819
* Revert r150814. It turns out that there is a good reason for this after all...David Chisnall2012-02-171-26/+22
| | | | llvm-svn: 150818
* Don't lazily allocate eh_frame. We're not lazily allocating things like the ↵David Chisnall2012-02-171-22/+26
| | | | | | | | LSDA, which are only used when the eh frame is used, so this lazy allocation doesn't really make sense. Fix the type of eh_frame on Solaris so that Sun ld doesn't fail to combine them (thus making it impossible for the unwind library to find them and breaking exceptions). llvm-svn: 150814
* For ELF, also call fixSymbolsInTLSFixups() on expressions passed to ↵David Meyer2012-02-151-0/+9
| | | | | | EmitValue (literal values). Previously only called on expressions in instructions. New test cases added to tls.s, tls-i386.s. Resolves PR11981. llvm-svn: 150582
* Add support for implicit TLS model used with MS VC runtime.Anton Korobeynikov2012-02-112-0/+7
| | | | | | Patch by Kai Nacke! llvm-svn: 150307
* Convert assert(0) to llvm_unreachableCraig Topper2012-02-0710-40/+31
| | | | llvm-svn: 149967
* Enable streaming of bitcodeDerek Schuff2012-02-062-4/+4
| | | | | | | This CL delays reading of function bodies from initial parse until materialization, allowing overlap of compilation with bitcode download. llvm-svn: 149918
* Modified the Enhanced Disassembler to create andSean Callanan2012-02-043-31/+40
| | | | | | | | | | cache disassemblers according to the string value of the target triple, not according to the enum of the triple CPU. The reason for this is that certain attributes of the instruction set are not reflected in the enum, but only in the string. llvm-svn: 149773
* Add a new MachineJumpTableInfo entry type, EK_GPRel64BlockAddress, which isAkira Hatanaka2012-02-033-0/+13
| | | | | | | | needed to emit a 64-bit gp-relative relocation entry. Make changes necessary for emitting jump tables which have entries with directive .gpdword. This patch does not implement the parts needed for direct object emission or JIT. llvm-svn: 149668
* Fixed a crash in llvm-mc for Mach-O when a symbol difference expression uses aKevin Enderby2012-01-311-0/+2
| | | | | | | | | symbol from an assignment. In this case the symbol did not have a fragment so MCObjectWriter::IsSymbolRefDifferenceFullyResolved() should not have been calling IsSymbolRefDifferenceFullyResolvedImpl() with a NULL fragment and should just have returned false in that case. llvm-svn: 149442
* Add assembler dialect attribute in asm parser which lets target specific asm ↵Devang Patel2012-01-311-2/+14
| | | | | | parser change dialect on the fly. llvm-svn: 149396
* Silence GCC's -Wreturn-type warning.Benjamin Kramer2012-01-281-0/+3
| | | | llvm-svn: 149179
* Small improvement to the recursion detection logic from the previous commit.Rafael Espindola2012-01-281-1/+3
| | | | llvm-svn: 149175
* Handle recursive variable definitions directly. This gives us better errorRafael Espindola2012-01-281-11/+15
| | | | | | messages and allows us to fix PR11865. llvm-svn: 149174
* Source information in 'expected relocatable expression' diagnostic.Jim Grosbach2012-01-271-1/+1
| | | | llvm-svn: 149105
* Better diagnostic for malformed .org assembly directive.Jim Grosbach2012-01-275-12/+18
| | | | | | Provide source line number information. llvm-svn: 149101
* Tidy up.Jim Grosbach2012-01-261-1/+1
| | | | llvm-svn: 149096
* Add simple support for keeping MCFixup source information.Jim Grosbach2012-01-261-0/+19
| | | | | | | Can be used to issue more user friendly diagnostics for faulty relocation constructs and such. llvm-svn: 149092
* Add SourceMgr to MCContext for backend diagnostics.Jim Grosbach2012-01-261-2/+2
| | | | llvm-svn: 149090
* Add support for the R_ARM_TARGET1 relocation, which should be given to ↵James Molloy2012-01-261-1/+3
| | | | | | | | relocations applied to all C++ constructors and destructors. This enables the linker to match concrete relocation types (absolute or relative) with whatever library or C++ support code is being linked against. llvm-svn: 149057
* Properly emit ctors / dtors with priorities into desired sectionsAnton Korobeynikov2012-01-251-7/+1
| | | | | | | | and let linker handle the rest. This finally fixes PR5329 llvm-svn: 148990
* ARM Darwin symbol ref differences w/o subsection-via-symbols.Jim Grosbach2012-01-241-1/+2
| | | | | | | | When not using subsections via symbols, the assembler can resolve symbol differences (including pcrel references) to non-local labels at assembly time, not just those in the same atom. llvm-svn: 148865
* Add support for .cfi_signal_frame. Fixes pr11762.Rafael Espindola2012-01-234-7/+48
| | | | llvm-svn: 148733
* More dead code removal (using -Wunreachable-code)David Blaikie2012-01-205-8/+2
| | | | llvm-svn: 148578
* Add missing breaks to switch.Benjamin Kramer2012-01-201-13/+25
| | | | | | Found by the clang static analyzer. llvm-svn: 148543
* Remove a bunch of unused variable assignments.Benjamin Kramer2012-01-201-9/+2
| | | | | | Found by the clang static analyzer. llvm-svn: 148541
* Add a dump() implementation for sub-instruction MCOperands.Owen Anderson2012-01-191-0/+2
| | | | llvm-svn: 148493
OpenPOWER on IntegriCloud