1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-26 22:42:46 +02:00
llvm-mirror/lib
Chris Lattner 824a8efa08 Fold (select C, load A, load B) -> load (select C, A, B). This happens quite
a lot throughout many programs.  In particular, specfp triggers it a bunch for
constant FP nodes when you have code like  cond ? 1.0 : -1.0.

If the PPC ISel exposed the loads implicit in pic references to external globals,
we would be able to eliminate a load in cases like this as well:

%X = external global int
%Y = external global int
int* %test4(bool %C) {
        %G = select bool %C, int* %X, int* %Y
        ret int* %G
}

Note that this breaks things that use SrcValue's (see the fixme), but since nothing
uses them yet, this is ok.

Also, simplify some code to use hasOneUse() on an SDOperand instead of hasNUsesOfValue directly.

llvm-svn: 23781
2005-10-18 06:04:22 +00:00
..
Analysis wrap a long line 2005-09-28 22:30:58 +00:00
AsmParser Implement PR614: 2005-08-27 18:50:39 +00:00
Bytecode Use a map to cache the ModuleType information, so we can do logarithmic 2005-10-03 21:26:53 +00:00
CodeGen Fold (select C, load A, load B) -> load (select C, A, B). This happens quite 2005-10-18 06:04:22 +00:00
Debugger For PR495: 2005-07-07 23:21:43 +00:00
ExecutionEngine Add help support for -mcpu and -mattr. 2005-09-02 19:27:43 +00:00
Linker For PR495: 2005-07-07 23:21:43 +00:00
Support Allow bugpoint+PPC codegen to use fsqrt 2005-08-29 13:14:24 +00:00
System For PR616: 2005-08-24 10:07:20 +00:00
Target Do the right thing and enable 64 bit regs under the control of a subtarget 2005-10-18 00:56:42 +00:00
Transforms Make this work for FP constantexprs 2005-10-17 20:18:38 +00:00
VMCore Allow $ 2005-10-14 01:28:34 +00:00
Makefile