Skip to content
  1. Mar 26, 2008
  2. Mar 21, 2008
  3. Mar 10, 2008
  4. Mar 09, 2008
  5. Jan 29, 2008
    • Evan Cheng's avatar
      Work in progress. This patch *fixes* x86-64 calls which are modelled as... · 084a1cdc
      Evan Cheng authored
      Work in progress. This patch *fixes* x86-64 calls which are modelled as StructRet but really should be return in registers, e.g. _Complex long double, some 128-bit aggregates. This is a short term solution that is necessary only because llvm, for now, cannot model i128 nor call's with multiple results.
      Status: This only works for direct calls, and only the caller side is done. Disabled for now.
      
      llvm-svn: 46527
      084a1cdc
  6. Jan 11, 2008
  7. Jan 10, 2008
  8. Jan 07, 2008
  9. Dec 29, 2007
  10. Dec 18, 2007
  11. Dec 17, 2007
  12. Nov 16, 2007
  13. Oct 12, 2007
  14. Sep 29, 2007
  15. Sep 25, 2007
  16. Sep 23, 2007
    • Dale Johannesen's avatar
      Fix PR 1681. When X86 target uses +sse -sse2, · e36c4002
      Dale Johannesen authored
      keep f32 in SSE registers and f64 in x87.  This
      is effectively a new codegen mode.
      Change addLegalFPImmediate to permit float and
      double variants to do different things.
      Adjust callers.
      
      llvm-svn: 42246
      e36c4002
  17. Sep 14, 2007
  18. Sep 11, 2007
  19. Aug 30, 2007
  20. Aug 07, 2007
    • Dale Johannesen's avatar
      Long double patch 8 of N: make it partially work in · a47f7d7c
      Dale Johannesen authored
      SSE mode (all but conversions <-> other FP types, I think):
      >>Do not mark all-80-bit operations as "Requires[FPStack]"
      (which really means "not SSE").
      >>Refactor load-and-extend to facilitate this.
      >>Update comments.
      >>Handle long double in SSE when computing FP_REG_KILL.
      
      llvm-svn: 40906
      a47f7d7c
    • Dale Johannesen's avatar
      Long double patch 7 of N, unless I lost count:). · 57c6ac5f
      Dale Johannesen authored
      Last x87 bits for full functionality (not
      thoroughly tested, and long doubles do not work
      in SSE modes at all - use -mcpu=i486 for now)
      
      llvm-svn: 40886
      57c6ac5f
  21. Aug 06, 2007
  22. Aug 05, 2007
  23. Jul 31, 2007
  24. Jul 21, 2007
  25. Jul 19, 2007
    • Evan Cheng's avatar
      Change instruction description to split OperandList into OutOperandList and · 94b5a80b
      Evan Cheng authored
      InOperandList. This gives one piece of important information: # of results
      produced by an instruction.
      An example of the change:
      def ADD32rr  : I<0x01, MRMDestReg, (ops GR32:$dst, GR32:$src1, GR32:$src2),
                       "add{l} {$src2, $dst|$dst, $src2}",
                       [(set GR32:$dst, (add GR32:$src1, GR32:$src2))]>;
      =>
      def ADD32rr  : I<0x01, MRMDestReg, (outs GR32:$dst), (ins GR32:$src1, GR32:$src2),
                       "add{l} {$src2, $dst|$dst, $src2}",
                       [(set GR32:$dst, (add GR32:$src1, GR32:$src2))]>;
      
      llvm-svn: 40033
      94b5a80b
  26. Jul 10, 2007
  27. Jul 04, 2007
  28. Jul 03, 2007
  29. Jun 26, 2007
  30. Jun 19, 2007
    • Dan Gohman's avatar
      Replace M_REMATERIALIZIBLE and the newly-added isOtherReMaterializableLoad · 9e820649
      Dan Gohman authored
      with a general target hook to identify rematerializable instructions. Some
      instructions are only rematerializable with specific operands, such as loads
      from constant pools, while others are always rematerializable. This hook
      allows both to be identified as being rematerializable with the same
      mechanism.
      
      llvm-svn: 37644
      9e820649
  31. Mar 21, 2007
Loading