From: Scott Michel Date: Tue, 25 Nov 2008 04:03:47 +0000 (+0000) Subject: CellSPU: Relax constraints on when to generate a X-form address, evidently X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=50843c0741d242ab59e10ef88ebfbb88ce8f63ba;p=oota-llvm.git CellSPU: Relax constraints on when to generate a X-form address, evidently they were too tight according to bug 3126. Fix bug 3126. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60006 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/CellSPU/SPUISelDAGToDAG.cpp b/lib/Target/CellSPU/SPUISelDAGToDAG.cpp index 4fbd5bb467a..159da4639f2 100644 --- a/lib/Target/CellSPU/SPUISelDAGToDAG.cpp +++ b/lib/Target/CellSPU/SPUISelDAGToDAG.cpp @@ -591,6 +591,7 @@ SPUDAGToDAGISel::SelectXFormAddr(SDValue Op, SDValue N, SDValue &Base, SDValue &Index) { if (!SelectAFormAddr(Op, N, Base, Index) && !SelectDFormAddr(Op, N, Base, Index)) { +#if 0 // Default form of a X-form address is r(r) in operands 0 and 1: SDValue Op0 = N.getOperand(0); SDValue Op1 = N.getOperand(1); @@ -611,6 +612,12 @@ SPUDAGToDAGISel::SelectXFormAddr(SDValue Op, SDValue N, SDValue &Base, return true; } +#else + // All else fails, punt and use an X-form address: + Base = N.getOperand(0); + Index = N.getOperand(1); + return true; +#endif } return false;