summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-upgrade/UpgradeParser.y.cvs
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2007-01-07 08:07:39 +0000
committerReid Spencer <rspencer@reidspencer.com>2007-01-07 08:07:39 +0000
commit1d48a8b9fbd3577053a8d3bf23ffe5bed3670995 (patch)
treefcb67d33f1f536f75d160256e6ee8af8424b1184 /llvm/tools/llvm-upgrade/UpgradeParser.y.cvs
parent2af5100b532ffd0b466b4928abe2bb429dc02293 (diff)
downloadbcm5719-llvm-1d48a8b9fbd3577053a8d3bf23ffe5bed3670995.tar.gz
bcm5719-llvm-1d48a8b9fbd3577053a8d3bf23ffe5bed3670995.zip
Regenerate.
llvm-svn: 32987
Diffstat (limited to 'llvm/tools/llvm-upgrade/UpgradeParser.y.cvs')
-rw-r--r--llvm/tools/llvm-upgrade/UpgradeParser.y.cvs38
1 files changed, 24 insertions, 14 deletions
diff --git a/llvm/tools/llvm-upgrade/UpgradeParser.y.cvs b/llvm/tools/llvm-upgrade/UpgradeParser.y.cvs
index 0544d400e6c..f6338e72926 100644
--- a/llvm/tools/llvm-upgrade/UpgradeParser.y.cvs
+++ b/llvm/tools/llvm-upgrade/UpgradeParser.y.cvs
@@ -1872,21 +1872,31 @@ InstVal : ArithmeticOps Types ValueRef ',' ValueRef {
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 ;
OpenPOWER on IntegriCloud