History log of /external/llvm/lib/MC/MCAsmStreamer.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cd81d94322a39503e4a3e87b6ee03d4fcb3465fb 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/MCAsmStreamer.cpp
dce4a407a24b04eebc6a376f8e62b41aaa7b071f 29-May-2014 Stephen Hines <srhines@google.com> Update LLVM for 3.5 rebase (r209712).

Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/lib/MC/MCAsmStreamer.cpp
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/MC/MCAsmStreamer.cpp
5759c3a02902026a27a0d1bc24a5bad85f52bd71 25-Oct-2013 David Blaikie <dblaikie@gmail.com> MCStreamer: Reimplement the virtual EmitRawText as a protected member, EmitRawTextImpl, to avoid string literal ambiguities

Also improve the implementation of EmitRawText(Twine) so it doesn't
bother using the SmallString buffer if the Twine is a simple StringRef
anyway.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193378 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
c7ce3e4f42219003f30382be17d966cb2dfb4e71 16-Oct-2013 Rafael Espindola <rafael.espindola@gmail.com> Move .ident handling to MCStreamer.

No functionality change, but exposes the API so that codegen can use it too.

Patch by Katya Romanova.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192757 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.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/MCAsmStreamer.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/MCAsmStreamer.cpp
83ba58e5f0a5afbb23d7d2092d817accded4455a 26-Sep-2013 Venkatraman Govindaraju <venkatra@cs.wisc.edu> Implements parsing and emitting of .cfi_window_save in MC.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191431 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
eb46def978a60fd705cca3037feff5573122b404 23-Sep-2013 Richard Mitton <richard@codersnotes.com> Fixed debug_aranges handling for common symbols.

The size of common symbols is now tracked correctly, so they can be listed in the arange section without needing knowledge of other following symbols.

.comm (and .lcomm) do not indicate to the system assembler any particular section to use, so we have to treat them as having no section.

Test case update to account for this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191210 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
5cc319a42a914b24b164a94d9a563c728a7a4026 20-Sep-2013 Richard Mitton <richard@codersnotes.com> Added support for generate DWARF .debug_aranges sections automatically.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191052 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
43c8ad1718b79ab9191289da22ca09e635d0e0c2 19-Sep-2013 Eric Christopher <echristo@gmail.com> Remove extraneous space, the asm printing infrastructure adds a space
in normally.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191026 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
da11df0c22f5d0ba2e2be3ae4a7076c806233db8 09-Sep-2013 Bill Wendling <isanbard@gmail.com> Call generateCompactUnwindEncodings() right before we need to output the frame information.

There are more than one paths to where the frame information is emitted. Place
the call to generateCompactUnwindEncodings() into the method which outputs the
frame information, thus ensuring that the encoding is there for every path. This
involved threading the MCAsmBackend object through to this method.

<rdar://problem/13623355>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190335 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
1c9cd021c8999d9c2c0786dff074d1e75bbd0eb2 09-Aug-2013 Saleem Abdulrasool <compnerd@compnerd.org> [CodeGen] prevent abnormal on invalid attributes

Currently, when an invalid attribute is encountered on processing a .s file,
clang will abort due to llvm_unreachable. Invalid user input should not cause
an abnormal termination of the compiler. Change the interface to return a
boolean to indicate the failure as a first step towards improving hanlding of
malformed user input to clang.

Signed-off-by: Saleem Abdulrasool <compnerd@compnerd.org>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188047 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.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/MCAsmStreamer.cpp
99cb622041a0839c7dfcf0263c5102a305a0fdb5 18-Jun-2013 Bill Wendling <isanbard@gmail.com> Use pointers to the MCAsmInfo and MCRegInfo.

Someone may want to do something crazy, like replace these objects if they
change or something.

No functionality change intended.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184175 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
a11c3e25015a62c817e60ec4f955a7f3f3bb6c67 12-Jun-2013 Rafael Espindola <rafael.espindola@gmail.com> Move PathV2.h to Path.h

Most clients have already been moved from Path V1 to V2. The ones using V1
now include PathV1.h explicitly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183801 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.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/MCAsmStreamer.cpp
ef1762b6a1d3353790bdb415788e7d8963e70372 14-Apr-2013 Nico Rieck <nico.rieck@gmail.com> Use object file specific section type for initial text section

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@179494 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
3de61b4c0144748e4b9157e2c22fe4ea685981a2 07-Mar-2013 Manman Ren <mren@apple.com> Debug Info: store the files and directories for each compile unit.

We now emit a line table for each compile unit. To reduce the prologue size
of each line table, the files and directories used by each compile unit are
stored in std::map<unsigned, std::vector< > > instead of std::vector< >.

The prologue for a lto'ed image can be as big as 93K. Duplicating 93K for each
compile unit causes a huge increase of debug info. With this patch, each
prologue will only emit the files required by the compile unit.

rdar://problem/13342023


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176605 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
3529d1aa8df3cfd9e37b1a4252cabc0f01652e94 01-Feb-2013 Chandler Carruth <chandlerc@gmail.com> Fix another typo in the classof definitions that doesn't (currently)
have any effect. Spotted by Eli in review, thanks!!!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174121 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.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/MCAsmStreamer.cpp
6d49b680be6e24b547e6910c2b64914913915084 18-Jan-2013 Daniel Dunbar <daniel@zuster.org> [MC/Mach-O] Implement integrated assembler support for linker options.
- Also, fixup syntax errors in LangRef and missing newline in the MCAsmStreamer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172837 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
cddd236e8a5acb80e9a0e79dc63f6cfaa8205b86 18-Jan-2013 Daniel Dunbar <daniel@zuster.org> [MC/Mach-O] Add AsmParser support for .linker_option directive.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172778 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
030f63a397edc20f8f661bac62f7b90cb5cf57bc 14-Jan-2013 Eli Bendersky <eliben@google.com> Expose an InitToTextSection through MCStreamer.

The aim of this patch is to fix the following piece of code in the
platform-independent AsmParser:

void AsmParser::CheckForValidSection() {
if (!ParsingInlineAsm && !getStreamer().getCurrentSection()) {
TokError("expected section directive before assembly directive");
Out.SwitchSection(Ctx.getMachOSection(
"__TEXT", "__text",
MCSectionMachO::S_ATTR_PURE_INSTRUCTIONS,
0, SectionKind::getText()));
}
}

This was added for the "-n" option of llvm-mc.

The proposed fix adds another virtual method to MCStreamer, called
InitToTextSection. Conceptually, it's similar to the existing
InitSections which initializes all common sections and switches to
text. The new method is implemented by each platform streamer in a way
that it sees fit. So AsmParser can now do this:

void AsmParser::CheckForValidSection() {
if (!ParsingInlineAsm && !getStreamer().getCurrentSection()) {
TokError("expected section directive before assembly directive");
Out.InitToTextSection();
}
}

Which is much more reasonable.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172450 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.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/MCAsmStreamer.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/MCAsmStreamer.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/MCAsmStreamer.cpp
d04a8d4b33ff316ca4cf961e06c9e312eff8e64f 03-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Use the new script to sort the includes of every file under lib.

Sooooo many of these had incorrect or strange main module includes.
I have manually inspected all of these, and fixed the main module
include to be the nearest plausible thing I could find. If you own or
care about any of these source files, I encourage you to take some time
and check that these edits were sensible. I can't have broken anything
(I strictly added headers, and reordered them, never removed), but they
may not be the headers you'd really like to identify as containing the
API being implemented.

Many forward declarations and missing includes were added to a header
files to allow them to parse cleanly when included first. The main
module rule does in fact have its merits. =]

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
f4f14f68f6078ea6681ee27b5bf42719d7db3441 25-Nov-2012 Rafael Espindola <rafael.espindola@gmail.com> Add support for .cfi_register now that it is easy to extent the representation
to support it. Original patch with the parsing and plumbing by the PaX team and
Roman Divacky. I added the bits in MCDwarf.cpp and the test.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168565 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
c8fec7e21f5c24303eab8a8592f3b8faff347d86 23-Nov-2012 Rafael Espindola <rafael.espindola@gmail.com> Implement .cfi_undefined. Based on a patch from PaX team, updated by
Roman Divacky. I just added the testcase.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168520 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
f35c62bf025411393c7df0803851010cc0e597ba 15-Oct-2012 Adhemerval Zanella <azanella@linux.vnet.ibm.com> PowerPC: add EmitTCEntry class for TOC creation

This patch replaces the EmitRawText by a EmitTCEntry class (specialized for
each Streamer) in PowerPC64 TOC entry creation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165940 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
a9e37c5eaf79c3a32f2921536fb7e12514e86fb2 07-Sep-2012 Benjamin Kramer <benny.kra@googlemail.com> Fix alignment of .comm and .lcomm on mingw32.

