diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2007-03-15 03:26:42 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2007-03-15 03:26:42 +0000 |
commit | 5eb77c7674376d99fe7b20909e23036971bc031a (patch) | |
tree | f18447854f71a985a828391e4fe8243b9a709243 /tools/llvm-upgrade/UpgradeParser.cpp.cvs | |
parent | 44f87ee7464a5bf3e5131a2ad02629887adfa7c1 (diff) |
Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35116 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/llvm-upgrade/UpgradeParser.cpp.cvs')
-rw-r--r-- | tools/llvm-upgrade/UpgradeParser.cpp.cvs | 677 |
1 files changed, 312 insertions, 365 deletions
diff --git a/tools/llvm-upgrade/UpgradeParser.cpp.cvs b/tools/llvm-upgrade/UpgradeParser.cpp.cvs index d2e6ff9b28..a04facb614 100644 --- a/tools/llvm-upgrade/UpgradeParser.cpp.cvs +++ b/tools/llvm-upgrade/UpgradeParser.cpp.cvs @@ -427,7 +427,7 @@ static GlobalVariable *CurGV; // typedef std::vector<Value *> ValueList; // Numbered defs -typedef std::pair<std::string,TypeInfo> RenameMapKey; +typedef std::pair<std::string,const Type*> RenameMapKey; typedef std::map<RenameMapKey,std::string> RenameMapType; static void @@ -646,24 +646,11 @@ bool FuncTysDifferOnlyBySRet(const FunctionType *F1, } return true; } -bool TypesDifferOnlyBySRet(Value *V, const Type* Ty) { - if (V->getType() == Ty) - return true; - const PointerType *PF1 = dyn_cast<PointerType>(Ty); - const PointerType *PF2 = dyn_cast<PointerType>(V->getType()); - if (PF1 && PF2) { - const FunctionType* FT1 = dyn_cast<FunctionType>(PF1->getElementType()); - const FunctionType* FT2 = dyn_cast<FunctionType>(PF2->getElementType()); - if (FT1 && FT2) - return FuncTysDifferOnlyBySRet(FT1, FT2); - } - return false; -} // The upgrade of csretcc to sret param attribute may have caused a function // to not be found because the param attribute changed the type of the called // function. This helper function, used in getExistingValue, detects that -// situation and bitcasts the function to the correct type. +// situation and returns V if it occurs and 0 otherwise. static Value* handleSRetFuncTypeMerge(Value *V, const Type* Ty) { // Handle degenerate cases if (!V) @@ -675,8 +662,10 @@ static Value* handleSRetFuncTypeMerge(Value *V, const Type* Ty) { const PointerType *PF1 = dyn_cast<PointerType>(Ty); const PointerType *PF2 = dyn_cast<PointerType>(V->getType()); if (PF1 && PF2) { - const FunctionType *FT1 = dyn_cast<FunctionType>(PF1->getElementType()); - const FunctionType *FT2 = dyn_cast<FunctionType>(PF2->getElementType()); + const FunctionType *FT1 = + dyn_cast<FunctionType>(PF1->getElementType()); + const FunctionType *FT2 = + dyn_cast<FunctionType>(PF2->getElementType()); if (FT1 && FT2 && FuncTysDifferOnlyBySRet(FT1, FT2)) if (FT2->paramHasAttr(1, FunctionType::StructRetAttribute)) Result = V; @@ -723,8 +712,7 @@ static Value *getExistingValue(const Type *Ty, const ValID &D) { // Get the name out of the ID std::string Name(D.Name); Value* V = 0; - TypeInfo TI; TI.T = Ty; TI.S = D.S; - RenameMapKey Key = std::make_pair(Name, TI); + RenameMapKey Key = std::make_pair(Name, Ty); if (inFunctionScope()) { // See if the name was renamed RenameMapType::const_iterator I = CurFun.RenameMap.find(Key); @@ -736,7 +724,6 @@ static Value *getExistingValue(const Type *Ty, const ValID &D) { ValueSymbolTable &SymTab = CurFun.CurrentFunction->getValueSymbolTable(); V = SymTab.lookup(LookupName); V = handleSRetFuncTypeMerge(V, Ty); - assert((!V || TypesDifferOnlyBySRet(V, Ty)) && "Found wrong type!"); } if (!V) { RenameMapType::const_iterator I = CurModule.RenameMap.find(Key); @@ -747,7 +734,6 @@ static Value *getExistingValue(const Type *Ty, const ValID &D) { LookupName = Name; V = CurModule.CurrentModule->getValueSymbolTable().lookup(LookupName); V = handleSRetFuncTypeMerge(V, Ty); - assert((!V || TypesDifferOnlyBySRet(V, Ty)) && "Found wrong type!"); } if (!V) return 0; @@ -887,8 +873,7 @@ static BasicBlock *getBBVal(const ValID &ID, bool isDefinition = false) { // because of type planes. Now they all have to be unique. So, we just // rename the register and treat this name as if no basic block // had been found. - TypeInfo TI; TI.T = N->getType(); TI.S = ID.S; - RenameMapKey Key = std::make_pair(N->getName(),TI); + RenameMapKey Key = std::make_pair(N->getName(),N->getType()); N->setName(makeNameUnique(N->getName())); CurModule.RenameMap[Key] = N->getName(); BB = 0; @@ -1003,12 +988,10 @@ ResolveDefinitions(std::map<const Type*,ValueList> &LateResolvers, // name is not null) things referencing Name can be resolved. Otherwise, things // refering to the number can be resolved. Do this now. // -static void ResolveTypeTo(char *Name, const Type *ToTy, Signedness Sign) { +static void ResolveTypeTo(char *Name, const Type *ToTy) { ValID D; - if (Name) - D = ValID::create(Name, Sign); - else - D = ValID::create((int)CurModule.Types.size(), Sign); + if (Name) D = ValID::create(Name); + else D = ValID::create((int)CurModule.Types.size()); std::map<ValID, PATypeHolder>::iterator I = CurModule.LateResolveTypes.find(D); @@ -1073,12 +1056,12 @@ static inline bool TypeHasInteger(const Type *Ty) { // null potentially, in which case this is a noop. The string passed in is // assumed to be a malloc'd string buffer, and is free'd by this function. // -static void setValueName(const ValueInfo &V, char *NameStr) { +static void setValueName(Value *V, char *NameStr) { if (NameStr) { std::string Name(NameStr); // Copy string free(NameStr); // Free old string - if (V.V->getType() == Type::VoidTy) { + if (V->getType() == Type::VoidTy) { error("Can't assign name '" + Name + "' to value with void type"); return; } @@ -1091,13 +1074,13 @@ static void setValueName(const ValueInfo &V, char *NameStr) { 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. - if (Existing->getType() == V.V->getType() && + if (Existing->getType() == V->getType() && !TypeHasInteger(Existing->getType())) { // If the type does not contain any integers in them then this can't be // a type plane collapsing issue. It truly is a redefinition and we // should error out as the assembly is invalid. error("Redefinition of value named '" + Name + "' of type '" + - V.V->getType()->getDescription() + "'"); + V->getType()->getDescription() + "'"); return; } // In LLVM 2.0 we don't allow names to be re-used for any values in a @@ -1111,16 +1094,13 @@ static void setValueName(const ValueInfo &V, char *NameStr) { // We're changing the name but it will probably be used by other // instructions as operands later on. Consequently we have to retain // a mapping of the renaming that we're doing. - TypeInfo TI; - TI.T = V.V->getType(); - TI.S = V.S; - RenameMapKey Key = std::make_pair(Name,TI); + RenameMapKey Key = std::make_pair(Name,V->getType()); CurFun.RenameMap[Key] = NewName; Name = NewName; } // Set the name. - V.V->setName(Name); + V->setName(Name); } } @@ -1129,8 +1109,7 @@ static void setValueName(const ValueInfo &V, char *NameStr) { static GlobalVariable * ParseGlobalVariable(char *NameStr,GlobalValue::LinkageTypes Linkage, bool isConstantGlobal, const Type *Ty, - Constant *Initializer, - Signedness Sign) { + Constant *Initializer) { if (isa<FunctionType>(Ty)) error("Cannot declare global vars of function type"); @@ -1146,9 +1125,9 @@ ParseGlobalVariable(char *NameStr,GlobalValue::LinkageTypes Linkage, // object. ValID ID; if (!Name.empty()) { - ID = ValID::create((char*)Name.c_str(), Sign); + ID = ValID::create((char*)Name.c_str()); } else { - ID = ValID::create((int)CurModule.Values[PTy].size(), Sign); + ID = ValID::create((int)CurModule.Values[PTy].size()); } if (GlobalValue *FWGV = CurModule.GetForwardRefForGlobal(PTy, ID)) { @@ -1192,8 +1171,7 @@ ParseGlobalVariable(char *NameStr,GlobalValue::LinkageTypes Linkage, } // Put the renaming in the global rename map - TypeInfo TI; TI.T = PointerType::get(Ty); TI.S = Signless; - RenameMapKey Key = std::make_pair(Name,TI); + RenameMapKey Key = std::make_pair(Name,PointerType::get(Ty)); CurModule.RenameMap[Key] = NewName; // Rename it @@ -1852,7 +1830,7 @@ using namespace llvm; #endif #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) -#line 1476 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1454 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" typedef union YYSTYPE { llvm::Module *ModuleVal; llvm::Function *FunctionVal; @@ -1895,7 +1873,7 @@ typedef union YYSTYPE { llvm::Module::Endianness Endianness; } YYSTYPE; /* Line 196 of yacc.c. */ -#line 1899 "UpgradeParser.tab.c" +#line 1877 "UpgradeParser.tab.c" # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 @@ -1907,7 +1885,7 @@ typedef union YYSTYPE { /* Line 219 of yacc.c. */ -#line 1911 "UpgradeParser.tab.c" +#line 1889 "UpgradeParser.tab.c" #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) # define YYSIZE_T __SIZE_TYPE__ @@ -2266,37 +2244,37 @@ static const short int yyrhs[] = /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const unsigned short int yyrline[] = { - 0, 1616, 1616, 1617, 1625, 1626, 1636, 1636, 1636, 1636, - 1636, 1636, 1636, 1636, 1636, 1636, 1636, 1640, 1640, 1640, - 1644, 1644, 1644, 1644, 1644, 1644, 1648, 1648, 1649, 1649, - 1650, 1650, 1651, 1651, 1652, 1652, 1656, 1656, 1657, 1657, - 1658, 1658, 1659, 1659, 1660, 1660, 1661, 1661, 1662, 1662, - 1663, 1664, 1667, 1667, 1667, 1667, 1671, 1671, 1671, 1671, - 1671, 1671, 1671, 1672, 1672, 1672, 1672, 1672, 1672, 1678, - 1678, 1678, 1678, 1682, 1682, 1682, 1682, 1686, 1686, 1690, - 1690, 1695, 1698, 1703, 1704, 1705, 1706, 1707, 1708, 1709, - 1710, 1714, 1715, 1716, 1717, 1718, 1719, 1720, 1721, 1731, - 1732, 1740, 1741, 1749, 1758, 1759, 1766, 1767, 1771, 1775, - 1791, 1792, 1799, 1800, 1807, 1815, 1815, 1815, 1815, 1815, - 1815, 1815, 1816, 1816, 1816, 1816, 1816, 1821, 1825, 1829, - 1834, 1843, 1860, 1866, 1879, 1888, 1892, 1903, 1907, 1920, - 1924, 1931, 1932, 1938, 1945, 1957, 1987, 2000, 2023, 2051, - 2073, 2084, 2106, 2117, 2126, 2131, 2189, 2196, 2204, 2211, - 2218, 2222, 2226, 2235, 2250, 2263, 2272, 2300, 2313, 2322, - 2328, 2334, 2345, 2351, 2357, 2368, 2369, 2378, 2379, 2391, - 2400, 2401, 2402, 2403, 2404, 2420, 2440, 2442, 2444, 2444, - 2451, 2451, 2459, 2459, 2467, 2467, 2476, 2478, 2480, 2485, - 2499, 2500, 2504, 2507, 2515, 2519, 2526, 2530, 2534, 2538, - 2546, 2546, 2550, 2551, 2555, 2563, 2568, 2576, 2577, 2584, - 2591, 2595, 2777, 2777, 2781, 2791, 2791, 2795, 2800, 2801, - 2802, 2806, 2807, 2806, 2819, 2820, 2825, 2826, 2827, 2828, - 2831, 2834, 2835, 2836, 2837, 2858, 2861, 2875, 2876, 2881, - 2881, 2889, 2899, 2902, 2911, 2922, 2927, 2936, 2947, 2947, - 2950, 2953, 2956, 2960, 2966, 2982, 2989, 3045, 3048, 3054, - 3065, 3079, 3109, 3118, 3127, 3131, 3138, 3139, 3143, 3146, - 3152, 3170, 3187, 3202, 3215, 3228, 3239, 3257, 3266, 3275, - 3282, 3303, 3327, 3333, 3339, 3345, 3361, 3438, 3446, 3447, - 3451, 3452, 3456, 3462, 3469, 3475, 3482, 3489, 3502, 3528 + 0, 1594, 1594, 1595, 1603, 1604, 1614, 1614, 1614, 1614, + 1614, 1614, 1614, 1614, 1614, 1614, 1614, 1618, 1618, 1618, + 1622, 1622, 1622, 1622, 1622, 1622, 1626, 1626, 1627, 1627, + 1628, 1628, 1629, 1629, 1630, 1630, 1634, 1634, 1635, 1635, + 1636, 1636, 1637, 1637, 1638, 1638, 1639, 1639, 1640, 1640, + 1641, 1642, 1645, 1645, 1645, 1645, 1649, 1649, 1649, 1649, + 1649, 1649, 1649, 1650, 1650, 1650, 1650, 1650, 1650, 1656, + 1656, 1656, 1656, 1660, 1660, 1660, 1660, 1664, 1664, 1668, + 1668, 1673, 1676, 1681, 1682, 1683, 1684, 1685, 1686, 1687, + 1688, 1692, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1709, + 1710, 1718, 1719, 1727, 1736, 1737, 1744, 1745, 1749, 1753, + 1769, 1770, 1777, 1778, 1785, 1793, 1793, 1793, 1793, 1793, + 1793, 1793, 1794, 1794, 1794, 1794, 1794, 1799, 1803, 1807, + 1812, 1821, 1838, 1844, 1857, 1866, 1870, 1881, 1885, 1898, + 1902, 1909, 1910, 1916, 1923, 1935, 1965, 1978, 2001, 2029, + 2051, 2062, 2084, 2095, 2104, 2109, 2167, 2174, 2182, 2189, + 2196, 2200, 2204, 2213, 2228, 2241, 2250, 2278, 2291, 2300, + 2306, 2312, 2323, 2329, 2335, 2346, 2347, 2356, 2357, 2369, + 2378, 2379, 2380, 2381, 2382, 2398, 2418, 2420, 2422, 2422, + 2429, 2429, 2436, 2436, 2443, 2443, 2451, 2453, 2455, 2460, + 2474, 2475, 2479, 2482, 2490, 2494, 2501, 2505, 2509, 2513, + 2521, 2521, 2525, 2526, 2530, 2538, 2543, 2551, 2552, 2559, + 2566, 2570, 2746, 2746, 2750, 2760, 2760, 2764, 2769, 2770, + 2771, 2775, 2776, 2775, 2788, 2789, 2794, 2795, 2796, 2797, + 2798, 2799, 2800, 2801, 2802, 2823, 2826, 2841, 2842, 2847, + 2847, 2855, 2864, 2867, 2876, 2886, 2891, 2900, 2911, 2911, + 2914, 2917, 2920, 2924, 2930, 2945, 2951, 3007, 3010, 3016, + 3026, 3039, 3068, 3076, 3084, 3088, 3095, 3096, 3100, 3103, + 3109, 3126, 3142, 3156, 3168, 3180, 3191, 3209, 3218, 3227, + 3234, 3255, 3279, 3285, 3291, 3297, 3313, 3391, 3399, 3400, + 3404, 3405, 3409, 3415, 3421, 3427, 3433, 3440, 3452, 3477 }; #endif @@ -3708,7 +3686,7 @@ yyreduce: switch (yyn) { case 3: -#line 1617 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1595 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { if ((yyvsp[0].UIntVal) > (uint32_t)INT32_MAX) // Outside of my range! error("Value too large for type"); @@ -3717,7 +3695,7 @@ yyreduce: break; case 5: -#line 1626 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1604 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { if ((yyvsp[0].UInt64Val) > (uint64_t)INT64_MAX) // Outside of my range! error("Value too large for type"); @@ -3726,226 +3704,226 @@ yyreduce: break; case 26: -#line 1648 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1626 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.IPred) = ICmpInst::ICMP_EQ; ;} break; case 27: -#line 1648 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1626 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.IPred) = ICmpInst::ICMP_NE; ;} break; case 28: -#line 1649 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1627 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.IPred) = ICmpInst::ICMP_SLT; ;} break; case 29: -#line 1649 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1627 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.IPred) = ICmpInst::ICMP_SGT; ;} break; case 30: -#line 1650 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1628 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.IPred) = ICmpInst::ICMP_SLE; ;} break; case 31: -#line 1650 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1628 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.IPred) = ICmpInst::ICMP_SGE; ;} break; case 32: -#line 1651 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1629 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.IPred) = ICmpInst::ICMP_ULT; ;} break; case 33: -#line 1651 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1629 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.IPred) = ICmpInst::ICMP_UGT; ;} break; case 34: -#line 1652 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1630 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.IPred) = ICmpInst::ICMP_ULE; ;} break; case 35: -#line 1652 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1630 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.IPred) = ICmpInst::ICMP_UGE; ;} break; case 36: -#line 1656 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1634 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_OEQ; ;} break; case 37: -#line 1656 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1634 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_ONE; ;} break; case 38: -#line 1657 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1635 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_OLT; ;} break; case 39: -#line 1657 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1635 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_OGT; ;} break; case 40: -#line 1658 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1636 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_OLE; ;} break; case 41: -#line 1658 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1636 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_OGE; ;} break; case 42: -#line 1659 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1637 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_ORD; ;} break; case 43: -#line 1659 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1637 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_UNO; ;} break; case 44: -#line 1660 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1638 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_UEQ; ;} break; case 45: -#line 1660 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1638 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_UNE; ;} break; case 46: -#line 1661 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1639 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_ULT; ;} break; case 47: -#line 1661 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1639 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_UGT; ;} break; case 48: -#line 1662 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1640 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_ULE; ;} break; case 49: -#line 1662 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1640 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_UGE; ;} break; case 50: -#line 1663 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1641 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_TRUE; ;} break; case 51: -#line 1664 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1642 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_FALSE; ;} break; case 81: -#line 1695 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1673 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.StrVal) = (yyvsp[-1].StrVal); ;} break; case 82: -#line 1698 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1676 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.StrVal) = 0; ;} break; case 83: -#line 1703 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1681 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Linkage) = GlobalValue::InternalLinkage; ;} break; case 84: -#line 1704 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1682 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;} break; case 85: -#line 1705 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1683 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Linkage) = GlobalValue::WeakLinkage; ;} break; case 86: -#line 1706 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1684 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Linkage) = GlobalValue::AppendingLinkage; ;} break; case 87: -#line 1707 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1685 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;} break; case 88: -#line 1708 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1686 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;} break; case 89: -#line 1709 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1687 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;} break; case 90: -#line 1710 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1688 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;} break; case 91: -#line 1714 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1692 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.UIntVal) = OldCallingConv::C; ;} break; case 92: -#line 1715 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1693 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.UIntVal) = OldCallingConv::C; ;} break; case 93: -#line 1716 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1694 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.UIntVal) = OldCallingConv::CSRet; ;} break; case 94: -#line 1717 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1695 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.UIntVal) = OldCallingConv::Fast; ;} break; case 95: -#line 1718 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1696 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.UIntVal) = OldCallingConv::Cold; ;} break; case 96: -#line 1719 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1697 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.UIntVal) = OldCallingConv::X86_StdCall; ;} break; case 97: -#line 1720 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1698 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.UIntVal) = OldCallingConv::X86_FastCall; ;} break; case 98: -#line 1721 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1699 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { if ((unsigned)(yyvsp[0].UInt64Val) != (yyvsp[0].UInt64Val)) error("Calling conv too large"); @@ -3954,12 +3932,12 @@ yyreduce: break; case 99: -#line 1731 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1709 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.UIntVal) = 0; ;} break; case 100: -#line 1732 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1710 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.UIntVal) = (yyvsp[0].UInt64Val); if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal))) @@ -3968,12 +3946,12 @@ yyreduce: break; case 101: -#line 1740 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1718 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.UIntVal) = 0; ;} break; case 102: -#line 1741 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1719 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.UIntVal) = (yyvsp[0].UInt64Val); if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal))) @@ -3982,7 +3960,7 @@ yyreduce: break; case 103: -#line 1749 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1727 "/proj/llvm/llvm-1/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] == '\\') @@ -3992,27 +3970,27 @@ yyreduce: break; case 104: -#line 1758 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1736 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.StrVal) = 0; ;} break; case 105: -#line 1759 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1737 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.StrVal) = (yyvsp[0].StrVal); ;} break; case 106: -#line 1766 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1744 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" {;} break; case 107: -#line 1767 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1745 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" {;} break; case 108: -#line 1771 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1749 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { CurGV->setSection((yyvsp[0].StrVal)); free((yyvsp[0].StrVal)); @@ -4020,7 +3998,7 @@ yyreduce: break; case 109: -#line 1775 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1753 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { if ((yyvsp[0].UInt64Val) != 0 && !isPowerOf2_32((yyvsp[0].UInt64Val))) error("Alignment must be a power of two"); @@ -4030,7 +4008,7 @@ yyreduce: break; case 111: -#line 1792 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1770 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.TypeVal).PAT = new PATypeHolder((yyvsp[0].PrimType).T); (yyval.TypeVal).S = Signless; @@ -4038,7 +4016,7 @@ yyreduce: break; case 113: -#line 1800 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1778 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.TypeVal).PAT = new PATypeHolder((yyvsp[0].PrimType).T); (yyval.TypeVal).S = Signless; @@ -4046,7 +4024,7 @@ yyreduce: break; case 114: -#line 1807 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1785 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { if (!UpRefs.empty()) error("Invalid upreference in type: " + (*(yyvsp[0].TypeVal).PAT)->getDescription()); @@ -4055,7 +4033,7 @@ yyreduce: break; case 127: -#line 1821 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1799 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.TypeVal).PAT = new PATypeHolder((yyvsp[0].PrimType).T); (yyval.TypeVal).S = (yyvsp[0].PrimType).S; @@ -4063,7 +4041,7 @@ yyreduce: break; case 128: -#line 1825 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1803 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.TypeVal).PAT = new PATypeHolder(OpaqueType::get()); (yyval.TypeVal).S = Signless; @@ -4071,16 +4049,16 @@ yyreduce: break; case 129: -#line 1829 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1807 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Named types are also simple types... const Type* tmp = getType((yyvsp[0].ValIDVal)); (yyval.TypeVal).PAT = new PATypeHolder(tmp); - (yyval.TypeVal).S = (yyvsp[0].ValIDVal).S; // FIXME: what if its signed? + (yyval.TypeVal).S = Signless; // FIXME: what if its signed? ;} break; case 130: -#line 1834 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1812 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Type UpReference if ((yyvsp[0].UInt64Val) > (uint64_t)~0U) error("Value out of range"); @@ -4093,7 +4071,7 @@ yyreduce: break; case 131: -#line 1843 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1821 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Function derived type? std::vector<const Type*> Params; for (std::list<llvm::PATypeInfo>::iterator I = (yyvsp[-1].TypeList)->begin(), @@ -4114,7 +4092,7 @@ yyreduce: break; case 132: -#line 1860 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1838 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Sized array type? (yyval.TypeVal).PAT = new PATypeHolder(HandleUpRefs(ArrayType::get((yyvsp[-1].TypeVal).PAT->get(), (unsigned)(yyvsp[-3].UInt64Val)))); @@ -4124,7 +4102,7 @@ yyreduce: break; case 133: -#line 1866 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1844 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Vector type? const llvm::Type* ElemTy = (yyvsp[-1].TypeVal).PAT->get(); if ((unsigned)(yyvsp[-3].UInt64Val) != (yyvsp[-3].UInt64Val)) @@ -4141,7 +4119,7 @@ yyreduce: break; case 134: -#line 1879 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1857 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Structure type? std::vector<const Type*> Elements; for (std::list<llvm::PATypeInfo>::iterator I = (yyvsp[-1].TypeList)->begin(), @@ -4154,7 +4132,7 @@ yyreduce: break; case 135: -#line 1888 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1866 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Empty structure type? (yyval.TypeVal).PAT = new PATypeHolder(StructType::get(std::vector<const Type*>())); (yyval.TypeVal).S = Signless; @@ -4162,7 +4140,7 @@ yyreduce: break; case 136: -#line 1892 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1870 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Packed Structure type? std::vector<const Type*> Elements; for (std::list<llvm::PATypeInfo>::iterator I = (yyvsp[-2].TypeList)->begin(), @@ -4177,7 +4155,7 @@ yyreduce: break; case 137: -#line 1903 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1881 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Empty packed structure type? (yyval.TypeVal).PAT = new PATypeHolder(StructType::get(std::vector<const Type*>(),true)); (yyval.TypeVal).S = Signless; @@ -4185,7 +4163,7 @@ yyreduce: break; case 138: -#line 1907 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1885 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Pointer type? if ((yyvsp[-1].TypeVal).PAT->get() == Type::LabelTy) error("Cannot form a pointer to a basic block"); @@ -4196,7 +4174,7 @@ yyreduce: break; case 139: -#line 1920 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1898 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.TypeList) = new std::list<PATypeInfo>(); (yyval.TypeList)->push_back((yyvsp[0].TypeVal)); @@ -4204,14 +4182,14 @@ yyreduce: break; case 140: -#line 1924 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1902 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { ((yyval.TypeList)=(yyvsp[-2].TypeList))->push_back((yyvsp[0].TypeVal)); ;} break; case 142: -#line 1932 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1910 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { PATypeInfo VoidTI; VoidTI.PAT = new PATypeHolder(Type::VoidTy); @@ -4221,7 +4199,7 @@ yyreduce: break; case 143: -#line 1938 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1916 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.TypeList) = new std::list<PATypeInfo>(); PATypeInfo VoidTI; @@ -4232,14 +4210,14 @@ yyreduce: break; case 144: -#line 1945 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1923 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.TypeList) = new std::list<PATypeInfo>(); ;} break; case 145: -#line 1957 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1935 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Nonempty unsized arr const ArrayType *ATy = dyn_cast<ArrayType>((yyvsp[-3].TypeVal).PAT->get()); if (ATy == 0) @@ -4273,7 +4251,7 @@ yyreduce: break; case 146: -#line 1987 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1965 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { const ArrayType *ATy = dyn_cast<ArrayType>((yyvsp[-2].TypeVal).PAT->get()); if (ATy == 0) @@ -4290,7 +4268,7 @@ yyreduce: break; case 147: -#line 2000 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 1978 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { const ArrayType *ATy = dyn_cast<ArrayType>((yyvsp[-2].TypeVal).PAT->get()); if (ATy == 0) @@ -4317,7 +4295,7 @@ yyreduce: break; case 148: -#line 2023 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 2001 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { // Nonempty unsized arr const VectorType *PTy = dyn_cast<VectorType>((yyvsp[-3].TypeVal).PAT->get()); if (PTy == 0) @@ -4349,7 +4327,7 @@ yyreduce: break; case 149: -#line 2051 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 2029 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { const StructType *STy = dyn_cast<StructType>((yyvsp[-3].TypeVal).PAT->get()); if (STy == 0) @@ -4375,7 +4353,7 @@ yyreduce: break; case 150: -#line 2073 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 2051 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { const StructType *STy = dyn_cast<StructType>((yyvsp[-2].TypeVal).PAT->get()); if (STy == 0) @@ -4390,7 +4368,7 @@ yyreduce: break; case 151: -#line 2084 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 2062 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { const StructType *STy = dyn_cast<StructType>((yyvsp[-5].TypeVal).PAT->get()); if (STy == 0) @@ -4416,7 +4394,7 @@ yyreduce: break; case 152: -#line 2106 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 2084 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { const StructType *STy = dyn_cast<StructType>((yyvsp[-4].TypeVal).PAT->get()); if (STy == 0) @@ -4431,7 +4409,7 @@ yyreduce: break; case 153: -#line 2117 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 2095 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { const PointerType *PTy = dyn_cast<PointerType>((yyvsp[-1].TypeVal).PAT->get()); if (PTy == 0) @@ -4444,7 +4422,7 @@ yyreduce: break; case 154: -#line 2126 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 2104 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { (yyval.ConstVal).C = UndefValue::get((yyvsp[-1].TypeVal).PAT->get()); (yyval.ConstVal).S = (yyvsp[-1].TypeVal).S; @@ -4453,7 +4431,7 @@ yyreduce: break; case 155: -#line 2131 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" +#line 2109 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y" { const PointerType *Ty = dyn_cast<PointerType>((yyvsp[-1].TypeVal).PAT->get()); if (Ty == 0) @@ -4515,7 +4493,7 @@ yyreduce: break; case 156: -#line 2189 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradePars |