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

2006-05-21 Thread Evan Cheng


Changes in directory llvm/lib/Target/X86:

X86ISelDAGToDAG.cpp updated: 1.65 - 1.66
---
Log message:

Back out indirect branch load folding hack. It broke some tests.

---
Diffs of the changes:  (+0 -63)

 X86ISelDAGToDAG.cpp |   63 
 1 files changed, 63 deletions(-)


Index: llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
diff -u llvm/lib/Target/X86/X86ISelDAGToDAG.cpp:1.65 
llvm/lib/Target/X86/X86ISelDAGToDAG.cpp:1.66
--- llvm/lib/Target/X86/X86ISelDAGToDAG.cpp:1.65Sat May 20 04:21:39 2006
+++ llvm/lib/Target/X86/X86ISelDAGToDAG.cpp Sun May 21 01:28:50 2006
@@ -835,69 +835,6 @@
 
   break;
 }
-
-case X86ISD::CALL:
-case X86ISD::TAILCALL: {
-  // Handle indirect call which folds a load here. This never matches by
-  // the TableGen generated code since the load's chain result is read by
-  // the callseq_start node or by a TokenFactor which feeds into the
-  // callseq_start.
-  SDOperand N1 = Node-getOperand(1);
-  if (N1.getOpcode() == ISD::LOAD  N1.hasOneUse() 
-  !CodeGenMap.count(N1.getValue(0))) {
-SDOperand Chain = Node-getOperand(0);
-SDNode *CallStart = FindCallStartFromCall(Chain.Val);
-if (!CallStart) break;
-SDNode *CSOp0 = CallStart-getOperand(0).Val;
-if (! (CSOp0 == N1.Val ||
-   (CSOp0-getOpcode() == ISD::TokenFactor 
-N1.Val-isOperand(CSOp0
-  break;
-SDOperand Base, Scale, Index, Disp;
-if (SelectAddr(N1.getOperand(1), Base, Scale, Index, Disp)) {
-  Select(Base,  Base);
-  Select(Scale, Scale);
-  Select(Index, Index);
-  Select(Disp,  Disp);
-  Select(Chain, Chain);
-  bool HasOptInFlag = false;
-  SDOperand InFlag;
-  if (N.getNumOperands() == 3) {
-Select(InFlag, N.getOperand(2));
-HasOptInFlag = true;
-  }
-  SDNode *ResNode;
-  if (HasOptInFlag)
-ResNode = CurDAG-getTargetNode(X86::CALL32m, MVT::Other, 
MVT::Flag,
-Base, Scale, Index, Disp, Chain,
-InFlag);
-  else
-ResNode = CurDAG-getTargetNode(X86::CALL32m, MVT::Other, 
MVT::Flag,
-Base, Scale, Index, Disp, Chain);
-
-  SelectionDAG::InsertISelMapEntry(CodeGenMap, N.Val,  0, Chain.Val,
-   Chain.ResNo);
-  SelectionDAG::InsertISelMapEntry(CodeGenMap, N.Val,  1, ResNode, 1);
-  // CALLSEQ_START needs a chain! It can't be ResNode, that would cause
-  // a cycle. It should be the chain of the load.
-  Select(Chain, N1.getOperand(0));
-  SelectionDAG::InsertISelMapEntry(CodeGenMap, N1.Val, 1, Chain.Val,
-   Chain.ResNo);
-  AddHandleReplacement(N1.Val, 1, Chain.Val, Chain.ResNo);
-  Result = SDOperand(ResNode, 0);
-
-#ifndef NDEBUG
-  DEBUG(std::cerr  std::string(Indent-2, ' '));
-  DEBUG(std::cerr  == );
-  DEBUG(Result.Val-dump(CurDAG));
-  DEBUG(std::cerr  \n);
-  Indent -= 2;
-#endif
-  return;
-}
-  }
-  break;
-}
   }
 
   SelectCode(Result, N);



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/autoconf/configure.ac

2006-05-21 Thread Reid Spencer


Changes in directory llvm/autoconf:

configure.ac updated: 1.226 - 1.227
---
Log message:

For PR784: http://llvm.cs.uiuc.edu/PR784 :
Support Win32 platforms for llvm-gcc path. Patch by Anton Korobeynikov


---
Diffs of the changes:  (+1 -1)

 configure.ac |2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)


Index: llvm/autoconf/configure.ac
diff -u llvm/autoconf/configure.ac:1.226 llvm/autoconf/configure.ac:1.227
--- llvm/autoconf/configure.ac:1.226Tue May 16 03:53:32 2006
+++ llvm/autoconf/configure.ac  Sun May 21 05:40:20 2006
@@ -320,7 +320,7 @@
 withval=default)
 case $withval in
   default) WITH_LLVMGCCDIR=default ;;
-  /*)  WITH_LLVMGCCDIR=$withval ;;
+  /* | [[A-Za-z]]:[[\\/]]*)  WITH_LLVMGCCDIR=$withval ;;
   *) AC_MSG_ERROR([Invalid path for --with-llvmgccdir. Provide full path]) ;;
 esac
 



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm/configure

2006-05-21 Thread Reid Spencer


Changes in directory llvm:

configure updated: 1.229 - 1.230
---
Log message:

For PR784: http://llvm.cs.uiuc.edu/PR784 :
Support Win32 platforms for llvm-gcc path. Patch by Anton Korobeynikov


---
Diffs of the changes:  (+1 -1)

 configure |2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)


Index: llvm/configure
diff -u llvm/configure:1.229 llvm/configure:1.230
--- llvm/configure:1.229Tue May 16 03:53:32 2006
+++ llvm/configure  Sun May 21 05:40:20 2006
@@ -3150,7 +3150,7 @@
 fi;
 case $withval in
   default) WITH_LLVMGCCDIR=default ;;
-  /*)  WITH_LLVMGCCDIR=$withval ;;
+  /* | [A-Za-z]:[\\/]*)  WITH_LLVMGCCDIR=$withval ;;
   *) { { echo $as_me:$LINENO: error: Invalid path for --with-llvmgccdir. 
Provide full path 5
 echo $as_me: error: Invalid path for --with-llvmgccdir. Provide full path 
2;}
{ (exit 1); exit 1; }; } ;;



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits