Skip to content
  1. Nov 29, 2010
  2. Oct 17, 2010
  3. Sep 06, 2010
  4. Jun 23, 2010
  5. Jun 17, 2010
  6. May 28, 2010
  7. May 05, 2010
  8. Apr 03, 2010
  9. Feb 24, 2010
  10. Feb 15, 2010
    • Chris Lattner's avatar
      Check in the first big step of rewriting DAGISelEmitter to · b02cdaaa
      Chris Lattner authored
      produce a table based matcher instead of gobs of C++ Code.
      
      Though it's not done yet, the shrinkage seems promising,
      the table for the X86 ISel is 75K and still has a lot of 
      optimization to come (compare to the ~1.5M of .o generated
      the old way, much of which will go away).
      
      The code is currently disabled by default (the #if 0 in
      DAGISelEmitter.cpp).  When enabled it generates a dead
      SelectCode2 function in the DAGISel Header which will
      eventually replace SelectCode.
      
      There is still a lot of stuff left to do, which are
      documented with a trail of FIXMEs.
      
      llvm-svn: 96215
      b02cdaaa
  11. Feb 09, 2010
  12. Jan 29, 2010
  13. Dec 19, 2009
    • Sean Callanan's avatar
      Table-driven disassembler for the X86 architecture (16-, 32-, and 64-bit · 04cc307e
      Sean Callanan authored
      incarnations), integrated into the MC framework.  
      
      The disassembler is table-driven, using a custom TableGen backend to 
      generate hierarchical tables optimized for fast decode.  The disassembler 
      consumes MemoryObjects and produces arrays of MCInsts, adhering to the 
      abstract base class MCDisassembler (llvm/MC/MCDisassembler.h).
      
      The disassembler is documented in detail in
      
      - lib/Target/X86/Disassembler/X86Disassembler.cpp (disassembler runtime)
      - utils/TableGen/DisassemblerEmitter.cpp (table emitter)
      
      You can test the disassembler by running llvm-mc -disassemble for i386
      or x86_64 targets.  Please let me know if you encounter any problems
      with it.
      
      llvm-svn: 91749
      04cc307e
  14. Nov 25, 2009
  15. Nov 19, 2009
  16. Jul 11, 2009
  17. Jun 21, 2009
  18. May 22, 2009
  19. Mar 16, 2009
  20. Mar 13, 2009
  21. Nov 03, 2008
    • Dan Gohman's avatar
      Change how extended types are represented in MVTs. Instead of fiddling · d7546abb
      Dan Gohman authored
      bits, use a union of a SimpleValueType enum and a regular Type*.
      
      This increases the size of MVT on 64-bit hosts from 32 bits to 64 bits.
      In most cases, this doesn't add significant overhead. There are places
      in codegen that use arrays of MVTs, so these are now larger, but
      they're small in common cases.
      
      This eliminates restrictions on the size of integer types and vector
      types that can be represented in codegen. As the included testcase
      demonstrates, it's now possible to codegen very large add operations.
      There are still some complications with using very large types. PR2880
      is still open so they can't be used as return values on normal targets,
      there are no libcalls defined for very large integers so operations
      like multiply and divide aren't supported.
      
      This also introduces a minimal tablgen Type library, capable of
      handling IntegerType and VectorType. This will allow parts of
      TableGen that don't depend on using SimpleValueType values to handle
      arbitrary integer and vector types.
      
      llvm-svn: 58623
      d7546abb
  22. Sep 22, 2008
Loading