[llvm-commits] CVS: llvm/tools/llvm-upgrade/UpgradeParser.cpp UpgradeParser.cpp.cvs UpgradeParser.y.cvs

Reid Spencer reid at x10sys.com
Sun Jan 7 00:07:55 PST 2007



Changes in directory llvm/tools/llvm-upgrade:

UpgradeParser.cpp updated: 1.37 -> 1.38
UpgradeParser.cpp.cvs updated: 1.35 -> 1.36
UpgradeParser.y.cvs updated: 1.34 -> 1.35
---
Log message:

Regenerate.


---
Diffs of the changes:  (+104 -74)

 UpgradeParser.cpp     |   70 ++++++++++++++++++++++++++++----------------------
 UpgradeParser.cpp.cvs |   70 ++++++++++++++++++++++++++++----------------------
 UpgradeParser.y.cvs   |   38 +++++++++++++++++----------
 3 files changed, 104 insertions(+), 74 deletions(-)


Index: llvm/tools/llvm-upgrade/UpgradeParser.cpp
diff -u llvm/tools/llvm-upgrade/UpgradeParser.cpp:1.37 llvm/tools/llvm-upgrade/UpgradeParser.cpp:1.38
--- llvm/tools/llvm-upgrade/UpgradeParser.cpp:1.37	Sat Jan  6 00:04:32 2007
+++ llvm/tools/llvm-upgrade/UpgradeParser.cpp	Sun Jan  7 02:07:39 2007
@@ -1580,9 +1580,9 @@
     1598,  1601,  1607,  1607,  1609,  1614,  1619,  1624,  1632,  1640,
     1647,  1669,  1674,  1680,  1686,  1694,  1712,  1720,  1729,  1733,
     1740,  1741,  1745,  1750,  1753,  1762,  1770,  1779,  1787,  1795,
-    1800,  1809,  1837,  1843,  1849,  1856,  1862,  1868,  1874,  1892,
-    1897,  1898,  1902,  1903,  1906,  1914,  1923,  1931,  1940,  1946,
-    1955,  1964
+    1800,  1809,  1837,  1843,  1849,  1856,  1862,  1868,  1874,  1902,
+    1907,  1908,  1912,  1913,  1916,  1924,  1933,  1941,  1950,  1956,
+    1965,  1974
 };
 #endif
 
@@ -4340,42 +4340,52 @@
   case 288:
 #line 1874 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
-    if (!(yyvsp[-5].String)->empty())
-      *(yyvsp[-6].String) += " " + *(yyvsp[-5].String);
-    if (!(yyvsp[-6].String)->empty())
-      *(yyvsp[-6].String) += " ";
-    *(yyvsp[-6].String) += (yyvsp[-4].Type)->getNewTy() + " " + *(yyvsp[-3].Value).val + "(";
-    for (unsigned i = 0; i < (yyvsp[-1].ValList)->size(); ++i) {
-      ValueInfo& VI = (*(yyvsp[-1].ValList))[i];
-      *(yyvsp[-6].String) += *VI.val;
-      if (i+1 < (yyvsp[-1].ValList)->size())
-        *(yyvsp[-6].String) += ", ";
-      VI.destroy();
+    // map llvm.isunordered to "fcmp uno" 
+    if (*(yyvsp[-3].Value).val == "%llvm.isunordered.f32" ||
+        *(yyvsp[-3].Value).val == "%llvm.isunordered.f64") {
+      (yyval.Value).val = new std::string( "fcmp uno " + *(*(yyvsp[-1].ValList))[0].val + ", ");
+      size_t pos = (*(yyvsp[-1].ValList))[1].val->find(' ');
+      assert(pos != std::string::npos && "no space?");
+      *(yyval.Value).val += (*(yyvsp[-1].ValList))[1].val->substr(pos+1);
+      (yyval.Value).type = TypeInfo::get("bool", BoolTy);
+    } else {
+      if (!(yyvsp[-5].String)->empty())
+        *(yyvsp[-6].String) += " " + *(yyvsp[-5].String);
+      if (!(yyvsp[-6].String)->empty())
+        *(yyvsp[-6].String) += " ";
+      *(yyvsp[-6].String) += (yyvsp[-4].Type)->getNewTy() + " " + *(yyvsp[-3].Value).val + "(";
+      for (unsigned i = 0; i < (yyvsp[-1].ValList)->size(); ++i) {
+        ValueInfo& VI = (*(yyvsp[-1].ValList))[i];
+        *(yyvsp[-6].String) += *VI.val;
+        if (i+1 < (yyvsp[-1].ValList)->size())
+          *(yyvsp[-6].String) += ", ";
+        VI.destroy();
+      }
+      *(yyvsp[-6].String) += ")";
+      (yyval.Value).val = (yyvsp[-6].String);
+      (yyval.Value).type = getFunctionReturnType((yyvsp[-4].Type));
     }
-    *(yyvsp[-6].String) += ")";
-    (yyval.Value).val = (yyvsp[-6].String);
-    (yyval.Value).type = getFunctionReturnType((yyvsp[-4].Type));
     delete (yyvsp[-5].String); (yyvsp[-3].Value).destroy(); delete (yyvsp[-1].ValList);
   ;}
     break;
 
   case 290:
