Skip to content
  1. May 14, 2009
    • David Greene's avatar
      · 98ed3c72
      David Greene authored
      Implement a !subst operation simmilar to $(subst) in GNU make to do
      def/var/string substitution on generic pattern templates.  For example:
      
      def Type;
      def v4f32 : Type;
      def TYPE : Type;
      
      class GenType<Type t> {
        let type = !(subst TYPE, v4f32, t);
      }
      
      def TheType : GenType<TYPE>;
      
      llvm-svn: 71801
      98ed3c72
    • David Greene's avatar
      · e8f3b27e
      David Greene authored
      Implement !cast.
      
      llvm-svn: 71794
      e8f3b27e
    • David Greene's avatar
      · 5d0c051e
      David Greene authored
      Operation Enhancements
      
      Create an OpInit class to serve as a base for all operation Inits.
      
      Move parsing of operation constructs to separate functions and reference
      from multiple places.
      
      Add some commented out new operations.  Coming soon.
      
      llvm-svn: 71789
      5d0c051e
  2. May 05, 2009
    • David Greene's avatar
      · 44f9d7a8
      David Greene authored
      Allow multiclass def names to contain "#NAME"" where TableGen replaces
      #NAME# with the name of the defm instantiating the multiclass.  This is
      useful for AVX instruction naming where a "V" prefix is standard
      throughout the ISA.  For example:
      
      multiclass SSE_AVX_Inst<...> {
         def SS : Instr<...>;
         def SD : Instr<...>;
         def PS : Instr<...>;
         def PD : Instr<...>;
      
         def V#NAME#SS : Instr<...>;
         def V#NAME#SD : Instr<...>;
         def V#NAME#PS : Instr<...>;
         def V#NAME#PD : Instr<...>;
      }
      
      defm ADD : SSE_AVX_Inst<...>;
      
      Results in 
      
      ADDSS
      ADDSD
      ADDPS
      ADDPD
      
      VADDSS
      VADDSD
      VADDPS
      VADDPD
      
      llvm-svn: 70979
      44f9d7a8
  3. Apr 22, 2009
    • David Greene's avatar
      · a9c6c5d3
      David Greene authored
      Implement !nameconcat to concatenate strings and look up the resulting
      name in the symbol table, returning an object.
      
      llvm-svn: 69822
      a9c6c5d3
  4. Mar 13, 2009
  5. Oct 17, 2008
    • Dan Gohman's avatar
      Fun x86 encoding tricks: when adding an immediate value of 128, · ca0546fa
      Dan Gohman authored
      use a SUB instruction instead of an ADD, because -128 can be
      encoded in an 8-bit signed immediate field, while +128 can't be.
      This avoids the need for a 32-bit immediate field in this case.
      
      A similar optimization applies to 64-bit adds with 0x80000000,
      with the 32-bit signed immediate field.
      
      To support this, teach tablegen how to handle 64-bit constants.
      
      llvm-svn: 57663
      ca0546fa
  6. Oct 08, 2008
  7. Apr 01, 2008
  8. Feb 20, 2008
  9. Dec 29, 2007
  10. Nov 22, 2007
  11. Nov 21, 2007
    • Chuck Rose III's avatar
    • Chuck Rose III's avatar
      This change does a couple of things. First it gets the Visual Studio builds working. · 07b57d26
      Chuck Rose III authored
      I added the lexing files to the VStudio projects and removed the .l files from the 
      VStudio projects.  There was a problem with use of strtoll in TGLexer.cpp and Chris
      suggested switching to strtol, so that's included here.
      
      Additionally, this checkin adds minimal x64 builds to the VStudio builds.  Build issues
      related to x64 in the windows specific files for DynamicLibrary.inc and Singals.inc
      are worked around, but not ultimately solved.  Binaries used to be stored in
      
      ...\win32\{Debug|Release}
      
      but are now kept in
      
      ...\win32\bin\{win32|x64}\{Debug|Release}
      
      intermediate files will continue to be stored in the individual project directories under 
      win32.  
      
      Some names will likely change in the future to reflect that the vstudio projects
      are no longer 32-bit only, but I wanted to get things up and running today so kept away
      from bigger restructuring.
      
      llvm-svn: 44260
      07b57d26
  12. Nov 19, 2007
  13. Nov 18, 2007
Loading