summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-12-06 07:44:31 +0000
committerChris Lattner <sabre@nondot.org>2007-12-06 07:44:31 +0000
commitb5fdfb96121e001366654f4936f5f0d6c0ced33f (patch)
tree6a2adb9524a0a29bf43d16abd027f29d2b930c95 /llvm/lib/CodeGen
parent7c709a5d08b4d0597ce66764c8752e5bd7306f9d (diff)
downloadbcm5719-llvm-b5fdfb96121e001366654f4936f5f0d6c0ced33f.tar.gz
bcm5719-llvm-b5fdfb96121e001366654f4936f5f0d6c0ced33f.zip
Actually, disable this code for now. More analysis and improvements to
the X86 backend are needed before this should be enabled by default. llvm-svn: 44657
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
index 918db383530..ba3c0ac33dc 100644
--- a/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
@@ -2134,6 +2134,12 @@ SDOperand DAGCombiner::visitXOR(SDNode *N) {
/// visitShiftByConstant - Handle transforms common to the three shifts, when
/// the shift amount is a constant.
SDOperand DAGCombiner::visitShiftByConstant(SDNode *N, unsigned Amt) {
+ // FIXME: disable this for now. This pessimizes some common cases like:
+ //
+ //void foo(int *X, int i) { X[i & 1235] = 1; }
+ //int bar(int *X, int i) { return X[i & 255]; }
+ return SDOperand();
+
SDNode *LHS = N->getOperand(0).Val;
if (!LHS->hasOneUse()) return SDOperand();
OpenPOWER on IntegriCloud