llvm-6502/lib
Chris Lattner a28381cac2 Remove all knowledge of UINT_TO_FP from the X86 backend, relying on the
legalizer to eliminate them.  With this comes the expected code quality
improvements, such as, for this:

double foo(unsigned short X) { return X; }

we now generate this:

_foo:
        subl $4, %esp
        movzwl 8(%esp), %eax
        movl %eax, (%esp)
        fildl (%esp)
        addl $4, %esp
        ret

instead of this:

_foo:
        subl $4, %esp
        movw 8(%esp), %ax
        movzwl %ax, %eax   ;; Load not folded into this.
        movl %eax, (%esp)
        fildl (%esp)
        addl $4, %esp
        ret

-Chris


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22449 91177308-0d34-0410-b5e6-96231b3b80d8
2005-07-16 00:28:20 +00:00
..
Analysis Remove glibc specific functions, and mark a couple as C99 2005-07-11 20:35:20 +00:00
Archive Final Changes For PR495: 2005-07-08 03:08:58 +00:00
AsmParser
Bytecode Final Changes For PR495: 2005-07-08 03:08:58 +00:00
CodeGen Break the code for expanding UINT_TO_FP operations out into its own 2005-07-16 00:19:57 +00:00
Debugger For PR495: 2005-07-07 23:21:43 +00:00
ExecutionEngine For PR540: 2005-07-12 15:51:55 +00:00
Linker For PR495: 2005-07-07 23:21:43 +00:00
Support Final Changes For PR495: 2005-07-08 03:08:58 +00:00
System Don't call pthread_mutexattr_setpshared on FreeBSD because its implementation 2005-07-13 03:02:06 +00:00
Target Remove all knowledge of UINT_TO_FP from the X86 backend, relying on the 2005-07-16 00:28:20 +00:00
Transforms Fix a problem that instcombine would hit when dealing with unreachable code. 2005-07-07 20:40:38 +00:00
VMCore
Makefile