Skip to content
  1. Feb 08, 2011
  2. Feb 07, 2011
    • Benjamin Kramer's avatar
      SimplifyCFG: Track the number of used icmps when turning a icmp chain into a... · 8d6a8c13
      Benjamin Kramer authored
      SimplifyCFG: Track the number of used icmps when turning a icmp chain into a switch. If we used only one icmp, don't turn it into a switch.
      
      Also prevent the switch-to-icmp transform from creating identity adds, noticed by Marius Wachtler.
      
      llvm-svn: 125056
      8d6a8c13
    • Bruno Cardoso Lopes's avatar
      Add support for parsing dmb/dsb instructions · 36dd43fd
      Bruno Cardoso Lopes authored
      llvm-svn: 125055
      36dd43fd
    • Devang Patel's avatar
      639dd997
    • Bruno Cardoso Lopes's avatar
      Remove the MCR asm parser hack and start using the custom target specific asm · c9253b4d
      Bruno Cardoso Lopes authored
      parsing of operands introduced in r125030. As a small note, besides using a more
      generic approach we can also have more descriptive output when debugging
      llvm-mc, example:
      
      mcr  p7, #1, r5, c1, c1, #4
      
      note: parsed instruction:
        ['mcr', <ARMCC::al>,
                <coprocessor number: 7>,
                1,
                <register 73>,
                <coprocessor register: 1>,
                <coprocessor register: 1>,
                4]
      llvm-svn: 125052
      c9253b4d
    • Johnny Chen's avatar
      Add EmulateInstructionARM::EmulateB entries to the g_arm_opcodes and g_thumb_opcodes · 05a975d7
      Johnny Chen authored
      tables.  EmulateB() has empty impl. and needs to be filled in later.
      
      llvm-svn: 125048
      05a975d7
    • Chris Lattner's avatar
      fix comment change. · e17322b3
      Chris Lattner authored
      llvm-svn: 125047
      e17322b3
    • Jim Ingham's avatar
      Include Config.h so we can get "~" resolved. · 9035e7c2
      Jim Ingham authored
      llvm-svn: 125031
      9035e7c2
    • Bruno Cardoso Lopes's avatar
      Implement support for custom target specific asm parsing of operands. · 2315beba
      Bruno Cardoso Lopes authored
      Motivation: Improve the parsing of not usual (different from registers or
      immediates) operand forms.
      
      This commit implements only the generic support. The ARM specific modifications
      will come next.
      
      A table like the one below is autogenerated for every instruction
      containing a 'ParserMethod' in its AsmOperandClass
      
      static const OperandMatchEntry OperandMatchTable[20] = {
       /* Mnemonic, Operand List Mask, Operand Class, Features */
       { "cdp", 29 /* 0, 2, 3, 4 */, MCK_Coproc, Feature_IsThumb|Feature_HasV6 },
       { "cdp", 58 /* 1, 3, 4, 5 */, MCK_Coproc, Feature_IsARM },
      
      A matcher function very similar (but lot more naive) to
      MatchInstructionImpl scans the table. After the mnemonic match, the
      features are checked and if the "to be parsed" operand index is
      present in the mask, there's a real match. Then, a switch like the one
      below dispatch the parsing to the custom method provided in
      'ParseMethod':
      
       case MCK_Coproc:
         return TryParseCoprocessorOperandName(Operands);
      
      llvm-svn: 125030
      2315beba
    • David Greene's avatar
      · 79651c52
      David Greene authored
      [AVX] Insert/extract subvector lowering support.  This includes a
      couple of utility functions that will be used in other places for more
      AVX lowering.
      
      llvm-svn: 125029
      79651c52
    • Greg Clayton's avatar
      More termios fixes. We need to currently make sure to include: · 6c3e431e
      Greg Clayton authored
      #include "lldb/Host/Config.h"
      
      Or the LLDB_CONFIG_TERMIOS_SUPPORTED defined won't be set. I will fix all
      of this Termios stuff later today by moving lldb/Core/TTYState.* into the 
      host layer and then we conditionalize all of this inside TTYState.cpp and
      then we get rid of LLDB_CONFIG_TERMIOS_SUPPORTED all together.
      
      Typically, when we start to see too many "#if LLDB_CONFIG_XXXX" preprocessor
      directives, this is a good indicator that something needs to be moved over to
      the host layer. TTYState can be modified to do all of the things that many
      areas of the code are currently doing, and it will avoid all of the 
      preprocessor noise.
      
      llvm-svn: 125027
      6c3e431e
Loading