For some reason .lcomm uses byte alignment and .comm log2 alignment so we can't
use the same setting for both. Fix this by reintroducing the LCOMM enum.
I verified this against mingw's gcc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163420 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
39646d96e76aea5d20bffb386233a0dbb5932a21 07-Sep-2012 Benjamin Kramer <benny.kra@googlemail.com> MC: Overhaul handling of .lcomm

- Darwin lied about not supporting .lcomm and turned it into zerofill in the
asm parser. Push the zerofill-conversion down into macho-specific code.
- This makes the tri-state LCOMMType enum superfluous, there are no targets
without .lcomm.
- Do proper error reporting when trying to use .lcomm with alignment on a target
that doesn't support it.
- .comm and .lcomm alignment was parsed in bytes on COFF, should be power of 2.
- Fixes PR13755 (.lcomm crashes on ELF).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163395 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
a00b80b04c5edb08639c1c6b32e9231fd8b066f7 23-Aug-2012 Dmitri Gribenko <gribozavr@gmail.com> Fix a bunch of -Wdocumentation warnings.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162446 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
c90a1fcf9f44858b20e0f5f7e0b98049aec7a1e0 22-Jun-2012 Evan Cheng <evan.cheng@apple.com> EmitZerofill should take a 64-bit size or else it's chopping off large zero-filled global. rdar://11729134

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159023 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
feba19309de49f03f29bb6fcc3496e640efe6d92 31-May-2012 Eric Christopher <echristo@apple.com> Fix typo in assembly directive. Noticed by inspection.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157726 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
3e96531186ba574b0c25a4be62d24b8b7d752c9f 18-May-2012 Jim Grosbach <grosbach@apple.com> Refactor data-in-code annotations.

Use a dedicated MachO load command to annotate data-in-code regions.
This is the same format the linker produces for final executable images,
allowing consistency of representation and use of introspection tools
for both object and executable files.

Data-in-code regions are annotated via ".data_region"/".end_data_region"
directive pairs, with an optional region type.

data_region_directive := ".data_region" { region_type }
region_type := "jt8" | "jt16" | "jt32" | "jta32"
end_data_region_directive := ".end_data_region"

The previous handling of ARM-style "$d.*" labels was broken and has
been removed. Specifically, it didn't handle ARM vs. Thumb mode when
marking the end of the section.

rdar://11459456

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157062 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
2684d9e3c702b2ef9fd430155d94671d12fa994f 11-May-2012 Jim Grosbach <grosbach@apple.com> Tidy up. Trailing whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156602 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.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/MCAsmStreamer.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/MCAsmStreamer.cpp
858143816d43e58b17bfd11cb1b57afbd7f0f893 07-Feb-2012 Craig Topper <craig.topper@gmail.com> Convert assert(0) to llvm_unreachable

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149967 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
6c2cf8b1fbcf70fd9db6fe44032c1ceaa2299760 03-Feb-2012 Akira Hatanaka <ahatanaka@mips.com> Add a new MachineJumpTableInfo entry type, EK_GPRel64BlockAddress, which is
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.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149668 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.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/MCAsmStreamer.cpp
16d7d437e03ce87fdaef7971919302920d54a966 23-Jan-2012 Rafael Espindola <rafael.espindola@gmail.com> Add support for .cfi_signal_frame. Fixes pr11762.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148733 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
2bd335470f8939782f3df7f6180282d3825d4f09 10-Jan-2012 David Blaikie <dblaikie@gmail.com> Remove unnecessary default cases in switches that cover all enum values.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147855 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.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/MCAsmStreamer.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/MCAsmStreamer.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/MCAsmStreamer.cpp
8f7d12ccfd8feb258bdf4e582592bc00beacc7c6 17-Dec-2011 Rafael Espindola <rafael.espindola@gmail.com> Add back the MC bits of 126425. Original patch by Nathan Jeffords. I added the
asm parsing and testcase.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146801 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.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/MCAsmStreamer.cpp
44d798d9763bc32aaf49fe7c10d604845f4b6685 18-Oct-2011 Nick Lewycky <nicholas@mxc.ca> Add support for a new extension to the .file directive:

.file filenumber "directory" "filename"

This removes one join+split of the directory+filename in MC internals. Because
bitcode files have independent fields for directory and filenames in debug info,
this patch may change the .o files written by existing .bc files.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142300 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
98c5ddabca1debf935a07d14d0cbc9732374bdb8 16-Sep-2011 Owen Anderson <resistor@mac.com> Don't attach annotations to MCInst's. Instead, have the disassembler return, and the printer accept, an annotation string which can be passed through if the client cares about annotations.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139876 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
36a16015ac108e2f0dd2d6d96a6d364bc74c50d7 02-Sep-2011 Benjamin Kramer <benny.kra@googlemail.com> Don't drop alignment info on local common symbols.

- On COFF the .lcomm directive has an alignment argument.
- On ELF we fall back to .local + .comm

Based on a patch by NAKAMURA Takumi.

Fixes PR9337, PR9483 and PR10128.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138976 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
bd27f5adbd8f3b8ab8def5aa43fbc406ac9b8cbe 27-Jul-2011 Evan Cheng <evan.cheng@apple.com> Support .code32 and .code64 in X86 assembler.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136197 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
bfe3686aee881cb7599c42fc96afc44ff9bcf356 26-Jul-2011 Evan Cheng <evan.cheng@apple.com> Remove one last reference to Target in MC library.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136145 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.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/MCAsmStreamer.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/MCAsmStreamer.cpp
203576aa0cb9d8bf2d2e4d910ebab4b7a63262ae 20-Jul-2011 Evan Cheng <evan.cheng@apple.com> Goodbye TargetAsmInfo. This eliminate last bit of CodeGen and Target in llvm-mc.

There is still a bit more refactoring left to do in Targets. But we are now very
close to fixing all the layering issues in MC.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135611 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
e76a33b9567d78a5744dc52fcec3a6056d6fb576 20-Jul-2011 Evan Cheng <evan.cheng@apple.com> Add MCObjectFileInfo and sink the MCSections initialization code from
TargetLoweringObjectFileImpl down to MCObjectFileInfo.

TargetAsmInfo is done to one last method. It's *almost* gone!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135569 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
0e6a052331f674dd70e28af41f654a7874405eab 18-Jul-2011 Evan Cheng <evan.cheng@apple.com> Sink getDwarfRegNum, getLLVMRegNum, getSEHRegNum from TargetRegisterInfo down
to MCRegisterInfo. Also initialize the mapping at construction time.

This patch eliminate TargetRegisterInfo from TargetAsmInfo. It's another step
towards fixing the layering violation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135424 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
1be0e271a07925b928ba89848934f1ea6f1854e2 15-Jul-2011 Evan Cheng <evan.cheng@apple.com> Move some parts of TargetAsmInfo down to MCAsmInfo. This is not the greatest
solution but it is a small step towards removing the horror that is
TargetAsmInfo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135237 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.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/MCAsmStreamer.cpp
5c2eef6aed2ad1d716c1e393cb36e164d169ae2c 09-Jul-2011 Evan Cheng <evan.cheng@apple.com> Fix comment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134763 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
3014b2f3228e1aac1a70598f50d66f1afcc16714 07-Jul-2011 Akira Hatanaka <ahatanak@gmail.com> This patch adds a flag in MCAsmInfo that indicates whether dwarf register
numbers should be printed instead of symbolic register names in
MCAsmStreamer::EmitRegisterName. This is necessary because some versions of
GNU assembler won't accept code in which symbolic register names are used in
cfi directives. There is no change in behavior unless the flag is explicitly
set to true by a backend.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134635 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
95c3e48f9557adb6064d580684bb14cacec2f826 23-Jun-2011 Jay Foad <jay.foad@gmail.com> Reinstate r133513 (reverted in r133700) with an additional fix for a
-Wshorten-64-to-32 warning in Instructions.h.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133708 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
e59fbc04ad343435705c28b3cf7038d65fe4af0a 23-Jun-2011 Eric Christopher <echristo@apple.com> Revert r133513:

"Reinstate r133435 and r133449 (reverted in r133499) now that the clang
self-hosted build failure has been fixed (r133512)."

