1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00
llvm-mirror/lib/Transforms
Chris Lattner 90a2bbc74c Be more careful about the order we put stuff onto the worklist. This allow us to
collapse this:
bool %le(int %A, int %B) {
        %c1 = setgt int %A, %B
        %tmp = select bool %c1, int 1, int 0
        %c2 = setlt int %A, %B
        %result = select bool %c2, int -1, int %tmp
        %c3 = setle int %result, 0
        ret bool %c3
}

into:

bool %le(int %A, int %B) {
        %c3 = setle int %A, %B          ; <bool> [#uses=1]
        ret bool %c3
}

which is handy, because the Java FE makes these sequences all over the place.

This is tested as: test/Regression/Transforms/InstCombine/JavaCompare.ll

llvm-svn: 14086
2004-06-09 05:08:07 +00:00
..
Hello Finegrainify namespacification 2004-01-09 06:12:26 +00:00
Instrumentation Expand head-of-file comment. 2004-06-03 05:03:02 +00:00
IPO Fix a bug in the -deadtypeelim pass. The SymbolTable re-write changed it 2004-05-27 21:16:46 +00:00
Scalar Be more careful about the order we put stuff onto the worklist. This allow us to 2004-06-09 05:08:07 +00:00
Utils Implement constant folding of fmod, which is used a lot in povray 2004-05-27 07:25:00 +00:00
ExprTypeConvert.cpp Support getelementptr instructions which use uint's to index into structure 2004-04-05 01:30:19 +00:00
LevelRaise.cpp Support getelementptr instructions which use uint's to index into structure 2004-04-05 01:30:19 +00:00
Makefile Added LLVM copyright notice to Makefiles. 2003-10-20 22:26:57 +00:00
TransformInternals.cpp Support getelementptr instructions which use uint's to index into structure 2004-04-05 01:30:19 +00:00
TransformInternals.h Put all LLVM code into the llvm namespace, as per bug 109. 2003-11-11 22:41:34 +00:00