History log of /external/llvm/tools/llvm-mc/llvm-mc.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cddc3e03e4ec99c0268c03a126195173e519ed58 04-Mar-2016 Pirama Arumuga Nainar <pirama@google.com> Update aosp/master LLVM for rebase to r256229

http://b/26987366

(cherry picked from commit f3ef5332fa3f4d5ec72c178a2b19dac363a19383)

Change-Id: Ic75dcb63191d65df1b69724576392c0aaeb47728
/external/llvm/tools/llvm-mc/llvm-mc.cpp
6948897e478cbd66626159776a8017b3c18579b9 01-Jul-2015 Pirama Arumuga Nainar <pirama@google.com> Update aosp/master LLVM for rebase to r239765

Bug: 20140355: This rebase pulls the upstream fix for the spurious
warnings mentioned in the bug.

Change-Id: I7fd24253c50f4d48d900875dcf43ce3f1721a3da
/external/llvm/tools/llvm-mc/llvm-mc.cpp
0c7f116bb6950ef819323d855415b2f2b0aad987 06-May-2015 Pirama Arumuga Nainar <pirama@google.com> Update aosp/master LLVM for rebase to r235153

Change-Id: I9bf53792f9fc30570e81a8d80d296c681d005ea7
/external/llvm/tools/llvm-mc/llvm-mc.cpp
4c5e43da7792f75567b693105cc53e3f1992ad98 08-Apr-2015 Pirama Arumuga Nainar <pirama@google.com> Update aosp/master llvm for rebase to r233350

Change-Id: I07d935f8793ee8ec6b7da003f6483046594bca49
/external/llvm/tools/llvm-mc/llvm-mc.cpp
ebe69fe11e48d322045d5949c83283927a0d790b 23-Mar-2015 Stephen Hines <srhines@google.com> Update aosp/master LLVM for rebase to r230699.

Change-Id: I2b5be30509658cb8266be782de0ab24f9099f9b9
/external/llvm/tools/llvm-mc/llvm-mc.cpp
37ed9c199ca639565f6ce88105f9e39e898d82d0 01-Dec-2014 Stephen Hines <srhines@google.com> Update aosp/master LLVM for rebase to r222494.

Change-Id: Ic787f5e0124df789bd26f3f24680f45e678eef2d
/external/llvm/tools/llvm-mc/llvm-mc.cpp
c6a4f5e819217e1e12c458aed8e7b122e23a3a58 21-Jul-2014 Stephen Hines <srhines@google.com> Update LLVM for rebase to r212749.

Includes a cherry-pick of:
r212948 - fixes a small issue with atomic calls

Change-Id: Ib97bd980b59f18142a69506400911a6009d9df18
/external/llvm/tools/llvm-mc/llvm-mc.cpp
dce4a407a24b04eebc6a376f8e62b41aaa7b071f 29-May-2014 Stephen Hines <srhines@google.com> Update LLVM for 3.5 rebase (r209712).

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

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/tools/llvm-mc/llvm-mc.cpp
715d98d657491b3fb8ea0e14643e9801b2f9628c 12-Sep-2013 Joey Gouly <joey.gouly@arm.com> Add an instruction deprecation feature to TableGen.

The 'Deprecated' class allows you to specify a SubtargetFeature that the
instruction is deprecated on.

The 'ComplexDeprecationPredicate' class allows you to define a custom
predicate that is called to check for deprecation.
For example:
ComplexDeprecationPredicate<"MCR">

would mean you would have to define the following function:
bool getMCRDeprecationInfo(MCInst &MI, MCSubtargetInfo &STI,
std::string &Info)

Which returns 'false' for not deprecated, and 'true' for deprecated
and store the warning message in 'Info'.

The MCTargetAsmParser constructor was chaned to take an extra argument of
the MCInstrInfo class, so out-of-tree targets will need to be changed.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190598 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
c3cee57f7d20f69a84fd88464ed8cf050e63c7ad 09-Sep-2013 Bill Wendling <isanbard@gmail.com> Generate compact unwind encoding from CFI directives.

We used to generate the compact unwind encoding from the machine
instructions. However, this had the problem that if the user used `-save-temps'
or compiled their hand-written `.s' file (with CFI directives), we wouldn't
generate the compact unwind encoding.

Move the algorithm that generates the compact unwind encoding into the
MCAsmBackend. This way we can generate the encoding whether the code is from a
`.ll' or `.s' file.

<rdar://problem/13623355>


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@190290 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
c1b49b56d4132efa2e06deb8f23508d0de4c8800 16-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Add a wrapper for open.

This centralizes the handling of O_BINARY and opens the way for hiding more
differences (like how open behaves with directories).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186447 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.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/tools/llvm-mc/llvm-mc.cpp
4a971705bc6030dc2e4338b3cd5cffa2e0f88b7b 13-May-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove the MachineMove class.

It was just a less powerful and more confusing version of
MCCFIInstruction. A side effect is that, since MCCFIInstruction uses
dwarf register numbers, calls to getDwarfRegNum are pushed out, which
should allow further simplifications.

I left the MachineModuleInfo::addFrameMove interface unchanged since
this patch was already fairly big.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181680 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
730d718b73d73f5aefb9495f62699d3974e8a550 06-May-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove some redundant includes in llvm-mc.cpp.

Patch by Jun Koi!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@181231 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
533048228fe7bf3bac05e7db3d2f12aaf3f47fa1 27-Feb-2013 Eli Bendersky <eliben@google.com> Try to get rid of a -wunitialized warning: explicitly initialize the pointer
to NULL and use asserts to check in relevant places.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@176134 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
be2afb6408e88004f8fcc868ff1207fca9792696 16-Jan-2013 Eli Bendersky <eliben@google.com> Remove unneeded include and empty line


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172642 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
75c9b9384f50e9387f24dd7ce6af403cbda6d19a 16-Jan-2013 Kevin Enderby <enderby@apple.com> We want the dwarf AT_producer for assembly source files to match clang's
AT_producer. Which includes clang's version information so we can tell
which version of the compiler was used.