Due to some additional warnings.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133700 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
b8c6ed3b629d697baf1071cef9cfcf07452b6ebd 21-Jun-2011 Bill Wendling <isanbard@gmail.com> Remove the subclassing. This will be moved to the ASM printer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133473 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
edb15d6872c4475f45f3182960bd138acda6799e 18-Jun-2011 Bill Wendling <isanbard@gmail.com> * Override the "EmitBytes" function, since it can sneak values in that way.
* Make this used only if CFI is used.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133319 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
ccfae86da1e78e5985bdc9d64d1116c539cf19ba 18-Jun-2011 Bill Wendling <isanbard@gmail.com> Remove false assertion.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133314 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
50cb96931a497bba8d06af4dc046c1d2d4a23915 17-Jun-2011 Bill Wendling <isanbard@gmail.com> Disable for another investigation.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133299 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
30507ef3c33690e8377e88a2278a8c20bc7a7a5c 17-Jun-2011 Bill Wendling <isanbard@gmail.com> Support only DwarfCFI or SjLj exception handling in LSDA decoder.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133297 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
5ba89837d7cba1719ab069ac558c8a06aa26b9a6 17-Jun-2011 Bill Wendling <isanbard@gmail.com> SjLj exception handling LSDA decoding support wasn't represented correctly. Use
the correct values, etc. In particular, the exception handling type is SjLj, not
ARM.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133296 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
2fb86a8fe6c53ea55511fa7e42c561138e55f8c4 17-Jun-2011 Bill Wendling <isanbard@gmail.com> Disable to investigate ARM failure.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133293 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
e266ce6c6eaf52ebe2b18d85b5e23788cf2f6ef4 17-Jun-2011 Bill Wendling <isanbard@gmail.com> Use the verbose asm flag instead of a new flag for decoding the LSDA.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133292 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
916a94b870042772568fca7995cf45aef7a6e333 17-Jun-2011 Bill Wendling <isanbard@gmail.com> Add an option that allows one to "decode" the LSDA.

The LSDA is a bit difficult for the non-initiated to read. Even with comments,
it's not always clear what's going on. This wraps the ASM streamer in a class
that retains the LSDA and then emits a human-readable description of what's
going on in it.

So instead of having to make sense of:

Lexception1:
.byte 255
.byte 155
.byte 168
.space 1
.byte 3
.byte 26
Lset0 = Ltmp7-Leh_func_begin1
.long Lset0
Lset1 = Ltmp812-Ltmp7
.long Lset1
Lset2 = Ltmp913-Leh_func_begin1
.long Lset2
.byte 3
Lset3 = Ltmp812-Leh_func_begin1
.long Lset3
Lset4 = Leh_func_end1-Ltmp812
.long Lset4
.long 0
.byte 0
.byte 1
.byte 0
.byte 2
.byte 125
.long __ZTIi@GOTPCREL+4
.long __ZTIPKc@GOTPCREL+4

you can read this instead:

## Exception Handling Table: Lexception1
## @LPStart Encoding: omit
## @TType Encoding: indirect pcrel sdata4
## @TType Base: 40 bytes
## @CallSite Encoding: udata4
## @Action Table Size: 26 bytes

## Action 1:
## A throw between Ltmp7 and Ltmp812 jumps to Ltmp913 on an exception.
## For type(s): __ZTIi@GOTPCREL+4 __ZTIPKc@GOTPCREL+4
## Action 2:
## A throw between Ltmp812 and Leh_func_end1 does not have a landing pad.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133286 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
cde4ce411b1ace4a80ea1dd38df97e8508aed0c9 02-Jun-2011 Rafael Espindola <rafael.espindola@gmail.com> Don't hardcode the %reg format in the streamer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132451 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
6e032942cf58d1c41f88609a1cec74eb74940ecd 30-May-2011 Rafael Espindola <rafael.espindola@gmail.com> Use the dwarf->llvm mapping to print register names in the cfi
directives.

Fixes PR9826.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132317 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
7b06b7357aa5a7cbdd769edbf6edb10fa055ea09 27-May-2011 Charles Davis <cdavis@mines.edu> Add a parameter to the Win64 EH section getters to get a section with a
suffix (e.g. .xdata$myfunc). The suffix part isn't implemented yet, but
I'll get to it in the next patch.

Fix up all callers of the affected functions. Make them pass said suffix to
the function.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132205 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
410ef2b263e92d3de1b2acff7437059400daed7d 25-May-2011 Charles Davis <cdavis@mines.edu> Add tests for .seh_setframe and .seh_handlerdata parsing. Fix issues with
them.

I had to add a special SwitchSectionNoChange method to MCStreamer just for
.seh_handlerdata. If this isn't OK, please let me know, and I'll find some
other way to fix .seh_handlerdata streaming.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132084 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
fbc539ff37ddd08c2480be9185e7a40919ce8940 22-May-2011 Charles Davis <cdavis@mines.edu> Add methods to parse the SEH directives to the COFFAsmParser. Implement some
of them, particularly the ones that don't take arguments. Also implement
.seh_proc and .seh_handler.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131866 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
ae8e829d392c525e2de288fae4d04c4c68623389 20-May-2011 Jim Grosbach <grosbach@apple.com> Add missing leading \t when printing .cfi_def_cfa in the asmstreamer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131755 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
cde87e2377bd3853d1485db27b295616066d020d 20-May-2011 Charles Davis <cdavis@mines.edu> Now that they're implemented, make the Win64 EH MCAsmStreamer methods call
super.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131743 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.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/MCAsmStreamer.cpp
c3b162857a587c9877e903f038471b882b213232 19-May-2011 Charles Davis <cdavis@mines.edu> Implement the Win64 EH prolog instruction methods on the base MCStreamer.

I had to change the API slightly to avoid overloading issues.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131666 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
440596ffe5bb77a202acb36d5eadd158976ff39a 19-May-2011 Charles Davis <cdavis@mines.edu> Turns out GAS does have Win64 EH directives. (It also supports WinCE EH.) Make
ours compatible with GAS.

In retrospect, I should have emailed binutils about this earlier. Thanks to
Kai Tietz for pointing out that GAS already had SEH directives.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131652 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
8b3e5e5afaa312f2297b326a0f4d7febd8d20e08 19-May-2011 Charles Davis <cdavis@mines.edu> Remove comments as Chris requested.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131590 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
d36d26d00822e80e38c95247ff20f7df284c7796 18-May-2011 Cameron Zwarich <zwarich@apple.com> Fix an obvious typo in r131572.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131579 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
f07090134d06e0cf3508e8b8e87d775f0a7982c1 18-May-2011 Charles Davis <cdavis@mines.edu> Add some more Win64 EH directives:
- StartChained and EndChained delimit a chained unwind area, which can contain
additional operations to be undone if an exception occurs inside of it.
- UnwindOnly declares that this function doesn't handle any exceptions. If it
has a handler, it's an unwind handler instead of an exception handler.
- Lsda declares the location and size of the LSDA, which in the Win64 EH
scheme is kept inside the UNWIND_INFO struct. Windows itself ignores the
LSDA; it's used by the Language-Specific Handler (the "Personality Function"
from DWARF).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131572 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
0e30f02f44185b43d279b7b3ef8b3356f2b5c7cb 18-May-2011 Charles Davis <cdavis@mines.edu> Implement the Win64 EH directive methods for the assembly language streamer.

GAS has no such directives (not even mingw-w64 GAS has them), so I took
creative license with their names in assembly. I prefixed them all with
"w64_" to avoid namespace collisions, for example. If I discover that GAS
has taken a different approach, I'll change ours to match.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131525 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
6469540adf63d94a876c2b623cb4ca70479647f7 16-May-2011 Rafael Espindola <rafael.espindola@gmail.com> sets bit 0 of the function address of thumb function in .symtab
("T is 1 if the target symbol S has type STT_FUNC and the
symbol addresses a Thumb instruction ;it is 0 otherwise."
from "ELF for the ARM Architecture" 4.7.1.2)

