diff options
author | Philip Reames <listmail@philipreames.com> | 2016-03-03 19:44:06 +0000 |
---|---|---|
committer | Philip Reames <listmail@philipreames.com> | 2016-03-03 19:44:06 +0000 |
commit | 146307eb52f1fa03cf04a81e218807173d6e08f9 (patch) | |
tree | 92f30d5ae1832b9d56a8eb785290146133c949e2 /llvm/test/Analysis/ValueTracking | |
parent | 9bba75084b7bde6a6215d616f664d3d2486f4871 (diff) | |
download | bcm5719-llvm-146307eb52f1fa03cf04a81e218807173d6e08f9.tar.gz bcm5719-llvm-146307eb52f1fa03cf04a81e218807173d6e08f9.zip |
[ValueTracking] Remove dead code from an old experiment
This experiment was originally about trying to use facts implied dominating conditions to infer more precise known bits. While the compile time was found to be acceptable on several large code bases, we never found sufficiently profitable examples to justify turning on the code by default. Given this, it's time to abandon the experiment.
Several folks have commented that they've found this useful for experimentation, but nothing has come of those experiments. Given how easy the patch is to apply, there's no reason to leave the code in tree.
For anyone interested in further investigation in this area, I recommend finding the summary email I sent on one of the original review threads. In particular, I now believe the use-list based approach is strictly worse than the dom-tree-walking approach.
llvm-svn: 262646
Diffstat (limited to 'llvm/test/Analysis/ValueTracking')
-rw-r--r-- | llvm/test/Analysis/ValueTracking/dom-cond.ll | 18 | ||||
-rw-r--r-- | llvm/test/Analysis/ValueTracking/pr24866.ll | 44 |
2 files changed, 0 insertions, 62 deletions
diff --git a/llvm/test/Analysis/ValueTracking/dom-cond.ll b/llvm/test/Analysis/ValueTracking/dom-cond.ll deleted file mode 100644 index c0cafdd0ade..00000000000 --- a/llvm/test/Analysis/ValueTracking/dom-cond.ll +++ /dev/null @@ -1,18 +0,0 @@ -; RUN: opt < %s -instcombine -value-tracking-dom-conditions -S | FileCheck %s - -define i32 @dom_cond(i32 %a, i32 %b) { -; CHECK-LABEL: @dom_cond( -entry: - %v = add i32 %a, %b - %cond = icmp ule i32 %v, 7 - br i1 %cond, label %then, label %exit - -then: - %v2 = add i32 %v, 8 -; CHECK: or i32 %v, 8 - br label %exit - -exit: - %v3 = phi i32 [ %v, %entry ], [ %v2, %then ] - ret i32 %v3 -} diff --git a/llvm/test/Analysis/ValueTracking/pr24866.ll b/llvm/test/Analysis/ValueTracking/pr24866.ll deleted file mode 100644 index b146b4ac056..00000000000 --- a/llvm/test/Analysis/ValueTracking/pr24866.ll +++ /dev/null @@ -1,44 +0,0 @@ -; RUN: opt -S %s -value-tracking-dom-conditions -licm -load-combine | FileCheck %s -; In pr24866.ll, we saw a crash when accessing a nullptr returned when -; asking for a dominator tree Node. This reproducer is really fragile, -; but it's currently the best we have. - -%struct.c_derived_tbl.2.5.8.11.14.17.23.38.59.80.92.98.104.107.155.183 = type { [256 x i32], [256 x i8] } - - -; Function Attrs: nounwind uwtable -define void @encode_one_blockX2(%struct.c_derived_tbl.2.5.8.11.14.17.23.38.59.80.92.98.104.107.155.183* nocapture readonly %actbl) #0 { -; CHECK-LABEL: @encode_one_blockX2 -entry: - br i1 false, label %L_KLOOP_01, label %L_KLOOP.preheader - -L_KLOOP_01: ; preds = %while.end, %entry - br label %L_KLOOP.preheader - -L_KLOOP_08: ; preds = %while.end - br label %L_KLOOP.preheader - -L_KLOOP.preheader: ; preds = %L_KLOOP_08, %L_KLOOP_01, %entry - %r.2.ph = phi i32 [ undef, %L_KLOOP_08 ], [ 0, %entry ], [ undef, %L_KLOOP_01 ] - br label %L_KLOOP - -L_KLOOP: ; preds = %while.end, %L_KLOOP.preheader - %r.2 = phi i32 [ 0, %while.end ], [ %r.2.ph, %L_KLOOP.preheader ] - br i1 true, label %while.body, label %while.end - -while.body: ; preds = %while.body, %L_KLOOP - br label %while.body - -while.end: ; preds = %L_KLOOP - %shl105 = shl i32 %r.2, 4 - %add106 = add nsw i32 %shl105, undef - %idxprom107 = sext i32 %add106 to i64 - %arrayidx108 = getelementptr inbounds %struct.c_derived_tbl.2.5.8.11.14.17.23.38.59.80.92.98.104.107.155.183, %struct.c_derived_tbl.2.5.8.11.14.17.23.38.59.80.92.98.104.107.155.183* %actbl, i64 0, i32 0, i64 %idxprom107 - %0 = load i32, i32* %arrayidx108, align 4 - %arrayidx110 = getelementptr inbounds %struct.c_derived_tbl.2.5.8.11.14.17.23.38.59.80.92.98.104.107.155.183, %struct.c_derived_tbl.2.5.8.11.14.17.23.38.59.80.92.98.104.107.155.183* %actbl, i64 0, i32 1, i64 %idxprom107 - %1 = load i8, i8* %arrayidx110, align 1 - indirectbr i8* undef, [label %L_KLOOP_DONE, label %L_KLOOP_01, label %L_KLOOP_08, label %L_KLOOP] - -L_KLOOP_DONE: ; preds = %while.end - ret void -} |