This is the first of two steps to allow us to do that. This is the llvm-mc
change to provide a method to set the AT_producer string. The second step,
coming soon to a clang near you, will have the clang driver pass the value
of getClangFullVersion() via an flag when invoking the integrated assembler
on assembly source files.

rdar://12955296


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172630 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
6af228a92a7b8414fa3c1b3c37ee659d32e66e1b 20-Dec-2012 Roman Divacky <rdivacky@freebsd.org> Remove MCTargetAsmLexer and its derived classes now that edis,
its only user, is gone.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170699 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
759e3fa641d0ad01012d16d913015c9f69c8d2ab 19-Dec-2012 Roman Divacky <rdivacky@freebsd.org> Remove edis - the enhanced disassembler. Fixes PR14654.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170578 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
6c583141bf6b7a6b5f8125c1037ecbc089813288 18-Dec-2012 Eric Christopher <echristo@gmail.com> Add support for passing -main-file-name all the way through to
the assembler.

Part of PR14624

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170390 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
6c31d313575bba1b87b583260f39f0b0dae143f4 17-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Prepare LLVM to fix PR14625, exposing a hook in MCContext to manage the
compilation directory.

This defaults to the current working directory, just as it always has,
but now an assembler can choose to override it with a custom directory.
I've taught llvm-mc about this option and added a test case.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170371 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
14ccc9007a932a23201251ced4be4c898a62d6a5 05-Dec-2012 Kevin Enderby <enderby@apple.com> Added a option to the disassembler to print immediates as hex.

This is for the lldb team so most of but not all of the values are
to be printed as hex with this option. Some small values like the
scale in an X86 address were requested to printed in decimal
without the leading 0x.

There may be some tweaks need to places that may still be in
decimal that they want in hex. Specially for arm. I made my best
guess. Any tweaks from here should be simple.

I also did the best I know now with help from the C++ gurus
creating the cleanest formatImm() utility function and containing
the changes. But if someone has a better idea to make something
cleaner I'm all ears and game for changing the implementation.

rdar://8109283



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169393 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
f010c464a11444733ec67e31aace8bcebeaf2588 04-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Sort the #include lines for tools/...

Again, tools are trickier to pick the main module header for than
library source files. I've started to follow the pattern of using
LLVMContext.h when it is included as a stub for program source files.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169252 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
985884caf94409373c31f694220720c40460036b 23-Nov-2012 Rafael Espindola <rafael.espindola@gmail.com> Add a -disable-cfi option to llvm-mc. This is useful for debugging as
it will expand any .cfi_* directives in the input assembly.

Unfortunately this cannot replace elf-dump in tests as the asm streamer
cannot relax the line advance opcodes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@168522 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
3ed0316f756e2f1730f46654776fcf77f5ace7aa 23-Oct-2012 Kevin Enderby <enderby@apple.com> Add support for annotated disassembly output for X86 and arm.

Per the October 12, 2012 Proposal for annotated disassembly output sent out by
Jim Grosbach this set of changes implements this for X86 and arm. The llvm-mc
tool now has a -mdis option to produced the marked up disassembly and a couple
of small example test cases have been added.

rdar://11764962


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@166445 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
536a88ad5bf160232205192a7ce72e50bfadbded 18-Sep-2012 Roman Divacky <rdivacky@freebsd.org> When creating MCAsmBackend pass the CPU string as well. In X86AsmBackend
store this and use it to not emit long nops when the CPU is geode which
doesnt support them.

Fixes PR11212.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@164132 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
918f55fe239f00651e396be841f2b3b6e242f98d 15-May-2012 Jim Grosbach <grosbach@apple.com> Allow MCCodeEmitter access to the target MCRegisterInfo.

Add the MCRegisterInfo to the factories and constructors.

Patch by Tom Stellard <Tom.Stellard@amd.com>.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156828 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
9ed9e5d0f994c7721185eba963ea9b907dabcde6 09-May-2012 Kevin Enderby <enderby@apple.com> Fix it so llvm-objdump -arch does accept x86 and x86-64 as valid arch names.
PR12731. Patch by Meador Inge!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156444 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
d0c478d95f440b4db76279fe47d6cf734a28fa9a 16-Apr-2012 Richard Barton <richard.barton@arm.com> Add -disassemble support for -show-inst and -show-encode capability llvm-mc. Also refactor so all MC paraphernalia are created once for all uses as much as possible.

The test change is to account for the fact that the default disassembler behaviour has changed with regards to specifying the assembly syntax to use.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154809 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
fb22ede033f792196643bad0ceafe473366ddf41 16-Apr-2012 Craig Topper <craig.topper@gmail.com> Make member variables of AsmToken private. Remove unnecessary forward declarations. Remove an unnecessary include.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154775 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
17463b3ef1a3d39b10619254f12e806c8c43f9e7 02-Apr-2012 Craig Topper <craig.topper@gmail.com> Make MCInstrInfo available to the MCInstPrinter. This will be used to remove getInstructionName and the static data it contains since the same tables are already in MCInstrInfo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153860 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
4445215622598c5c95cccf38ee2f89ec5f203cb8 08-Mar-2012 Duncan Sands <baldrick@free.fr> Have llvm-mc --version print the list of registered targets like llc does.
Patch by jey.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152315 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
c6449b636f4984be88f128d0375c056ad05e7e8f 05-Mar-2012 Jim Grosbach <grosbach@apple.com> Make MCRegisterInfo available to the the MCInstPrinter.