Patch by Koan-Sin Tan!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131406 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
713c4bfc36260bfc9273d414b14757bd7819f9b1 10-May-2011 Rafael Espindola <rafael.espindola@gmail.com> Add CFIStartSections to the asm printer. Add an assert that at least
one of the sections is created.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131124 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
c25dad8750083829d9a8935ce40d0734e5488f8e 10-May-2011 Rafael Espindola <rafael.espindola@gmail.com> Factor some code into a new EmitFrames method.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131119 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
5426a9ee37667660935d80841c5392d78e254318 01-May-2011 Rafael Espindola <rafael.espindola@gmail.com> GCC uses a different encoding of pointers in the FDE when using
-fno-dwarf2-cfi-asm. Implement the same behavior.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130637 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.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/MCAsmStreamer.cpp
2b3e12d0cb1ad98abaa79353c3ab69d9b06d9ded 01-May-2011 Rafael Espindola <rafael.espindola@gmail.com> Revert the previous patch while I figure out how to make llvm-gcc
less agressive about disabling cfi on linux :-(

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130626 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
89fc9e8f5eb74d5607bed7759628775b564a5383 01-May-2011 Rafael Espindola <rafael.espindola@gmail.com> Enable CFI on OS X.
Currently the output should be almost identical to the one produced by CodeGen
to make the transition easier.

The only two differences I know of are:

* Some files get an extra advance loc of size 0. This will be fixed when
relaxations are enabled.
* The optimization of declaring an EH symbol as an external variable is not
implemented. This is a subset of adding the nounwind attribute, so we if really
this at -O0 we should probably do it at the IL level.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130623 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
277abc8172a19b287e9b6ea0969bc113d7ac48e4 30-Apr-2011 Rafael Espindola <rafael.espindola@gmail.com> Implement MCAsmStreamer::EmitEHSymAttributes. Doing this in the asm streamer
is a bit ugly, but doing it on the base MCStreamer would be redundant
with the object streamer which does it using SD.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130611 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
f1a5c7ec04002769f1638e64f7439589f0f926e6 30-Apr-2011 Rafael Espindola <rafael.espindola@gmail.com> Add all the plumbing needed for MC to expand cfi to the old tables in
the final assembly. It is the same technique used when targeting
assemblers that don't support .loc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130587 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.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/MCAsmStreamer.cpp
7f46b08082b08ac0760ffeca6670bf85910b305b 29-Apr-2011 Rafael Espindola <rafael.espindola@gmail.com> Implement MCAsmStreamer::EmitCFIDefCfa.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130543 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
49a3ff9d1733cb16bdc97590e5b90508b8656565 29-Apr-2011 Devang Patel <dpatel@apple.com> Hoist MCLineEntry construction AsmPrinter so that anyone who derives from AsmPrinter can have line number entries.
PR 9810



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130518 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.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/MCAsmStreamer.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/MCAsmStreamer.cpp
3f3bf9387b75f4c932e4c59bd7af719d26ae4b99 18-Apr-2011 Devang Patel <dpatel@apple.com> Reduce clutter in asm output. Do not emit source location as comment for each instruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129715 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
066c2f495ae396ce5335e374c45b1e4ace4f2470 13-Apr-2011 Rafael Espindola <rafael.espindola@gmail.com> Be consistent about being virtual and returning void in the cfi methods.
Implement the ones that were missing in the asm streamer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129413 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
d645151ac680ae9d6b9c032b3de903d5ae5a22ac 27-Mar-2011 NAKAMURA Takumi <geek4civic@gmail.com> Fix whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128370 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
57caad7a33ff145b71545f10dcfbbf2fd0f595d3 05-Mar-2011 Anton Korobeynikov <asl@math.spbu.ru> Preliminary support for ARM frame save directives emission via MI flags.
This is just very first approximation how the stuff should be done
(e.g. ARM-only for now). More to follow.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127101 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
b5e16af9ea04cc1f94ca631104e5e6be96546aa1 05-Mar-2011 Anton Korobeynikov <asl@math.spbu.ru> Some first rudimentary support for ARM EHABI: print exception table in "text mode".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127099 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
f754f50805fee2bb4d461a9b41107122a22cd6f6 25-Feb-2011 Cameron Zwarich <zwarich@apple.com> Roll out r126425 and r126450 to see if it fixes the failures on the buildbots.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126488 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
f410608271b6318bfc9e26c0d199f185d5a89ccb 24-Feb-2011 Devang Patel <dpatel@apple.com> Enable DebugInfo support for COFF object files.
Patch by Nathan Jeffords!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126425 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.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/MCAsmStreamer.cpp
c6585202cafd95fbe6e51d878071668b9df96e90 14-Jan-2011 Anton Korobeynikov <asl@math.spbu.ru> Use common style for .cfi directives

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123472 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
8fbbd1c03df9cb6844ce5ffaa24a0adf6e434a2c 14-Jan-2011 Evan Cheng <evan.cheng@apple.com> Add comment about Thumb2 fixup comments being completely bogus.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123411 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
82caf1a867852010ae70dee04989609e25e72856 13-Jan-2011 Evan Cheng <evan.cheng@apple.com> Relax an assertion. On archs like ARM, an immediate field may be scattered. So it's possible for some bits of every 8 bits to be encoded already, and the rest still needs to be fixed up.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123403 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
bdc3167c086dd4358e24692075db5e7784140843 27-Dec-2010 Rafael Espindola <rafael.espindola@gmail.com> Add support for .cfi_lsda.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122584 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
3a83c40ab61d5ca624f2bbadd70237c6adbdb304 27-Dec-2010 Rafael Espindola <rafael.espindola@gmail.com> Add support for the same encodings of the personality function that gnu as
supports.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122577 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
476b242fe7a61e5f9ac6214b0bc5c680d24f152e 19-Dec-2010 Nick Lewycky <nicholas@mxc.ca> Add missing standard headers. Patch by Joerg Sonnenberger!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122193 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
2761fc427082215c2affcc9d8db8491400bc9e5d 16-Dec-2010 Daniel Dunbar <daniel@zuster.org> MC: Move target specific fixup info descriptors to TargetAsmBackend instead of
the MCCodeEmitter, which seems like a better organization.
- Also, cleaned up some magic constants while in the area.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121953 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
745dacc91d7ee9531bfba76b21beb5d4eef93a7d 16-Dec-2010 Daniel Dunbar <daniel@zuster.org> MC: Make TargetAsmBackend available to the AsmStreamer.
- Treaty talks on the non-proliferation of MC objects broke down.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121949 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.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/MCAsmStreamer.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/MCAsmStreamer.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/MCAsmStreamer.cpp
0bbe0b440ee2cef47dcb7b281825eb70341c16dd 06-Dec-2010 Rafael Espindola <rafael.espindola@gmail.com> Second try at making direct object emission produce the same results
as llc + llvm-mc. This time ELF is not changed and I tested that llvm-gcc
bootstrap on darwin10 using darwin9's assembler and linker.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121006 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.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/MCAsmStreamer.cpp
767b1be3900bdc693aa0ad3e554ba034845f67f7 04-Dec-2010 Rafael Espindola <rafael.espindola@gmail.com> Next step: Only pad debug_line when the target is darwin. Add a FIXME to avoid
doing that if the target is darwin10 or newer.

This fixes
*) Direct object emission was producing objects without the workaround on
darwin9.
*) Assembly printing was producing objects with the workaround on linux.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120866 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.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/MCAsmStreamer.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/MCAsmStreamer.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/MCAsmStreamer.cpp
5113cdbfff7df4c7a79a92e5aa971126254202c6 03-Dec-2010 Devang Patel <dpatel@apple.com> It may not be an option to skip .debug_line if there are file reference in already emitted debug info. So, for now, emit dummy line table entry to make older linker and assemblers happy. This is not a new behavior, original AsmPrinter emitted similar line table entries.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120760 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.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/MCAsmStreamer.cpp
6a13ddbd9b2159303996db44db6045730d0fe479 02-Dec-2010 Devang Patel <dpatel@apple.com> If tehre are not any line entry then do not try to emit .debug_line section.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120637 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
ec0b428398c5fb91fdce5d3d003ab0e4b75b5d6a 29-Nov-2010 Rafael Espindola <rafael.espindola@gmail.com> Make EmitIntValue non virtual.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120271 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
cdfecc8759941c2996214070478d30084b79d463 22-Nov-2010 Rafael Espindola <rafael.espindola@gmail.com> Add basic CFI methods to the streamer interface.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119972 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
e8e98d7f2eaa0613442ce21ab6a040c0f04f5b4d 19-Nov-2010 Kevin Enderby <enderby@apple.com> Added support for the Mach-O .symbol_resolver directive. rdar://8673046


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119816 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
a4b23ffced8cc7ac2d856f0bd1e4b8b2a12f18e5 19-Nov-2010 Rafael Espindola <rafael.espindola@gmail.com> Fix llvm-gcc boostrap on OS X by avoiding printing sleb and uleb when
possible.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119785 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
195a0ce484cd12a5adae9184188f6d0fb52b84c0 19-Nov-2010 Rafael Espindola <rafael.espindola@gmail.com> Change some methods in MCDwarf.cpp to be able to handle an arbitrary
MCStreamer instead of just MCObjectStreamer. Address changes cannot
be as efficient as we have to use DW_LNE_set_addres, but at least
most of the logic is shared.

This will be used so that, with CodeGen still using EmitDwarfLocDirective,
llvm-gcc is able to produce debug_line sections without needing an
assembler that supports .loc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119777 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
af6b5808756d6ce335df9eb158efa33894b401c4 16-Nov-2010 Rafael Espindola <rafael.espindola@gmail.com> Add .loc methods to the streamer.