-#line 1897 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 1907 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     { (yyval.ValList) = (yyvsp[0].ValList); ;}
     break;
 
   case 291:
-#line 1898 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 1908 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {  (yyval.ValList) = new ValueList(); ;}
     break;
 
   case 293:
-#line 1903 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 1913 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     { (yyval.String) = new std::string(); ;}
     break;
 
   case 294:
-#line 1906 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 1916 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     *(yyvsp[-2].String) += " " + (yyvsp[-1].Type)->getNewTy();
     if (!(yyvsp[0].String)->empty())
@@ -4387,7 +4397,7 @@
     break;
 
   case 295:
-#line 1914 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 1924 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     std::string Name = getUniqueName((yyvsp[-1].Value).val, (yyvsp[-2].Type));
     *(yyvsp[-5].String) += " " + (yyvsp[-4].Type)->getNewTy() + ", " + (yyvsp[-2].Type)->getNewTy() + " " + Name;
@@ -4400,7 +4410,7 @@
     break;
 
   case 296:
-#line 1923 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 1933 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     *(yyvsp[-2].String) += " " + (yyvsp[-1].Type)->getNewTy();
     if (!(yyvsp[0].String)->empty())
@@ -4412,7 +4422,7 @@
     break;
 
   case 297:
-#line 1931 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 1941 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     std::string Name = getUniqueName((yyvsp[-1].Value).val, (yyvsp[-2].Type));
     *(yyvsp[-5].String) += " " + (yyvsp[-4].Type)->getNewTy() + ", " + (yyvsp[-2].Type)->getNewTy() + " " + Name;
@@ -4425,7 +4435,7 @@
     break;
 
   case 298:
-#line 1940 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 1950 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     *(yyvsp[-1].String) += " " + *(yyvsp[0].Value).val;
     (yyval.Value).val = (yyvsp[-1].String);
@@ -4435,7 +4445,7 @@
     break;
 
   case 299:
-#line 1946 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 1956 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     std::string Name = getUniqueName((yyvsp[0].Value).val, (yyvsp[-1].Type));
     if (!(yyvsp[-3].String)->empty())
@@ -4448,7 +4458,7 @@
     break;
 
   case 300:
-#line 1955 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 1965 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     std::string Name = getUniqueName((yyvsp[0].Value).val, (yyvsp[-1].Type));
     if (!(yyvsp[-5].String)->empty())
@@ -4461,7 +4471,7 @@
     break;
 
   case 301:
-#line 1964 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 1974 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     std::string Name = getUniqueName((yyvsp[-1].Value).val, (yyvsp[-2].Type));
     // Upgrade the indices
@@ -4491,7 +4501,7 @@
     }
 
 /* Line 1126 of yacc.c.  */
-#line 4495 "UpgradeParser.tab.c"
+#line 4505 "UpgradeParser.tab.c"
 
   yyvsp -= yylen;
   yyssp -= yylen;
@@ -4759,7 +4769,7 @@
 }
 
 
-#line 1987 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 1997 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
 
 
 int yyerror(const char *ErrorMsg) {


Index: llvm/tools/llvm-upgrade/UpgradeParser.cpp.cvs
diff -u llvm/tools/llvm-upgrade/UpgradeParser.cpp.cvs:1.35 llvm/tools/llvm-upgrade/UpgradeParser.cpp.cvs:1.36
--- llvm/tools/llvm-upgrade/UpgradeParser.cpp.cvs:1.35	Sat Jan  6 00:04:32 2007
+++ llvm/tools/llvm-upgrade/UpgradeParser.cpp.cvs	Sun Jan  7 02:07:39 2007
@@ -1580,9 +1580,9 @@
     1598,  1601,  1607,  1607,  1609,  1614,  1619,  1624,  1632,  1640,
     1647,  1669,  1674,  1680,  1686,  1694,  1712,  1720,  1729,  1733,
     1740,  1741,  1745,  1750,  1753,  1762,  1770,  1779,  1787,  1795,
-    1800,  1809,  1837,  1843,  1849,  1856,  1862,  1868,  1874,  1892,
-    1897,  1898,  1902,  1903,  1906,  1914,  1923,  1931,  1940,  1946,
-    1955,  1964
+    1800,  1809,  1837,  1843,  1849,  1856,  1862,  1868,  1874,  1902,
+    1907,  1908,  1912,  1913,  1916,  1924,  1933,  1941,  1950,  1956,
+    1965,  1974
 };
 #endif
 
