- Sep 06, 2009
-
-
Duncan Sands authored
disabled. llvm-svn: 81122
-
- Sep 03, 2009
-
-
Kevin Enderby authored
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
-
- Aug 31, 2009
-
-
Daniel Dunbar authored
Also, use MCInst::print instead of custom code in MCAsmPrinter. llvm-svn: 80575
-
- Aug 14, 2009
-
-
Daniel Dunbar authored
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
-
- Aug 11, 2009
-
-
Daniel Dunbar authored
llvm-svn: 78642
-
- Aug 10, 2009
-
-
Daniel Dunbar authored
on target specific operands for testing class membership and converting to MCInst operands. llvm-svn: 78597
-
- Aug 09, 2009
-
-
Daniel Dunbar authored
- We can now discriminate SUB32ri8 from SUB32ri, for example. llvm-svn: 78530
-
- Aug 08, 2009
-
-
Daniel Dunbar authored
Also, redefined MatchRegisterName to just return the register value or a sentinel, to simplify the generated code. llvm-svn: 78504
-
Daniel Dunbar authored
- This doesn't actually improve the algorithm (its still linear), but the generated (match) code is now fairly compact and table driven. Still need a generic string matcher. - The table still needs to be compressed, this is quite simple to do and should shrink it to under 16k. - This also simplifies and restructures the code to make the match classes more explicit, in anticipation of resolving ambiguities. llvm-svn: 78461
-
- Aug 07, 2009
-
-
Daniel Dunbar authored
llvm-svn: 78404
-
Daniel Dunbar authored
llvm-svn: 78381
-
Daniel Dunbar authored
i386-apple-darwin9. This presumably will get fixed once the generated code improves. llvm-svn: 78379
-
Daniel Dunbar authored
- Still not very sane, but a least its not 60k lines on X86. :) - In terms of correctness, currently some things are hard wired for X86, and we still don't properly resolve ambiguities (this is ignoring the instructions we don't even match due to funny .td stuff or other corner cases). The high level changes: 1. Represent tokens which are significant for matching explicitly as separate operands. This uniformly handles not only the instruction mnemonic, but also 'signficiant' syntax like the '*' in "call * ...". 2. Separate the matching of operands to an instruction from the construction of the MCInst. In theory this can be done during matching, but since the number of variations is small I think it makes sense to decompose the problems. 3. Improved a few of the mechanisms to at least successfully flatten / tokenize the assembly strings for PowerPC and ARM. 4. The comment at the top of AsmMatcherEmitter.cpp explains the approach I'm moving towards for handling ambiguous instructions. The high-bit is to infer a partial ordering of the operand classes (and force the user to specify one if we can't) and use that to resolve ambiguities. llvm-svn: 78378
-
- Aug 02, 2009
-
-
Daniel Dunbar authored
operands. llvm-svn: 77837
-
- Aug 01, 2009
-
-
Daniel Dunbar authored
- Operands which are just a label should be parsed as immediates, not memory operands (from the assembler perspective). - Match a few more flavors of immediates. - Distinguish match functions for memory operands which don't take a segment register. - We match the .s for "hello world" now! llvm-svn: 77745
-
- Jul 31, 2009
-
-
Daniel Dunbar authored
Also, change scale value to always be 1 when unspecified to machine MachineInst encoding. llvm-svn: 77728
-
Benjamin Kramer authored
llvm-svn: 77673
-
Daniel Dunbar authored
- This is "experimental" code, I am feeling my way around and working out the best way to do things (and learning tblgen in the process). Comments welcome, but keep in mind this stuff will change radically. - This is enough to match "subb" and friends, but not much else. The next step is to automatically generate the matchers for individual operands. llvm-svn: 77657
-
- Jul 29, 2009
-
-
Chris Lattner authored
llvm-svn: 77442
-
Chris Lattner authored
llvm-svn: 77441
-
Daniel Dunbar authored
llvm-svn: 77404
-
Daniel Dunbar authored
llvm-svn: 77384
-
- Jul 28, 2009
-
-
Daniel Dunbar authored
llvm-svn: 77362
-
- Jul 27, 2009
-
-
Daniel Dunbar authored
- My DFS traversal of LLVM is, at least for now, nearly complete! :) llvm-svn: 77258
-
- Jul 25, 2009
-
-
Daniel Dunbar authored
- Less boilerplate == good. llvm-svn: 77052
-
- Jul 21, 2009
-
-
Daniel Dunbar authored
llvm-svn: 76541
-
- Jul 20, 2009
-
-
Daniel Dunbar authored
- This provides the AsmLexer interface to the target specific assembly parsers. llvm-svn: 76460
-
Daniel Dunbar authored
- This provides the AsmParser interface to the target specific assembly parsers. llvm-svn: 76453
-
- Jul 19, 2009
-
-
Daniel Dunbar authored
llvm-svn: 76344
-
- Jul 17, 2009
-
-
Daniel Dunbar authored
- Not fully enabled yet, need a configure regeneration. llvm-svn: 76230
-