Skip to content
  1. Jun 21, 2009
  2. Jun 20, 2009
  3. Jun 17, 2009
  4. Jun 14, 2009
  5. Jun 09, 2009
  6. 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
      · b0354455
      David Greene authored
      Make !if short-circuit when possible.
      
      llvm-svn: 73076
      b0354455
    • David Greene's avatar
      · 07eba05a
      David Greene authored
      Add a !regmatch operator to do pattern matching in TableGen.
      
      llvm-svn: 73074
      07eba05a
  7. Jun 02, 2009
    • Dale Johannesen's avatar
      Revert 72707 and 72709, for the moment. · 5234d379
      Dale Johannesen authored
      llvm-svn: 72712
      5234d379
    • Dale Johannesen's avatar
      Make the implicit inputs and outputs of target-independent · 0b8ca792
      Dale Johannesen authored
      ADDC/ADDE use MVT::i1 (later, whatever it gets legalized to)
      instead of MVT::Flag.  Remove CARRY_FALSE in favor of 0; adjust
      all target-independent code to use this format.
      
      Most targets will still produce a Flag-setting target-dependent
      version when selection is done.  X86 is converted to use i32
      instead, which means TableGen needs to produce different code
      in xxxGenDAGISel.inc.  This keys off the new supportsHasI1 bit
      in xxxInstrInfo, currently set only for X86; in principle this
      is temporary and should go away when all other targets have
      been converted.  All relevant X86 instruction patterns are
      modified to represent setting and using EFLAGS explicitly.  The
      same can be done on other targets.
      
      The immediate behavior change is that an ADC/ADD pair are no
      longer tightly coupled in the X86 scheduler; they can be
      separated by instructions that don't clobber the flags (MOV).
      I will soon add some peephole optimizations based on using
      other instructions that set the flags to feed into ADC.
      
      llvm-svn: 72707
      0b8ca792
  8. May 23, 2009
  9. May 22, 2009
  10. May 15, 2009
    • Nick Lewycky's avatar
      Fix warning. · 94298227
      Nick Lewycky authored
      llvm-svn: 71834
      94298227
    • Nick Lewycky's avatar
      Add extra parenthesis around || statements to pacify compiler. · d449e7c8
      Nick Lewycky authored
      Also fix up some 80col violations while I'm there.
      
      llvm-svn: 71833
      d449e7c8
    • 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
  11. 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
    • David Greene's avatar
      · 9d3febea
      David Greene authored
      Fix PR4207.
      
      If we're resolving a list element access and we're given a VarInit,
      return a new VarListElementInit referencing the VarInit.
      
      llvm-svn: 71787
      9d3febea
  12. May 13, 2009
  13. May 09, 2009
  14. May 08, 2009
  15. May 07, 2009
  16. May 06, 2009
  17. 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
    • Mikhail Glushenkov's avatar
      Fix incorrect code generation with ENV. · d953cd94
      Mikhail Glushenkov authored
      See PR4157 for details. Patch by Martin Nowack!
      
      llvm-svn: 70973
      d953cd94
  18. May 04, 2009
Loading