Next: Add support for the !HasDotLocAndDotFile case to the MCAsmStreamer
and then switch codegen to use it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119384 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
3170a3bc04deadfc0a4de5ff3cba7680be548f29 15-Nov-2010 Chris Lattner <sabre@nondot.org> correct the fixup comment printer to work on big endian platforms.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119122 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
e9c0ff2a76508922b3f3ec07484ba579d4c51d95 13-Nov-2010 Rafael Espindola <rafael.espindola@gmail.com> Fix warning and add support for printing gnu_unique_object.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118981 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
ba21957cbd7b25e3d25a3e9befe6151000242853 05-Nov-2010 Jim Grosbach <grosbach@apple.com> Add '.code 32' assembler directive to MC streamers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118309 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
ce79299f78bb04e76e1860ab119b85d69f3a19c7 05-Nov-2010 Jim Grosbach <grosbach@apple.com> MC'ize the '.code 16' and '.thumb_func' ARM directives.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118301 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
738734501635a15d8ed2d1c8d52962ed5f319bd3 04-Nov-2010 Rafael Espindola <rafael.espindola@gmail.com> Add 118023 back, but with proper spelling for .uleb128/.sleb128.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118254 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.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/MCAsmStreamer.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/MCAsmStreamer.cpp
afd1cc25786f68ca56a63d29ea2bd297990e9f81 30-Sep-2010 Jason W Kim <jason.w.kim.2009@gmail.com> Tiny patch for proof-of-concept cleanup of ARMAsmPrinter::EmitStartOfAsmFile()
Small test for sanity check of resulting ARM .s file.
Tested against -r115129.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115133 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
e07b75e069969558c3fbb2f5bfb9a652f6ea1d6b 23-Sep-2010 Chris Lattner <sabre@nondot.org> allow target-specific label suffixes, patch by Yuri Gribov!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114592 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
bd4ec84d154bdd3f19b07de1076a06c16f7ebce8 22-Sep-2010 Jim Grosbach <grosbach@apple.com> grammar tweakage

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114561 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
00545e1cd50073ed8a3af98070a16b50f3c3401c 22-Sep-2010 Jim Grosbach <grosbach@apple.com> remove trailing whitespace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114560 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
d80781b98b771d370730ab7c630018f23e202b57 15-Sep-2010 Rafael Espindola <rafael.espindola@gmail.com> Add a InitSections method to the streamer interface.

The ELF implementation now creates text, data and bss to match the gnu as
behavior.

The text streamer still has the old MachO specific behavior since
the testsuite checks that it will error when a directive is given
before a setting the current section for example.

A nice benefit is that -n is not required anymore when producing
ELF files.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114027 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.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/MCAsmStreamer.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/MCAsmStreamer.cpp
f59cac5ed36360b4c462781051f996b3499d7e0f 08-Jul-2010 Kevin Enderby <enderby@apple.com> Added the darwin .weak_def_can_be_hidden directive.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107886 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
61abd7b395d0bbebd8cc44c870b02609abef6976 21-Jun-2010 Chris Lattner <sabre@nondot.org> "This is just a cosmetic change in MCAsmStreamer.cpp/EmitSymbolAttribute: all attributes have now a \t before and after, as done for '.type'.

This makes the output look consistent, as well as help some third party assemblers expecting the attributes to be in the second column."

Patch by Arnaud de Grandmaison!



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106469 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
4b1000d117f1b7cc5411bc251d141fe182a4ae1c 01-Jun-2010 Dan Gohman <gohman@apple.com> Don't call flush() at a library level which isn't checking for errors
and doesn't know where the output is going.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105274 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
c9adb8c61e5dacdb340509ff6090cada1f4b591c 26-May-2010 Daniel Dunbar <daniel@zuster.org> MC: Change MCInst::dump_pretty to not include a trailing newline.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104696 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
4d01cbe93b0e1a349b5c2881f1b319963f9e0504 18-May-2010 Eric Christopher <echristo@apple.com> Make EmitTBSSSymbol take a section argument so that we can find it later.
Fix up callers and users.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104057 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
d04d98d24fe5c82c7e69b711cd989ef96980fb8e 17-May-2010 Eric Christopher <echristo@apple.com> Assume that we'll handle mangling the symbols earlier and just put the
symbol to the file as we have it. Simplifies out tbss handling.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103928 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
482eba054ab3543ee0e1f453d3d6441092f4b76d 14-May-2010 Eric Christopher <echristo@apple.com> Add AsmParser support for darwin tbss directive.

Nothing uses this yet.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103757 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
b54b9ddaaf2d258767d360583642ed1b91075fc9 08-May-2010 Chris Lattner <sabre@nondot.org> break coff symbol definition stuff out into proper MCStreamer callbacks,
patch by Nathan Jeffords!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103346 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
2d7fd61e94e2db0586ad9d5d26c1e7c5510a006d 05-May-2010 Daniel Dunbar <daniel@zuster.org> MC/Mach-O: Mark absolute variable's appropriately, and add Mach-O support for
writing them.
- <rdar://problem/7885351> integrated assembler broken for i386 objc code

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103112 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
c304718fd8fa25f3f36f47f3de0e0cfe7578bc9e 05-May-2010 Daniel Dunbar <daniel@zuster.org> MC: Reject attempts to define a variable symbol.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103111 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
08a408a4b3224627db07eb27e174085d8e1d2426 05-May-2010 Daniel Dunbar <daniel@zuster.org> MC: Rename MCSymbol::{g,s}etValue -> MCSymbol::{g,s}etVariableValue.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103095 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
d374087be5360a353a4239a155b1227057145f48 04-Apr-2010 Chris Lattner <sabre@nondot.org> fix an ugly wart in the MCInstPrinter api where the
raw_ostream to print an instruction to had to be specified
at MCInstPrinter construction time instead of being able
to pick at each call to printInstruction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100307 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
d5928dcd78ec03a64f61b7a93be219d97eda1f5c 04-Apr-2010 Chris Lattner <sabre@nondot.org> allow attaching comments to raw text.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100292 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
91bead790518fcf5cb26019fb1ebf2372e8a5b3f 03-Apr-2010 Chris Lattner <sabre@nondot.org> add a new EmitInlineAsm function to asmprinter to handle inline asm.
If we have an MCAsmStreamer, we continue to emit asm textually,
otherwise we (currently) emit an error to errs and ignore it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100289 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
67c076cf59d14fc96feb5c915447f8ea79cf8325 22-Mar-2010 Daniel Dunbar <daniel@zuster.org> MCInst: Add ::dump_pretty.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99216 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
4c42a6de9f5456cc1b28f2d37db589f580f2adc7 19-Mar-2010 Chris Lattner <sabre@nondot.org> fix an MCInstPrinter leak that jyasskin pointed out:
createAsmStreamer now takes ownership of the instprinter.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98939 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
fdab14b10564283028e9bdb628d095feae7fa071 12-Mar-2010 Chris Lattner <sabre@nondot.org> remove MAI argument from createAsmStreamer since it
can get it from the context now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98361 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
ec167fd98779a5d93d98c01b000d17b8b3896aff 23-Feb-2010 Chris Lattner <sabre@nondot.org> genericize MCAsmStreamer::EmitCodeAlignment to support other targets
so that it doesn't break them when the code generator starts using it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96966 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
6e72048add2a6464e038121c6c275da37528aa0a 23-Feb-2010 Kevin Enderby <enderby@apple.com> This is the first patch to put the needed bits in place to eventually allow code
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).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96963 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
7e85180d15c4d5a451fbc078f7194a41c6230a57 11-Feb-2010 Chris Lattner <sabre@nondot.org> add a new MCInstPrinter::getOpcodeName interface, when it is
implemented, llvm-mc --show-inst now uses it to print the
instruction opcode as well as the number.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95929 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
8d31de62680f28ac13594a14dde46216c82a3708 11-Feb-2010 Chris Lattner <sabre@nondot.org> make getFixupKindInfo return a const reference, allowing
the tables to be const. Teach MCCodeEmitter to handle
the target-indep kinds so that we don't crash on them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95924 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
5d5a1e13a129e18ee6031fe6354acd2ab4d39f37 10-Feb-2010 Daniel Dunbar <daniel@zuster.org> MC: Switch MCFixup to just hold an MCExpr pointer instead of index into the
MCInst it came from.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95767 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
5532cf44a012149ce3afce43dbd0651b4d87a505 10-Feb-2010 Daniel Dunbar <daniel@zuster.org> llvm-mc: Remove --show-fixups and always show as part of --show-encoding.