Used to allow context sensitive printing of super-register or sub-register
references.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152043 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
93cd59aea87a8f40f033d705cbbbfb7ab27b048f 27-Jan-2012 Jim Grosbach <grosbach@apple.com> llvm-mc pass through SourceMgr to MCContext.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149091 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
fdebc38523b397743973ff6a2d2e93b112dd96e5 17-Jan-2012 David Blaikie <dblaikie@gmail.com> Remove unreachable code. (replace with llvm_unreachable to help GCC where necessary)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148284 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.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/tools/llvm-mc/llvm-mc.cpp
9cce24a257108ec50f65652d233b9ffadc691682 10-Jan-2012 Rafael Espindola <rafael.espindola@gmail.com> Remove the logging streamer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147820 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.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/tools/llvm-mc/llvm-mc.cpp
5792051bfc6228b2e7c3a0584717d60854d8cd70 06-Dec-2011 Jim Grosbach <grosbach@apple.com> Tidy up.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145870 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
613b7576896fbd03fe495f4ee27b404f81386774 01-Nov-2011 Kevin Enderby <enderby@apple.com> First part of support for generating dwarf for assembly source files with the
-g flag. In this part we generate the .file for the source being assembled and
the .loc's for the assembled instructions.

The next part will be to generate the dwarf Compile Unit DIE and a dwarf
subprogram DIE for each non-temporary label.

Once the next part is done test cases will be added. rdar://9275556


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143509 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
0173864d8a87d9243d304fbf91b556e20b5a32fc 01-Nov-2011 Sebastian Pop <spop@codeaurora.org> rename getHostTriple into getDefaultTargetTriple



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143502 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.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/tools/llvm-mc/llvm-mc.cpp
3f2d5f60b31fd057c10f77b2e607b23a8c94f6d3 16-Oct-2011 Chris Lattner <sabre@nondot.org> Make SMDiagnostic a little more sane. Instead of passing around note/warning/error as a
string, pass it around as an enum.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142107 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
b950585cc5a0d665e9accfe5ce490cd269756f2e 07-Sep-2011 James Molloy <james.molloy@arm.com> Refactor instprinter and mcdisassembler to take a SubtargetInfo. Add -mattr= handling to llvm-mc. Reviewed by Owen Anderson.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139237 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
3e74d6fdd248e20a280f1dff3da9a6c689c2c4c3 24-Aug-2011 Evan Cheng <evan.cheng@apple.com> Move TargetRegistry and TargetSelect from Target to Support where they belong.
These are strictly utilities for registering targets and components.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138450 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
1b84cce77f8bccc905b4800927ce9016f76c1c40 16-Aug-2011 Jim Grosbach <grosbach@apple.com> Remove unused Target argument from AsmParser construction methods.

The argument is unused, and is a layering violation in any case.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137735 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
d6dcf39ca824f6df42de92328d08ad5d4b3d6bd2 26-Jul-2011 Evan Cheng <evan.cheng@apple.com> Fix llvm-mc target detection code to match llc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136115 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
28c85a81a17dd719a254dc00cbeb484774893197 26-Jul-2011 Evan Cheng <evan.cheng@apple.com> Rename createCodeEmitter to createMCCodeEmitter; createObjectStreamer to createMCObjectStreamer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136031 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
94b9550a32d189704a8eae55505edf62662c0534 26-Jul-2011 Evan Cheng <evan.cheng@apple.com> Rename TargetAsmParser to MCTargetAsmParser and TargetAsmLexer to MCTargetAsmLexer; rename createAsmLexer to createMCAsmLexer and createAsmParser to createMCAsmParser.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136027 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.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/tools/llvm-mc/llvm-mc.cpp
4b64e8a9e13ba782da2034e1dee52f077bdb759c 25-Jul-2011 Evan Cheng <evan.cheng@apple.com> Separate MCInstPrinter registration from AsmPrinter registration.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135974 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
1b0fc9b4182d6bd0703cdfb3b0b91d1e093c946c 25-Jul-2011 Evan Cheng <evan.cheng@apple.com> Fix last bits of MC layer issues. llvm-mc doesn't need to initialize TargetMachine's anymore.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135963 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.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/tools/llvm-mc/llvm-mc.cpp
e78085a3c03de648a481e9751c3094c517bd7123 22-Jul-2011 Evan Cheng <evan.cheng@apple.com> Combine all MC initialization routines into one. e.g. InitializeX86MCAsmInfo,
InitializeX86MCInstrInfo, etc. are combined into InitializeX86TargetMC.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135812 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
4039313b4c9796d194d90f88675ceb47a183696e 22-Jul-2011 Chandler Carruth <chandlerc@gmail.com> Move the registered target printing in version strings completely out of
the Support library. Now its part of the TargetRegistry, and the three
commands that care about this explicitly register this extra bit of
version information.

