diff options
| author | Nick Lewycky <nicholas@mxc.ca> | 2007-03-18 14:37:20 +0000 |
|---|---|---|
| committer | Nick Lewycky <nicholas@mxc.ca> | 2007-03-18 14:37:20 +0000 |
| commit | f764441977cfc0e0fa613c5412c04c2120b0ba7e (patch) | |
| tree | cae69eb7ea70d164cb48937f201da8487d84565d /llvm/lib | |
| parent | d8f2e4fe4c255dba6a80388483176dd3fee0f2e0 (diff) | |
| download | bcm5719-llvm-f764441977cfc0e0fa613c5412c04c2120b0ba7e.tar.gz bcm5719-llvm-f764441977cfc0e0fa613c5412c04c2120b0ba7e.zip | |
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
]
...
llvm-svn: 35142
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/README.txt | 40 |
1 files changed, 0 insertions, 40 deletions
diff --git a/llvm/lib/Target/README.txt b/llvm/lib/Target/README.txt index 437e93c18c7..e6bfe6dee6f 100644 --- a/llvm/lib/Target/README.txt +++ b/llvm/lib/Target/README.txt @@ -348,46 +348,6 @@ pass. //===---------------------------------------------------------------------===// --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; |

