Changes in directory llvm/lib/Target:
README.txt updated: 1.56 -> 1.57 --- Log message: This is implemented. We now generate: entry: icmp ugt i32 %x, 4 ; <i1>:0 [#uses=1] br i1 %0, label %cond_true, label %cond_false cond_true: ; preds = %entry %tmp1 = tail call i32 (...)* @bar( i32 12 ) ; <i32> [#uses=0] ret void cond_false: ; preds = %entry switch i32 %x, label %cond_true15 [ i32 4, label %cond_true3 i32 3, label %cond_true7 i32 2, label %cond_true11 i32 0, label %cond_false17 ] ... --- Diffs of the changes: (+0 -40) README.txt | 39 --------------------------------------- 1 files changed, 39 deletions(-) Index: llvm/lib/Target/README.txt diff -u llvm/lib/Target/README.txt:1.56 llvm/lib/Target/README.txt:1.57 --- llvm/lib/Target/README.txt:1.56 Wed Feb 14 21:39:18 2007 +++ llvm/lib/Target/README.txt Sun Mar 18 09:37:20 2007 @@ -348,46 +348,6 @@ //===---------------------------------------------------------------------===// --predsimplify should transform this: - -void bad(unsigned x) -{ - if (x > 4) - bar(12); - else if (x > 3) - bar(523); - else if (x > 2) - bar(36); - else if (x > 1) - bar(65); - else if (x > 0) - bar(45); - else - bar(367); -} - -into: - -void good(unsigned x) -{ - if (x == 4) - bar(523); - else if (x == 3) - bar(36); - else if (x == 2) - bar(65); - else if (x == 1) - bar(45); - else if (x == 0) - bar(367); - else - bar(12); -} - -to enable further optimizations. - -//===---------------------------------------------------------------------===// - Consider: typedef unsigned U32; _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits