diff options
| author | Reid Spencer <rspencer@reidspencer.com> | 2007-01-07 08:07:39 +0000 |
|---|---|---|
| committer | Reid Spencer <rspencer@reidspencer.com> | 2007-01-07 08:07:39 +0000 |
| commit | 1d48a8b9fbd3577053a8d3bf23ffe5bed3670995 (patch) | |
| tree | fcb67d33f1f536f75d160256e6ee8af8424b1184 /llvm/tools/llvm-upgrade/UpgradeParser.y.cvs | |
| parent | 2af5100b532ffd0b466b4928abe2bb429dc02293 (diff) | |
| download | bcm5719-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.cvs | 38 |
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 ; |