The set of commands which care was computed by intersecting those which
use the Support library's version string printing and those that
initialize all the registered targets in a way that produces
a meaningful list. The only odd ball out is that 'clang -cc1as -version'
no longer prints the registered targets. I don't think anyone is really
interested in that (especially as the fact that llvm-mc does so is under
a FIXME), but if someone really does want this back I'll happily apply
the same patch there.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135757 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.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/tools/llvm-mc/llvm-mc.cpp
34ad6db8b958fdc0d38e122edf753b5326e69b03 20-Jul-2011 Evan Cheng <evan.cheng@apple.com> - Move CodeModel from a TargetMachine global option to MCCodeGenInfo.
- Introduce JITDefault code model. This tells targets to set different default
code model for JIT. This eliminates the ugly hack in TargetMachine where
code model is changed after construction.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135580 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.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/tools/llvm-mc/llvm-mc.cpp
439661395fd2a2a832dba01c65bc88718528313c 19-Jul-2011 Evan Cheng <evan.cheng@apple.com> Introduce MCCodeGenInfo, which keeps information that can affect codegen
(including compilation, assembly). Move relocation model Reloc::Model from
TargetMachine to MCCodeGenInfo so it's accessible even without TargetMachine.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135468 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.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/tools/llvm-mc/llvm-mc.cpp
1abf2cb59b8d63415780a03329307c0997b2670c 15-Jul-2011 Evan Cheng <evan.cheng@apple.com> Rename createAsmInfo to createMCAsmInfo and move registration code to MCTargetDesc to prepare for next round of changes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135219 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
c4d858d4fd4b63ffaaa50d835cb738652fc02e5c 13-Jul-2011 Evan Cheng <evan.cheng@apple.com> Revert accidental commit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135059 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
93a635c82c33e331bd4c5f4f44ba1e37a08bd687 13-Jul-2011 Evan Cheng <evan.cheng@apple.com> It's not safe to fold (fptrunc (sqrt (fpext x))) to (sqrtf x) if there is another use of sqrt. rdar://9763193

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135058 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
c08936de0ac1babeafe5ff05c8f7339d1df83d6a 11-Jul-2011 Evan Cheng <evan.cheng@apple.com> Disassembler doesn't need TargetMachine anymore.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134920 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
59ee62d2418df8db499eca1ae17f5900dc2dcbba 11-Jul-2011 Evan Cheng <evan.cheng@apple.com> - Eliminate MCCodeEmitter's dependency on TargetMachine. It now uses MCInstrInfo
and MCSubtargetInfo.
- Added methods to update subtarget features (used when targets automatically
detect subtarget features or switch modes).
- Teach X86Subtarget to update MCSubtargetInfo features bits since the
MCSubtargetInfo layer can be shared with other modules.
- These fixes .code 16 / .code 32 support since mode switch is updated in
MCSubtargetInfo so MC code emitter can do the right thing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134884 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
ffc0e73046f737d75e0a62b3a83ef19bcef111e3 09-Jul-2011 Evan Cheng <evan.cheng@apple.com> Change createAsmParser to take a MCSubtargetInfo instead of triple,
CPU, and feature string. Parsing some asm directives can change
subtarget state (e.g. .code 16) and it must be reflected in other
modules (e.g. MCCodeEmitter). That is, the MCSubtargetInfo instance
must be shared.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134795 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
ebdeeab812beec0385b445f3d4c41a114e0d972f 08-Jul-2011 Evan Cheng <evan.cheng@apple.com> Eliminate asm parser's dependency on TargetMachine:
- Each target asm parser now creates its own MCSubtatgetInfo (if needed).
- Changed AssemblerPredicate to take subtarget features which tablegen uses
to generate asm matcher subtarget feature queries. e.g.
"ModeThumb,FeatureThumb2" is translated to
"(Bits & ModeThumb) != 0 && (Bits & FeatureThumb2) != 0".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134678 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
b262799d49891b036daa00eddf51947487346c98 06-Jul-2011 Evan Cheng <evan.cheng@apple.com> createMCInstPrinter doesn't need TargetMachine anymore.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134525 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
276365dd4bc0c2160f91fd8062ae1fc90c86c324 30-Jun-2011 Evan Cheng <evan.cheng@apple.com> Fix the ridiculous SubtargetFeatures API where it implicitly expects CPU name to
be the first encoded as the first feature. It then uses the CPU name to look up
features / scheduling itineray even though clients know full well the CPU name
being used to query these properties.

The fix is to just have the clients explictly pass the CPU name!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134127 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
ab8be96fd30ca9396e6b84fdddf1ac6208984cad 29-Jun-2011 Evan Cheng <evan.cheng@apple.com> Sink SubtargetFeature and TargetInstrItineraries (renamed MCInstrItineraries) into MC.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134049 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.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/tools/llvm-mc/llvm-mc.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/tools/llvm-mc/llvm-mc.cpp
f5bf3cf7e2a0ff1ca884a83a8b56b5a57f8a5c80 09-May-2011 Jim Grosbach <grosbach@apple.com> Tidy up. 80-column and whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131094 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.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/tools/llvm-mc/llvm-mc.cpp
c6cf43d25853efb4a6765954eda52a45998a47f2 29-Mar-2011 Daniel Dunbar <daniel@zuster.org> MC: Add support for disabling "temporary label" behavior. Useful for debugging
on Darwin.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128430 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
a5c177e70a42f48e4885075c4c48aad0816a2817 21-Mar-2011 Bill Wendling <isanbard@gmail.com> We need to pass the TargetMachine object to the InstPrinter if we are printing
the alias of an InstAlias instead of the thing being aliased. Because we need to
know the features that are valid for an InstAlias.