Also, fix a silly memory leak.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95752 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
a2bd92b13068bfd6609cc3f72c61d6787b53b8d2 10-Feb-2010 Chris Lattner <sabre@nondot.org> daniel *really* likes fixups!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95742 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
5d672cfab096390690a1a5f33b0057c4cf252c55 10-Feb-2010 Chris Lattner <sabre@nondot.org> Add ability for MCInstPrinters to add comments for instructions.
Enhance the x86 backend to show the hex values of immediates in
comments when they are large. For example:

movl $1072693248, 4(%esp) ## imm = 0x3FF00000



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95728 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
6b71653c82f86626f64356c308d7356a17b05834 10-Feb-2010 Daniel Dunbar <daniel@zuster.org> llvm-mc: Add --show-fixups option, for displaying the instruction fixup information in the asm comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95710 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
73c557458c0e28899f37c557bcaf36c2b6701260 09-Feb-2010 Daniel Dunbar <daniel@zuster.org> MC: First cut at MCFixup, for getting fixup/relocation information out of an MCCodeEmitter.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95708 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
30d9a644d5b09bcf95b8b05ec559c778566265c3 09-Feb-2010 Chris Lattner <sabre@nondot.org> make -show-inst be formatted a bit nicer. Before:

movl $3735928559, a ## inst: <MCInst 1273 <MCOperand Reg:0> <MCOperand Imm:1> <MCOperand Reg:0> <MCOperand Expr:(a)> <MCOperand Reg:0> <MCOperand Expr:(3735928559)>>

after:

movl $3735928559, a ## <MCInst #1273
## <MCOperand Reg:0>
## <MCOperand Imm:1>
## <MCOperand Reg:0>
## <MCOperand Expr:(a)>
## <MCOperand Reg:0>
## <MCOperand Expr:(3735928559)>>





git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95637 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
342cbdcc5eca3a292748b71f1aac55516d4e7141 05-Feb-2010 Chris Lattner <sabre@nondot.org> print encodings like this:
pslld 69, %mm3 ## encoding: [0x0f,0xf2,0x1c,0x25,0x45,0x00,0x00,0x00]

instead of like this:
pslld 69, %mm3 ## encoding: [0x0f,0xf2,0x1c,0x25,0x45,0000,0000,0000]

this only affects 0.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95441 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
523d70ec1f8daa67bb8a9fe8f7b6b3d076a26c99 04-Feb-2010 Dan Gohman <gohman@apple.com> Use a tab instead of space after .type, for consistency.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95272 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
9dee8e3009408fd08c656558397a8ac8604139ba 03-Feb-2010 Daniel Dunbar <daniel@zuster.org> llvm-mc: Add --show-inst option, for showing the MCInst inline with the assembly
output.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95227 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
8ef2cef6769e4e4945eadc047bfc3c1656fe5002 03-Feb-2010 Chris Lattner <sabre@nondot.org> print instruction encodings with the existing comment facilities,
so that llvm-mc -show-encoding prints like this:

hlt ## encoding: [0xf4]

instead of like this:

hlt
# encoding: [0xf4]



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95207 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
56591ab218639d8a6e4c756ca37adaf20215c3b6 03-Feb-2010 Chris Lattner <sabre@nondot.org> refactor code so that LLVMTargetMachine creates the asmstreamer and
mccontext instead of having AsmPrinter do it. This allows other
types of MCStreamer's to be passed in.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95155 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
2e2563bf8e0f0a7f8c923000c0206855f16968b2 26-Jan-2010 Rafael Espindola <rafael.espindola@gmail.com> Emit .comm alignment in bytes but .align in powers of 2 for ARM ELF.

Original patch by Sandeep Patel and updated by me.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94582 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
718fb59801320b8cb22363d115b5fc5ec40dc1f5 25-Jan-2010 Chris Lattner <sabre@nondot.org> mcstreamerize gprel32 emission.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94452 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
a6594fc7156c0afbe6fd5a6aab9b099aaf950c53 25-Jan-2010 Chris Lattner <sabre@nondot.org> mcstreamerize .file and .file. This also fixes an issue where the
normal form of .file would fail if the filename had a weird character
in it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94437 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
a800f7c464ef9a376057a555129f36d1f8488c3b 25-Jan-2010 Chris Lattner <sabre@nondot.org> emit ELF .type directives through MCStreamer instead of doing it textually.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94436 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
ed0ab15170f0f8fc4269d58757378bc8726b56a1 25-Jan-2010 Chris Lattner <sabre@nondot.org> add symbol attribute support for the ELF .type directive.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94435 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
99328add833807f12a4950c7de29fb2a5df04703 25-Jan-2010 Chris Lattner <sabre@nondot.org> emit the .size directive for global variables on ELF through
mcstreamer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94416 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
6559d7688e24e204af273a1e1252639320a7b309 25-Jan-2010 Chris Lattner <sabre@nondot.org> all supported target now have aligned common support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94413 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
9eb158d5b4cd4f6fc80912e2dd77bdf13c3ca0e7 23-Jan-2010 Chris Lattner <sabre@nondot.org> mcize lcomm, simplify .comm, extend both to support 64-bit sizes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94299 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
a5ad93a10a5435f21090b09edb6b3a7e44967648 23-Jan-2010 Chris Lattner <sabre@nondot.org> move the various directive enums out of the MCStreamer class
into a new MCDirectives.h file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94294 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
3924868a957d5a6d468b61741cbb7db77324d1f6 23-Jan-2010 Chris Lattner <sabre@nondot.org> mcize jump table and constant pool entry labels, .local on elf,
and some .weak directives.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94284 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
12e555c36ce11c39ce15cd0b27bf7b02a068beb2 23-Jan-2010 Chris Lattner <sabre@nondot.org> teach MCAsmStreamer::EmitBytes to use .ascii and .asciz


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94259 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
14ca177beba15e86ca410c9f6fc7f48ba245dba6 22-Jan-2010 Chris Lattner <sabre@nondot.org> Changes to fix buffering that I forgot to commit with previous patch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94222 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
0fd90fd8d1c2143a763dee509c66a5b3c74088b1 22-Jan-2010 Chris Lattner <sabre@nondot.org> Convert some more random-comment-printing stuff to use
AddComment and GetCommentOS. Add a blank line between globals
(even in non-verbose mode) to make the assembly more readable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94202 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
d79d9dce47d505369662ae5111dba24f9ccdef68 22-Jan-2010 Chris Lattner <sabre@nondot.org> add a new MCAsmStreamer::GetCommentOS method to simplify stuff
that doesn't want to use twines.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94199 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
d32c7cfa248f685e6e3064c0958dc2f0c31a4df6 22-Jan-2010 Chris Lattner <sabre@nondot.org> rename addComment -> AddComment for consistency.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94190 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
7d1e49c98332ff336bd6a6837855c8cdb1b36e97 22-Jan-2010 Chris Lattner <sabre@nondot.org> add comment support to the rest of the directives.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94168 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
86e2211d0a496f470ea1d320161c8dc43593c5c6 22-Jan-2010 Chris Lattner <sabre@nondot.org> Add the ability for MCStreamer to emit comments on the same line as directives.
Switch over the asm-verbose comment for double values to use it. We now get:

_x:
.long 343597384 ## double 1.231200e+02
.long 1079953326

