Skip to content
  1. Jan 24, 2005
  2. Jan 23, 2005
  3. Jan 22, 2005
    • Reid Spencer's avatar
      We're working towards LLVM 1.5 now so bump the version number. This change · 12b25a12
      Reid Spencer authored
      won't be propagated to the configure script until there's a need to change
      configure.ac for some larger purpose.
      
      llvm-svn: 19762
      12b25a12
    • Chris Lattner's avatar
      Minor fix. · 97cf8fd4
      Chris Lattner authored
      llvm-svn: 19761
      97cf8fd4
    • Chris Lattner's avatar
      This is the final big of factoring. This shares cases in suboperand · 59a7f5c2
      Chris Lattner authored
      differences, which means that identical instructions (after stripping off
      the first literal string) do not run any different code at all.  On the X86,
      this turns this code:
      
          switch (MI->getOpcode()) {
          case X86::ADC32mi: printOperand(MI, 4, MVT::i32); break;
          case X86::ADC32mi8: printOperand(MI, 4, MVT::i8); break;
          case X86::ADC32mr: printOperand(MI, 4, MVT::i32); break;
          case X86::ADD32mi: printOperand(MI, 4, MVT::i32); break;
          case X86::ADD32mi8: printOperand(MI, 4, MVT::i8); break;
          case X86::ADD32mr: printOperand(MI, 4, MVT::i32); break;
          case X86::AND32mi: printOperand(MI, 4, MVT::i32); break;
          case X86::AND32mi8: printOperand(MI, 4, MVT::i8); break;
          case X86::AND32mr: printOperand(MI, 4, MVT::i32); break;
          case X86::CMP32mi: printOperand(MI, 4, MVT::i32); break;
          case X86::CMP32mr: printOperand(MI, 4, MVT::i32); break;
          case X86::MOV32mi: printOperand(MI, 4, MVT::i32); break;
          case X86::MOV32mr: printOperand(MI, 4, MVT::i32); break;
          case X86::OR32mi: printOperand(MI, 4, MVT::i32); break;
          case X86::OR32mi8: printOperand(MI, 4, MVT::i8); break;
          case X86::OR32mr: printOperand(MI, 4, MVT::i32); break;
          case X86::ROL32mi: printOperand(MI, 4, MVT::i8); break;
          case X86::ROR32mi: printOperand(MI, 4, MVT::i8); break;
          case X86::SAR32mi: printOperand(MI, 4, MVT::i8); break;
          case X86::SBB32mi: printOperand(MI, 4, MVT::i32); break;
          case X86::SBB32mi8: printOperand(MI, 4, MVT::i8); break;
          case X86::SBB32mr: printOperand(MI, 4, MVT::i32); break;
          case X86::SHL32mi: printOperand(MI, 4, MVT::i8); break;
          case X86::SHLD32mrCL: printOperand(MI, 4, MVT::i32); break;
          case X86::SHR32mi: printOperand(MI, 4, MVT::i8); break;
          case X86::SHRD32mrCL: printOperand(MI, 4, MVT::i32); break;
          case X86::SUB32mi: printOperand(MI, 4, MVT::i32); break;
          case X86::SUB32mi8: printOperand(MI, 4, MVT::i8); break;
          case X86::SUB32mr: printOperand(MI, 4, MVT::i32); break;
          case X86::TEST32mi: printOperand(MI, 4, MVT::i32); break;
          case X86::TEST32mr: printOperand(MI, 4, MVT::i32); break;
          case X86::TEST8mi: printOperand(MI, 4, MVT::i8); break;
          case X86::XCHG32mr: printOperand(MI, 4, MVT::i32); break;
          case X86::XOR32mi: printOperand(MI, 4, MVT::i32); break;
          case X86::XOR32mi8: printOperand(MI, 4, MVT::i8); break;
          case X86::XOR32mr: printOperand(MI, 4, MVT::i32); break;
          }
      
      into this:
      
          switch (MI->getOpcode()) {
          case X86::ADC32mi:
          case X86::ADC32mr:
          case X86::ADD32mi:
          case X86::ADD32mr:
          case X86::AND32mi:
          case X86::AND32mr:
          case X86::CMP32mi:
          case X86::CMP32mr:
          case X86::MOV32mi:
          case X86::MOV32mr:
          case X86::OR32mi:
          case X86::OR32mr:
          case X86::SBB32mi:
          case X86::SBB32mr:
          case X86::SHLD32mrCL:
          case X86::SHRD32mrCL:
          case X86::SUB32mi:
          case X86::SUB32mr:
          case X86::TEST32mi:
          case X86::TEST32mr:
          case X86::XCHG32mr:
          case X86::XOR32mi:
          case X86::XOR32mr: printOperand(MI, 4, MVT::i32); break;
          case X86::ADC32mi8:
          case X86::ADD32mi8:
          case X86::AND32mi8:
          case X86::OR32mi8:
          case X86::ROL32mi:
          case X86::ROR32mi:
          case X86::SAR32mi:
          case X86::SBB32mi8:
          case X86::SHL32mi:
          case X86::SHR32mi:
          case X86::SUB32mi8:
          case X86::TEST8mi:
          case X86::XOR32mi8: printOperand(MI, 4, MVT::i8); break;
          }
      
      After this, the generated asmwriters look pretty much as though they were
      generated by hand.  This shrinks the X86 asmwriter.inc files from 55101->39669
      and 55429->39551 bytes each, and PPC from 16766->12859 bytes.
      
      llvm-svn: 19760
      59a7f5c2
Loading