This is part of a work-in-progress.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127986 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
96aa78c8c5ef1a5f268539c9edc86569b436d573 23-Jan-2011 Rafael Espindola <rafael.espindola@gmail.com> Add support for the --noexecstack option.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124077 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
3ff9563c3e391954b2e224afcf8b2b0fcc3888aa 16-Dec-2010 Michael J. Spencer <bigcheesegs@gmail.com> MemoryBuffer now return an error_code and returns a OwningPtr<MemoryBuffer> via an out parm.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121958 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.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/tools/llvm-mc/llvm-mc.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/tools/llvm-mc/llvm-mc.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/tools/llvm-mc/llvm-mc.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/tools/llvm-mc/llvm-mc.cpp
333fb04506233255f10d8095c9e2de5e5f0fdc6f 09-Dec-2010 Michael J. Spencer <bigcheesegs@gmail.com> Support/MemoryBuffer: Replace all uses of std::string *ErrMsg with error_code &ec. And fix clients.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
1f6efa3996dd1929fbc129203ce5009b620e6969 29-Nov-2010 Michael J. Spencer <bigcheesegs@gmail.com> Merge System into Support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120298 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
6da24ca51d0a0483b4ff1537a177bd172997f129 08-Nov-2010 Che-Liang Chiou <clchiou@gmail.com> Add registry hook for assembly text output


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118394 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
d2f14256f06725840f35adcc2557b48fc9ade694 30-Oct-2010 Jim Grosbach <grosbach@apple.com> Allow specifying a CPU to llvm-mc, so that we can properly set up subtarget
feature lists for instruction pattern predicates.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117788 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
54b636930b9d782be934c3881b296f971203ced3 25-Oct-2010 Daniel Dunbar <daniel@zuster.org> llvm-mc: Teach -as-lex to print the raw token string as well.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117296 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
e4f1a9b8a272ff7452759019ee7774e9dbdf1568 07-Oct-2010 Dan Gohman <gohman@apple.com> Move tool_output_file into its own file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115973 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
54f0a625b0eb9afeece652a8462755010d237c78 24-Sep-2010 Daniel Dunbar <daniel@zuster.org> MC/Lexer: Add 'Real' token type for floating point literals.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114718 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
f969868271f25df126047d0844f45b5e3b844b6d 16-Sep-2010 Daniel Dunbar <daniel@zuster.org> llvm-mc: Teach -as-lex to print more token kinds.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114051 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
d4c454317a38d65957edebe62bfc69fc8d9885e8 01-Sep-2010 Dan Gohman <gohman@apple.com> Make tool_output_file's raw_ostream instance a member variable instead
of a base class.

This makes it possible to unregister the file from FilesToRemove when
the file is done. Also, this eliminates the need for
formatted_tool_output_file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112706 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
9a7346ca7ea9cc7612b5ff1ab72bacd6b8ada543 28-Aug-2010 Chris Lattner <sabre@nondot.org> tidy up


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112385 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
75ebbceeeda1e7a78efe1848bb90e034f0c6ba61 28-Aug-2010 Duncan Sands <baldrick@free.fr> Straighten out any triple strings passed on the command line before
they hit the rest of the system.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112344 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
d5826a33a5a7c298a8934541d11cda042028be3b 20-Aug-2010 Dan Gohman <gohman@apple.com> Use the new tool_output_file in several tools. This fixes a variety
of problems with output files being left behind or output streams
being left unclosed. Fix llvm-mc to respect the -o option in all
modes, rather than hardcoding outs() in some cases.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111603 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
3c14ca47fc057c5999cd41ce2782e0ebaa2bcf7d 11-Aug-2010 Daniel Dunbar <daniel@zuster.org> llvm-mc: Add -show-inst-operands, for dumping the parsed instruction representation before matching.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110791 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.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/tools/llvm-mc/llvm-mc.cpp
d73ada7d24832bc2a4c3965b8f00ffd951341acf 19-Jul-2010 Daniel Dunbar <daniel@zuster.org> Target: Give the TargetAsmParser access to the TargetMachine.
- Unfortunate, but necessary for now to handle subtarget instruction matching. Eventually we should factor out the lower level target machine information so we don't need to do this.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108664 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
9fbb37e10d3b2814877bb8d2893d863fe1da660b 18-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC: Move several clients to using AsmParser constructor function.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108645 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
346cc61cd20c41ef15ed824d28c81f40f1b28590 18-Jul-2010 Daniel Dunbar <daniel@zuster.org> llvm-mc: Fix llvm-mc -as-lex.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108644 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
9186fa6b0c8806786cae78bed50f95d1c7ce2b00 01-Jul-2010 Daniel Dunbar <daniel@zuster.org> MC: Pass the target instance to the AsmParser constructor.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107426 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
26a707493903729aab49e02a082a0e481003b760 27-May-2010 Dan Gohman <gohman@apple.com> Avoid calling outs() and fouts() when the stream isn't really needed.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104873 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
fdb5a8617996a20370756962e34c2e80176d6e87 23-May-2010 Daniel Dunbar <daniel@zuster.org> MC: Add an MCLoggingStreamer, for use in debugging integrated-as mismatches.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104463 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
d8a33ddcfeb29e7ec792b14be946a05ab998a38e 21-May-2010 Matt Fleming <matt@console-pimps.org> Currently, createMachOStreamer() is invoked directly in llvm-mc which
isn't ideal if we want to be able to use another object file format.

Add a createObjectStreamer() factory method so that the correct object
file streamer can be instantiated for a given target triple.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104318 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
596490682a9c5380a75c29fd4b381cfd69e47e62 21-May-2010 Daniel Dunbar <daniel@zuster.org> Remove dead option.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104303 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
668b15467be158a5f0e0c4a5e1ec232da021892c 12-Apr-2010 Sean Callanan <scallanan@apple.com> Second try at integrating the edis tester. This
time I use the LIBS variable, which is not subject
to a %.a -> -l% transformation, to link llvm-mc
against libEnhancedDisassembly.

