• Home
  • History
  • Annotate
  • only in /external/llvm/tools/llvm-mc/
History log of /external/llvm/tools/llvm-mc/
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
lvm-mc.cpp
075c621d834af7ffc32d2067fadb147cc1758b99 02-Jun-2014 Chris Wailes <chriswailes@google.com> Adds the ability to run the llvm test suite in-tree.

This was accomplished by building additional tools and hand-generating
several files that are auto-generated by the configuration system when
LLVM is built out-of-tree. The LTO, Interpreter, and DebugInfo libraries
are now being compiled, and several source files were added to existing
compilation targets.

To run these tests you must first run build/envsetup.sh and have used
lunch to select a target. You can then launch the test script by running:

cd $ANDROID_BUILD_TOP/external/llvm && ./android_test.sh

Bug: 15433215

Change-Id: I43d87de0a4620cdd46c8d0f825dd4428e8409702
ndroid.mk
dce4a407a24b04eebc6a376f8e62b41aaa7b071f 29-May-2014 Stephen Hines <srhines@google.com> Update LLVM for 3.5 rebase (r209712).

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

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
MakeLists.txt
isassembler.cpp
lvm-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
lvm-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
lvm-mc.cpp
38c6ff6c111fcc53debb9e2880f89e2dd0676217 19-Jul-2013 Tim Northover <tnorthover@apple.com> Improve llvm-mc disassembler mode and refactor ARM tests to use it

This allows "llvm-mc -disassemble" to accept two new features:
+ Using comma as a byte separator
+ Grouping bytes with '[' and ']' pairs.

The behaviour outside a [...] group is unchanged. But within the group once
llvm-mc encounters a true error, it stops rather than trying to resynchronise
the stream at the next byte. This is more useful for disassembly tests, where
we have an almost-instruction in mind and don't care what the misaligned
interpretation would be. Particularly if it means llvm-mc won't actually see
the next intended almost-instruction.

As a side effect, this means llvm-mc can disassemble its own -show-encoding
output if copy-pasted.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186661 91177308-0d34-0410-b5e6-96231b3b80d8
isassembler.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
lvm-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
lvm-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
lvm-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
lvm-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
lvm-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
lvm-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
lvm-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
lvm-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
isassembler.cpp
isassembler.h
lvm-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
lvm-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
lvm-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
lvm-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
isassembler.cpp
lvm-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
lvm-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
lvm-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
lvm-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
lvm-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
lvm-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
isassembler.cpp
isassembler.h
lvm-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
lvm-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
isassembler.cpp
lvm-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
lvm-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
isassembler.cpp
lvm-mc.cpp
adef06a71458ded0716935a61b3d43d164d4df12 29-Feb-2012 Derek Schuff <dschuff@google.com> Make MemoryObject accessor members const again



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151687 91177308-0d34-0410-b5e6-96231b3b80d8
isassembler.cpp
2ea93875b2f2900b9d244dfd7649c9ed02a34cd7 06-Feb-2012 Derek Schuff <dschuff@google.com> Enable streaming of bitcode

This CL delays reading of function bodies from initial parse until
materialization, allowing overlap of compilation with bitcode download.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@149918 91177308-0d34-0410-b5e6-96231b3b80d8
isassembler.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
lvm-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
lvm-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
isassembler.cpp
lvm-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
lvm-mc.cpp
4ab406d7fc06b1272d02cd8be46f0c5ebe51a3da 12-Dec-2011 Daniel Dunbar <daniel@zuster.org> LLVMBuild: Remove trailing newline, which irked me.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146409 91177308-0d34-0410-b5e6-96231b3b80d8
LVMBuild.txt
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
lvm-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
lvm-mc.cpp
0d3c223035d057101cb9d9dd5ecb4500fcb15085 11-Nov-2011 Daniel Dunbar <daniel@zuster.org> LLVMBuild: Add description files for the LLVM tools.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144417 91177308-0d34-0410-b5e6-96231b3b80d8
LVMBuild.txt
178051fbae2b224ecc5aa20e39b7cee3ab38e760 11-Nov-2011 Benjamin Kramer <benny.kra@googlemail.com> Clients are responsible for initializing the targets, remove it from the disassembler API.

This will break users of the LLVMCreateDisasm API (not that I know of any). They have to call the
LLVMInitializeAll* functions from llvm-c/Target.h themselves now. edis' C API in all its horribleness
should be unaffected.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144385 91177308-0d34-0410-b5e6-96231b3b80d8
isassembler.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
lvm-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
lvm-mc.cpp
8c39c9647da4f375e4f89bd417d86f5c3ff6dfa5 18-Oct-2011 Daniel Dunbar <daniel@zuster.org> build: Tidy up a bunch of tool Makefiles, and simplify where possible using the
new all-targets pseudo-component.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142401 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
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
lvm-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
isassembler.cpp
lvm-mc.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
isassembler.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
isassembler.cpp
isassembler.h
lvm-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
isassembler.cpp
lvm-mc.cpp
83e3f67fb68d497b600da83a62f000fcce7868a9 17-Aug-2011 Owen Anderson <resistor@mac.com> Allow the MCDisassembler to return a "soft fail" status code, indicating an instruction that is disassemblable, but invalid. Only used for ARM UNPREDICTABLE instructions at the moment.
Patch by James Molloy.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137830 91177308-0d34-0410-b5e6-96231b3b80d8
isassembler.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
lvm-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
lvm-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
lvm-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
lvm-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
lvm-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
lvm-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
lvm-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
lvm-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
lvm-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
lvm-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
lvm-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
lvm-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
lvm-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
lvm-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
lvm-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
isassembler.cpp
lvm-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
lvm-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
lvm-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
lvm-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
lvm-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
lvm-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
lvm-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
isassembler.cpp
isassembler.h
lvm-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
lvm-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
lvm-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
lvm-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
lvm-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
isassembler.cpp
isassembler.h
lvm-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
lvm-mc.cpp
052aa2c256acebab662b6099b155057d4092c3cf 09-Apr-2011 Sean Callanan <scallanan@apple.com> Moved an access to an object past a NULL check,
making the MC disassembler tester more robust.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129175 91177308-0d34-0410-b5e6-96231b3b80d8
isassembler.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
lvm-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
isassembler.cpp
isassembler.h
lvm-mc.cpp
f26be1e9652dd6a05797986aaaaef041a82545f4 24-Feb-2011 Benjamin Kramer <benny.kra@googlemail.com> Plug some leaks in edis.

