#
7e645507 |
| 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)
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.
llvm-svn: 91579
show more ...
|
#
e0856c5f |
| 01-Nov-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Line this up as well.
llvm-svn: 85748
|
#
b244909a |
| 01-Nov-2009 |
Nick Lewycky <nicholas@mxc.ca> |
Fix whitespace.
llvm-svn: 85747
|
Revision tags: llvmorg-2.6.0 |
|
#
44790345 |
| 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"
llvm-svn: 82385
|
#
11b2fc9e |
| 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 t
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.
llvm-svn: 81754
show more ...
|
#
ce4bec8e |
| 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
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.
llvm-svn: 81461
show more ...
|
#
f92f9909 |
| 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 Comm
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.
llvm-svn: 81046
show more ...
|
#
7d91218c |
| 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::
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.
llvm-svn: 80929
show more ...
|
#
41bf56de |
| 03-Sep-2009 |
Chris Lattner <sabre@nondot.org> |
TAI -> MAI
llvm-svn: 80899
|
#
c7c5f9fa |
| 27-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc/Mach-O: Add MCCodeEmitter support, for encoding instructions. - No relocations yet, of course.
llvm-svn: 80235
|
#
d18dd1d5 |
| 27-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc: Only show instruction encodings with --show-encoding.
llvm-svn: 80230
|
#
81cb7532 |
| 27-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc: Tweak MCCodeEmitter skeleton.
llvm-svn: 80193
|
#
65105174 |
| 27-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
Sketch TargetRegistry support for MCCodeEmitter abstract interface. - Of course, nothing actually can provide this interface yet.
llvm-svn: 80188
|
#
4d7b2e33 |
| 26-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..
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.
llvm-svn: 80168
show more ...
|
#
61a8796d |
| 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-
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.
llvm-svn: 79990
show more ...
|
#
9e6f1f16 |
| 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 patc
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).
llvm-svn: 79807
show more ...
|
#
7b26fce2 |
| 22-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
Rename TargetAsmInfo (and its subclasses) to MCAsmInfo.
llvm-svn: 79763
|
#
3016db39 |
| 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 reasona
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.
llvm-svn: 79612
show more ...
|
#
5c947db7 |
| 19-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
Fix a commento.
llvm-svn: 79427
|
#
a61e93d4 |
| 17-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
give MCAsmStreamer a TargetAsmInfo.
llvm-svn: 79222
|
#
80d484e7 |
| 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 pa
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. :)
llvm-svn: 78986
show more ...
|
#
cd4eee54 |
| 11-Aug-2009 |
Daniel Dunbar <daniel@zuster.org> |
llvm-mc: Honor -o option (and add -f).
llvm-svn: 78640
|
#
6c20391d |
| 10-Aug-2009 |
Chris Lattner <sabre@nondot.org> |
split MachO section handling stuff out to its out .h/.cpp file.
llvm-svn: 78576
|
#
cb307a27 |
| 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 an
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?
llvm-svn: 78547
show more ...
|
#
591105c5 |
| 08-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!! ;-)
llvm-svn: 78517
|