Skip to content
  1. Jan 05, 2010
    • David Greene's avatar
      · 297bfe6d
      David Greene authored
      Add an !eq() operator to TableGen.  It operates on strings only.
      Use !cast<string>() to compare other types of objects.
      
      llvm-svn: 92754
      297bfe6d
  2. Oct 26, 2009
  3. Jun 21, 2009
  4. Jun 09, 2009
    • David Greene's avatar
      · 58a6b76c
      David Greene authored
      Revert 73074 and 73099 because Windows doesn't have POSIX
      regular expressions.  We will add an OpenBSD implementation
      and re-apply ASAP.
      
      llvm-svn: 73138
      58a6b76c
    • David Greene's avatar
      · 67c05bff
      David Greene authored
      Add a !patsubst operator.  Use on string types.
      
      llvm-svn: 73099
      67c05bff
  5. Jun 08, 2009
    • David Greene's avatar
      · 07eba05a
      David Greene authored
      Add a !regmatch operator to do pattern matching in TableGen.
      
      llvm-svn: 73074
      07eba05a
  6. May 15, 2009
    • David Greene's avatar
      · 3587eed2
      David Greene authored
      Implement !if, analogous to $(if) in GNU make.
      
      llvm-svn: 71815
      3587eed2
    • David Greene's avatar
      · d571b3c9
      David Greene authored
      Graduate LLVM to the big leagues by embedding a LISP processor into TableGen.
      
      Ok, not really, but do support some common LISP functions:
      
      * car
      * cdr
      * null
      
      llvm-svn: 71805
      d571b3c9
    • David Greene's avatar
      · e917fff3
      David Greene authored
      Implement a !foreach operator analogous to GNU make's $(foreach).
      Use it on dags and lists like this:
      
      class decls {
        string name;
      }
      
      def Decls : decls;
      
      class B<list<string> names> : A<!foreach(Decls.name, names, !strconcat(Decls.name, ", Sr."))>;
      
      llvm-svn: 71803
      e917fff3
  7. 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
  8. 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
  9. Mar 13, 2009
  10. Oct 22, 2008
  11. 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
  12. Dec 29, 2007
  13. Nov 23, 2007
  14. Nov 22, 2007
  15. Nov 19, 2007
  16. Nov 18, 2007
Loading