cddc3e03e4ec99c0268c03a126195173e519ed58 |
|
04-Mar-2016 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master LLVM for rebase to r256229 http://b/26987366 (cherry picked from commit f3ef5332fa3f4d5ec72c178a2b19dac363a19383) Change-Id: Ic75dcb63191d65df1b69724576392c0aaeb47728
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
6948897e478cbd66626159776a8017b3c18579b9 |
|
01-Jul-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master LLVM for rebase to r239765 Bug: 20140355: This rebase pulls the upstream fix for the spurious warnings mentioned in the bug. Change-Id: I7fd24253c50f4d48d900875dcf43ce3f1721a3da
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
0c7f116bb6950ef819323d855415b2f2b0aad987 |
|
06-May-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master LLVM for rebase to r235153 Change-Id: I9bf53792f9fc30570e81a8d80d296c681d005ea7
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
4c5e43da7792f75567b693105cc53e3f1992ad98 |
|
08-Apr-2015 |
Pirama Arumuga Nainar <pirama@google.com> |
Update aosp/master llvm for rebase to r233350 Change-Id: I07d935f8793ee8ec6b7da003f6483046594bca49
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
ebe69fe11e48d322045d5949c83283927a0d790b |
|
23-Mar-2015 |
Stephen Hines <srhines@google.com> |
Update aosp/master LLVM for rebase to r230699. Change-Id: I2b5be30509658cb8266be782de0ab24f9099f9b9
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
37ed9c199ca639565f6ce88105f9e39e898d82d0 |
|
01-Dec-2014 |
Stephen Hines <srhines@google.com> |
Update aosp/master LLVM for rebase to r222494. Change-Id: Ic787f5e0124df789bd26f3f24680f45e678eef2d
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
c6a4f5e819217e1e12c458aed8e7b122e23a3a58 |
|
21-Jul-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for rebase to r212749. Includes a cherry-pick of: r212948 - fixes a small issue with atomic calls Change-Id: Ib97bd980b59f18142a69506400911a6009d9df18
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
dce4a407a24b04eebc6a376f8e62b41aaa7b071f |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for 3.5 rebase (r209712). Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
36b56886974eae4f9c5ebc96befd3e7bfe5de338 |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Update to LLVM 3.5a. Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
e52fac1632dc43d0595e06baf5743608b173dfbc |
|
20-Oct-2013 |
Peter Collingbourne <peter@pcc.me.uk> |
Emit DWARF line entries for all data in the instruction stream. r182712 attempted to do this, but it failed to handle data emitted via EmitBytes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193041 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
320296a4cfe414ce59f406b8a5ce15272f563103 |
|
08-Oct-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add a MCTargetStreamer interface. This patch fixes an old FIXME by creating a MCTargetStreamer interface and moving the target specific functions for ARM, Mips and PPC to it. The ARM streamer is still declared in a common place because it is used from lib/CodeGen/ARMException.cpp, but the Mips and PPC are completely hidden in the corresponding Target directories. I will send an email to llvmdev with instructions on how to use this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192181 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
5e195a4c8d8cd4498ab7e0aa16a3b6f273daf457 |
|
05-Oct-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove some really nasty uses of hasRawTextSupport. When MC was first added, targets could use hasRawTextSupport to keep features working before they were added to the MC interface. The design goal of MC is to provide an uniform api for printing assembly and object files. Short of relaxations and other corner cases, a object file is just another representation of the assembly. It was never the intention that targets would keep doing things like if (hasRawTextSupport()) Set flags in one way. else Set flags in another way. When they do that they create two code paths and the object file is no longer just another representation of the assembly. This also then requires testing with llc -filetype=obj, which is extremelly brittle. This patch removes some of these hacks by replacing them with smaller ones. The ARM flag setting is trivial, so I just moved it to the constructor. For Mips, the patch adds two temporary hack directives that allow the assembly to represent the same things as the object file was already able to. The hope is that the mips developers will replace the hack directives with the same ones that gas uses and drop the -print-hack-directives flag. I will also try to implement a target streamer interface, so that we can move this out of the common code. In summary, for any new work, two rules of the thumb are * Don't use "llc -filetype=obj" in tests. * Don't add calls to hasRawTextSupport. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192035 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
4172a8abbabea2359d91bb07101166565127d798 |
|
16-Jul-2013 |
Craig Topper <craig.topper@gmail.com> |
Add 'const' qualifiers to static const char* variables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186371 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
a3863ea2dacafc925a8272ebf9884fc64bef686c |
|
02-Jul-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove address spaces from MC. This is dead code since PIC16 was removed in 2010. The result was an odd mix, where some parts would carefully pass it along and others would assert it was zero (most of the object streamer for example). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185436 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
b02f1e9a6bc332ebd77571fdffcdc44d77e76b31 |
|
27-Jun-2013 |
Serge Pavlov <sepavloff@gmail.com> |
Use MCFillFragment for zero-initialized data. It fixes PR16338 (ICE when compiling very large two-dimensional array). Differential Revision: http://llvm-reviews.chandlerc.com/D1043 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185080 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
4df4bccc71ea0477836db9a417d3da202c2baa09 |
|
19-Jun-2013 |
Ulrich Weigand <ulrich.weigand@de.ibm.com> |
[MC/DWARF] Generate multiple .debug_line entries for adjacent .loc directives The compiler occasionally generates multiple .loc directives in a row (at the same instruction address). These need to be transformed into multple actual .debug_line table entries, since they are used to signal certain information to the debugger (e.g. if the opening brace of a function body is on the same line as the declaration). The MCAsmStreamer version of EmitDwarfLocDirective handles this correctly by emitting a .loc directive every time it is called. However, the MCObjectStream version simply defaults to recording the information and emitting only a single table entry later, e.g. when EmitInstruction is called. This patch introduces a MCAsmStreamer::EmitDwarfLocDirective version that emits a line table entry for a .loc directive that may already be pending before recording the new directive. (This is similar to how this is handled in GNU as.) With this patch (and the code alignment factor patch) applied, I'm now getting identical DWARF .debug sections for all test-suite object files on PowerPC for the internal and the external assembler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184357 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
41b646c127300c6e3b83f1a0bfc49c812110ebf4 |
|
25-May-2013 |
Cameron Zwarich <zwarich@apple.com> |
Add support for DWARF line number table entries for values in the instruction stream. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@182712 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
df39be6cb4eb44011db3d3e86f8fe463f81ce127 |
|
17-Apr-2013 |
Peter Collingbourne <peter@pcc.me.uk> |
Add support for subsections to the ELF assembler. Fixes PR8717. Differential Revision: http://llvm-reviews.chandlerc.com/D598 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179725 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
f78708593407286de34506e699da25a56b65a20d |
|
16-Feb-2013 |
Matt Beaumont-Gay <matthewbg@google.com> |
Suppress a GCC -Wunused-variable warning in -Asserts builds git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175319 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
67144e37ba5cd35ee917daac631e03963b05a674 |
|
15-Feb-2013 |
Derek Schuff <dschuff@google.com> |
If bundle alignment is enabled, do not add data to a fragment with instructions With bundle alignment, instructions all get their own MCFragments (unless they are in a bundle-locked group). For instructions with fixups, this is an MCDataFragment. Emitting actual data (e.g. for .long) attempts to re-use MCDataFragments, which we don't want int this case since it leads to fragments which exceed the bundle size. So, don't reuse them in this case. Also adds a test and fixes some formatting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175316 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
74b3c8da4800c7e8ba8f019879db29738ecc5f74 |
|
15-Feb-2013 |
Benjamin Kramer <benny.kra@googlemail.com> |
Make helpers static. Add missing include so LLVMInitializeObjCARCOpts gets C linkage. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175264 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
5da3665cc501ed8928e63678254357214ec0b9eb |
|
01-Feb-2013 |
Chandler Carruth <chandlerc@gmail.com> |
Give the MCStreamer class hierarchy LLVM RTTI facilities for use with isa<> and dyn_cast<>. In several places, code is already hacking around the absence of this, and there seem to be several interfaces that might be lifted and/or devirtualized using this. This change was based on a discussion with Jim Grosbach about how best to handle testing for specific MCStreamer subclasses. He said that this was the correct end state, and everything else was too hacky so I decided to just make it so. No functionality should be changed here, this is just threading the kind through all the constructors and setting up the classof overloads. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174113 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
ca1dd05c3c12e857614ae6837f90894396225dd6 |
|
09-Jan-2013 |
Eric Christopher <echristo@gmail.com> |
These functions have default arguments of 0 for the last arg. Use them and add one where it seemed obvious that we wanted one. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171932 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
251040bc18eedfa56d01fe92836e55cfd8c5d990 |
|
08-Jan-2013 |
Eli Bendersky <eliben@google.com> |
Renamed MCInstFragment to MCRelaxableFragment and added some comments. No change in functionality. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171822 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
6c1d4972cf1cd6b6072e31c05f97abb1ed7a8497 |
|
07-Jan-2013 |
Eli Bendersky <eliben@google.com> |
Add the align_to_end option to .bundle_lock in the MC implementation of aligned bundling. The document describing this feature and the implementation has also been updated: https://sites.google.com/a/chromium.org/dev/nativeclient/pnacl/aligned-bundling-support-in-llvm git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171797 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
b9d1005e96681b5c8cc1ed959fa129de62933020 |
|
04-Jan-2013 |
Pedro Artigas <partigas@apple.com> |
small fixes to enable the reuse of the pass manager across multiple modules git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171475 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
4766ef41b31e4f97bce1179c3b0398303bf65356 |
|
20-Dec-2012 |
Eli Bendersky <eliben@google.com> |
Aligned bundling support. Following the discussion here: http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-December/056754.html The proposal and implementation are fully documented here: https://sites.google.com/a/chromium.org/dev/nativeclient/pnacl/aligned-bundling-support-in-llvm Tests will follow shortly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170718 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
2c3a4641a7785da78839caf574277df9cd93b52c |
|
16-Dec-2012 |
Reed Kotler <rkotler@mips.com> |
This patch is needed to make c++ exceptions work for mips16. Mips16 is really a processor decoding mode (ala thumb 1) and in the same program, mips16 and mips32 functions can exist and can call each other. If a jal type instruction encounters an address with the lower bit set, then the processor switches to mips16 mode (if it is not already in it). If the lower bit is not set, then it switches to mips32 mode. The linker knows which functions are mips16 and which are mips32. When relocation is performed on code labels, this lower order bit is set if the code label is a mips16 code label. In general this works just fine, however when creating exception handling tables and dwarf, there are cases where you don't want this lower order bit added in. This has been traditionally distinguished in gas assembly source by using a different syntax for the label. lab1: ; this will cause the lower order bit to be added lab2=. ; this will not cause the lower order bit to be added In some cases, it does not matter because in dwarf and debug tables the difference of two labels is used and in that case the lower order bits subtract each other out. To fix this, I have added to mcstreamer the notion of a debuglabel. The default is for label and debug label to be the same. So calling EmitLabel and EmitDebugLabel produce the same result. For various reasons, there is only one set of labels that needs to be modified for the mips exceptions to work. These are the "$eh_func_beginXXX" labels. Mips overrides the debug label suffix from ":" to "=." . This initial patch fixes exceptions. More changes most likely will be needed to DwarfCFException to make all of this work for actual debugging. These changes will be to emit debug labels in some places where a simple label is emitted now. Some historical discussion on this from gcc can be found at: http://gcc.gnu.org/ml/gcc-patches/2008-08/msg00623.html http://gcc.gnu.org/ml/gcc-patches/2008-11/msg01273.html git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170279 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
99cbdde6198623ff014c776743caec2cf48f4840 |
|
14-Dec-2012 |
Pedro Artigas <partigas@apple.com> |
Add more reset methods to make all objects that the backend may use for outputting code have a reset, some are not used but were declared for completeness git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170227 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
5399d2502acaf96fe8420e61913e77f0b23650ff |
|
12-Dec-2012 |
Pedro Artigas <partigas@apple.com> |
Make the MCStreamer have a reset method and call that after finalization of the asm printer, also changed MCContext to a single reset only method for simplicity as requested on the list git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170041 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
64d9a3233476553fc950f0f2fc6a2cdd2a4c05cf |
|
07-Dec-2012 |
Eli Bendersky <eliben@google.com> |
Refactor MCInstFragment and MCDataFragment to adhere to a common interface, which removes code duplication and prepares the ground for future additions. Full discussion: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20121203/158233.html git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169626 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
ef76b273f96d99a4a260f3dcadde8fbb96256cf3 |
|
07-Dec-2012 |
Eli Bendersky <eliben@google.com> |
Lift EmitAssignment into MCObjectStreamer which gets rid of at least three duplicate implementations in format-specific streamers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169613 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
e660fc15fe1f1b8a19488f39d0ec09acc79bed0d |
|
04-Oct-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Hoist some grossly duplicated code from the COFF/ELF/MachO streamers into MCObjectStreamer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165225 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
f0070f2a973ff046ee63de827ab32ff215b369b2 |
|
01-Oct-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Provide a shortcut for MCObjectStreamer when emitting fills. Reduces runtime of i386-large-relocations.s by 10x in Release builds, even more in Debug+Asserts builds. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164945 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
101771ba4d9c2421f836069fcedf9ddc8a0c9dc7 |
|
22-Aug-2012 |
Jack Carter <jcarter@mips.com> |
For mips64 switch statements in subroutines could generate within the codegen EK_GPRel64BlockAddress. This was not supported for direct object output and resulted in an assertion. This change adds support for EK_GPRel64BlockAddress for direct object. One fallout from this is to turn on rela relocations for mips64 to match gas. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162334 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
f1d0f7781e766df878bec4e7977fa3204374f394 |
|
26-Mar-2012 |
Craig Topper <craig.topper@gmail.com> |
Prune some includes and forward declarations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153429 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
e6ec02e8afe1bec8f9de5c907a50a6efdee261a0 |
|
03-Mar-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Correctly initialize LineSectionSymbol. Thanks to Duncan Sands for noticing it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151979 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
489d67927172941bf59b9f4829ab8910814fea24 |
|
28-Feb-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
On ELF, create relocations to the abbreviation and line sections when producing 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151655 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
ebd4c05c3cbd61215366d4d16f1c1a2e57e7156d |
|
27-Jan-2012 |
Jim Grosbach <grosbach@apple.com> |
Better diagnostic for malformed .org assembly directive. Provide source line number information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149101 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
660a4d9e0a15ad25db10d25a1a8caeafc0ebad5e |
|
27-Jan-2012 |
Jim Grosbach <grosbach@apple.com> |
Tidy up. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149096 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
ec3433852dd11e8ff60c9610b4c84468e5935f2b |
|
18-Jan-2012 |
Jim Grosbach <grosbach@apple.com> |
Tidy up. MCAsmBackend naming conventions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148400 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
1fe9737eb49ecb80fbb547f0e16e10a726cd53cf |
|
09-Jan-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Don't print an unused label before .cfi_endproc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147763 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
547be2699c547b79a7735858a64921d8ccf180f7 |
|
07-Jan-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Don't print a label before .cfi_startproc when we don't need to. This makes the produce assembly when using CFI just a bit more readable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147743 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
99b4237c1647156f0e1d3d7e03efdab23ed79778 |
|
07-Jan-2012 |
Rafael Espindola <rafael.espindola@gmail.com> |
Split Finish into Finish and FinishImpl to have a common place to do end of file error checking. Use that to error on an unfinished cfi_startproc. The error is not nice, but is already better than a segmentation fault. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147717 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
94c2e85bea1ab1b837a4c055ccc83d5cd32dd027 |
|
09-Dec-2011 |
Kevin Enderby <enderby@apple.com> |
The second part of support for generating dwarf for assembly source files. This generates the dwarf Compile Unit DIE and a dwarf subprogram DIE for each non-temporary label. The next part will be to get the clang driver to enable this when assembling a .s file. rdar://9275556 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146262 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
84bfc2f090639f933df06cc675c4385511516bef |
|
23-Nov-2011 |
Akira Hatanaka <ahatanaka@mips.com> |
This patch addresses gp relative fixups/relocations for jump tables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145112 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
78c10eeaa57d1c6c4b7781d3c0bcb0cfbbc43b5c |
|
26-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Rename TargetAsmBackend to MCAsmBackend; rename createAsmBackend to createMCAsmBackend. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136010 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
a7cfc08ebe737062917b442830eb5321b0f79e89 |
|
23-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Move TargetAsmParser.h TargetAsmBackend.h and TargetAsmLexer.h to MC where they belong. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135833 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
672b93a3324cc1da6d374eed4c75c050a9cad7be |
|
14-Jul-2011 |
Evan Cheng <evan.cheng@apple.com> |
Unfortunately several files in MC are badly violating layering rule by using TargetAsmInfo, which in turn pulls in TargetRegisterInfo, etc. :-( There are other cases of violations, but this is probably the worst. This patch is but one small step towards fixing this. 500 more steps to go. :-( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
a6f2678f08299f053feb58337fc4322131d99bf4 |
|
19-May-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Misc code refactorings: * Remove unnecessary arguments now that ForceExpAbs is a method. * Use ForceExpAbs in EmitAbsValue. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131683 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
debd7e4e8bc5cfe61bfb71835ce2b1a3fbccc2be |
|
01-May-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Simplify the handling of pcrel relocations on ELF. Now we do the right thing for all symbol differences and can drop the old EmitPCRelSymbolValue method. This also make getExprForFDESymbol on ELF equal to the one on MachO, and it can be made non-virtual. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130634 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
a37bd1d02c0e3d93474fdf30352bf4a425cbe25b |
|
30-Apr-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Implement MCAsmStreamer::EmitDwarfAdvanceFrameAddr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130585 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
ed708f9c1facb9928ef2f79503e7030c8f25b00d |
|
27-Apr-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Factor a bit of code to MCStreamer::EmitLabel. Keep track of the last non private symbol. This will be use for handling foo: .cfi_startproc ... On OS X where we have to create a foo.eh symbol. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130305 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
d88cac0a6e908a366f403b37725e765604bc15d3 |
|
26-Apr-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
No relocation produces a SLEB or ULEB, make sure they are handled in MC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130181 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
e8cfbd843d737e1f95c3032c7670c2be3838a6f6 |
|
22-Apr-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove unused argument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129955 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
50ebe53353f6870e913f7715d6d4fc5a1f5bedd6 |
|
18-Apr-2011 |
Eli Friedman <eli.friedman@gmail.com> |
malloc elimination: it's a bad idea to use raw_svector_ostream on a small heap-allocated SmallString because it unconditionally forces a malloc. (Revised version of r129688, with the necessary flush() call.) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129716 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
205132e904680f99d05783c3652b0fa6a27019ee |
|
18-Apr-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Revert r129688; it's breaking buildbots. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129689 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
24b9654f124c4da635ea791a9e11fff0ea0ff507 |
|
18-Apr-2011 |
Eli Friedman <eli.friedman@gmail.com> |
More malloc elimination: it's a bad idea to use raw_svector_ostream on a small heap-allocated SmallString because it unconditionally forces a malloc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129688 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
01dff9646173fea0c38df4471f41272557ca831a |
|
09-Mar-2011 |
Jan Sjödin <jan_sjodin@yahoo.com> |
Add constructors to MCElfStreamer and MCObjectStreamer to take an extra MCAssembler * argument. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127343 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
f7ad048f1e122ee4f735398786f4859392f74144 |
|
20-Feb-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add some limited support for labels in org directives. Hopefully enough to fix PR9245. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126091 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
7768a9dce14431018133cd586f5c8ce3e057f069 |
|
16-Feb-2011 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add support for pushsection and popsection. Patch by Joerg Sonnenberger. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125629 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
7597212abced110723f2fee985a7d60557c092ec |
|
13-Jan-2011 |
Evan Cheng <evan.cheng@apple.com> |
Model :upper16: and :lower16: as ARM specific MCTargetExpr. This is a step in the right direction. It eliminated some hacks and will unblock codegen work. But it's far from being done. It doesn't reject illegal expressions, e.g. (FOO - :lower16:BAR). It also doesn't work in Thumb2 mode at all. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123369 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
245a1e20419aa5a3c833d7a8e89168e19d5f4d2c |
|
28-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Relax address updates in the eh_frame section. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122591 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
835439a397407e421263bd476e5b18bf787ffb6a |
|
22-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Assert that the AddrDelta expression is really constant and wrap it in a set if we have a lame assembler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122446 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
d076482ab7e672d1d65a43809695e8d0d3995203 |
|
18-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Revert 122011, 122012, 122013, 122023 adding back an important optimization. I added a note, but suggestions on how to add a test are really welcome. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122138 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
feb7ba3d9abfa1eb89f6da93c51649baaa931ab8 |
|
17-Dec-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC/Assembler: Make the MCObjectWriter available through the lifetime of the assembler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122031 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
2d8e3e741f49baadfc72403de9c4b362a07af8d9 |
|
17-Dec-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC: Remove another dead MCAssembler argument, and update clients. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122013 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
89b9372605db2ce3b0085c84089e389f7bc1fbdd |
|
10-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fixed version of 121434 with no new memory leaks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121471 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
f7fd4aa2610f46467369de07f3ec669561d79be0 |
|
10-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Revert my previous patch to make the valgrind bots happy. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121461 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
1c952b9cc98e84b28f68f0f6cf11197263f89863 |
|
10-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Initial support for the cfi directives. This is just enough to get f: .cfi_startproc nop .cfi_endproc assembled (on ELF). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121434 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
85f2ecc697a8ca6c8cf08093054cbbb9d2060ccf |
|
07-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Sorry for such a large commit. The summary is that only MachO cares about the actuall addresses in a .o file, so it is better to let the MachO writer compute it. This is good for two reasons. First, areas that shouldn't care about addresses now don't have access to it. Second, the layout of each section is independent. I should use this in a subsequent commit to speed it up. Most of the patch is just removing the section address computation. The two interesting parts are the change on how we handle padding in the end of sections and how MachO can get the address of a-b when a and b are in different sections. Since now the expression evaluation normally doesn't know the section address, it will think that a-b needs relocation and let the MachO writer know. Once it has computed the section addresses, it calls back the expression evaluation with the section addresses to resolve these expressions. The remaining problem is the handling of padding. Currently it will create a special alignment fragment at the end. Since that fragment doesn't update the alignment of the section, it needs the real address to be computed. Since now the layout will not compute a-b with a and b in different sections, the only effect that the special alignment fragment has is update the address size of the section. This can also be done by the MachO writer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121076 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
22373b230a053a154f6c7792c6a33d4f78f5479d |
|
06-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Use references to simplify the code a bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121050 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
5d4918dbd116b0b5e561c431b1ea527ee1b9302a |
|
04-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
There are two reasons why we might want to use foo = a - b .long foo instead of just .long a - b First, on darwin9 64 bits the assembler produces the wrong result. Second, if "a" is the end of the section all darwin assemblers (9, 10 and mc) will not consider a - b to be a constant but will if the dummy foo is created. Split how we handle these cases. The first one is something MC should take care of. The second one has to be handled by the caller. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120889 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
2df042cb32ecb8d2e1d499dfa27d5074c8b40e13 |
|
03-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Make EmitIntValue more efficient and more like what we do for leb128. The difference is much smaller (about 0.3s) but significant. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120787 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
660b5fc4d019bf22fbe14dfb81c5b59444fa3506 |
|
03-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Do with uleb the same trick we now do with dwarf line/address advances. This avoids creating leb128 fragments and speeds up the test in PR8711 to 33s. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120774 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
32a006e606742b1c5401e49607e33717bb5441f0 |
|
03-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Try to resolve symbol differences early, and if successful create a plain data fragment. This reduces the time to assemble the test in 8711 from 60s to 54s. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120767 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
ee4854faf3a4dc622dcb75fe352e33fb32385b3f |
|
02-Dec-2010 |
Devang Patel <dpatel@apple.com> |
Use set directive for StartMinusEndExpr. This is a fix for llvm-gcc-i386-darwin9 buildbot failure. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120742 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
e23930543c0de0adcfec00cd18e9243ad812a167 |
|
02-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Move EmitValueToOffset to the ObjectStreamer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120691 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
dedb045c3296c831962c4ae101531c38c273ba89 |
|
02-Dec-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add EmitInstToFragment to the generic object streamer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120690 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
6f95023a7f27075011a6eb7b84e03732b00a785b |
|
29-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Move EmitValue to MCObjectStreamer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120269 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
ea4afa91eb453323948588ad1e1706d842fb9007 |
|
28-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Fixed verson of r120245. Factor some duplicated code into MCObjectStreamer::EmitLabel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120248 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
ba210243ef7d325ef6954d459091edf580a241f9 |
|
28-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Revert previous patch while I debug the darwin bootstrap failure. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120246 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
f90a2de72c25e24f26577b0dd8145ac21fe10f5e |
|
28-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Factor some duplicated code into MCObjectStreamer::EmitLabel. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120245 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
3ff57094a7d176a759ddb1e1668489d89064f56c |
|
02-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add support for expressions in .sleb/.uleb directives. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118023 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
f89671d994ba27e2816a7e49eb8bbc1b43d2a147 |
|
01-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Move EmitInstruction to MCObjectStreamer so that ELF and MachO can share it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117925 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
484291c27319668ad99cb87def000254357736fb |
|
01-Nov-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Implement .weakref. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117911 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
59ff3c913449402ad5447bbe3ae6338402fb84b0 |
|
23-Sep-2010 |
Rafael Espindola <rafael.espindola@gmail.com> |
Avoid some Mach-O specific alignment being done on ELF. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114594 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
1674b0b0e4972b844833f253286cbf99a6e99d6e |
|
02-Sep-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Add AsmParser support for the ELF .previous directive. Patch by Roman Divacky. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112849 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
1abcd06856df324eac98d4bf5ba673fb77ae6a11 |
|
29-Jul-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Plug the remaining MC leaks by giving MCObjectStreamer/MCAsmStreamer ownership of the TargetAsmBackend and the MCCodeEmitter. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109767 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
8067adc271d7ccfcd28a238d73942b21a5e2bc62 |
|
19-Jul-2010 |
Michael J. Spencer <bigcheesegs@gmail.com> |
MC: Add WinCOFFStreamer implementation and merge common code from MachO into MCObjectStreamer. Origonal Windows COFF implementation by Nathan Jedffords. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108678 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
83b467178a8295048f3ee7b44ff9c7ea244a96cc |
|
16-Jun-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC: Lift SwitchSection() and Finish() into MCObjectStreamer. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106141 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|
8dc68ab931e0f0a7c5caf9cd341b2ec855733863 |
|
16-Jun-2010 |
Daniel Dunbar <daniel@zuster.org> |
MC: Factor out an MCObjectStreamer class, which will be shared by the concrete object file format writers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106140 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCObjectStreamer.cpp
|