llvm-6502/lib
Chris Lattner 111c228241 Compile:
int %test(ulong *%tmp) {
        %tmp = load ulong* %tmp         ; <ulong> [#uses=1]
        %tmp.mask = shr ulong %tmp, ubyte 50            ; <ulong> [#uses=1]
        %tmp.mask = cast ulong %tmp.mask to ubyte
        %tmp2 = and ubyte %tmp.mask, 3          ; <ubyte> [#uses=1]
        %tmp2 = cast ubyte %tmp2 to int         ; <int> [#uses=1]
        ret int %tmp2
}

to:

_test:
        movl 4(%esp), %eax
        movl 4(%eax), %eax
        shrl $18, %eax
        andl $3, %eax
        ret

instead of:

_test:
        movl 4(%esp), %eax
        movl 4(%eax), %eax
        shrl $18, %eax
        # TRUNCATE movb %al, %al
        andb $3, %al
        movzbl %al, %eax
        ret


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30558 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-21 06:14:31 +00:00
..
Analysis Explain change with a comment. 2006-09-17 17:51:00 +00:00
Archive For PR797: 2006-08-25 19:54:53 +00:00
AsmParser Added some eye-candy for Subtarget type checking 2006-09-17 20:25:45 +00:00
Bytecode Small fixes for supporting dll* linkage types 2006-09-17 13:06:18 +00:00
CodeGen Compile: 2006-09-21 06:14:31 +00:00
Debugger
ExecutionEngine Unbreak the JIT 2006-09-15 04:56:11 +00:00
Linker Adding dllimport, dllexport and external weak linkage types. 2006-09-14 18:23:27 +00:00
Support Instantiate Statistic<> in one place, not in every .o file that uses it. 2006-08-30 04:17:00 +00:00
System Use new config.h macro 2006-09-14 06:21:59 +00:00
Target Fit in 80-cols 2006-09-21 05:46:00 +00:00
Transforms Fix Transforms/IndVarsSimplify/2006-09-20-LFTR-Crash.ll 2006-09-21 05:12:20 +00:00
VMCore Adding codegeneration for StdCall & FastCall calling conventions 2006-09-20 22:03:51 +00:00
Makefile