fix an assertion failure in treeadd
authorChris Lattner <sabre@nondot.org>
Sun, 28 Aug 2005 23:39:22 +0000 (23:39 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 28 Aug 2005 23:39:22 +0000 (23:39 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@23120 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/PowerPC/PPCISelDAGToDAG.cpp

index 4c06e3d97bc947ac61e20b74cb9422d6b631fffb..c67358e8cf24630f93c97c7744d8e8e859eae1e2 100644 (file)
@@ -996,7 +996,7 @@ SDOperand PPC32DAGToDAGISel::Select(SDOperand Op) {
     if (isOprNot(N)) {
       unsigned Opc;
       SDOperand Val = Select(N->getOperand(0));
-      switch (Val.getTargetOpcode()) {
+      switch (Val.isTargetOpcode() ? Val.getTargetOpcode() : 0) {
       default:        Opc = 0;          break;
       case PPC::OR:   Opc = PPC::NOR;   break;
       case PPC::AND:  Opc = PPC::NAND;  break;
@@ -1094,7 +1094,7 @@ SDOperand PPC32DAGToDAGISel::Select(SDOperand Op) {
     MVT::ValueType Ty = N->getValueType(0);
     if (Val.Val->hasOneUse()) {
       unsigned Opc;
-      switch (Val.getTargetOpcode()) {
+      switch (Val.isTargetOpcode() ? Val.getTargetOpcode() : 0) {
       default:          Opc = 0;            break;
       case PPC::FABS:   Opc = PPC::FNABS;   break;
       case PPC::FMADD:  Opc = PPC::FNMADD;  break;