@@ -4340,42 +4340,52 @@
   case 288:
 #line 1874 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
-    if (!(yyvsp[-5].String)->empty())
-      *(yyvsp[-6].String) += " " + *(yyvsp[-5].String);
-    if (!(yyvsp[-6].String)->empty())
-      *(yyvsp[-6].String) += " ";
-    *(yyvsp[-6].String) += (yyvsp[-4].Type)->getNewTy() + " " + *(yyvsp[-3].Value).val + "(";
-    for (unsigned i = 0; i < (yyvsp[-1].ValList)->size(); ++i) {
-      ValueInfo& VI = (*(yyvsp[-1].ValList))[i];
-      *(yyvsp[-6].String) += *VI.val;
-      if (i+1 < (yyvsp[-1].ValList)->size())
-        *(yyvsp[-6].String) += ", ";
-      VI.destroy();
+    // map llvm.isunordered to "fcmp uno" 
+    if (*(yyvsp[-3].Value).val == "%llvm.isunordered.f32" ||
+        *(yyvsp[-3].Value).val == "%llvm.isunordered.f64") {
+      (yyval.Value).val = new std::string( "fcmp uno " + *(*(yyvsp[-1].ValList))[0].val + ", ");
+      size_t pos = (*(yyvsp[-1].ValList))[1].val->find(' ');
+      assert(pos != std::string::npos && "no space?");
+      *(yyval.Value).val += (*(yyvsp[-1].ValList))[1].val->substr(pos+1);
+      (yyval.Value).type = TypeInfo::get("bool", BoolTy);
+    } else {
+      if (!(yyvsp[-5].String)->empty())
+        *(yyvsp[-6].String) += " " + *(yyvsp[-5].String);
+      if (!(yyvsp[-6].String)->empty())
+        *(yyvsp[-6].String) += " ";
+      *(yyvsp[-6].String) += (yyvsp[-4].Type)->getNewTy() + " " + *(yyvsp[-3].Value).val + "(";
+      for (unsigned i = 0; i < (yyvsp[-1].ValList)->size(); ++i) {
+        ValueInfo& VI = (*(yyvsp[-1].ValList))[i];
+        *(yyvsp[-6].String) += *VI.val;
+        if (i+1 < (yyvsp[-1].ValList)->size())
+          *(yyvsp[-6].String) += ", ";
+        VI.destroy();
+      }
+      *(yyvsp[-6].String) += ")";
+      (yyval.Value).val = (yyvsp[-6].String);
+      (yyval.Value).type = getFunctionReturnType((yyvsp[-4].Type));
     }
-    *(yyvsp[-6].String) += ")";
-    (yyval.Value).val = (yyvsp[-6].String);
-    (yyval.Value).type = getFunctionReturnType((yyvsp[-4].Type));
     delete (yyvsp[-5].String); (yyvsp[-3].Value).destroy(); delete (yyvsp[-1].ValList);
   ;}
     break;
 
   case 290:
-#line 1897 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 1907 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     { (yyval.ValList) = (yyvsp[0].ValList); ;}
     break;
 
   case 291:
-#line 1898 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 1908 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {  (yyval.ValList) = new ValueList(); ;}
     break;
 
   case 293:
-#line 1903 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 1913 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     { (yyval.String) = new std::string(); ;}
     break;
 
   case 294:
-#line 1906 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 1916 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     *(yyvsp[-2].String) += " " + (yyvsp[-1].Type)->getNewTy();
     if (!(yyvsp[0].String)->empty())
@@ -4387,7 +4397,7 @@
     break;
 
   case 295:
-#line 1914 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 1924 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     std::string Name = getUniqueName((yyvsp[-1].Value).val, (yyvsp[-2].Type));
     *(yyvsp[-5].String) += " " + (yyvsp[-4].Type)->getNewTy() + ", " + (yyvsp[-2].Type)->getNewTy() + " " + Name;
@@ -4400,7 +4410,7 @@
     break;
 
   case 296:
-#line 1923 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 1933 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     *(yyvsp[-2].String) += " " + (yyvsp[-1].Type)->getNewTy();
     if (!(yyvsp[0].String)->empty())
@@ -4412,7 +4422,7 @@
     break;
 
   case 297:
-#line 1931 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 1941 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     std::string Name = getUniqueName((yyvsp[-1].Value).val, (yyvsp[-2].Type));
     *(yyvsp[-5].String) += " " + (yyvsp[-4].Type)->getNewTy() + ", " + (yyvsp[-2].Type)->getNewTy() + " " + Name;
@@ -4425,7 +4435,7 @@
     break;
 
   case 298:
-#line 1940 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 1950 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     *(yyvsp[-1].String) += " " + *(yyvsp[0].Value).val;
     (yyval.Value).val = (yyvsp[-1].String);
@@ -4435,7 +4445,7 @@
     break;
 
   case 299:
-#line 1946 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 1956 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     std::string Name = getUniqueName((yyvsp[0].Value).val, (yyvsp[-1].Type));
     if (!(yyvsp[-3].String)->empty())
@@ -4448,7 +4458,7 @@
     break;
 
   case 300:
-#line 1955 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 1965 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     std::string Name = getUniqueName((yyvsp[0].Value).val, (yyvsp[-1].Type));
     if (!(yyvsp[-5].String)->empty())
@@ -4461,7 +4471,7 @@
     break;
 
   case 301:
-#line 1964 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 1974 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
     {
     std::string Name = getUniqueName((yyvsp[-1].Value).val, (yyvsp[-2].Type));
     // Upgrade the indices
@@ -4491,7 +4501,7 @@
     }
 
 /* Line 1126 of yacc.c.  */
-#line 4495 "UpgradeParser.tab.c"
+#line 4505 "UpgradeParser.tab.c"
 
   yyvsp -= yylen;
   yyssp -= yylen;
@@ -4759,7 +4769,7 @@
 }
 
 
-#line 1987 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
+#line 1997 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"
 
 
 int yyerror(const char *ErrorMsg) {


Index: llvm/tools/llvm-upgrade/UpgradeParser.y.cvs
diff -u llvm/tools/llvm-upgrade/UpgradeParser.y.cvs:1.34 llvm/tools/llvm-upgrade/UpgradeParser.y.cvs:1.35
--- llvm/tools/llvm-upgrade/UpgradeParser.y.cvs:1.34	Sat Jan  6 00:04:32 2007
+++ llvm/tools/llvm-upgrade/UpgradeParser.y.cvs	Sun Jan  7 02:07:39 2007
@@ -1872,21 +1872,31 @@
     delete $2.val;
   }
   | OptTailCall OptCallingConv TypesV ValueRef '(' ValueRefListE ')'  {
-    if (!$2->empty())
-      *$1 += " " + *$2;
-    if (!$1->empty())
-      *$1 += " ";
-    *$1 += $3->getNewTy() + " " + *$4.val + "(";
-    for (unsigned i = 0; i < $6->size(); ++i) {
-      ValueInfo& VI = (*$6)[i];
-      *$1 += *VI.val;
-      if (i+1 < $6->size())
-        *$1 += ", ";
-      VI.destroy();
+    // map llvm.isunordered to "fcmp uno" 
+    if (*$4.val == "%llvm.isunordered.f32" ||
+        *$4.val == "%llvm.isunordered.f64") {
+      $$.val = new std::string( "fcmp uno " + *(*$6)[0].val + ", ");
+      size_t pos = (*$6)[1].val->find(' ');
+      assert(pos != std::string::npos && "no space?");
+      *$$.val += (*$6)[1].val->substr(pos+1);
+      $$.type = TypeInfo::get("bool", BoolTy);
+    } else {
+      if (!$2->empty())
+        *$1 += " " + *$2;
+      if (!$1->empty())
+        *$1 += " ";
+      *$1 += $3->getNewTy() + " " + *$4.val + "(";
+      for (unsigned i = 0; i < $6->size(); ++i) {
+        ValueInfo& VI = (*$6)[i];
+        *$1 += *VI.val;
+        if (i+1 < $6->size())
+          *$1 += ", ";
+        VI.destroy();
+      }
+      *$1 += ")";
+      $$.val = $1;
+      $$.type = getFunctionReturnType($3);
     }
-    *$1 += ")";
-    $$.val = $1;
-    $$.type = getFunctionReturnType($3);
     delete $2; $4.destroy(); delete $6;
   }
   | MemoryInst ;






More information about the llvm-commits mailing list