Skip to content
  1. Sep 06, 2009
  2. Sep 03, 2009
    • Kevin Enderby's avatar
      Removed the non-target independent AsmToken::Register enum constant · 7d91218c
      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
      7d91218c
  3. Aug 31, 2009
  4. Aug 14, 2009
    • Daniel Dunbar's avatar
      Update llvm-mc / MCAsmStreamer to print the instruction using the actual target · 80d484e7
      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
      80d484e7
  5. Aug 11, 2009
  6. Aug 10, 2009
  7. Aug 09, 2009
  8. Aug 08, 2009
    • Daniel Dunbar's avatar
      llvm-mc/AsmMatcher: Switch token matching to use the new string matcher. · 66f4f54e
      Daniel Dunbar authored
      Also, redefined MatchRegisterName to just return the register value or a
      sentinel, to simplify the generated code.
      
      llvm-svn: 78504
      66f4f54e
    • Daniel Dunbar's avatar
      llvm-mc/AsmMatcher: Improve match code. · 541efcc5
      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
      541efcc5
  9. Aug 07, 2009
    • Daniel Dunbar's avatar
      llvm-mc/AsmMatcher: Tweaks in response to feedback. · 15b80370
      Daniel Dunbar authored
      llvm-svn: 78404
      15b80370
    • Daniel Dunbar's avatar
      Improve disabling of X86 AsmMatcher. · cf18d6be
      Daniel Dunbar authored
      llvm-svn: 78381
      cf18d6be
    • Daniel Dunbar's avatar
      Disable X86 AsmMatcher for now, it is causing gcc-4.0 to run out of memory on · 32d0bb4c
      Daniel Dunbar authored
      i386-apple-darwin9. This presumably will get fixed once the generated code
      improves.
      
      llvm-svn: 78379
      32d0bb4c
    • Daniel Dunbar's avatar
      llvm-mc/AsmMatcher: Move to a slightly more sane matching design. · e10787e7
      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
      e10787e7
  10. Aug 02, 2009
  11. Aug 01, 2009
    • Daniel Dunbar's avatar
      llvm-mc: A few more parsing / match tweaks. · a4fc8d94
      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
      a4fc8d94
  12. Jul 31, 2009
  13. Jul 29, 2009
  14. Jul 28, 2009
  15. Jul 27, 2009
  16. Jul 25, 2009
  17. Jul 21, 2009
  18. Jul 20, 2009
  19. Jul 19, 2009
  20. Jul 17, 2009
Loading