llvm-6502/lib
Chris Lattner e5eb6f829c Add some simplifications for MULH[SU]. This allows us to compile this:
long %bar(long %X) {
  %Y = mul long %X, 4294967297
  ret long %Y
}

to this:

l1_bar:
        mov %EAX, DWORD PTR [%ESP + 4]
        mov %EDX, %EAX
        add %EDX, DWORD PTR [%ESP + 8]
        ret

instead of:

l1_bar:
        mov %ECX, DWORD PTR [%ESP + 4]
        mov %EDX, 1
        mov %EAX, %ECX
        mul %EDX
        add %EDX, %ECX
        add %EDX, DWORD PTR [%ESP + 8]
        mov %EAX, %ECX
        ret


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22044 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-15 05:39:08 +00:00
..
Analysis By definition, 'tail' calls cannot access the stack frame of their caller. 2005-05-08 23:58:12 +00:00
Archive Remove vim settings from source code; people should use llvm/utils/vim/vimrc 2005-05-05 22:33:09 +00:00
AsmParser * Convert tabs to spaces, fix code alignment 2005-05-10 22:02:28 +00:00
Bytecode fix the assertion 2005-05-13 23:35:47 +00:00
CodeGen Add some simplifications for MULH[SU]. This allows us to compile this: 2005-05-15 05:39:08 +00:00
Debugger Remove trailing whitespace 2005-04-21 22:36:52 +00:00
ExecutionEngine Fix a really horrible problem that causes the JIT to miscompile any program 2005-05-12 06:01:28 +00:00
Linker Preserve CC's when linking modules 2005-05-09 01:09:39 +00:00
Support Capitalize 2005-05-13 19:49:09 +00:00
System Remove vim settings from source code; people should use llvm/utils/vim/vimrc 2005-05-05 22:33:09 +00:00
Target Add markers in the asm file for tail calls, add a new ADJSTACKPTRri 2005-05-15 03:10:37 +00:00
Transforms Changes for ffs lib call simplification: 2005-05-14 16:42:52 +00:00
VMCore Verify that varargs functions all have ccc 2005-05-08 22:27:09 +00:00
Makefile