Skip to content
  1. Jul 16, 2005
    • Nate Begeman's avatar
      Teach the legalizer how to promote SINT_TO_FP to a wider SINT_TO_FP that · 7e74c834
      Nate Begeman authored
      the target natively supports.  This eliminates some special-case code from
      the x86 backend and generates better code as well.
      
      For an i8 to f64 conversion, before & after:
      
      _x87 before:
              subl $2, %esp
              movb 6(%esp), %al
              movsbw %al, %ax
              movw %ax, (%esp)
              filds (%esp)
              addl $2, %esp
              ret
      
      _x87 after:
              subl $2, %esp
              movsbw 6(%esp), %ax
              movw %ax, (%esp)
              filds (%esp)
              addl $2, %esp
              ret
      
      _sse before:
              subl $12, %esp
              movb 16(%esp), %al
              movsbl %al, %eax
              cvtsi2sd %eax, %xmm0
              addl $12, %esp
              ret
      
      _sse after:
              subl $12, %esp
              movsbl 16(%esp), %eax
              cvtsi2sd %eax, %xmm0
              addl $12, %esp
              ret
      
      llvm-svn: 22452
      7e74c834
    • Chris Lattner's avatar
      Break the code for expanding UINT_TO_FP operations out into its own · e3e847bf
      Chris Lattner authored
      SelectionDAGLegalize::ExpandLegalUINT_TO_FP method.
      
      Add a new method, PromoteLegalUINT_TO_FP, which allows targets to request
      that UINT_TO_FP operations be promoted to a larger input type.  This is
      useful for targets that have some UINT_TO_FP or SINT_TO_FP operations but
      not all of them (like X86).
      
      The same should be done with SINT_TO_FP, but this patch does not do that
      yet.
      
      llvm-svn: 22447
      e3e847bf
    • Chris Lattner's avatar
      You can't use config options without config.h · b47f5e6d
      Chris Lattner authored
      llvm-svn: 22446
      b47f5e6d
  2. Jul 14, 2005
  3. Jul 13, 2005
  4. Jul 12, 2005
  5. Jul 11, 2005
  6. Jul 10, 2005
  7. Jul 08, 2005
  8. Jul 07, 2005
    • Chris Lattner's avatar
      Add support for emitting the symbol table (and its string table) of the · 1932f5c9
      Chris Lattner authored
      module to the ELF file.  Test it by adding support for emitting common
      symbols.  This allows us to compile this:
      
      %X = weak global int 0
      %Y = weak global int 0
      %Z = weak global int 0
      
      to an elf file that 'readelf's this:
      
      Symbol table '.symtab' contains 4 entries:
         Num:    Value  Size Type    Bind   Vis      Ndx Name
           0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND
           1: 00000004     4 OBJECT  GLOBAL DEFAULT  COM X
           2: 00000004     4 OBJECT  GLOBAL DEFAULT  COM Y
           3: 00000004     4 OBJECT  GLOBAL DEFAULT  COM Z
      
      llvm-svn: 22343
      1932f5c9
  9. Jul 05, 2005
    • Chris Lattner's avatar
      Make several cleanups to Andrews varargs change: · f5473e44
      Chris Lattner authored
      1. Pass Value*'s into lowering methods so that the proper pointers can be
         added to load/stores from the valist
      2. Intrinsics that return void should only return a token chain, not a token
         chain/retval pair.
      3. Rename LowerVAArgNext -> LowerVAArg, because VANext is long gone.
      
      llvm-svn: 22338
      f5473e44
    • Andrew Lenharth's avatar
      2 fixes: · 80fe4116
      Andrew Lenharth authored
      1: Legalize operand in UINT_TO_FP expanision
      
      2: SRA x, const i8 was not promoting the constant to shift amount type.
      llvm-svn: 22337
      80fe4116
  10. Jul 02, 2005
  11. Jun 30, 2005
  12. Jun 29, 2005
  13. Jun 28, 2005
  14. Jun 27, 2005
  15. Jun 22, 2005
  16. Jun 18, 2005
  17. Jun 16, 2005
  18. May 15, 2005
  19. May 14, 2005
Loading