Changes in directory llvm/lib/Target/X86:
X86ISelDAGToDAG.cpp updated: 1.39 -> 1.40 --- Log message: Temporarily revert this patch, which probably breaks with the tblgen patch reverted. --- Diffs of the changes: (+13 -7) X86ISelDAGToDAG.cpp | 20 +++++++++++++------- 1 files changed, 13 insertions(+), 7 deletions(-) Index: llvm/lib/Target/X86/X86ISelDAGToDAG.cpp diff -u llvm/lib/Target/X86/X86ISelDAGToDAG.cpp:1.39 llvm/lib/Target/X86/X86ISelDAGToDAG.cpp:1.40 --- llvm/lib/Target/X86/X86ISelDAGToDAG.cpp:1.39 Sat Feb 4 02:50:49 2006 +++ llvm/lib/Target/X86/X86ISelDAGToDAG.cpp Sat Feb 4 03:24:16 2006 @@ -369,11 +369,17 @@ return false; if (AM.BaseType == X86ISelAddressMode::RegBase) { - if (!AM.Base.Reg.Val) + if (AM.Base.Reg.Val) { + if (AM.Base.Reg.getOpcode() != ISD::Register) + AM.Base.Reg = Select(AM.Base.Reg); + } else { AM.Base.Reg = CurDAG->getRegister(0, MVT::i32); + } } - if (!AM.IndexReg.Val) + if (AM.IndexReg.Val) + AM.IndexReg = Select(AM.IndexReg); + else AM.IndexReg = CurDAG->getRegister(0, MVT::i32); getAddressOperands(AM, Base, Scale, Index, Disp); @@ -435,6 +441,11 @@ return false; } + if (SelectBase) + AM.Base.Reg = Select(AM.Base.Reg); + if (SelectIndex) + AM.IndexReg = Select(AM.IndexReg); + getAddressOperands(AM, Base, Scale, Index, Disp); return true; } @@ -450,11 +461,6 @@ if (Opcode >= ISD::BUILTIN_OP_END && Opcode < X86ISD::FIRST_NUMBER) return N; // Already selected. - // These are probably emitted by SelectAddr(). - if (Opcode == ISD::TargetConstant || Opcode == ISD::TargetConstantPool || - Opcode == ISD::TargetFrameIndex || Opcode == ISD::TargetGlobalAddress) - return N; - std::map<SDOperand, SDOperand>::iterator CGMI = CodeGenMap.find(N); if (CGMI != CodeGenMap.end()) return CGMI->second; _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits