aboutsummaryrefslogtreecommitdiff
path: root/tools/llvm-upgrade/UpgradeParser.cpp.cvs
diff options
context:
space:
mode:
Diffstat (limited to 'tools/llvm-upgrade/UpgradeParser.cpp.cvs')
-rw-r--r--tools/llvm-upgrade/UpgradeParser.cpp.cvs677
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/UpgradeParser.y"
+#line 2167 "/proj/llvm/llvm-1/tools/llvm-upgrade/UpgradeParser.y"
{
if ((yyvsp[-1].TypeVal).PAT->get() != (yyvsp[0].ConstVal).C->getType())