diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2007-02-05 20:47:22 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2007-02-05 20:47:22 +0000 |
commit | ef9b9a793949469cdaa4ab6d0173136229dcab7b (patch) | |
tree | 137b30d24ba219e5e745a11abb3807a9c4964aaa /tools/llvm-upgrade/UpgradeParser.cpp.cvs | |
parent | 15468bfc22302b4f79300252425d74cd6865f8b1 (diff) |
For PR411:
This patch replaces the SymbolTable class with ValueSymbolTable which does
not support types planes. This means that all symbol names in LLVM must now
be unique. The patch addresses the necessary changes to deal with this and
removes code no longer needed as a result. This completes the bulk of the
changes for this PR. Some cleanup patches will follow.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33918 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/llvm-upgrade/UpgradeParser.cpp.cvs')
-rw-r--r-- | tools/llvm-upgrade/UpgradeParser.cpp.cvs | 623 |
1 files changed, 320 insertions, 303 deletions
diff --git a/tools/llvm-upgrade/UpgradeParser.cpp.cvs b/tools/llvm-upgrade/UpgradeParser.cpp.cvs index 04649f3ce8..70ff399bbe 100644 --- a/tools/llvm-upgrade/UpgradeParser.cpp.cvs +++ b/tools/llvm-upgrade/UpgradeParser.cpp.cvs @@ -370,14 +370,14 @@ /* Copy the first part of user declarations. */ -#line 14 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 14 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" #include "UpgradeInternals.h" #include "llvm/CallingConv.h" #include "llvm/InlineAsm.h" #include "llvm/Instructions.h" #include "llvm/Module.h" -#include "llvm/SymbolTable.h" +#include "llvm/ValueSymbolTable.h" #include "llvm/Support/GetElementPtrTypeIterator.h" #include "llvm/ADT/STLExtras.h" #include "llvm/Support/MathExtras.h" @@ -672,8 +672,10 @@ static Value *getExistingValue(const Type *Ty, const ValID &D) { LookupName = I->second; else LookupName = Name; - SymbolTable &SymTab = CurFun.CurrentFunction->getValueSymbolTable(); - V = SymTab.lookup(Ty, LookupName); + ValueSymbolTable &SymTab = CurFun.CurrentFunction->getValueSymbolTable(); + V = SymTab.lookup(LookupName); + if (V && V->getType() != Ty) + V = 0; } if (!V) { RenameMapType::const_iterator I = CurModule.RenameMap.find(Key); @@ -682,9 +684,11 @@ static Value *getExistingValue(const Type *Ty, const ValID &D) { LookupName = I->second; else LookupName = Name; - V = CurModule.CurrentModule->getValueSymbolTable().lookup(Ty, LookupName); + V = CurModule.CurrentModule->getValueSymbolTable().lookup(LookupName); + if (V && V->getType() != Ty) + V = 0; } - if (V == 0) + if (!V) return 0; D.destroy(); // Free old strdup'd memory... @@ -776,7 +780,7 @@ static Value *getVal(const Type *Ty, const ValID &ID) { // Remember where this forward reference came from. FIXME, shouldn't we try // to recycle these things?? CurModule.PlaceHolderInfo.insert( - std::make_pair(V, std::make_pair(ID, Upgradelineno-1))); + std::make_pair(V, std::make_pair(ID, Upgradelineno))); if (inFunctionScope()) InsertValue(V, CurFun.LateResolveValues); @@ -808,7 +812,7 @@ static BasicBlock *getBBVal(const ValID &ID, bool isDefinition = false) { case ValID::NameVal: // Is it a named definition? Name = ID.Name; if (Value *N = CurFun.CurrentFunction-> - getValueSymbolTable().lookup(Type::LabelTy, Name)) { + getValueSymbolTable().lookup(Name)) { if (N->getType() != Type::LabelTy) error("Name '" + Name + "' does not refer to a BasicBlock"); BB = cast<BasicBlock>(N); @@ -1042,16 +1046,8 @@ static void setValueName(Value *V, char *NameStr) { assert(inFunctionScope() && "Must be in function scope"); // Search the function's symbol table for an existing value of this name - Value* Existing = 0; - SymbolTable &ST = CurFun.CurrentFunction->getValueSymbolTable(); - SymbolTable::plane_const_iterator PI = ST.plane_begin(), PE =ST.plane_end(); - for ( ; PI != PE; ++PI) { - SymbolTable::value_const_iterator VI = PI->second.find(Name); - if (VI != PI->second.end()) { - Existing = VI->second; - break; - } - } + ValueSymbolTable &ST = CurFun.CurrentFunction->getValueSymbolTable(); + Value* Existing = ST.lookup(Name); if (Existing) { // An existing value of the same name was found. This might have happened // because of the integer type planes collapsing in LLVM 2.0. @@ -1811,7 +1807,7 @@ using namespace llvm; #endif #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) -#line 1435 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1431 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" typedef union YYSTYPE { llvm::Module *ModuleVal; llvm::Function *FunctionVal; @@ -1854,7 +1850,7 @@ typedef union YYSTYPE { llvm::Module::Endianness Endianness; } YYSTYPE; /* Line 196 of yacc.c. */ -#line 1858 "UpgradeParser.tab.c" +#line 1854 "UpgradeParser.tab.c" # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 @@ -1866,7 +1862,7 @@ typedef union YYSTYPE { /* Line 219 of yacc.c. */ -#line 1870 "UpgradeParser.tab.c" +#line 1866 "UpgradeParser.tab.c" #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) # define YYSIZE_T __SIZE_TYPE__ @@ -2224,37 +2220,37 @@ static const short int yyrhs[] = /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const unsigned short int yyrline[] = { - 0, 1575, 1575, 1576, 1584, 1585, 1595, 1595, 1595, 1595, - 1595, 1595, 1595, 1595, 1595, 1595, 1595, 1599, 1599, 1599, - 1603, 1603, 1603, 1603, 1603, 1603, 1607, 1607, 1608, 1608, - 1609, 1609, 1610, 1610, 1611, 1611, 1615, 1615, 1616, 1616, - 1617, 1617, 1618, 1618, 1619, 1619, 1620, 1620, 1621, 1621, - 1622, 1623, 1626, 1626, 1626, 1626, 1630, 1630, 1630, 1630, - 1630, 1630, 1630, 1631, 1631, 1631, 1631, 1631, 1631, 1637, - 1637, 1637, 1637, 1641, 1641, 1641, 1641, 1645, 1645, 1649, - 1649, 1654, 1657, 1662, 1663, 1664, 1665, 1666, 1667, 1668, - 1669, 1673, 1674, 1675, 1676, 1677, 1678, 1679, 1680, 1690, - 1691, 1699, 1700, 1708, 1717, 1718, 1725, 1726, 1730, 1734, - 1750, 1751, 1758, 1759, 1766, 1774, 1774, 1774, 1774, 1774, - 1774, 1774, 1775, 1775, 1775, 1775, 1775, 1780, 1784, 1788, - 1793, 1802, 1822, 1828, 1841, 1850, 1854, 1865, 1869, 1882, - 1886, 1893, 1894, 1900, 1907, 1919, 1949, 1962, 1985, 2013, - 2035, 2046, 2068, 2079, 2088, 2093, 2151, 2158, 2166, 2173, - 2180, 2184, 2188, 2197, 2212, 2225, 2234, 2262, 2275, 2284, - 2290, 2296, 2307, 2313, 2319, 2330, 2331, 2340, 2341, 2353, - 2362, 2363, 2364, 2365, 2366, 2382, 2402, 2404, 2406, 2406, - 2413, 2413, 2420, 2420, 2427, 2427, 2435, 2437, 2439, 2444, - 2458, 2459, 2463, 2466, 2474, 2478, 2485, 2489, 2493, 2497, - 2505, 2505, 2509, 2510, 2514, 2522, 2527, 2535, 2536, 2543, - 2550, 2554, 2669, 2669, 2673, 2683, 2683, 2687, 2691, 2693, - 2694, 2698, 2698, 2710, 2711, 2716, 2717, 2718, 2719, 2720, - 2721, 2722, 2723, 2724, 2745, 2748, 2763, 2764, 2769, 2769, - 2777, 2786, 2789, 2798, 2808, 2813, 2822, 2833, 2833, 2836, - 2839, 2842, 2846, 2852, 2867, 2873, 2929, 2932, 2938, 2948, - 2961, 2990, 2998, 3006, 3010, 3017, 3018, 3022, 3025, 3031, - 3048, 3064, 3078, 3090, 3102, 3113, 3131, 3140, 3149, 3156, - 3177, 3201, 3207, 3213, 3219, 3235, 3313, 3321, 3322, 3326, - 3327, 3331, 3337, 3343, 3349, 3355, 3362, 3374, 3388 + 0, 1571, 1571, 1572, 1580, 1581, 1591, 1591, 1591, 1591, + 1591, 1591, 1591, 1591, 1591, 1591, 1591, 1595, 1595, 1595, + 1599, 1599, 1599, 1599, 1599, 1599, 1603, 1603, 1604, 1604, + 1605, 1605, 1606, 1606, 1607, 1607, 1611, 1611, 1612, 1612, + 1613, 1613, 1614, 1614, 1615, 1615, 1616, 1616, 1617, 1617, + 1618, 1619, 1622, 1622, 1622, 1622, 1626, 1626, 1626, 1626, + 1626, 1626, 1626, 1627, 1627, 1627, 1627, 1627, 1627, 1633, + 1633, 1633, 1633, 1637, 1637, 1637, 1637, 1641, 1641, 1645, + 1645, 1650, 1653, 1658, 1659, 1660, 1661, 1662, 1663, 1664, + 1665, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1676, 1686, + 1687, 1695, 1696, 1704, 1713, 1714, 1721, 1722, 1726, 1730, + 1746, 1747, 1754, 1755, 1762, 1770, 1770, 1770, 1770, 1770, + 1770, 1770, 1771, 1771, 1771, 1771, 1771, 1776, 1780, 1784, + 1789, 1798, 1818, 1824, 1837, 1846, 1850, 1861, 1865, 1878, + 1882, 1889, 1890, 1896, 1903, 1915, 1945, 1958, 1981, 2009, + 2031, 2042, 2064, 2075, 2084, 2089, 2147, 2154, 2162, 2169, + 2176, 2180, 2184, 2193, 2208, 2221, 2230, 2258, 2271, 2280, + 2286, 2292, 2303, 2309, 2315, 2326, 2327, 2336, 2337, 2349, + 2358, 2359, 2360, 2361, 2362, 2378, 2398, 2400, 2402, 2402, + 2409, 2409, 2416, 2416, 2423, 2423, 2431, 2433, 2435, 2440, + 2454, 2455, 2459, 2462, 2470, 2474, 2481, 2485, 2489, 2493, + 2501, 2501, 2505, 2506, 2510, 2518, 2523, 2531, 2532, 2539, + 2546, 2550, 2686, 2686, 2690, 2700, 2700, 2704, 2708, 2710, + 2711, 2715, 2715, 2727, 2728, 2733, 2734, 2735, 2736, 2737, + 2738, 2739, 2740, 2741, 2762, 2765, 2780, 2781, 2786, 2786, + 2794, 2803, 2806, 2815, 2825, 2830, 2839, 2850, 2850, 2853, + 2856, 2859, 2863, 2869, 2884, 2890, 2946, 2949, 2955, 2965, + 2978, 3007, 3015, 3023, 3027, 3034, 3035, 3039, 3042, 3048, + 3065, 3081, 3095, 3107, 3119, 3130, 3148, 3157, 3166, 3173, + 3194, 3218, 3224, 3230, 3236, 3252, 3330, 3338, 3339, 3343, + 3344, 3348, 3354, 3360, 3366, 3372, 3379, 3391, 3405 }; #endif @@ -3660,7 +3656,7 @@ yyreduce: switch (yyn) { case 3: -#line 1576 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1572 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { if ((yyvsp[0].UIntVal) > (uint32_t)INT32_MAX) // Outside of my range! error("Value too large for type"); @@ -3669,7 +3665,7 @@ yyreduce: break; case 5: -#line 1585 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1581 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { if ((yyvsp[0].UInt64Val) > (uint64_t)INT64_MAX) // Outside of my range! error("Value too large for type"); @@ -3678,226 +3674,226 @@ yyreduce: break; case 26: -#line 1607 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1603 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.IPred) = ICmpInst::ICMP_EQ; ;} break; case 27: -#line 1607 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1603 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.IPred) = ICmpInst::ICMP_NE; ;} break; case 28: -#line 1608 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1604 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.IPred) = ICmpInst::ICMP_SLT; ;} break; case 29: -#line 1608 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1604 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.IPred) = ICmpInst::ICMP_SGT; ;} break; case 30: -#line 1609 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1605 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.IPred) = ICmpInst::ICMP_SLE; ;} break; case 31: -#line 1609 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1605 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.IPred) = ICmpInst::ICMP_SGE; ;} break; case 32: -#line 1610 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1606 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.IPred) = ICmpInst::ICMP_ULT; ;} break; case 33: -#line 1610 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1606 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.IPred) = ICmpInst::ICMP_UGT; ;} break; case 34: -#line 1611 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1607 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.IPred) = ICmpInst::ICMP_ULE; ;} break; case 35: -#line 1611 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1607 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.IPred) = ICmpInst::ICMP_UGE; ;} break; case 36: -#line 1615 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1611 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_OEQ; ;} break; case 37: -#line 1615 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1611 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_ONE; ;} break; case 38: -#line 1616 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1612 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_OLT; ;} break; case 39: -#line 1616 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1612 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_OGT; ;} break; case 40: -#line 1617 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1613 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_OLE; ;} break; case 41: -#line 1617 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1613 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_OGE; ;} break; case 42: -#line 1618 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1614 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_ORD; ;} break; case 43: -#line 1618 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1614 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_UNO; ;} break; case 44: -#line 1619 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1615 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_UEQ; ;} break; case 45: -#line 1619 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1615 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_UNE; ;} break; case 46: -#line 1620 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1616 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_ULT; ;} break; case 47: -#line 1620 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1616 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_UGT; ;} break; case 48: -#line 1621 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1617 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_ULE; ;} break; case 49: -#line 1621 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1617 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_UGE; ;} break; case 50: -#line 1622 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1618 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_TRUE; ;} break; case 51: -#line 1623 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1619 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_FALSE; ;} break; case 81: -#line 1654 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1650 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.StrVal) = (yyvsp[-1].StrVal); ;} break; case 82: -#line 1657 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1653 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.StrVal) = 0; ;} break; case 83: -#line 1662 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1658 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Linkage) = GlobalValue::InternalLinkage; ;} break; case 84: -#line 1663 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1659 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;} break; case 85: -#line 1664 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1660 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Linkage) = GlobalValue::WeakLinkage; ;} break; case 86: -#line 1665 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1661 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Linkage) = GlobalValue::AppendingLinkage; ;} break; case 87: -#line 1666 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1662 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;} break; case 88: -#line 1667 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1663 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;} break; case 89: -#line 1668 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1664 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;} break; case 90: -#line 1669 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1665 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;} break; case 91: -#line 1673 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1669 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { CurFun.LastCC = (yyval.UIntVal) = OldCallingConv::C; ;} break; case 92: -#line 1674 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1670 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { CurFun.LastCC = (yyval.UIntVal) = OldCallingConv::C; ;} break; case 93: -#line 1675 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1671 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { CurFun.LastCC = (yyval.UIntVal) = OldCallingConv::CSRet; ;} break; case 94: -#line 1676 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1672 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { CurFun.LastCC = (yyval.UIntVal) = OldCallingConv::Fast; ;} break; case 95: -#line 1677 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1673 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { CurFun.LastCC = (yyval.UIntVal) = OldCallingConv::Cold; ;} break; case 96: -#line 1678 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1674 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { CurFun.LastCC = (yyval.UIntVal) = OldCallingConv::X86_StdCall; ;} break; case 97: -#line 1679 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1675 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { CurFun.LastCC = (yyval.UIntVal) = OldCallingConv::X86_FastCall; ;} break; case 98: -#line 1680 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1676 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { if ((unsigned)(yyvsp[0].UInt64Val) != (yyvsp[0].UInt64Val)) error("Calling conv too large"); @@ -3906,12 +3902,12 @@ yyreduce: break; case 99: -#line 1690 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1686 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.UIntVal) = 0; ;} break; case 100: -#line 1691 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1687 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.UIntVal) = (yyvsp[0].UInt64Val); if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal))) @@ -3920,12 +3916,12 @@ yyreduce: break; case 101: -#line 1699 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1695 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.UIntVal) = 0; ;} break; case 102: -#line 1700 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1696 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.UIntVal) = (yyvsp[0].UInt64Val); if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal))) @@ -3934,7 +3930,7 @@ yyreduce: break; case 103: -#line 1708 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1704 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { for (unsigned i = 0, e = strlen((yyvsp[0].StrVal)); i != e; ++i) if ((yyvsp[0].StrVal)[i] == '"' || (yyvsp[0].StrVal)[i] == '\\') @@ -3944,27 +3940,27 @@ yyreduce: break; case 104: -#line 1717 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1713 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.StrVal) = 0; ;} break; case 105: -#line 1718 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1714 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.StrVal) = (yyvsp[0].StrVal); ;} break; case 106: -#line 1725 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1721 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" {;} break; case 107: -#line 1726 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1722 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" {;} break; case 108: -#line 1730 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1726 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { CurGV->setSection((yyvsp[0].StrVal)); free((yyvsp[0].StrVal)); @@ -3972,7 +3968,7 @@ yyreduce: break; case 109: -#line 1734 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1730 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { if ((yyvsp[0].UInt64Val) != 0 && !isPowerOf2_32((yyvsp[0].UInt64Val))) error("Alignment must be a power of two"); @@ -3982,7 +3978,7 @@ yyreduce: break; case 111: -#line 1751 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1747 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.TypeVal).T = new PATypeHolder((yyvsp[0].PrimType).T); (yyval.TypeVal).S = Signless; @@ -3990,7 +3986,7 @@ yyreduce: break; case 113: -#line 1759 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1755 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.TypeVal).T = new PATypeHolder((yyvsp[0].PrimType).T); (yyval.TypeVal).S = Signless; @@ -3998,7 +3994,7 @@ yyreduce: break; case 114: -#line 1766 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1762 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { if (!UpRefs.empty()) error("Invalid upreference in type: " + (*(yyvsp[0].TypeVal).T)->getDescription()); @@ -4007,7 +4003,7 @@ yyreduce: break; case 127: -#line 1780 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1776 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.TypeVal).T = new PATypeHolder((yyvsp[0].PrimType).T); (yyval.TypeVal).S = (yyvsp[0].PrimType).S; @@ -4015,7 +4011,7 @@ yyreduce: break; case 128: -#line 1784 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1780 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.TypeVal).T = new PATypeHolder(OpaqueType::get()); (yyval.TypeVal).S = Signless; @@ -4023,7 +4019,7 @@ yyreduce: break; case 129: -#line 1788 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1784 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { // Named types are also simple types... const Type* tmp = getType((yyvsp[0].ValIDVal)); (yyval.TypeVal).T = new PATypeHolder(tmp); @@ -4032,7 +4028,7 @@ yyreduce: break; case 130: -#line 1793 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1789 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { // Type UpReference if ((yyvsp[0].UInt64Val) > (uint64_t)~0U) error("Value out of range"); @@ -4045,7 +4041,7 @@ yyreduce: break; case 131: -#line 1802 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1798 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { // Function derived type? std::vector<const Type*> Params; for (std::list<llvm::PATypeInfo>::iterator I = (yyvsp[-1].TypeList)->begin(), @@ -4069,7 +4065,7 @@ yyreduce: break; case 132: -#line 1822 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1818 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { // Sized array type? (yyval.TypeVal).T = new PATypeHolder(HandleUpRefs(ArrayType::get((yyvsp[-1].TypeVal).T->get(), (unsigned)(yyvsp[-3].UInt64Val)))); @@ -4079,7 +4075,7 @@ yyreduce: break; case 133: -#line 1828 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1824 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { // Packed array type? const llvm::Type* ElemTy = (yyvsp[-1].TypeVal).T->get(); if ((unsigned)(yyvsp[-3].UInt64Val) != (yyvsp[-3].UInt64Val)) @@ -4096,7 +4092,7 @@ yyreduce: break; case 134: -#line 1841 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1837 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { // Structure type? std::vector<const Type*> Elements; for (std::list<llvm::PATypeInfo>::iterator I = (yyvsp[-1].TypeList)->begin(), @@ -4109,7 +4105,7 @@ yyreduce: break; case 135: -#line 1850 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1846 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { // Empty structure type? (yyval.TypeVal).T = new PATypeHolder(StructType::get(std::vector<const Type*>())); (yyval.TypeVal).S = Signless; @@ -4117,7 +4113,7 @@ yyreduce: break; case 136: -#line 1854 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1850 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { // Packed Structure type? std::vector<const Type*> Elements; for (std::list<llvm::PATypeInfo>::iterator I = (yyvsp[-2].TypeList)->begin(), @@ -4132,7 +4128,7 @@ yyreduce: break; case 137: -#line 1865 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1861 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { // Empty packed structure type? (yyval.TypeVal).T = new PATypeHolder(StructType::get(std::vector<const Type*>(),true)); (yyval.TypeVal).S = Signless; @@ -4140,7 +4136,7 @@ yyreduce: break; case 138: -#line 1869 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1865 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { // Pointer type? if ((yyvsp[-1].TypeVal).T->get() == Type::LabelTy) error("Cannot form a pointer to a basic block"); @@ -4151,7 +4147,7 @@ yyreduce: break; case 139: -#line 1882 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1878 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.TypeList) = new std::list<PATypeInfo>(); (yyval.TypeList)->push_back((yyvsp[0].TypeVal)); @@ -4159,14 +4155,14 @@ yyreduce: break; case 140: -#line 1886 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1882 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { ((yyval.TypeList)=(yyvsp[-2].TypeList))->push_back((yyvsp[0].TypeVal)); ;} break; case 142: -#line 1894 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1890 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { PATypeInfo VoidTI; VoidTI.T = new PATypeHolder(Type::VoidTy); @@ -4176,7 +4172,7 @@ yyreduce: break; case 143: -#line 1900 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1896 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.TypeList) = new std::list<PATypeInfo>(); PATypeInfo VoidTI; @@ -4187,14 +4183,14 @@ yyreduce: break; case 144: -#line 1907 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1903 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.TypeList) = new std::list<PATypeInfo>(); ;} break; case 145: -#line 1919 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1915 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { // Nonempty unsized arr const ArrayType *ATy = dyn_cast<ArrayType>((yyvsp[-3].TypeVal).T->get()); if (ATy == 0) @@ -4228,7 +4224,7 @@ yyreduce: break; case 146: -#line 1949 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1945 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { const ArrayType *ATy = dyn_cast<ArrayType>((yyvsp[-2].TypeVal).T->get()); if (ATy == 0) @@ -4245,7 +4241,7 @@ yyreduce: break; case 147: -#line 1962 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1958 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { const ArrayType *ATy = dyn_cast<ArrayType>((yyvsp[-2].TypeVal).T->get()); if (ATy == 0) @@ -4272,7 +4268,7 @@ yyreduce: break; case 148: -#line 1985 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1981 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { // Nonempty unsized arr const PackedType *PTy = dyn_cast<PackedType>((yyvsp[-3].TypeVal).T->get()); if (PTy == 0) @@ -4304,7 +4300,7 @@ yyreduce: break; case 149: -#line 2013 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 2009 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { const StructType *STy = dyn_cast<StructType>((yyvsp[-3].TypeVal).T->get()); if (STy == 0) @@ -4330,7 +4326,7 @@ yyreduce: break; case 150: -#line 2035 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 2031 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { const StructType *STy = dyn_cast<StructType>((yyvsp[-2].TypeVal).T->get()); if (STy == 0) @@ -4345,7 +4341,7 @@ yyreduce: break; case 151: -#line 2046 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 2042 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { const StructType *STy = dyn_cast<StructType>((yyvsp[-5].TypeVal).T->get()); if (STy == 0) @@ -4371,7 +4367,7 @@ yyreduce: break; case 152: -#line 2068 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 2064 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { const StructType *STy = dyn_cast<StructType>((yyvsp[-4].TypeVal).T->get()); if (STy == 0) @@ -4386,7 +4382,7 @@ yyreduce: break; case 153: -#line 2079 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 2075 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { const PointerType *PTy = dyn_cast<PointerType>((yyvsp[-1].TypeVal).T->get()); if (PTy == 0) @@ -4399,7 +4395,7 @@ yyreduce: break; case 154: -#line 2088 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 2084 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { (yyval.ConstVal).C = UndefValue::get((yyvsp[-1].TypeVal).T->get()); (yyval.ConstVal).S = (yyvsp[-1].TypeVal).S; @@ -4408,7 +4404,7 @@ yyreduce: break; case 155: -#line 2093 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 2089 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { const PointerType *Ty = dyn_cast<PointerType>((yyvsp[-1].TypeVal).T->get()); if (Ty == 0) @@ -4470,7 +4466,7 @@ yyreduce: break; case 156: -#line 2151 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 2147 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { if ((yyvsp[-1].TypeVal).T->get() != (yyvsp[0].ConstVal).C->getType()) error("Mismatched types for constant expression"); @@ -4481,7 +4477,7 @@ yyreduce: break; case 157: -#line 2158 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 2154 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { const Type *Ty = (yyvsp[-1].TypeVal).T->get(); if (isa<FunctionType>(Ty) || Ty == Type::LabelTy || isa<OpaqueType>(Ty)) @@ -4493,7 +4489,7 @@ yyreduce: break; case 158: -#line 2166 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 2162 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { // integral constants const Type *Ty = (yyvsp[-1].PrimType).T; if (!ConstantInt::isValueValidForType(Ty, (yyvsp[0].SInt64Val))) @@ -4504,7 +4500,7 @@ yyreduce: break; case 159: -#line 2173 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 2169 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { // integral constants const Type *Ty = (yyvsp[-1].PrimType).T; if (!ConstantInt::isValueValidForType(Ty, (yyvsp[0].UInt64Val))) @@ -4515,7 +4511,7 @@ yyreduce: break; case 160: -#line 2180 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 2176 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { // Boolean constants (yyval.ConstVal).C = ConstantInt::get(Type::Int1Ty, true); (yyval.ConstVal).S = Unsigned; @@ -4523,7 +4519,7 @@ yyreduce: break; case 161: -#line 2184 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 2180 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { // Boolean constants (yyval.ConstVal).C = ConstantInt::get(Type::Int1Ty, false); (yyval.ConstVal).S = Unsigned; @@ -4531,7 +4527,7 @@ yyreduce: break; case 162: -#line 2188 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 2184 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { // Float & Double constants if (!ConstantFP::isValueValidForType((yyvsp[-1].PrimType).T, (yyvsp[0].FPVal))) error("Floating point constant invalid for type"); @@ -4541,7 +4537,7 @@ yyreduce: break; case 163: -#line 2197 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 2193 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { const Type* SrcTy = (yyvsp[-3].ConstVal).C->getType(); const Type* DstTy = (yyvsp[-1].TypeVal).T->get(); @@ -4560,7 +4556,7 @@ yyreduce: break; case 164: -#line 2212 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 2208 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { const Type *Ty = (yyvsp[-2].ConstVal).C->getType(); if (!isa<PointerType>(Ty)) @@ -4577,7 +4573,7 @@ yyreduce: break; case 165: -#line 2225 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 2221 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y" { if (!(yyvsp[-5].ConstVal).C->getType()->isInteger() || cast<IntegerType>((yyvsp[-5].ConstVal).C->getType())->getBitWidth() != 1) @@ -4590,7 +4586,7 @@ yyreduce: break; case 166: -#line 2234 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 2230 "/proj/llvm/llvm-3/tools/llvm-upgrade/UpgradeParser.y"< |