- Don't leak parsed operands during tokenization.
- Don't leak printed insts in llvm-mc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126381 91177308-0d34-0410-b5e6-96231b3b80d8
isassembler.cpp
3894a795e6283b4b62ccf7b20d69eebd49e8532f 23-Feb-2011 Sean Callanan <scallanan@apple.com> Fixed a bug in the enhanced disassembly tester that
caused it to only parse one line of input.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126301 91177308-0d34-0410-b5e6-96231b3b80d8
isassembler.cpp
b21e49c8fe241965716511013e0aed35970ecdb1 22-Feb-2011 Sean Callanan <scallanan@apple.com> Fixed llvm-mc in edis mode to use the result of
operand.evaluate as an error code, not as the
contents of the operand.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126181 91177308-0d34-0410-b5e6-96231b3b80d8
isassembler.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
lvm-mc.cpp
2f867a63daf99dc27830d4442a574a790e02f27e 06-Jan-2011 Rafael Espindola <rafael.espindola@gmail.com> Correctly disassemble truncated asm.

Patch by Richard Simth.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122962 91177308-0d34-0410-b5e6-96231b3b80d8
isassembler.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
lvm-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
lvm-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
lvm-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
lvm-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
lvm-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
lvm-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
lvm-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
lvm-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
lvm-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
lvm-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
lvm-mc.cpp
d1e1703c39742f3c9fc3d27a442ff59bbdbfb5aa 27-Sep-2010 Benjamin Kramer <benny.kra@googlemail.com> Push twines deeper into SourceMgr's error handling methods.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114847 91177308-0d34-0410-b5e6-96231b3b80d8
isassembler.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
lvm-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
lvm-mc.cpp
3a210e2d302758101ac06946e86027b327c7d0f3 14-Sep-2010 Michael J. Spencer <bigcheesegs@gmail.com> Revert "CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally."

This reverts commit r113632

Conflicts:

cmake/modules/AddLLVM.cmake

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113819 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
4e9c939312ff73bd0c6a6485fd5f97012f5910fa 10-Sep-2010 Michael J. Spencer <bigcheesegs@gmail.com> CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113632 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
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
lvm-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
lvm-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
lvm-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
isassembler.cpp
isassembler.h
lvm-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
lvm-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
lvm-mc.cpp
847da55716e9c1d39c08ed052bc86d28796cb91f 20-Jul-2010 Chris Lattner <sabre@nondot.org> start straightening out libedis's dependencies and make it fit
better in the llvm world. Among other things, this changes:

1. The guts of libedis are now moved into lib/MC/MCDisassembler
2. llvm-mc now depends on lib/MC/MCDisassembler, not tools/edis,
so edis and mc don't have to be built in series.
3. lib/MC/MCDisassembler no longer depends on the C api, the C
API depends on it.
4. Various code cleanup changes.

There is still a lot to be done to make edis fit with the llvm
design, but this is an incremental step in the right direction.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108869 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
isassembler.cpp
akefile
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
lvm-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
lvm-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
lvm-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
lvm-mc.cpp
9a56c328b13b27c44a12e288aee035554ee28494 12-Jun-2010 Daniel Dunbar <daniel@zuster.org> llvm-mc: Don't set NO_INSTALL on llvm-mc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@105837 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
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
lvm-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
lvm-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
lvm-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
lvm-mc.cpp
972bf8dea1001134f575a1c6362e1c12eed579d0 11-May-2010 Sean Callanan <scallanan@apple.com> Extended the edis "IsBranch" property to call
instructions as well. Added support for checking
this to the llvm-mc tester as well.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103454 91177308-0d34-0410-b5e6-96231b3b80d8
isassembler.cpp
be192dd1e987361ecf51ff385cbf541cb7f779be 06-May-2010 Sean Callanan <scallanan@apple.com> Fixed a sign-extension bug in the X86 disassembler
that was causing PC-relative branch targets to be
evaluated incorrectly. Also added support for
checking operand values to the llvm-mc tester.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103128 91177308-0d34-0410-b5e6-96231b3b80d8
isassembler.cpp
0a6f053732c7a654cb9fe3e501680a104c3381a1 13-Apr-2010 Ted Kremenek <kremenek@apple.com> Add CMake support for 'edis'.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101177 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
f23c7692947cfa69934476979941e91e5d945daa 13-Apr-2010 Chris Lattner <sabre@nondot.org> Make the disassembler respect the assembler dialect when printing instructions,
patch by Marius Wachtler!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101160 91177308-0d34-0410-b5e6-96231b3b80d8
isassembler.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
isassembler.cpp
isassembler.h
akefile
lvm-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
isassembler.cpp
isassembler.h
akefile
lvm-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
isassembler.cpp
isassembler.h
akefile
lvm-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
lvm-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
isassembler.cpp
lvm-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
lvm-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
lvm-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
lvm-mc.cpp
c6ab1901f922c854c84e9e055cbc83601df80add 20-Mar-2010 Daniel Dunbar <daniel@zuster.org> llvm-mc: Fix MCInstPrinter memory leaks.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99101 91177308-0d34-0410-b5e6-96231b3b80d8
isassembler.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
lvm-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
lvm-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
lvm-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
lvm-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
lvm-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
lvm-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
lvm-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
lvm-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
lvm-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
lvm-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
lvm-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
lvm-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
lvm-mc.cpp
2e235a826d2f65a064b2a39b27c775d0adf8b7c3 03-Feb-2010 Sean Callanan <scallanan@apple.com> Fixed the disassembler so it accepts multiple
instructions on a single line. Also made it a
bit more forgiving when it reports errors.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95197 91177308-0d34-0410-b5e6-96231b3b80d8
isassembler.cpp
43b5f9312d56be400af031f7487a99b75b7b0f97 24-Jan-2010 Chris Lattner <sabre@nondot.org> make -fno-rtti the default unless a directory builds with REQUIRES_RTTI.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94378 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
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
lvm-mc.cpp
e73a31f667ad2fe03e25c97ac45b58c30d7f07c3 22-Jan-2010 Chris Lattner <sabre@nondot.org> Stop building RTTI information for *most* llvm libraries. Notable
missing ones are libsupport, libsystem and libvmcore. libvmcore is
currently blocked on bugpoint, which uses EH. Once it stops using
EH, we can switch it off.