llvm-mc -edis works the same as llvm-mc
-disassemble, but outputs tokens and operands.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101058 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
cfc99a99bd59e4a84931753c0e4be6df56c1c837 09-Apr-2010 Chris Lattner <sabre@nondot.org> revert r100842 which broke several of the build bots.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100848 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
8c0a1608d582b5cd277d3a55fb92324e48386bc9 09-Apr-2010 Sean Callanan <scallanan@apple.com> Added a tester for the enhanced disassembler,
integrated into the llvm-mc testing tool.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100842 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
519466c32fe08bdf9afabfabd60a42f6c827ea6b 06-Apr-2010 Chris Lattner <sabre@nondot.org> tidy #includes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100489 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.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/tools/llvm-mc/llvm-mc.cpp
4d12fdc2d96cc02578df9bf27aef641e4a09373b 03-Apr-2010 Chris Lattner <sabre@nondot.org> remove some extraneous casts


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100287 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
ac2884a717daf3ad2aa8425320795d661e8a980b 25-Mar-2010 Daniel Dunbar <daniel@zuster.org> llvm-mc: Add a -mc-relax-all option, which relaxes every fixup. We always need
exactly two passes in that case, and don't ever need to recompute any layout,
so this is a nice baseline for relaxation performance.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99563 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
2d9f5d1d7f7aac13396778ba0d18cf1af8d0d02f 24-Mar-2010 Daniel Dunbar <daniel@zuster.org> llvm-mc: Support -filetype=null, for timing purposes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99349 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
d40297ce4955f0ecc98ab099800e8e2858c8f54c 20-Mar-2010 Daniel Dunbar <daniel@zuster.org> llvm-mc: Fix memory leak of MCAsmInfo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99098 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
4d4358e8b083b38e2d7e9de3ab102e5665ffb8e2 19-Mar-2010 Daniel Dunbar <daniel@zuster.org> llvm-mc: Fix target selection for --disassemble to use GetTarget.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98973 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.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/tools/llvm-mc/llvm-mc.cpp
4ca906560a3d583b25f3bc366fbcac60f0a34434 13-Mar-2010 Daniel Dunbar <daniel@zuster.org> llvm-mc: Delete output files on error.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98445 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
5e6a7a248b980dd2a98a3613c72b75ba9d01d162 13-Mar-2010 Daniel Dunbar <daniel@zuster.org> llvm-mc: Support -n, useful for comparing -integrated-as output since the
compiler may not lead with the text section.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98418 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
181ab6a854162da908310e23714b43b0091c9094 13-Mar-2010 Daniel Dunbar <daniel@zuster.org> llvm-mc: Support -arch as a simplified form of -triple.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98417 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.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/tools/llvm-mc/llvm-mc.cpp
c18409aed80ba1c6c5998befd3c3c8edc865c423 11-Mar-2010 Chris Lattner <sabre@nondot.org> change MCContext to always have an MCAsmInfo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98293 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
1f3e445184e5ca2aa4295c2a77f2a4e0b957fea1 11-Mar-2010 Daniel Dunbar <daniel@zuster.org> MC: Provide MCAssembler with a TargetAsmBackend.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98222 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
86020e46289643de2f8c7603b550ffc8b6aff376 13-Feb-2010 Chris Lattner <sabre@nondot.org> give MCCodeEmitters access to the current MCContext.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96038 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.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/tools/llvm-mc/llvm-mc.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/tools/llvm-mc/llvm-mc.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/tools/llvm-mc/llvm-mc.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/tools/llvm-mc/llvm-mc.cpp
be343b3ca3f53d5d5e29f3591af8b9bb831daa98 22-Jan-2010 Chris Lattner <sabre@nondot.org> move some files out of the llvm-mc tool into the MCParser library so
other tools can link it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
c6ef277a0b8f43af22d86aea9d5053749cacfbbb 22-Jan-2010 Chris Lattner <sabre@nondot.org> create a new MCParser library and move some stuff into it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94129 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
fd0b0288e2ee5ccf3f1d47090542710c67a77cf7 21-Jan-2010 Sean Callanan <scallanan@apple.com> Moved handling of inclusion from the AsmLexer to
the AsmParser, breaking AsmLexer's dependence on
SourceMgr.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94054 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
bf2013ee22e7684ed37e4b78fca6937f38247ae7 21-Jan-2010 Sean Callanan <scallanan@apple.com> Changed the AsmParser to handle error messages itself
rather than passing them off to the AsmLexer to handle.
This means the AsmLexer no longer requires a SourceMgr
to do error handling.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94047 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.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/tools/llvm-mc/llvm-mc.cpp
a3dcfb130044f306632a5fab43854eda4095a09c 22-Dec-2009 Chris Lattner <sabre@nondot.org> rename HexDisassembler -> Disassembler, it works on any input
integer encoding (0123, 0b10101, 42, etc).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91934 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
ba847da571354e13f1caa3699ee06b2d57df9fe9 17-Dec-2009 Sean Callanan <scallanan@apple.com> Test harness for the LLVM disassembler. When invoked
with -disassemble, llvm-mc now accepts lines of the
form
0x00 0x00
and passes the resulting bytes to the disassembler for
the chosen (or default) target, printing the result.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91579 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
f4e748bc3f7090468f7b7e5b6e2ebe323c1e16fd 01-Nov-2009 Nick Lewycky <nicholas@mxc.ca> Line this up as well.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85748 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
ed1f1687b790b444c29c9cdc5ea646be0783c1cd 01-Nov-2009 Nick Lewycky <nicholas@mxc.ca> Fix whitespace.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85747 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
e895c6151589c1b7f6ac9ca992b76106fa197a37 20-Sep-2009 Chris Lattner <sabre@nondot.org> Add an intel syntax MCInstPrinter implementation. You can now
transcode from AT&T to intel syntax with "llvm-mc foo.s -output-asm-variant=1"



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82385 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.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/tools/llvm-mc/llvm-mc.cpp
9c656450d65034c4cd3597fff61ef17376cff090 10-Sep-2009 Kevin Enderby <enderby@apple.com> Added the ParseInstruction() hook for target specific assembler directives so
that things like .word can be parsed as target specific. Moved parsing .word
out of AsmParser.cpp into X86AsmParser.cpp as it is 2 bytes on X86 and 4 bytes
for other targets that support the .word directive.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81461 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
9823ca971d5cb475401e59fde244caf5087c74a1 04-Sep-2009 Kevin Enderby <enderby@apple.com> Added the AsmToken::Hash enum constant to MCAsmLexer.h in preparation of
supporting other targets. Changed the code to pass MCAsmInfo to the parser
and the lexer. Then changed the lexer to use CommentString from MCAsmInfo
instead of a literal '#' character.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81046 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
7b4608dfa018455021050ccd31d3c49aaecf7ff6 03-Sep-2009 Kevin Enderby <enderby@apple.com> Removed the non-target independent AsmToken::Register enum constant
from MCAsmLexer.h in preparation of supporting other targets. Changed the
X86AsmParser code to reflect this by removing AsmLexer::LexPercent and looking
for AsmToken::Percent when parsing in places that used AsmToken::Register.
Then changed X86ATTAsmParser::ParseRegister to parse out registers as an
AsmToken::Percent followed by an AsmToken::Identifier.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80929 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
a9eb35945250afcc467d106f8490add4e999621b 03-Sep-2009 Chris Lattner <sabre@nondot.org> TAI -> MAI


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80899 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
4fac74950a1ff08b995b366bfb84369c1507faef 27-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc/Mach-O: Add MCCodeEmitter support, for encoding instructions.
- No relocations yet, of course.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80235 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
f2f6b0c0e9088da25a0367c88263ef8e7637a82c 27-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Only show instruction encodings with --show-encoding.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80230 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
04baf9094ada38a518ba7eda87d4c478a874dbb1 27-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Tweak MCCodeEmitter skeleton.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80193 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.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/tools/llvm-mc/llvm-mc.cpp
7c0a3348fb5c8259a2b4e21b8c80b5459eaa9487 27-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc/Mach-O: Unique sections properly, so we don't get duplicate text
sections, etc.
- The quick and dirty way, just clone the TargetLoweringObjectFile
code. Eventually this should be shared... somehow.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80168 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
baa26395ccf17fc988bb9cf62d6659ca8415ece9 25-Aug-2009 Dan Gohman <gohman@apple.com> Make LLVM command-line tools overwrite their output files without -f.
This is conventional command-line tool behavior. -f now just means
"enable binary output on terminals".

