Skip to content
  1. Apr 03, 2008
    • Dan Gohman's avatar
      Move instruction flag inference out of InstrInfoEmitter and into · fc4ad7de
      Dan Gohman authored
      CodeGenDAGPatterns, where it can be used in other tablegen backends.
      This allows the inference to be done for DAGISelEmitter so that it
      gets accurate mayLoad/mayStore/isSimpleLoad flags. 
      
      This brings MemOperand functionality back to where it was before
      48329. However, it doesn't solve the problem of anonymous patterns
      which expand to code that does loads or stores.
      
      llvm-svn: 49123
      fc4ad7de
  2. Apr 02, 2008
  3. Apr 01, 2008
  4. Mar 28, 2008
  5. Mar 27, 2008
  6. Mar 25, 2008
  7. Mar 23, 2008
  8. Mar 22, 2008
  9. Mar 21, 2008
    • Duncan Sands's avatar
      Introduce a new node for holding call argument · d97eea37
      Duncan Sands authored
      flags.  This is needed by the new legalize types
      infrastructure which wants to expand the 64 bit
      constants previously used to hold the flags on
      32 bit machines.  There are two functional changes:
      (1) in LowerArguments, if a parameter has the zext
      attribute set then that is marked in the flags;
      before it was being ignored; (2) PPC had some bogus
      code for handling two word arguments when using the
      ELF 32 ABI, which was hard to convert because of
      the bogusness.  As suggested by the original author
      (Nicolas Geoffray), I've disabled it for the moment.
      Tested with "make check" and the Ada ACATS testsuite.
      
      llvm-svn: 48640
      d97eea37
  10. Mar 20, 2008
  11. Mar 17, 2008
  12. Mar 16, 2008
  13. Mar 15, 2008
  14. Mar 13, 2008
    • Christopher Lamb's avatar
      Get rid of a pseudo instruction and replace it with subreg based operation on... · dd55d3f1
      Christopher Lamb authored
      Get rid of a pseudo instruction and replace it with subreg based operation on real instructions, ridding the asm printers of the hack used to do this previously. In the process, update LowerSubregs to be careful about eliminating copies that have side affects. 
      
      Note: the coalescer will have to be careful about this too, when it starts coalescing insert_subreg nodes.
      llvm-svn: 48329
      dd55d3f1
  15. Mar 11, 2008
  16. Mar 10, 2008
  17. Mar 05, 2008
    • Scott Michel's avatar
      This patch fixes a problem encountered by the CellSPU backend where variants · 94420742
      Scott Michel authored
      were being pruned in patterns where a variable was used more than once, e.g.:
      
        (or (and R32C:$rA, R32C:$rC), (and R32C:$rB, (not R32C:$rC)))
      
      In this example, $rC is used more than once and is actually significant to
      instruction selection pattern matching when commuted variants are produced.
      This patch scans the pattern's clauses and collects the variables, creating
      a set of variables that are used more than once. TreePatternNode::isIsomorphicTo()
      also understands that multiply-used variables are significant.
      
      llvm-svn: 47950
      94420742
  18. Feb 29, 2008
  19. Feb 26, 2008
  20. Feb 24, 2008
  21. Feb 20, 2008
  22. Feb 16, 2008
    • Scott Michel's avatar
      Make tblgen a little smarter about constants smaller than i32. Currently, · a3cefeaf
      Scott Michel authored
      tblgen will complain if a sign-extended constant does not fit into a
      data type smaller than i32, e.g., i16. This causes a problem when certain
      hex constants are used, such as 0xff for byte masks or immediate xor
      values.
      
      tblgen will try the sign-extended value first and, if the sign extended
      value would overflow, it tries to see if the unsigned value will fit.
      Consequently, a software developer can now safely incant:
      
      	(XORHIr16 R16C:$rA, 0xffff)
      
      which is somewhat clearer and more informative than incanting:
      
      	(XORHIr16 R16C:$rA, (i16 -1))
      
      even if the two are bitwise equivalent.
      
      Tblgen also outputs the 64-bit unsigned constant in the generated ISel code
      when getTargetConstant() is invoked.
      
      llvm-svn: 47188
      a3cefeaf
  23. Feb 15, 2008
    • Dale Johannesen's avatar
      Rewrite tblgen handling of subtarget features so · 6ca3ccf5
      Dale Johannesen authored
      it follows the order of the enum, not alphabetical.
      The motivation is to make -mattr=+ssse3,+sse41
      select SSE41 as it ought to.  Added "ignored"
      enum values of 0 to PPC and SPU to avoid compiler
      warnings.
      
      llvm-svn: 47143
      6ca3ccf5
  24. Feb 14, 2008
    • Nate Begeman's avatar
      Change how FP immediates are handled. · 53e1b3f9
      Nate Begeman authored
      1) ConstantFP is now expand by default
      2) ConstantFP is not turned into TargetConstantFP during Legalize
         if it is legal.
      
      This allows ConstantFP to be handled like Constant, allowing for 
      targets that can encode FP immediates as MachineOperands.
      
      As a bonus, fix up Itanium FP constants, which now correctly match,
      and match more constants!  Hooray.
      
      llvm-svn: 47121
      53e1b3f9
  25. Feb 12, 2008
  26. Feb 10, 2008
  27. Feb 09, 2008
  28. Feb 06, 2008
  29. Feb 05, 2008
Loading