This #if 0's out 3 unit tests, because gtest requires RTTI information.
Suggestions welcome on how to fix this.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94164 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
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
smCond.h
smLexer.cpp
smLexer.h
smParser.cpp
smParser.h
MakeLists.txt
lvm-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
smLexer.h
smParser.cpp
smParser.h
MakeLists.txt
akefile
lvm-mc.cpp
03949c9db3e8f02d6ec7cd53782507e3a4e9e4fc 22-Jan-2010 Chris Lattner <sabre@nondot.org> remove some confused code that used strtoull


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94128 91177308-0d34-0410-b5e6-96231b3b80d8
smLexer.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
smLexer.cpp
smLexer.h
smParser.cpp
smParser.h
lvm-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
smLexer.cpp
smLexer.h
smParser.cpp
smParser.h
lvm-mc.cpp
10d33a4937f8449e9ca6bbb6981bb07e4fd9c781 20-Jan-2010 Sean Callanan <scallanan@apple.com> Promoted the reference to the SourceMgr from AsmLexer
into AsmParser, in preparation for making AsmLexer
independent of the SourceMgr


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94043 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
smParser.h
79036e421f22cf3f661386c560fda36aa5bd04cc 20-Jan-2010 Sean Callanan <scallanan@apple.com> Modified MCAsmLexer to return error information upward
rather than printing it locally, reducing its dependence
on SourceMgr.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94041 91177308-0d34-0410-b5e6-96231b3b80d8
smLexer.cpp
smParser.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
lvm-mc.cpp
18b8323de70e3461b5d035e3f9e4f6dfaf5e674b 19-Jan-2010 Sean Callanan <scallanan@apple.com> Promoted the getTok() method to MCAsmParser so that
the two token accessor functions are declared consistently.
Modified the clients of MCAsmParser to reflect this change.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93916 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
79ed1a8734f4c13e878db6beac5d791b76f22261 19-Jan-2010 Sean Callanan <scallanan@apple.com> Added a Lex function to the AsmParser, to allow handling
of include directives to occur within the parser itself.
This will break the lexer's dependency on a SourceMgr as
input.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93899 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
smParser.h
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
smParser.cpp
ddf6bdde44287b5b559bc403a02ff971e15e8303 19-Jan-2010 Chris Lattner <sabre@nondot.org> add a "MCStreamer::EmitFill" method, and move the default implementation
(which just iteratively emits bytes) to MCStreamer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93888 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
258281d8ac7b6ab61d64948340038e5f6692e3c0 19-Jan-2010 Chris Lattner <sabre@nondot.org> fix parsing .comm directives on systems which do not represent alignments
as a power of 2. This fixes MC/AsmParser/directive_comm.s


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93867 91177308-0d34-0410-b5e6-96231b3b80d8
smLexer.h
smParser.cpp
54482b472a888c9efe003ad694ecf47b21878f0e 15-Jan-2010 Chris Lattner <sabre@nondot.org> fix a bug in range information for $42, eliminate an
unneeded argument from ParseExpression.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93536 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
smParser.h
b4307b33705ef9e660db640b2f70d6246aa51165 15-Jan-2010 Chris Lattner <sabre@nondot.org> extend MCAsmParser::ParseExpression and ParseParenExpression
to return range information for subexpressions. Use this to
provide range info for several new X86Operands.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93534 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
smParser.h
9d3c755fd6bf33335fad66dca9a629c630fc3bf2 14-Jan-2010 Chris Lattner <sabre@nondot.org> add virtual methods to get the start/end of a MCParsedAsmOperand,
the default implementation returns "unknown".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93470 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
9898671a74d3fc924347e679c45edaa685b3fe6e 14-Jan-2010 Chris Lattner <sabre@nondot.org> Split the TargetAsmParser "ParseInstruction" interface in half:
the new ParseInstruction method just parses and returns a list of
target operands. A new MatchInstruction interface is used to
turn the operand list into an MCInst.