For example, note that the comment is on the same line as the .long. Woo.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94166 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
07404415ab97883b80d0dd87f1c5308e4eccbfd4 22-Jan-2010 Chris Lattner <sabre@nondot.org> pass "-fasm-verbose" into createAsmStreamer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94165 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
0e94facb5f59fe326ea00f00aaf53b7273e7d7ce 20-Jan-2010 Chris Lattner <sabre@nondot.org> don't forget to initialize an instance variable!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94021 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
32f6a8d923e70fc342a611a1446d3ea031d6afd2 20-Jan-2010 Chris Lattner <sabre@nondot.org> use getGlobalDirective(), don't hardcode .globl. PR6093


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94006 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
5eaa54e210256a939f15e918303197916c992aee 20-Jan-2010 Chris Lattner <sabre@nondot.org> make mcasmstreamer handle expanding 8 byte integer constants to
4-byte constants if .quad isn't supported. Switch a bunch of
methods used by the dwarf writer to use OutStreamer.EmitIntValue.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93987 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
1658202529cf371e7e5f1a46d9ef80def5b3c3e0 20-Jan-2010 Chris Lattner <sabre@nondot.org> give createAsmStreamer an 'isLittleEndian' argument.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93986 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
32ae3fe0ba469240753e2342e36485f7c9acfb5c 19-Jan-2010 Chris Lattner <sabre@nondot.org> add a new EmitIntValue method that MCStreamer impls can optionally define
and that clients can use.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93923 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
aaec205b87637cd0d59d4f11630db603686eb73d 19-Jan-2010 Chris Lattner <sabre@nondot.org> Generalize mcasmstreamer data emission APIs to take an address space
identifier. There is no way to work around it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93896 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
8a6d7ac88f8b0f37c8c1f134efb39a0725394719 19-Jan-2010 Chris Lattner <sabre@nondot.org> mcstreamerize AsmPrinter::EmitZeros, at least when emitting to the
default address space.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93890 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
6113b3d32396168f8f390343d426baa9f64e9009 19-Jan-2010 Chris Lattner <sabre@nondot.org> add an MCAsmStreamer::EmitFill specialization of EmitFill that
emits one directive instead of N. Not doing this would be a
significant regression on the # bytes generated by .fill.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93889 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
4ed5438f4882c9fe779b1a8ff546877889b222df 19-Jan-2010 Chris Lattner <sabre@nondot.org> mc'ize some stuff, don't comment out .lcomm directive in -fverbose-asm mode.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93860 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
8cb9a3b13f3226b7e741768b69d26ecd6b5231f1 18-Jan-2010 Chris Lattner <sabre@nondot.org> remove the MAI argument to MCExpr::print and switch overthing to use << when printing them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93699 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
10b318bcb39218d2ed525e4862c854bc8d1baf63 17-Jan-2010 Chris Lattner <sabre@nondot.org> now that MCSymbol::print doesn't use it's MAI argument, we can
remove it and change all the code that prints MCSymbols to use
<< instead, which is much simpler and cleaner.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93695 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
2928c83b010f7cfdb0f819199d806f6942a7d995 06-Nov-2009 Daniel Dunbar <daniel@zuster.org> Pass StringRef by value.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86251 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
7eb85194f2b07bc7ba3f274fc00dc389b77b63bf 16-Oct-2009 Daniel Dunbar <daniel@zuster.org> Minor formatting tweaks.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84235 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
75773ff00da79ecf65e8578cf6f013295a2069cf 16-Oct-2009 Daniel Dunbar <daniel@zuster.org> MC: Tweak variable assignment diagnostics, and make reassignment of non-absolute
variables and symbols invalid.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84232 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
fffff915d53361fc575621c5e04ae7df99dd3fab 16-Oct-2009 Daniel Dunbar <daniel@zuster.org> MC: When parsing a variable reference, substitute absolute variables immediately
since they are allowed to be redefined.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84230 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
90edac0e8b35f766599362b6301863229f0ddcdb 14-Sep-2009 Chris Lattner <sabre@nondot.org> Change MCAsmStreamer to take an MCInstPrinter instead of a
full AsmPrinter, and change TargetRegistry to keep track
of registered MCInstPrinters.

llvm-mc is still linking in the entire
target foo to get the code emitter stuff, but this is an
important step in the right direction.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81754 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
1b6570e527dcf748da54a539a5a817fa4334f3aa 14-Sep-2009 Chris Lattner <sabre@nondot.org> 'printMCInst' doesn't print newlines after instructions anymore.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81723 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
684c593d05db0bd277268fc9d8c05bce138c745a 03-Sep-2009 Chris Lattner <sabre@nondot.org> Thread an MCAsmInfo pointer through the various MC printing APIs,
and fix a few things using << on MCSymbols to use ->print(). No
functionality change other than unbreaking my previous patch.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80890 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
d87eb6454dccd9a0645badb31e7185450c8c1eff 03-Sep-2009 Chris Lattner <sabre@nondot.org> inline insertion operators.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80888 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
579531c61b1bef44bf2d05dc334b5e7eba86397c 03-Sep-2009 Chris Lattner <sabre@nondot.org> output alignment value in hex so that we get:
.align 3, 0x90
instead of,
.align 3, 144

suggested by eric.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80875 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
821e3334ed3390d931f497300e6a5f1dc21bcfb3 31-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Pass values to MCStreamer as MCExprs, not MCValues.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80578 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
e2ace509fc1205bed97a5114b13534610d4dbf5e 31-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Simplify EmitAssignment ('.set' is identical to '=').

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80577 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
8c2eebe4074ef218b30d94358f6b2e45c079605c 31-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Switch MCInst to storing an MCExpr* instead of an MCValue.

Also, use MCInst::print instead of custom code in MCAsmPrinter.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80575 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
7092c7e1dcf9d05741b400dd54bbd7d3419773b2 30-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: MCStreamer cleanups. - Remove EmitLocalSymbol, this is unsupported for now.

- Switch Emit{CommonSymbol,Zerofill} to take alignment in bytes (for consistency).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80484 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
e6cdbf2f92a753ad547e3287e279bf47585b228d 28-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Emit .lcomm as .zerofill.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80343 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
8751b94ffbd9c49df8949a37f78d6bd0be87b256 28-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Add const to EmitZeroFill section argument.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80341 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
a356aea804462fc4a10c8d8c247d1589901316b4 27-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Print encodings after the instruction, and only when we have an asm
printer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80233 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
4a0abd80f18f9c2a10bf5b14cd6731d51972a426 27-Aug-2009 Daniel Dunbar <daniel@zuster.org> Sketch TargetRegistry support for MCCodeEmitter abstract interface.
- Of course, nothing actually can provide this interface yet.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80188 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
33adcfb4d217f5f23d9bde8ba02b8e48f9605fc5 22-Aug-2009 Chris Lattner <sabre@nondot.org> rename TAI -> MAI, being careful not to make MAILJMP instructions :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79777 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
af76e592c7f9deff0e55c13dbb4a34f07f1c7f64 22-Aug-2009 Chris Lattner <sabre@nondot.org> Rename TargetAsmInfo (and its subclasses) to MCAsmInfo.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79763 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
8906ff1b9dfde28f1ff00706643ca10843b26e01 22-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Clean up some handling of symbol/section association to be more correct
(external was really undefined and there wasn't an explicit representation for
absolute symbols).
- This still needs some cleanup to how the absolute "pseudo" section is dealt
with, but I haven't figured out the nicest approach yet.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79733 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
6e579c67272afdbca273ad6e6e93c5f6c0f10eeb 19-Aug-2009 Chris Lattner <sabre@nondot.org> fix asmstreaming of 2/4 byte elements with pow-2 alignments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79408 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
663c2d2580e6e9b2435785c7e5a2de18758860a3 19-Aug-2009 Chris Lattner <sabre@nondot.org> switch asmprinter to emit alignments through OutStreamer.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79406 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
6c2f9e14fdf14d8c1c687c6bd9918183fa7f8a7f 19-Aug-2009 Chris Lattner <sabre@nondot.org> eliminate AsmPrinter::SwitchToSection and just have clients
talk to the MCStreamer directly instead.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79405 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
dabf07c70a5e13a4560d75667fa5c7db28921a92 18-Aug-2009 Chris Lattner <sabre@nondot.org> Make AsmStreamer maintain a notion of the current section, pushing it up from the
MCAsmStreamer. Based on this, eliminate the current section from AsmPrinter.

While I'm at it, clean up the last of the horrible "switch to null section" stuff
and add an assert. This change is in preparation for completely eliminating
asmprinter::switchtosection.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79324 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
975780bb595b57a45a8e6d72d8151b436314ce22 17-Aug-2009 Chris Lattner <sabre@nondot.org> change AsmPrinter to switch sections using AsmStreamer instead of
doing it directly. This requires const'izing a bunch of stuff that
took sections, but this seems like the right semantic thing to do:
emitting a label to a section shouldn't mutate the MCSection object
itself, for example.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79227 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
f3ce009fcb0a04a245c437d86657e9bd61ecc18f 17-Aug-2009 Chris Lattner <sabre@nondot.org> give MCAsmStreamer a TargetAsmInfo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79222 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
46a947d8c191e5c218e736330c9d4d59ac4bcab3 17-Aug-2009 Chris Lattner <sabre@nondot.org> formatting cleanups, no functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79221 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
e44313e0ca7ca3504dd9dc906e2eff8b36bc4ee4 14-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Fix bugs where bytes were unintentionally being printed as signed.
- We now print all of 403.gcc cleanly (llvm-mc -> 'as' as diffed to 'as'), minus two
'rep;movsl' instructions (which I missed before).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79031 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
b2d0b6b8c70dadd4c7628d814c5caf7088defad3 14-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: When handling a .set, make sure to print subsequent references to the
symbol as the symbol name itself, not the expression it was defined to. These
have different semantics due to the quirky .set behavior (which absolutizes an
expression that would otherwise be treated as a relocation).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79025 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
12de0df59fdab799d8d1432fcfd9190829d7f292 14-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: zerofill shouldn't print quotes around the section,segment.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79017 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
c22e0b2443afdedb6d9b225b938ad404d63cdbe6 14-Aug-2009 Daniel Dunbar <daniel@zuster.org> Update llvm-mc / MCAsmStreamer to print the instruction using the actual target
specific printer (this only works on x86, for now).
- This makes it possible to do some correctness checking of the parsing and
matching, since we can compare the results of 'as' on the original input, to
those of 'as' on the output from llvm-mc.

