[llvm-commits] CVS: llvm/lib/Target/X86/X86ISelDAGToDAG.cpp

Chris Lattner lattner at cs.uiuc.edu
Sat Feb 4 01:24:28 PST 2006



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;
   






More information about the llvm-commits mailing list