This requires new/deleting all the operands, but it also gives
targets the ability to use polymorphic operands if they want to.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93469 91177308-0d34-0410-b5e6-96231b3b80d8
smLexer.cpp
smParser.cpp
f007e853e26845cd6866b52d646455fc69f4e0af 14-Jan-2010 Chris Lattner <sabre@nondot.org> prune #includes in TargetAsmParser.h
Pass in SMLoc of instr opcode into ParseInstruction.
Make AsmToken be a class, not a struct.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93457 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
9bc0af847d72e895fbc42b7a2d17fde33c6a5a66 28-Dec-2009 Bill Wendling <isanbard@gmail.com> Mark some debug variables as 'unused' to quiet compiler and analyzer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92183 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.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
MakeLists.txt
isassembler.cpp
isassembler.h
exDisassembler.cpp
exDisassembler.h
lvm-mc.cpp
f444c06f911f7b3b73481721205fdc711bd7ef32 22-Dec-2009 Chris Lattner <sabre@nondot.org> just discard the debug output from the disassembler.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91933 91177308-0d34-0410-b5e6-96231b3b80d8
exDisassembler.cpp
a1aa8bba77c5cf2ba164846764ece7d2bd32778a 22-Dec-2009 Chris Lattner <sabre@nondot.org> specify what is invalid about it


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91901 91177308-0d34-0410-b5e6-96231b3b80d8
exDisassembler.cpp
5a99615704cb5bb1b6e888864e671b0fa9167133 22-Dec-2009 Chris Lattner <sabre@nondot.org> reject invalid input with a caret, e.g.:

simple-tests.txt:16:1: error: invalid instruction
0xff 0xff
^




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91898 91177308-0d34-0410-b5e6-96231b3b80d8
exDisassembler.cpp
665e947740bb1909f9c3dc60927e8b9620d644e5 22-Dec-2009 Chris Lattner <sabre@nondot.org> various cleanups, make the disassemble reject lines with too much
data on them, for example:

addb %al, (%rax)
simple-tests.txt:11:5: error: excess data detected in input
0 0 0 0 0
^



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91896 91177308-0d34-0410-b5e6-96231b3b80d8
exDisassembler.cpp
c3de94fabf3858ad57373171fa6bda407f2224c9 22-Dec-2009 Chris Lattner <sabre@nondot.org> If you thought that it didn't make sense for the disassembler
to not produce caret diagnostics, you were right!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91895 91177308-0d34-0410-b5e6-96231b3b80d8
exDisassembler.cpp
2adbef06a637b367f724d0a46f7fa78d5827ec64 22-Dec-2009 Chris Lattner <sabre@nondot.org> rewrite the file parser for the disassembler, implementing support for
comments. Also, check in a simple testcase for the disassembler,
including a test for r91864


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91894 91177308-0d34-0410-b5e6-96231b3b80d8
exDisassembler.cpp
222af464822c9c47b2859e813912ed6ba5339217 22-Dec-2009 Chris Lattner <sabre@nondot.org> don't crash on blank lines, rename some variables.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91892 91177308-0d34-0410-b5e6-96231b3b80d8
exDisassembler.cpp
b5d3daba9195e07f7faf4ce7f9106f27b8c0a20a 17-Dec-2009 Chandler Carruth <chandlerc@gmail.com> Update CMake build to include HexDisassembler.cpp.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91589 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
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
exDisassembler.cpp
exDisassembler.h
lvm-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
lvm-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
lvm-mc.cpp
8b67f774e9c38b7718b2b300b628388f966df4e0 26-Oct-2009 Chandler Carruth <chandlerc@gmail.com> Move DataTypes.h to include/llvm/System, update all users. This breaks the last
direct inclusion edge from System to Support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85086 91177308-0d34-0410-b5e6-96231b3b80d8
smLexer.h
e00b011e6a2597fcc3da88da91a8ffda6eebfcda 16-Oct-2009 Daniel Dunbar <daniel@zuster.org> MC: Remove unneeded context argument to MCExpr::Evaluate*.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84233 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.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
smParser.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
smParser.cpp
ebb89b418676e5790cb0f385bb6159dd234542ce 27-Sep-2009 Chris Lattner <sabre@nondot.org> add a new DirectiveMap stringmap, which allows more efficient dispatching
to directive handlers and allows for easier extensibility.

I only switched a few over for now.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82926 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
smParser.h
cec545097cf1a81c0936cf62e39a81940d9f720f 27-Sep-2009 Chris Lattner <sabre@nondot.org> avoid copying MCAsmInfo by value, add an (extremely low prio) fixme.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82911 91177308-0d34-0410-b5e6-96231b3b80d8
smLexer.cpp
smLexer.h
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
lvm-mc.cpp
b5db83084073d74501f3e2a7684d28240a047b92 16-Sep-2009 Kevin Enderby <enderby@apple.com> Fixed some problems with the logic of parsing line comments by adding
isAtStartOfComment and using that instead in two places where a loop
to check if the char was in MAI.getCommentString().


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82059 91177308-0d34-0410-b5e6-96231b3b80d8
smLexer.cpp
smLexer.h
3b13d361d0abf5ee886574ab1c7f21fb7c4e7287 16-Sep-2009 Chris Lattner <sabre@nondot.org> use an accessor to simplify code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81997 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.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
lvm-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
smParser.cpp
lvm-mc.cpp
b8b70521def36d0da103b8a103872f37b3b49aa2 10-Sep-2009 Daniel Dunbar <daniel@zuster.org> MC: Give target specific parsers access to the MCStreamer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81416 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.h
12fd767ed819e3ea34670cc6f3e790bd0d88ee94 06-Sep-2009 Benjamin Kramer <benny.kra@googlemail.com> Fix an integer truncation noticed by MSVC.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81109 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
fb0f0dedd74dab13737a77671a724ee88465f5da 05-Sep-2009 Kevin Enderby <enderby@apple.com> Added AsmToken enum constants to MCAsmLexer.h for '[', ']', '{', and '}' in
preparation of supporting other targets. Then changed the lexer to parse these
as tokens.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81050 91177308-0d34-0410-b5e6-96231b3b80d8
smLexer.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
smLexer.cpp
smLexer.h
smParser.h
lvm-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
smLexer.cpp
smLexer.h
lvm-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
lvm-mc.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
smParser.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
smParser.cpp
smParser.h
883f920acb6d347c2be0c937302d621ca21ec9dd 31-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Remove MCAsmParser::Parse[Paren]RelocatableExpression.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80576 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
smParser.h
c18274ba9cabd5699452870daae3c2d9accecc37 31-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Add MCAsmParser::Parse[Paren]Expression forms which return an MCExpr.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80574 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
smParser.h
6ce004dc76a8761a7e1a8830206ccaaf96736615 31-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Add MCAsmParser::getContext.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80571 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
smParser.h
9643ac55142d40da404caa8e5fedfef2cd7b4afc 31-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Switch MCExpr construction to using static member functions, and taking the MCContext (which now owns all MCExprs).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80569 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
smParser.h
28c251b54b0b311749f07babe0f6909e71e877bc 31-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Move AsmExpr into MC lib (as MCExpr).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80567 91177308-0d34-0410-b5e6-96231b3b80d8
smExpr.cpp
smExpr.h
smParser.cpp
smParser.h
MakeLists.txt
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
smParser.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
smParser.cpp
2e15292659f174376ef10fac1172c9ef1a605c8a 28-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Unique zero fill sections.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80342 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
bdee6dffa5c8d74f09198794a057722912592e7e 28-Aug-2009 Daniel Dunbar <daniel@zuster.org> Revert r80305, I forgot a dependent change.

--- Reverse-merging r80305 into '.':
U tools/llvm-mc/AsmParser.cpp


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80309 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
58b5068b1ac7a1ce4c2eeee30c600d2a5b9e37e0 28-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Unique sections in .zerofill.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80305 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.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
lvm-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
lvm-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
lvm-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
lvm-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
smParser.cpp
smParser.h
lvm-mc.cpp
959fd883346384e742fff049327a6815e36017e0 27-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc/Mach-O: Don't put assembler temporary labels in the symbol table.
- I moved section creation back into AsmParser. I think policy decisions like
this should be pushed higher, not lower, when possible (in addition the
assembler has flags which change this behavior, for example).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80162 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
smParser.h
d644c32a52c36c2e52c91512d156d4332772cb1f 26-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Make MCValue take const MCSymbol*s.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80078 91177308-0d34-0410-b5e6-96231b3b80d8
smExpr.cpp
b58a80440041407b1617e32db1ce83fa567991e9 26-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Make non-sensical max bytes to .align an error.

Also, warn about overflow in alignment values.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80077 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.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
lvm-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
lvm-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
lvm-mc.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
smParser.cpp
2330df6b66e6ca7cfad54be9088f0d931cc66441 22-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Improve handling of implicit alignment for magic section directives
(e.g., .objc_message_refs).
- Just emit a .align when we see the directive; this isn't exactly what 'as'
does but in practice it should be ok, at least for now. See FIXME.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79697 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
0afb9f5ac2056fdde1e92378eee404a097dd7eca 22-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: In a .fill directive, still honor .align even if invalid maximum bytes
count is given (this matches 'as').


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79683 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
bc38ca7321b4ca32580e397a9b7df970688560c0 21-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Accept .fill size of 8.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79635 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.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
lvm-mc.cpp
b3f3c0387b69b2e63f5da3e849f62f73296e869f 21-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Various section parsing fixes.
- Add missing flags for various Objective-C sections.

- Fix names for [non_]lazy_symbol_pointer (these are misspelled in the manual).

- .symbol_stub does not have the self modifying code flag set (this appears to
be wrong in the manual?).

- Add implicit alignment values; not yet used.

