summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC
Commit message (Collapse)AuthorAgeFilesLines
* Fix typosAlp Toker2014-05-151-1/+1
| | | | llvm-svn: 208839
* Move the TargetMachine MC options to MCTargetOptions. No functionalEric Christopher2014-05-151-1/+3
| | | | | | change. llvm-svn: 208832
* Make the split function use StringRef::split.Eric Christopher2014-05-131-19/+3
| | | | llvm-svn: 208723
* Check explicitly for EHABI and just use the default settings.Joerg Sonnenberger2014-05-131-0/+4
| | | | | | Code depends on the assembler and linker to fix things up... llvm-svn: 208715
* Move EmitDwarfAdvanceLineAddr and EmitDwarfAdvanceFrameAddr to the obj streamer.Rafael Espindola2014-05-122-27/+0
| | | | | | This lets us delete the MCAsmStreamer implementation. No functionality change. llvm-svn: 208570
* Pass a MCObjectStreamer instead of a MCStreamer when possible.Rafael Espindola2014-05-121-9/+9
| | | | | | No functionality change. llvm-svn: 208569
* Pass a MCObjectStreamer instead of a MCStreamer when possible.Rafael Espindola2014-05-121-6/+6
| | | | | | No functionality change. llvm-svn: 208567
* Move EH/Debug frame handling to the object streamer.Rafael Espindola2014-05-122-19/+23
| | | | | | | Now that the asm streamer doesn't use it, the MCStreamer doesn't need to know about it. llvm-svn: 208562
* Remove always true argument and unused field.Rafael Espindola2014-05-122-20/+6
| | | | llvm-svn: 208561
* Remove always true argument and field.Rafael Espindola2014-05-121-10/+7
| | | | llvm-svn: 208559
* Remove always true argument.Rafael Espindola2014-05-122-4/+4
| | | | llvm-svn: 208558
* Remove an always true argument.Rafael Espindola2014-05-123-5/+5
| | | | llvm-svn: 208557
* Remove write only field.Rafael Espindola2014-05-121-8/+0
| | | | llvm-svn: 208555
* Remove now empty method.Rafael Espindola2014-05-121-5/+0
| | | | llvm-svn: 208554
* Remove the always true UseCFI member.Rafael Espindola2014-05-121-90/+1
| | | | llvm-svn: 208553
* Remove the useCFI constructor argument to MCAsmStreamer.Rafael Espindola2014-05-121-5/+4
| | | | llvm-svn: 208551
* Remove the UseCFI option from createAsmStreamer.Rafael Espindola2014-05-071-5/+4
| | | | | | We were already always passing true, this just removes the option. llvm-svn: 208205
* Allow using normal .eh_frame based unwinding on ARM. Use the sameJoerg Sonnenberger2014-05-071-0/+4
| | | | | | encodings as x86. Use this exception model for NetBSD. llvm-svn: 208166
* Use a range based for loop for the SubtargetFeatures print function.Eric Christopher2014-05-061-2/+2
| | | | llvm-svn: 208132
* Fix odd formatting that snuck into last patch.Eric Christopher2014-05-061-3/+3
| | | | llvm-svn: 208130
* ArrayRef-ize the Feature and Processor tables for SubtargetFeatures.Eric Christopher2014-05-062-71/+52
| | | | | | | | This removes arguments passed everywhere and allows the use of standard iteration over lists. Should be no functional change. llvm-svn: 208127
* Have the SubtargetFeature help routine just not return a number andEric Christopher2014-05-061-6/+4
| | | | | | | | fall back to the normal path without a cpu. While doing this fix llc to just exit when we don't have a module to process instead of asserting. llvm-svn: 208102
* Revert "Walk back commits for unused function parameters - they're still being"Eric Christopher2014-05-061-19/+5
| | | | | | this reapplies 208012 and 208002. llvm-svn: 208037
* Walk back commits for unused function parameters - they're still beingEric Christopher2014-05-051-5/+19
| | | | | | used via dragonegg for now. llvm-svn: 208016
* Remove a now unnecessary function since all calls have one versionEric Christopher2014-05-051-17/+4
| | | | | | and inline it into its caller. llvm-svn: 208012
* Remove a call to std::exit in a library. Make "Help" returnEric Christopher2014-05-051-5/+7
| | | | | | a 0 as a default answer. llvm-svn: 208009
* Remove unused argument from AddFeature.Eric Christopher2014-05-051-3/+2
| | | | llvm-svn: 208002
* Fix pr19645.Rafael Espindola2014-05-035-47/+40
| | | | | | | | | | | | | | | | The fix itself is fairly simple: move getAccessVariant to MCValue so that we replace the old weak expression evaluation with the far more general EvaluateAsRelocatable. This then requires that EvaluateAsRelocatable stop when it finds a non trivial reference kind. And that in turn requires the ELF writer to look harder for weak references. Last but not least, this found a case where we were being bug by bug compatible with gas and accepting an invalid input. I reported pr19647 to track it. llvm-svn: 207920
* MC: place .file records into the correct sectionSaleem Abdulrasool2014-05-021-0/+1
| | | | | | | | | .file records are supposed to have a section identifier of 65534 (IMAGE_SCN_DEBUG) rather than 0. This is spelt out clearly within the PE/COFF specification. Fix this minor oversight with the implementation for support for .file records. llvm-svn: 207851
* Fix uninitialized variable introduced in r207739.David Blaikie2014-05-011-1/+1
| | | | | | | | | | This was initialized by llvm-mc (calling setDwarfVersion) but other clients (such as clang, llc, etc) aren't necessarily initializing this so we were getting garbage DWARF version values in the output. Initialize it to a reasonable default (the same default used in llvm-mc, though this is higher than it was (2) previously). llvm-svn: 207788
* Don't propagate StorageClass and ComplexType to aliases.Rafael Espindola2014-05-011-2/+1
| | | | | | | | | This matches gas' behaviour on COFF. I think that this yak is now sufficiently shaved for aliases with offset to work. llvm-svn: 207786
* Compute the correct section for zed = foo + 1 in COFF.Rafael Espindola2014-05-011-10/+9
| | | | | | | | | This fixes pr19147. There are a few more related issues to fix, but the testcase in the bug now passes. llvm-svn: 207763
* Move getBaseSymbol somewhere the COFF writer can use.Rafael Espindola2014-05-012-26/+25
| | | | | | I will use it there in a second. llvm-svn: 207761
* Make getBaseSymbol non recursive.Rafael Espindola2014-05-011-3/+5
| | | | llvm-svn: 207759
* Record the DWARF version in MCContextOliver Stannard2014-05-011-2/+2
| | | | | | | Record the DWARF version in MCContext, and use it when emitting the dwarf version into the debug info. llvm-svn: 207739
* Start fixing pr19147.Rafael Espindola2014-05-011-10/+13
| | | | | | | This makes the coff writer compute the correct symbol value for the test in pr19147. The section is still incorrect, that will be fixed in a followup patch. llvm-svn: 207728
* Add missing breaks.Joerg Sonnenberger2014-04-301-0/+3
| | | | llvm-svn: 207723
* Switch over getArch()'s result.Joerg Sonnenberger2014-04-301-15/+28
| | | | llvm-svn: 207721
* Provide a version of getSymbolOffset that returns false on error.Rafael Espindola2014-04-302-38/+49
| | | | | | | This simplifies ELFObjectWriter::SymbolValue a bit more. This new version will also be used in the COFF writer to fix pr19147. llvm-svn: 207711
* Simplify ELFObjectWriter::SymbolValue.Rafael Espindola2014-04-301-22/+14
| | | | | | It now defers all offset computation to getSymbolOffset. llvm-svn: 207674
* ELFObjectWriter: deduplicate suffices in strtabHans Wennborg2014-04-301-86/+32
| | | | | | | | | | | | | | | We already do this for shstrtab, so might as well do it for strtab. This extracts the string table building code into a separate class. The idea is to use it for other object formats too. I mostly wanted to do this for the general principle, but it does save a little bit on object file size. I tried this on a clang bootstrap and saved 0.54% on the sum of object file sizes (1.14 MB out of 212 MB for a release build). Differential Revision: http://reviews.llvm.org/D3533 llvm-svn: 207670
* Grammar fix.Rafael Espindola2014-04-301-1/+1
| | | | | | Thanks to Saleem Abdulrasool for noticing it. llvm-svn: 207643
* [ARM64] Ensure arm64_be is dealt with when emitting debug info.James Molloy2014-04-301-1/+2
| | | | | | | This is a partial port of r204816 (cpirker "Elf support for MC-JIT runtime dynamic linker") from AArch64 to ARM64. llvm-svn: 207625
* Simplify getSymbolOffset.Rafael Espindola2014-04-301-26/+28
| | | | | | | We can now use EvaluateAsValue to make it non recursive and remove some code duplication. llvm-svn: 207604
* Another missing include for MSVC.Benjamin Kramer2014-04-291-1/+1
| | | | llvm-svn: 207596
* raw_ostream: Forward declare OpenFlags and include FileSystem.h only where ↵Benjamin Kramer2014-04-293-0/+3
| | | | | | necessary. llvm-svn: 207593
* Parse and create GOT_PREL relocations.Joerg Sonnenberger2014-04-291-0/+2
| | | | llvm-svn: 207526
* Centralize the handling of the thumb bit.Rafael Espindola2014-04-294-12/+37
| | | | | | | | | | | | | This patch centralizes the handling of the thumb bit around MCStreamer::isThumbFunc and makes isThumbFunc handle aliases. This fixes a corner case, but the main advantage is having just one way to check if a MCSymbol is thumb or not. This should still be refactored to be ARM only, but at least now it is just one predicate that has to be refactored instead of 3 (isThumbFunc, ELF_Other_ThumbFunc, and SF_ThumbFunc). llvm-svn: 207522
* Add an option for evaluating past symbols.Rafael Espindola2014-04-282-19/+28
| | | | | | | | | | | | | When evaluating an assembly expression for a relocation, we want to stop at MCSymbols that are in the symbol table, even if they are variables. This is needed since the semantics may require that the relocation use them. That is not the case when computing the value of a symbol in the symbol table. There are no relocations in this case and we have to keep going until we hit a section or find out that the expression doesn't have an assembly time value. llvm-svn: 207445
* Simplify ELFObjectWriter::ExecutePostLayoutBinding.Rafael Espindola2014-04-281-3/+6
| | | | | | | No functionality change. This removes the last use of AliasedSymbol in ELFObjectWriter.cpp. llvm-svn: 207424
OpenPOWER on IntegriCloud