llvm-6502/lib
Nate Begeman 5a01481585 Make FP_TO_UINT Illegal. This allows us to generate significantly better
codegen for FP_TO_UINT by using the legalizer's SELECT variant.

Implement a codegen improvement for SELECT_CC, selecting the false node in
the MBB that feeds the phi node.  This allows us to codegen:
void foo(int *a, int b, int c) { int d = (a < b) ? 5 : 9; *a = d; }
as:
_foo:
        li r2, 5
        cmpw cr0, r4, r3
        bgt .LBB_foo_2  ; entry
.LBB_foo_1:     ; entry
        li r2, 9
.LBB_foo_2:     ; entry
        stw r2, 0(r3)
        blr

insted of:
_foo:
        li r2, 5
        li r5, 9
        cmpw cr0, r4, r3
        bgt .LBB_foo_2  ; entry
.LBB_foo_1:     ; entry
        or r2, r5, r5
.LBB_foo_2:     ; entry
        stw r2, 0(r3)
        blr


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22784 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-14 01:17:16 +00:00
..
Analysis Fix an obvious oops 2005-08-10 00:59:40 +00:00
Archive
AsmParser
Bytecode Eliminate all remaining tabs and trailing spaces. 2005-07-27 06:12:32 +00:00
CodeGen Remove an unncessary argument to SimplifySelectCC and add an additional 2005-08-13 06:14:17 +00:00
Debugger
ExecutionEngine one cannot allocate a global, until one is done initializing the global pointers 2005-08-01 17:35:40 +00:00
Linker
Support Allow tools with "consume after" options (like lli) to take more positional 2005-08-08 21:57:27 +00:00
System Fix grammar: it's == "it is". 2005-08-02 16:04:59 +00:00
Target Make FP_TO_UINT Illegal. This allows us to generate significantly better 2005-08-14 01:17:16 +00:00
Transforms Ooops, don't forget to clear this. The real inner loop is now: 2005-08-13 07:42:01 +00:00
VMCore Testing a variable before it is defined doesn't work so well. It is a fairly small thing, so just let everyone build the .a file 2005-08-13 14:58:23 +00:00
Makefile