From 50843c0741d242ab59e10ef88ebfbb88ce8f63ba Mon Sep 17 00:00:00 2001 From: Scott Michel Date: Tue, 25 Nov 2008 04:03:47 +0000 Subject: [PATCH] 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 --- lib/Target/CellSPU/SPUISelDAGToDAG.cpp | 7 +++++++ 1 file changed, 7 insertions(+) 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; -- 2.34.1