Add a -f option to llvm-extract and llvm-link, for consistency.

Remove F_Force from raw_fd_ostream and enable overwriting and
truncating by default. Introduce an F_Excl flag to permit users to
enable a failure when the file already exists. This flag is
currently unused.

Update Makefiles and documentation accordingly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79990 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
17e9edc4a7bbeadf756494cf39fcacc9eff72202 23-Aug-2009 Chris Lattner <sabre@nondot.org> Change raw_fd_ostream to take flags as an optional bitmask
instead of as two bools. Use this to add a F_Append flag
which has the obvious behavior.

Other unrelated changes conflated into this patch:

1. REmove EH stuff from llvm-dis and llvm-as, the try blocks
are dead.
2. Simplify the filename inference code in llvm-as/llvm-dis,
because raw_fd_ostream does the right thing with '-'.
3. Switch machine verifier to use raw_ostream instead of ostream
(Which is the thing that needed append in the first place).




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79807 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.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/tools/llvm-mc/llvm-mc.cpp
fb4a6b397665df011348ade24a8e38d2219f095a 21-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Start MCAssembler and MCMachOStreamer.

- Together these form the (Mach-O) back end of the assembler.

- MCAssembler is the actual assembler backend, which is designed to have a
reasonable API. This will eventually grow to support multiple object file
implementations, but for now its Mach-O/i386 only.

- MCMachOStreamer adapts the MCStreamer "actions" API to the MCAssembler API,
e.g. converting the various directives into fragments, managing state like
the current section, and so on.

- llvm-mc will use the new backend via '-filetype=obj', which may eventually
be, but is not yet, since I hear that people like assemblers which actually
assemble.

- The only thing that works at the moment is changing sections. For the time
being I have a Python Mach-O dumping tool in test/scripts so this stuff can
be easily tested, eventually I expect to replace this with a real LLVM tool.

- More doxyments to come.

I assume that since this stuff doesn't touch any of the things which are part of
2.6 that it is ok to put this in not so long before the freeze, but if someone
objects let me know, I can pull it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79612 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
12a8a447a4ca5b939f255ae92e7fef490344593a 19-Aug-2009 Daniel Dunbar <daniel@zuster.org> Fix a commento.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79427 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.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/tools/llvm-mc/llvm-mc.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/tools/llvm-mc/llvm-mc.cpp
bfc0f34e34c4278b49d70b7a20e1b87cbce0a710 11-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Honor -o option (and add -f).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78640 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.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/tools/llvm-mc/llvm-mc.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/tools/llvm-mc/llvm-mc.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/tools/llvm-mc/llvm-mc.cpp
0aac30195c8f3f7066d4d069693e5d91f054f081 09-Aug-2009 Chris Lattner <sabre@nondot.org> switch this to create coff sections for now, it doesn't really matter for
llvm-mc's purpose yet and we'll want to switch to creating semantic sections
at some point.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78509 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
4bd03abe593222b26e84066223feb321bf738625 03-Aug-2009 Daniel Dunbar <daniel@zuster.org> Remove now unused arguments from TargetRegistry::lookupTarget.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77950 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
1ef9be28831ad2d0b16d9934dc65c98e17b429a7 02-Aug-2009 Chris Lattner <sabre@nondot.org> Make SectionKind::get() private.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77835 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
5d6554255b5a7b71213129fafb7b6e6b5344acdf 01-Aug-2009 Chris Lattner <sabre@nondot.org> update for API change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77804 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
4a7bc1e5aafbb543a9a535bce54fc62d18723b35 01-Aug-2009 Chris Lattner <sabre@nondot.org> All MCSections are now required to have a SectionKind.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77787 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
56594f98848ac6d1885662644b5652c04c0d0831 31-Jul-2009 Chris Lattner <sabre@nondot.org> fix a bunch of failing tests now that MCContext::GetSection doesn't create sections.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77689 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
16cdcb38b2a5c5cdc216f9abafabd20e1ef7a254 29-Jul-2009 Daniel Dunbar <daniel@zuster.org> Move X86 instruction parsing into X86/AsmParser.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77384 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
a2edbabcb86f213eca6daeda5d801f8c7b1e44b2 28-Jul-2009 Daniel Dunbar <daniel@zuster.org> Provide generic MCAsmParser when constructing target specific parsers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77362 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
a3c924f83aefd4c883ed17a200876d258e0ad1e2 28-Jul-2009 Daniel Dunbar <daniel@zuster.org> Switch AsmLexer::Lex to returning a reference to the current token.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77328 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
419adedaa1638fbe4e078c997f81e94327ebff5a 28-Jul-2009 Daniel Dunbar <daniel@zuster.org> Drop some AsmLexer methods in favor of their AsmToken equivalents.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77323 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
3f87233d700eb4316cfaad59477834d2f5a2503b 28-Jul-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Sink token enum into AsmToken.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77322 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
8977d087c693fd581db82bcff134d12da0f48bd3 26-Jul-2009 Daniel Dunbar <daniel@zuster.org> Factor commonality in triple match routines into helper template for registering
classes, and migrate existing targets over.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77126 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
a5881e3060aee9f82aef3747a97650e5eafe893a 26-Jul-2009 Daniel Dunbar <daniel@zuster.org> Add TargetRegistry::lookupTarget.
- This is a simplified mechanism which just looks up a target based on the
target triple, with a few additional flags.