- In theory, we could now have an easy ATT -> Intel syntax converter. :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78986 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
011e4db845b5c4166142338c77adc8ac03e5e041 14-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Add dummy MCStreamer implementation, (eventually) for use in profiling.
- Currently unused.

- A few other random comment fixes lumped in.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78960 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
f9bdeddb96043559c61f176f8077e3b91a0c544f 10-Aug-2009 Chris Lattner <sabre@nondot.org> split MachO section handling stuff out to its out .h/.cpp file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78576 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
ff4bc460c52c1f285d8a56da173641bf92d49e3f 10-Aug-2009 Chris Lattner <sabre@nondot.org> Make the big switch: Change MCSectionMachO to represent a section *semantically*
instead of syntactically as a string. This means that it keeps track of the
segment, section, flags, etc directly and asmprints them in the right format.
This also includes parsing and validation support for llvm-mc and
"attribute(section)", so we should now start getting errors about invalid
section attributes from the compiler instead of the assembler on darwin.

Still todo:
1) Uniquing of darwin mcsections
2) Move all the Darwin stuff out to MCSectionMachO.[cpp|h]
3) there are a few FIXMEs, for example what is the syntax to get the
S_GB_ZEROFILL segment type?



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78547 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
93b6db3de934a3cfca5586df25184fef4a54c500 09-Aug-2009 Chris Lattner <sabre@nondot.org> sink the 'name' and 'isdirective' state out of MCSection into its derived classes.
This totally optimizes PIC16 sections by not having an 'isdirective' bit anymore!! ;-)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78517 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
ad4555c549ed41aefb306cf9bd0c2e9f60cb3047 01-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Fix .s output to quote section & symbol names when necessary.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77749 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
f9507ffa5b1c8697009e86bbedaacb51e4c6735d 28-Jul-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Implement .abort fully in the front end


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77272 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
9a7e2ccf574368b60455f8c8975030475a1f3ce0 27-Jul-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Move AsmLexer::getCurStrVal to StringRef based API.
- My DFS traversal of LLVM is, at least for now, nearly complete! :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77258 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
5026ae4514caf5bb88d6c09fbf56a9db2753ed43 20-Jul-2009 Kevin Enderby <enderby@apple.com> Removed the DumpSymbolsandMacros and LoadSymbolsandMacros MCStreamer API as
the parsing of the .dump and .load should be done in the assembly parser and
not have any need for an MCStreamer API. Changed the code for now so these
just produce an error saying these specific directives are not yet implemented
since they are likely no longer used and may never need to be implemented.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76462 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
f96db468fcf62d671cda99b68b6cfd3f2dc0b839 16-Jul-2009 Kevin Enderby <enderby@apple.com> Removed the SubsectionsViaSymbols MCStreamer API and replaced it with a generic
EmitAssemblerFlag API which takes a value from the added AssemblerFlag
enumerated constants.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76087 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
8e25e2d801bb1119cea080c7c860adcfbf85d65d 16-Jul-2009 Chris Lattner <sabre@nondot.org> implement .include in the lexer/parser instead of passing it into the streamer.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75896 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
6e68cd96b2c76c80bfff07e8121ba19691ec1276 15-Jul-2009 Kevin Enderby <enderby@apple.com> Added llvm-mc support for parsing the .dump and .load directives.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75786 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
1f049b24c7e520ecfd2291b7d30eb5abc3aee852 15-Jul-2009 Kevin Enderby <enderby@apple.com> Added llvm-mc support for parsing the .include directive.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75711 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
711482476c55f99c34c516f9e035b7c59b00ef42 14-Jul-2009 Kevin Enderby <enderby@apple.com> Added llvm-mc support for parsing the .lsym directive.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75685 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
95cf30c444707634bbd950f13405b6c8bcfe496b 14-Jul-2009 Kevin Enderby <enderby@apple.com> Added llvm-mc support for parsing the .desc directive.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75645 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
c23197a26f34f559ea9797de51e187087c039c42 14-Jul-2009 Torok Edwin <edwintorok@gmail.com> llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable.
This adds location info for all llvm_unreachable calls (which is a macro now) in
!NDEBUG builds.
In NDEBUG builds location info and the message is off (it only prints
"UREACHABLE executed").


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75640 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
5f1f0b8f7e7087d456ddc3efdb4bed21a4ae359c 14-Jul-2009 Kevin Enderby <enderby@apple.com> Added llvm-mc support for parsing the .abort directive.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75545 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
a5c783280f83df5c60a8ed9e32c61b05a11048e3 13-Jul-2009 Kevin Enderby <enderby@apple.com> add llvm-mc support for parsing the .subsections_via_symbols directive.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75500 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
c25e7581b9b8088910da31702d4ca21c4734c6d7 11-Jul-2009 Torok Edwin <edwintorok@gmail.com> assert(0) -> LLVM_UNREACHABLE.
Make llvm_unreachable take an optional string, thus moving the cerr<< out of
line.
LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for
NDEBUG builds.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
9be3fee2bdc3126fb87e4e1b31935905f4bcc4d0 11-Jul-2009 Chris Lattner <sabre@nondot.org> add support for .zerofill, patch by Kevin Enderby!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75301 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
1fc3d7558139eb6081a7ee5a8f88506d44c8dd7f 09-Jul-2009 Chris Lattner <sabre@nondot.org> add llvm-mc support for parsing the .lcomm directive, patch by Kevin Enderby!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75148 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
4e4db7adfc9858a8f77f841c7467bc6fcbb8110e 07-Jul-2009 Chris Lattner <sabre@nondot.org> Implement parsing support for the .comm directive. Patch by
Kevin Enderby!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74944 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
abde2982e3c660398ff5a8e5f7ac3d1467b83062 01-Jul-2009 Daniel Dunbar <daniel@zuster.org> Dump MCInsts in the MC .s printer, for now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74593 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
c29dfa786a23c9ff0827ce4a56b5b178e4087aaa 30-Jun-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Parse .{,b,p2}align{,w,l} directives.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74478 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
48de5d8fd0afc4e09fa4f790b74c97a463944ef9 29-Jun-2009 Torok Edwin <edwintorok@gmail.com> Initialize CurSection in constructor.
Not doing so causes some unittests to fail, because CurSection is uninitialized.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74442 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
7908a6a189d12c38269df2891a24382525d00591 29-Jun-2009 Daniel Dunbar <daniel@zuster.org> Rename MCValue::getCst to getConstant and add MCValue::isConstant.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74440 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
304f6a48b1232bdad8b2c0dff7c08d677826ef86 25-Jun-2009 Daniel Dunbar <daniel@zuster.org> MC: Truncate values when printing, to keep 'as' happy.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74201 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
84a2926fb7ab388d688a133b0b375a26e669fd55 24-Jun-2009 Daniel Dunbar <daniel@zuster.org> Sketch streamer support for .align, .org functionality.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74109 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
71d259bc4be4f5c7a8a30c6be8da105074ff805a 24-Jun-2009 Daniel Dunbar <daniel@zuster.org> We decided to not worry about Atoms for now, it should be straightforward to
reintroduce them later.

Also, don't require MCSection* when creating a symbol.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74081 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
d814b2150950114a44b607c90ea7a0725c40a8e6 24-Jun-2009 Daniel Dunbar <daniel@zuster.org> MCStreamer: Add a few more "symbol attributes".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74077 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
f5e75a1fa9a7ba8cd31804b63fb301a3df2e1ce1 24-Jun-2009 Daniel Dunbar <daniel@zuster.org> MCStreamer: Test printing values.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74076 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
c69485e34d57e17fe2c3acab64e519d6a6945197 24-Jun-2009 Chris Lattner <sabre@nondot.org> add trivial support for passing label definitions through the MCStreamer.

This is suboptimal in several aspects, see the commented out assertion.
I need to talk to Daniel about this.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74057 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp
a11af531ec48ad84f790b9511f003ac5c934a999 24-Jun-2009 Daniel Dunbar <daniel@zuster.org> Start MCAsmStreamer implementation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74044 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/MC/MCAsmStreamer.cpp