Also, call MCStreamer::Finish at the end of a successful parse.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79611 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
smParser.h
32223d30987210a142925d37ee8c43bd5f8fb497 21-Aug-2009 Daniel Dunbar <daniel@zuster.org> Don't install llvm-mc by default.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79604 91177308-0d34-0410-b5e6-96231b3b80d8
akefile
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
lvm-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
lvm-mc.cpp
1ab75949460b92df31b911ea9f99a3e32d779e3f 14-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Support escaped characters in string literals (for .ascii and .asciz)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79010 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
smParser.h
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
lvm-mc.cpp
7b7f51425e1626485f232ca57c135e30b6785be7 14-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Move MCAsmToken::getLoc() into MC library where it belongs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78980 91177308-0d34-0410-b5e6-96231b3b80d8
smLexer.cpp
b27a41b44092c0a6e439203586cc944187de3388 11-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Fix a crash on invalid due to a typo in relocatable expression
evaluation.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78692 91177308-0d34-0410-b5e6-96231b3b80d8
smExpr.cpp
1e840b2c6150838815c1041562f9876560b0b465 11-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Accept .word as a synonym for .short


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78641 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.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
lvm-mc.cpp
d0c14d69134473f38b84205e9d556234b2d0c0ad 11-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Sketch parsing for .file, .line, and .loc. No streamer hooks for these
yet (I'm not even sure what they do).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78639 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
smParser.h
ace63127bc7501d4d7707f744cdae09894342aa9 11-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Fix darwin .section parsing. It was skipping the section name and a ','
(and outputting a diagnostic pointing at the wrong place), all of which lead to
much confusion.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78637 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.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
smParser.cpp
lvm-mc.cpp
e15c2d7ce575a6212369b9b1477694b998b40a88 10-Aug-2009 Chris Lattner <sabre@nondot.org> add a fixme


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78575 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.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
smLexer.cpp
smLexer.h
smParser.cpp
smParser.h
lvm-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
smParser.cpp
lvm-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
smParser.cpp
lvm-mc.cpp
9a86159a20e0c185f87ef0572ba50af3c6936d4b 08-Aug-2009 Benjamin Kramer <benny.kra@googlemail.com> Always initialize AsmConds.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78463 91177308-0d34-0410-b5e6-96231b3b80d8
smCond.h
c114ed711eca29e735e10956883a1010c22d7942 08-Aug-2009 Kevin Enderby <enderby@apple.com> Added Mac OS X assembler style conditional assembly. I may come back and see if
I can clean this up a bit more and do way with the TheCondState and just use
the top element on the TheCondStack if not empty. Also may tweak the code
around ParseConditionalAssemblyDirectives() to simplify the AsmParser code.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78423 91177308-0d34-0410-b5e6-96231b3b80d8
smCond.h
smParser.cpp
smParser.h
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
lvm-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
lvm-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
smParser.cpp
lvm-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
smParser.cpp
lvm-mc.cpp
a6b3c5db2e0736937e717a1c221e51aa60700271 01-Aug-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: More quoted identifier support.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77761 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
smParser.h
76c4d7696c1eb566d53467a76024c5fdadd448e4 31-Jul-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Support quoted identifiers.
- Uses MCAsmToken::getIdentifier which returns the (sub)string representing the
meaningfull contents a string or identifier token.

- Directives aren't done yet.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77739 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
6bdd74ca382db0d7125c5b1bf36a34254491d7e5 31-Jul-2009 Chris Lattner <sabre@nondot.org> fix some more issues where we expected GetSection to do "get or create"


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77700 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.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
smParser.cpp
lvm-mc.cpp
cf593a3f433cd6acdb6dffb1afbb6367b105b789 29-Jul-2009 Daniel Dunbar <daniel@zuster.org> Update CMakeLists


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77385 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
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
smParser.cpp
smParser.h
C-X86Specific.cpp
lvm-mc.cpp
e240beb0652f47adb5f58040ce17e43dcf25653f 29-Jul-2009 Daniel Dunbar <daniel@zuster.org> Make expression parsing and error/warning reporting available through the
generic MCAsmParser interface.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77381 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.h
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
smParser.h
lvm-mc.cpp
8e7c38e17b4c3eef8c079004f01329b7bd2bb24a 28-Jul-2009 Daniel Dunbar <daniel@zuster.org> Switch X86 assembly parser to using the generic lexer interface.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77341 91177308-0d34-0410-b5e6-96231b3b80d8
C-X86Specific.cpp
cbbe2484418536264b1a26c517c16d505a61d5c8 28-Jul-2009 Daniel Dunbar <daniel@zuster.org> Expose Tokens to target specific assembly parsers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77337 91177308-0d34-0410-b5e6-96231b3b80d8
smLexer.cpp
smLexer.h
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
smLexer.h
smParser.cpp
lvm-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
smLexer.cpp
smLexer.h
smParser.cpp
lvm-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
smLexer.cpp
smLexer.h
smParser.cpp
C-X86Specific.cpp
lvm-mc.cpp
cb358b63a742c72f440ea008f14d65e049e725ad 28-Jul-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Factor AsmToken class out of AsmLexer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77292 91177308-0d34-0410-b5e6-96231b3b80d8
smLexer.cpp
smLexer.h
825e385ffe767561a62966df76af0b19e71002aa 28-Jul-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Stop uniqueing string tokens, nothing actually uses this.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77287 91177308-0d34-0410-b5e6-96231b3b80d8
smLexer.cpp
smLexer.h
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
smParser.cpp
smParser.h
C-X86Specific.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
smLexer.h
smParser.cpp
smParser.h
C-X86Specific.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
lvm-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
lvm-mc.cpp
6316fbcb04af00fe76b6526fab09f51484014b3e 23-Jul-2009 Daniel Dunbar <daniel@zuster.org> Convert StringMap to using StringRef for its APIs.
- Yay for '-'s and simplifications!

- I kept StringMap::GetOrCreateValue for compatibility purposes, this can
eventually go away. Likewise the StringMapEntry Create functions still follow
the old style.

- NIFC.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76888 91177308-0d34-0410-b5e6-96231b3b80d8
smLexer.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
smParser.cpp
smParser.h
dbd692a66e6a5f60ec3ff120ed27ae3a918c375f 20-Jul-2009 Daniel Dunbar <daniel@zuster.org> Add MCAsmLexer interface.
- This provides the AsmLexer interface to the target specific assembly parsers.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76460 91177308-0d34-0410-b5e6-96231b3b80d8
smLexer.h
smParser.h
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
smParser.cpp
smParser.h
lvm-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
lvm-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
MakeLists.txt
akefile
lvm-mc.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
smParser.cpp
358ab1dbb016c50528ada714fa400c821438f2ee 16-Jul-2009 Kevin Enderby <enderby@apple.com> Clean up the definition of Str in AsmParser::ParseDirectiveDarwinDumpOrLoad
so it is defined with a lifetime that is as short as possible.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76082 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.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
smLexer.cpp
smLexer.h
smParser.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
smParser.cpp
smParser.h
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
smParser.cpp
smParser.h
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
smParser.cpp
smParser.h
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
smParser.cpp
smParser.h
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
smParser.cpp
smParser.h
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
smParser.cpp
smParser.h
39750254e18c91ed68b11eb162c3f2445c36c833 12-Jul-2009 Chris Lattner <sabre@nondot.org> silence vc++ warning.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75394 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.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
smParser.cpp
smParser.h
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
smParser.cpp
smParser.h
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
smParser.cpp
smParser.h
b717fb0fe0d41629ae07800869157b6d178c545f 02-Jul-2009 Chris Lattner <sabre@nondot.org> implement error recovery in the llvm-mc parser. Feel the power!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74728 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
5470e12c6221b40102e56ab3f280685e605475b7 02-Jul-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc/x86: Fix various nit-picky bugs in displacement parsing.
- Test case to follow.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74687 91177308-0d34-0410-b5e6-96231b3b80d8
C-X86Specific.cpp
2c3f00cd948345b9a6b48401f319ee3fdf907269 02-Jul-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc/x86: Fix bug in disambiguation of displacement operand, introduced by me
(I think).
- We weren't properly parsing the leading parenthesized expression in something
like 'push (4)(%eax)'.

- Added ParseParenRelocatableExpression to support this. I suspect we should
just use lookahead, though.

- Test case to follow.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74685 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
smParser.h
C-X86Specific.cpp
46b6c5266ef055acc861b8d086c33fa01ab465bd 02-Jul-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc/x86: Factor out ParseX86Register.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74684 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.h
C-X86Specific.cpp
55a3c6c324f9b45e7d01871bf35a2ccaaf14951f 02-Jul-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc/x86: Rename X86Operand::ScaleReg to IndexReg and make order consistent
with syntax.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74679 91177308-0d34-0410-b5e6-96231b3b80d8
C-X86Specific.cpp
1aa14aac4198bca0f44e4adad42bf6238cbf9757 01-Jul-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Add some more doxyments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74607 91177308-0d34-0410-b5e6-96231b3b80d8
smExpr.h
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
lvm-mc.cpp
80f62d0062a6008403eb889c35fa19939c5c50cf 01-Jul-2009 Daniel Dunbar <daniel@zuster.org> Rename MCValue::isConstant to isAbsolute.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74596 91177308-0d34-0410-b5e6-96231b3b80d8
smExpr.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
lvm-mc.cpp
0eebb0543f826d66865f9878702511713f065484 01-Jul-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Emit parsed instructions to the MCStreamer.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74594 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
d9627e11bfd5e120e6430597bb72fe3c64341e2c 01-Jul-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Introduce method to match a parsed x86 instruction into an MCInst.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74573 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
smParser.h
C-X86Specific.cpp
d870b2804b825d02d0097f145aef4808617025ee 01-Jul-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Accept relocatable expressions when parsing displacements and
immediates.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74568 91177308-0d34-0410-b5e6-96231b3b80d8
C-X86Specific.cpp
374d8bddacbffce7c82ce81103d30b5ee42032df 01-Jul-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Symbols in a relocatable expression of the (a - b + cst) form are
allowed to be undefined when the expression is seen, we cannot enforce the
same-section requirement until the entire assembly file has been seen.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74565 91177308-0d34-0410-b5e6-96231b3b80d8
smExpr.cpp
b79742cd471b06a2c44ac1d247cd1e6d5dc123c2 30-Jun-2009 Daniel Dunbar <daniel@zuster.org> Suppress may-be-used-uninitialized warning.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74529 91177308-0d34-0410-b5e6-96231b3b80d8
smExpr.cpp
892b507f7cf6611619db45077f364dc4d3b79ca9 30-Jun-2009 Douglas Gregor <dgregor@apple.com> Fix CMake build

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74527 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
f4b830f03f4859d89b03cb56fb3e43ba08ba94c3 30-Jun-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Accept relocatable expressions for .org, assignments, .byte, etc.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74498 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
3597604e5ef9602a80a9f37485976a0f9de516ca 30-Jun-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Rewrite binary subtraction for relocatable expressions, we can't always
legally negate an MCValue.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74497 91177308-0d34-0410-b5e6-96231b3b80d8
smExpr.cpp
15d170709608e2f1efcada74c297c10c8c71fdcf 30-Jun-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Evaluation for relocatable expressions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74496 91177308-0d34-0410-b5e6-96231b3b80d8
smExpr.cpp
smExpr.h
smParser.cpp
smParser.h
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
smLexer.cpp
smLexer.h
smParser.cpp
smParser.h
lvm-mc.cpp
d7b267bd908ee1a1792a6a917c036e764fc3ace0 30-Jun-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Parse symbol attribute directives.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74487 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
smParser.h
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
smParser.cpp
smParser.h
dce0f3c556474092f10b082adff0a2a58f428317 30-Jun-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Diagnose misuse (mix) of defined symbols and labels.
- For example, we diagnose errors on:
--
a:
a = 10
--

- For now we reject code like:
--
.long a
a = 10
--
which "as" accepts (on Darwin).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74476 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
1ad7edc2125d57dcd6c54810d7a4a5f4f77da34b 30-Jun-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Recognize C++ style comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74463 91177308-0d34-0410-b5e6-96231b3b80d8
smLexer.h
383a4a8db04456b8e5a59a35b3f967c4aa9c90cf 29-Jun-2009 Daniel Dunbar <daniel@zuster.org> llvm-mc: Recognize C++ style comments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74462 91177308-0d34-0410-b5e6-96231b3b80d8
smLexer.cpp
513306395c98fb8dac2537f0d13881b24d35075b 29-Jun-2009 Daniel Dunbar <daniel@zuster.org> Fix uninitialized variable warning.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74457 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
fc6877aec9826fa830204d49eba7fac7412b841e 29-Jun-2009 Daniel Dunbar <daniel@zuster.org> MC: Improve expression parsing and implement evaluation of absolute expressions
(missed files).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74450 91177308-0d34-0410-b5e6-96231b3b80d8
smExpr.cpp
smExpr.h
475839e9a97a0c0282e107d14fd1dc6e5f223435 29-Jun-2009 Daniel Dunbar <daniel@zuster.org> MC: Improve expression parsing and implement evaluation of absolute expressions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74448 91177308-0d34-0410-b5e6-96231b3b80d8
smLexer.cpp
smLexer.h
smParser.cpp
smParser.h
C-X86Specific.cpp
c238b584de26d7ee717dbd951a7656033fb6bc05 26-Jun-2009 Daniel Dunbar <daniel@zuster.org> MC: Parse .org directives.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74218 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
smParser.h
8f780cd7896407f743de7538166ff9d40d752086 25-Jun-2009 Daniel Dunbar <daniel@zuster.org> MC: Parse .set and assignments.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74208 91177308-0d34-0410-b5e6-96231b3b80d8
smLexer.cpp
smLexer.h
smParser.cpp
smParser.h
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
smParser.cpp
smParser.h
lvm-mc.cpp
529fb545e7e876c8ea640efb6858f414e50a9f81 24-Jun-2009 Chris Lattner <sabre@nondot.org> implement a bunch of synonyms for section switching.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74062 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
smParser.h
9a023f70b4dc8fe456e074ac1402000fe02bb331 24-Jun-2009 Chris Lattner <sabre@nondot.org> add support for parsing and emitting .section directives. We can now parse
things like:
.section __TEXT,__cstring,cstring_literals




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74058 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
smParser.h
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
smParser.cpp
smParser.h
lvm-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
smParser.h
MakeLists.txt
akefile
lvm-mc.cpp
faf32c102db556e367af1e5bca7359160840d2d0 24-Jun-2009 Chris Lattner <sabre@nondot.org> make the lexer unique strings it lexes instead of passing them back as
std::strings.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74036 91177308-0d34-0410-b5e6-96231b3b80d8
smLexer.cpp
smLexer.h
smParser.cpp
ecc63f8687c4eb746b69336316685fe9b224adfb 24-Jun-2009 Daniel Dunbar <daniel@zuster.org> Start flushing out MCContext.
- Lives inside new library lib/MC (LLVMMC.a)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74013 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
29dfe7c5f7dad437aef2c7ecd885818fbc291bb7 23-Jun-2009 Chris Lattner <sabre@nondot.org> refactor a bunch of X86 specific stuff out to its own file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73982 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
smParser.h
MakeLists.txt
C-X86Specific.cpp
8dfbe6c853e3e48b6e7b5957a4e028835ffe4400 23-Jun-2009 Chris Lattner <sabre@nondot.org> implement a trivial binary expression parser, we can now parse all of 176.gcc.llc.s


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73950 91177308-0d34-0410-b5e6-96231b3b80d8
smLexer.cpp
smLexer.h
smParser.cpp
smParser.h
bcd0b8d2ef63c8a3219bf1d93653279c2814281f 23-Jun-2009 Chris Lattner <sabre@nondot.org> get a definition of strull on windows, thanks to Howard Su.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73929 91177308-0d34-0410-b5e6-96231b3b80d8
smLexer.cpp
66b9f29df22a84f25007c1a84b4d0bb8060552b9 22-Jun-2009 Duncan Sands <baldrick@free.fr> Include cstdio to get EOF, needed with gcc-4.4.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73879 91177308-0d34-0410-b5e6-96231b3b80d8
smLexer.cpp
7031806fe236537a07a76b3936e540744c96b5ef 22-Jun-2009 Chris Lattner <sabre@nondot.org> process memory operands with a parenthesized expression for a displacement,
like "(4+5)(%eax)".



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73878 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.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
smLexer.cpp
smLexer.h
smParser.cpp
smParser.h
lvm-mc.cpp
be9c23fef4422aba89050213f002f0628e3df8b3 22-Jun-2009 Chris Lattner <sabre@nondot.org> implement parser support for '*' operands, as in "call *%eax".


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73876 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
c41938303b08199793b4370eb667d5bd9b97e61c 22-Jun-2009 Chris Lattner <sabre@nondot.org> implement memory operand parsing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73875 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
smParser.h
2cf5f14f20ef0dc0d1ebddc45e11661df91f6ebf 22-Jun-2009 Chris Lattner <sabre@nondot.org> start implementing some simple operand parsing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73867 91177308-0d34-0410-b5e6-96231b3b80d8
smParser.cpp
smParser.h
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
smLexer.cpp
smLexer.h
smParser.cpp
smParser.h
lvm-mc.cpp
b0789ed5a45a90ee7ff398fcdc1383b49ee88918 21-Jun-2009 Chris Lattner <sabre@nondot.org> set up the top-level parsing loop.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73860 91177308-0d34-0410-b5e6-96231b3b80d8
smLexer.h
smParser.cpp
smParser.h
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
smLexer.cpp
smParser.cpp
smParser.h
MakeLists.txt
lvm-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
smLexer.cpp
smLexer.h
lvm-mc.cpp
4506bd2cfd3e75535670890031eec26e216993b8 21-Jun-2009 Chris Lattner <sabre@nondot.org> hopefully fix the build on linux.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73857 91177308-0d34-0410-b5e6-96231b3b80d8
smLexer.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
smLexer.cpp
smLexer.h
lvm-mc.cpp
4577bbaa12be6d935163ff309978de221e483375 21-Jun-2009 Chris Lattner <sabre@nondot.org> oh yeah, cmake needs to be told explicitly about new files :)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73849 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
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
smLexer.cpp
smLexer.h
lvm-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
lvm-mc.cpp
f4a481505eadaf661623ff801af9f4f458bcf9b0 19-Jun-2009 Chris Lattner <sabre@nondot.org> fix build problem pointed out by John Thompson!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73739 91177308-0d34-0410-b5e6-96231b3b80d8
MakeLists.txt
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
lvm-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
MakeLists.txt
akefile
lvm-mc.cpp