- Remove getClosestStaticTargetForModule, the moral equivalent is now:
lookupTarget(Mod->getTargetTriple, true, false, ...);

- This no longer does the fuzzy matching with target data (based on endianness
and pointer width) that getClosestStaticTargetForModule was doing, but this
was deemed unnecessary.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77111 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
a3af370dc12f6d5100da5d614ab0a62da135569a 20-Jul-2009 Daniel Dunbar <daniel@zuster.org> Add MCAsmParser interface.
- This provides the AsmParser interface to the target specific assembly
parsers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76453 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
867aadfedfb6d9b64fd5da1ca67850a992605a3b 18-Jul-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Default -triple to LLVM_HOSTTRIPLE.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76260 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
b4b53e5c13167925d6315a6f57c7b863e4e2b704 18-Jul-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Add -triple, and start fetching the target asm printer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76257 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
165e8344d833147268810bbec18276dafe0122b9 01-Jul-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Fill in the rest of tokens for 'as-lex' mode.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74598 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
87380cb0e0d6157b8845d59a50bc2ba94a38ebd1 01-Jul-2009 Chris Lattner <sabre@nondot.org> add some of the new tokens, others are still missing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74595 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
3fb7683bec8c8edb24e80c95f3b0668c6ecc0ae6 30-Jun-2009 Daniel Dunbar <daniel@zuster.org> Normalize SourceMgr messages.
- Don't print "Parsing" in front of every message.

- Take additional "type" argument which is prepended to the message (with ": ")
if given.

- Update clients to print errors (warnings) as:
<filename>:<line number>: error(warning): ...


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74489 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
a0d1426af0bd05e1ae69481cdb75d2913e7e1ac1 25-Jun-2009 Daniel Dunbar <daniel@zuster.org> Basic .s parsing for .asci[iz], .fill, .space, {.byte, .short, ... }
- Includes some DG tests in test/MC/AsmParser, which are rather primitive since
we don't have a -verify mode yet.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74139 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.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/tools/llvm-mc/llvm-mc.cpp
cbc23f75cd8cd6889fd02f65b63f6c02512460bd 24-Jun-2009 Chris Lattner <sabre@nondot.org> create an MCStreamer and provide it to AsmParser.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74039 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
74ec1a3b115a889e1a70dd22d8dcc6a5e753a5d2 22-Jun-2009 Chris Lattner <sabre@nondot.org> Implement full support for parsing primary expressions. We can now parse
all of health and voronoi (ignoring directives). We only get 409 lines into
176.gcc though because we don't have binary operators yet:

Parsing 176.gcc.llc.s:409: unexpected token in operand list
movsbl _arityvec+1(,%edi,8), %eax
^



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73877 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
14ee48a5bae352780b767a14bd97e8e91800a95b 21-Jun-2009 Chris Lattner <sabre@nondot.org> rename SourceMgr::PrintError to PrintMessage.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73861 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
27aa7d259b416a9d1bf837ed2c3c11463367b11c 21-Jun-2009 Chris Lattner <sabre@nondot.org> stub out parser for asm files. Change invariant on lexer to always
print its error message when it returns an asmtok::Error token.
Compute a proper error code for llvm-mc in 'lex' mode. Add new
-as-lex option to enable lexing mode (vs parsing mode).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73859 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
10a907d70fb54c40eecabb889e81c79b44092221 21-Jun-2009 Chris Lattner <sabre@nondot.org> add string literals.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73858 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
4651bca31bdad27184fa0d36640bf5ef1d83cf5c 21-Jun-2009 Chris Lattner <sabre@nondot.org> implement enough of a lexer to get through Olden/health/Output/health.llc.s
without errors.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73855 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
a59e8779964992457ada1af6a5f48068523cfd42 21-Jun-2009 Chris Lattner <sabre@nondot.org> some baby steps.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73848 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
b23677e076bea7c3bf4763ba14d8ee96faf8a74b 21-Jun-2009 Chris Lattner <sabre@nondot.org> start wiring up support for asm parsing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73846 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
bb4688a9cf385ccada90ebeb04b3ba5827bf213d 19-Jun-2009 Chris Lattner <sabre@nondot.org> fix file header


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73733 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp
f9f065e45500823cdeb25bde2154d871ab6e9125 19-Jun-2009 Chris Lattner <sabre@nondot.org> Add a skeleton driver for new machine code level fun. llvm-mc is meant
to be a test driver of other components in the system, which will develop
over time.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73732 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/tools/llvm-mc/llvm-mc.cpp