Skip to content
  1. Oct 31, 2010
    • Chris Lattner's avatar
      fix a crash on: · d6890268
      Chris Lattner authored
      let Constraints = "$val = $dst", Defs = [EFLAGS] in, isCodeGenOnly = 1 {
      
      we now get:
      
      X86InstrCompiler.td:653:52: error: Expected class, def, defm, multiclass or let definition
      let Constraints = "$val = $dst", Defs = [EFLAGS] in, isCodeGenOnly = 1 {
                                                         ^
      
      llvm-svn: 117863
      d6890268
    • Chris Lattner's avatar
      fix the !eq operator in tblgen to return a bit instead of an int. · 7ff33468
      Chris Lattner authored
      Use this to make the X86 and ARM targets set isCodeGenOnly=1 
      automatically for their instructions that have Format=Pseudo,
      resolving a hack in tblgen.
      
      llvm-svn: 117862
      7ff33468
  2. Oct 23, 2010
  3. Oct 06, 2010
  4. Jun 22, 2010
  5. Jun 18, 2010
  6. Jun 10, 2010
  7. Jun 05, 2010
  8. 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
  9. Nov 22, 2009
  10. Aug 13, 2009
  11. Jul 03, 2009
  12. Jun 29, 2009
    • David Greene's avatar
      · fd42c8a5
      David Greene authored
      Improve TableGen error reporting.
      
      llvm-svn: 74443
      fd42c8a5
  13. Jun 21, 2009
  14. 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
  15. Jun 08, 2009
    • David Greene's avatar
      · 8618f95c
      David Greene authored
      Make IntInits and ListInits typed.  This helps deduce types of !if and
      other operators.  For the rare cases where a list type cannot be
      deduced, provide a []<type> syntax, where <type> is the list element
      type.
      
      llvm-svn: 73078
      8618f95c
    • David Greene's avatar
      · 07eba05a
      David Greene authored
      Add a !regmatch operator to do pattern matching in TableGen.
      
      llvm-svn: 73074
      07eba05a
  16. 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
  17. 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
  18. 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
  19. Apr 30, 2009
  20. Apr 28, 2009
  21. Apr 24, 2009
    • David Greene's avatar
      · 7049e79e
      David Greene authored
      Fix multiclass inheritance to limit value resolution to new defs added
      by base multiclasses.  Do not attempt to alter defs from previous base
      multiclasses.  This fixes multiple multiclass inheritance.
      
      llvm-svn: 69974
      7049e79e
  22. Apr 23, 2009
    • David Greene's avatar
      · 196ac3c6
      David Greene authored
      Make BinOps typed and require a type specifier for !nameconcat.  This
      allows binops to be used in typed contexts such as when passing
      arguments to classes.
      
      llvm-svn: 69921
      196ac3c6
    • David Greene's avatar
      · f00919a0
      David Greene authored
      Allow defm to inherit from multiple multiclasses.
      
      llvm-svn: 69832
      f00919a0
  23. 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
    • David Greene's avatar
      Implement multiclass inheritance. · 753ed8fd
      David Greene authored
      llvm-svn: 69810
      753ed8fd
  24. Mar 26, 2009
  25. Mar 19, 2009
Loading