diff options
author | Reid Spencer <rspencer@reidspencer.com> | 2007-04-16 00:40:57 +0000 |
---|---|---|
committer | Reid Spencer <rspencer@reidspencer.com> | 2007-04-16 00:40:57 +0000 |
commit | ff0e4488014291e712294a902c11b97edabb878d (patch) | |
tree | 02621a217e6c1f9e6e8b5625196d1c26e46f311e /tools/llvm-upgrade/UpgradeParser.cpp.cvs | |
parent | d23c4dd08fc887bf69fc81eaed4d440403451c58 (diff) |
Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36096 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/llvm-upgrade/UpgradeParser.cpp.cvs')
-rw-r--r-- | tools/llvm-upgrade/UpgradeParser.cpp.cvs | 639 |
1 files changed, 333 insertions, 306 deletions
diff --git a/tools/llvm-upgrade/UpgradeParser.cpp.cvs b/tools/llvm-upgrade/UpgradeParser.cpp.cvs index ebcabec824..03ccc39cd9 100644 --- a/tools/llvm-upgrade/UpgradeParser.cpp.cvs +++ b/tools/llvm-upgrade/UpgradeParser.cpp.cvs @@ -1889,56 +1889,84 @@ upgradeIntrinsicCall(const Type* RetTy, const ValID &ID, return 0; } -const Type* upgradeGEPIndices(const Type* PTy, - std::vector<ValueInfo> *Indices, - std::vector<Value*> &VIndices, - std::vector<Constant*> *CIndices = 0) { - // Traverse the indices with a gep_type_iterator so we can build the list - // of constant and value indices for use later. Also perform upgrades - VIndices.clear(); - if (CIndices) CIndices->clear(); - for (unsigned i = 0, e = Indices->size(); i != e; ++i) - VIndices.push_back((*Indices)[i].V); - generic_gep_type_iterator<std::vector<Value*>::iterator> - GTI = gep_type_begin(PTy, VIndices.begin(), VIndices.end()), - GTE = gep_type_end(PTy, VIndices.begin(), VIndices.end()); - for (unsigned i = 0, e = Indices->size(); i != e && GTI != GTE; ++i, ++GTI) { - Value *Index = VIndices[i]; - if (CIndices && !isa<Constant>(Index)) - error("Indices to constant getelementptr must be constants"); - // LLVM 1.2 and earlier used ubyte struct indices. Convert any ubyte - // struct indices to i32 struct indices with ZExt for compatibility. - else if (isa<StructType>(*GTI)) { // Only change struct indices - if (ConstantInt *CUI = dyn_cast<ConstantInt>(Index)) - if (CUI->getType()->getBitWidth() == 8) - Index = - ConstantExpr::getCast(Instruction::ZExt, CUI, Type::Int32Ty); +const Type* upgradeGEPCEIndices(const Type* PTy, + std::vector<ValueInfo> *Indices, + std::vector<Constant*> &Result) { + const Type *Ty = PTy; + Result.clear(); + for (unsigned i = 0, e = Indices->size(); i != e ; ++i) { + Constant *Index = cast<Constant>((*Indices)[i].V); + + if (ConstantInt *CI = dyn_cast<ConstantInt>(Index)) { + // LLVM 1.2 and earlier used ubyte struct indices. Convert any ubyte + // struct indices to i32 struct indices with ZExt for compatibility. + if (CI->getBitWidth() < 32) + Index = ConstantExpr::getCast(Instruction::ZExt, CI, Type::Int32Ty); + } + + if (isa<SequentialType>(Ty)) { + // Make sure that unsigned SequentialType indices are zext'd to + // 64-bits if they were smaller than that because LLVM 2.0 will sext + // all indices for SequentialType elements. We must retain the same + // semantic (zext) for unsigned types. + if (const IntegerType *Ity = dyn_cast<IntegerType>(Index->getType())) { + if (Ity->getBitWidth() < 64 && (*Indices)[i].S.isUnsigned()) { + Index = ConstantExpr::getCast(Instruction::ZExt, Index,Type::Int64Ty); + } + } + } + Result.push_back(Index); + Ty = GetElementPtrInst::getIndexedType(PTy, (Value**)&Result[0], + Result.size(),true); + if (!Ty) + error("Index list invalid for constant getelementptr"); + } + return Ty; +} + +const Type* upgradeGEPInstIndices(const Type* PTy, + std::vector<ValueInfo> *Indices, + std::vector<Value*> &Result) { + const Type *Ty = PTy; + Result.clear(); + for (unsigned i = 0, e = Indices->size(); i != e ; ++i) { + Value *Index = (*Indices)[i].V; + + if (ConstantInt *CI = dyn_cast<ConstantInt>(Index)) { + // LLVM 1.2 and earlier used ubyte struct indices. Convert any ubyte + // struct indices to i32 struct indices with ZExt for compatibility. + if (CI->getBitWidth() < 32) + Index = ConstantExpr::getCast(Instruction::ZExt, CI, Type::Int32Ty); + } + + + if (isa<StructType>(Ty)) { // Only change struct indices + if (!isa<Constant>(Index)) { + error("Invalid non-constant structure index"); + return 0; + } } else { // Make sure that unsigned SequentialType indices are zext'd to // 64-bits if they were smaller than that because LLVM 2.0 will sext // all indices for SequentialType elements. We must retain the same // semantic (zext) for unsigned types. - if (const IntegerType *Ity = dyn_cast<IntegerType>(Index->getType())) + if (const IntegerType *Ity = dyn_cast<IntegerType>(Index->getType())) { if (Ity->getBitWidth() < 64 && (*Indices)[i].S.isUnsigned()) { - if (CIndices) + if (isa<Constant>(Index)) Index = ConstantExpr::getCast(Instruction::ZExt, cast<Constant>(Index), Type::Int64Ty); else Index = CastInst::create(Instruction::ZExt, Index, Type::Int64Ty, makeNameUnique("gep"), CurBB); - VIndices[i] = Index; } + } } - // Add to the CIndices list, if requested. - if (CIndices) - CIndices->push_back(cast<Constant>(Index)); - } - - const Type *IdxTy = - GetElementPtrInst::getIndexedType(PTy, &VIndices[0], VIndices.size(), true); - if (!IdxTy) + Result.push_back(Index); + Ty = GetElementPtrInst::getIndexedType(PTy, &Result[0], Result.size(),true); + if (!Ty) error("Index list invalid for constant getelementptr"); - return IdxTy; + } + return Ty; } unsigned upgradeCallingConv(unsigned CC) { @@ -2118,7 +2146,7 @@ using namespace llvm; #endif #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) -#line 1742 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 1770 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" typedef union YYSTYPE { llvm::Module *ModuleVal; llvm::Function *FunctionVal; @@ -2161,7 +2189,7 @@ typedef union YYSTYPE { llvm::Module::Endianness Endianness; } YYSTYPE; /* Line 196 of yacc.c. */ -#line 2165 "UpgradeParser.tab.c" +#line 2193 "UpgradeParser.tab.c" # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 # define YYSTYPE_IS_TRIVIAL 1 @@ -2173,7 +2201,7 @@ typedef union YYSTYPE { /* Line 219 of yacc.c. */ -#line 2177 "UpgradeParser.tab.c" +#line 2205 "UpgradeParser.tab.c" #if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) # define YYSIZE_T __SIZE_TYPE__ @@ -2533,38 +2561,38 @@ static const short int yyrhs[] = /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const unsigned short int yyrline[] = { - 0, 1882, 1882, 1883, 1891, 1892, 1902, 1902, 1902, 1902, - 1902, 1902, 1902, 1902, 1902, 1902, 1902, 1906, 1906, 1906, - 1910, 1910, 1910, 1910, 1910, 1910, 1914, 1914, 1915, 1915, - 1916, 1916, 1917, 1917, 1918, 1918, 1922, 1922, 1923, 1923, - 1924, 1924, 1925, 1925, 1926, 1926, 1927, 1927, 1928, 1928, - 1929, 1930, 1933, 1933, 1933, 1933, 1937, 1937, 1937, 1937, - 1937, 1937, 1937, 1938, 1938, 1938, 1938, 1938, 1938, 1944, - 1944, 1944, 1944, 1948, 1948, 1948, 1948, 1952, 1952, 1956, - 1956, 1961, 1964, 1969, 1970, 1971, 1972, 1973, 1974, 1975, - 1976, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1997, - 1998, 2006, 2007, 2015, 2024, 2025, 2032, 2033, 2037, 2041, - 2057, 2058, 2065, 2066, 2073, 2081, 2081, 2081, 2081, 2081, - 2081, 2081, 2082, 2082, 2082, 2082, 2082, 2087, 2091, 2095, - 2100, 2109, 2127, 2133, 2146, 2157, 2161, 2174, 2178, 2192, - 2196, 2203, 2204, 2210, 2217, 2229, 2259, 2272, 2295, 2323, - 2345, 2356, 2378, 2389, 2398, 2403, 2462, 2469, 2477, 2484, - 2491, 2495, 2499, 2508, 2523, 2536, 2545, 2573, 2586, 2595, - 2601, 2607, 2618, 2624, 2630, 2641, 2642, 2651, 2652, 2664, - 2673, 2674, 2675, 2676, 2677, 2693, 2713, 2715, 2717, 2717, - 2724, 2724, 2732, 2732, 2740, 2740, 2749, 2751, 2753, 2758, - 2772, 2773, 2777, 2780, 2788, 2792, 2799, 2803, 2807, 2811, - 2819, 2819, 2823, 2824, 2828, 2836, 2841, 2849, 2850, 2857, - 2864, 2868, 3050, 3050, 3054, 3054, 3064, 3064, 3068, 3073, - 3074, 3075, 3079, 3080, 3079, 3092, 3093, 3098, 3099, 3100, - 3101, 3105, 3109, 3110, 3111, 3112, 3133, 3137, 3151, 3152, - 3157, 3157, 3165, 3175, 3178, 3187, 3198, 3203, 3212, 3223, - 3223, 3226, 3230, 3234, 3239, 3249, 3267, 3276, 3346, 3350, - 3357, 3369, 3384, 3414, 3424, 3434, 3438, 3445, 3446, 3450, - 3453, 3459, 3478, 3496, 3512, 3526, 3540, 3551, 3569, 3578, - 3587, 3594, 3615, 3639, 3645, 3651, 3657, 3673, 3763, 3771, - 3772, 3776, 3777, 3781, 3787, 3794, 3800, 3807, 3814, 3827, - 3853 + 0, 1910, 1910, 1911, 1919, 1920, 1930, 1930, 1930, 1930, + 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1934, 1934, 1934, + 1938, 1938, 1938, 1938, 1938, 1938, 1942, 1942, 1943, 1943, + 1944, 1944, 1945, 1945, 1946, 1946, 1950, 1950, 1951, 1951, + 1952, 1952, 1953, 1953, 1954, 1954, 1955, 1955, 1956, 1956, + 1957, 1958, 1961, 1961, 1961, 1961, 1965, 1965, 1965, 1965, + 1965, 1965, 1965, 1966, 1966, 1966, 1966, 1966, 1966, 1972, + 1972, 1972, 1972, 1976, 1976, 1976, 1976, 1980, 1980, 1984, + 1984, 1989, 1992, 1997, 1998, 1999, 2000, 2001, 2002, 2003, + 2004, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2025, + 2026, 2034, 2035, 2043, 2052, 2053, 2060, 2061, 2065, 2069, + 2085, 2086, 2093, 2094, 2101, 2109, 2109, 2109, 2109, 2109, + 2109, 2109, 2110, 2110, 2110, 2110, 2110, 2115, 2119, 2123, + 2128, 2137, 2155, 2161, 2174, 2185, 2189, 2202, 2206, 2220, + 2224, 2231, 2232, 2238, 2245, 2257, 2287, 2300, 2323, 2351, + 2373, 2384, 2406, 2417, 2426, 2431, 2490, 2497, 2505, 2512, + 2519, 2523, 2527, 2536, 2551, 2563, 2572, 2600, 2613, 2622, + 2628, 2634, 2645, 2651, 2657, 2668, 2669, 2678, 2679, 2691, + 2700, 2701, 2702, 2703, 2704, 2720, 2740, 2742, 2744, 2744, + 2751, 2751, 2759, 2759, 2767, 2767, 2776, 2778, 2780, 2785, + 2799, 2800, 2804, 2807, 2815, 2819, 2826, 2830, 2834, 2838, + 2846, 2846, 2850, 2851, 2855, 2863, 2868, 2876, 2877, 2884, + 2891, 2895, 3077, 3077, 3081, 3081, 3091, 3091, 3095, 3100, + 3101, 3102, 3106, 3107, 3106, 3119, 3120, 3125, 3126, 3127, + 3128, 3132, 3136, 3137, 3138, 3139, 3160, 3164, 3178, 3179, + 3184, 3184, 3192, 3202, 3205, 3214, 3225, 3230, 3239, 3250, + 3250, 3253, 3257, 3261, 3266, 3276, 3294, 3303, 3373, 3377, + 3384, 3396, 3411, 3441, 3451, 3461, 3465, 3472, 3473, 3477, + 3480, 3486, 3505, 3523, 3539, 3553, 3567, 3578, 3596, 3605, + 3614, 3621, 3642, 3666, 3672, 3678, 3684, 3700, 3790, 3798, + 3799, 3803, 3804, 3808, 3814, 3821, 3827, 3834, 3841, 3854, + 3880 }; #endif @@ -3954,7 +3982,7 @@ yyreduce: switch (yyn) { case 3: -#line 1883 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 1911 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { if ((yyvsp[0].UIntVal) > (uint32_t)INT32_MAX) // Outside of my range! error("Value too large for type"); @@ -3963,7 +3991,7 @@ yyreduce: break; case 5: -#line 1892 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 1920 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { if ((yyvsp[0].UInt64Val) > (uint64_t)INT64_MAX) // Outside of my range! error("Value too large for type"); @@ -3972,226 +4000,226 @@ yyreduce: break; case 26: -#line 1914 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 1942 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.IPred) = ICmpInst::ICMP_EQ; ;} break; case 27: -#line 1914 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 1942 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.IPred) = ICmpInst::ICMP_NE; ;} break; case 28: -#line 1915 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 1943 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.IPred) = ICmpInst::ICMP_SLT; ;} break; case 29: -#line 1915 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 1943 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.IPred) = ICmpInst::ICMP_SGT; ;} break; case 30: -#line 1916 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 1944 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.IPred) = ICmpInst::ICMP_SLE; ;} break; case 31: -#line 1916 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 1944 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.IPred) = ICmpInst::ICMP_SGE; ;} break; case 32: -#line 1917 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 1945 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.IPred) = ICmpInst::ICMP_ULT; ;} break; case 33: -#line 1917 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 1945 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.IPred) = ICmpInst::ICMP_UGT; ;} break; case 34: -#line 1918 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 1946 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.IPred) = ICmpInst::ICMP_ULE; ;} break; case 35: -#line 1918 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 1946 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.IPred) = ICmpInst::ICMP_UGE; ;} break; case 36: -#line 1922 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 1950 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_OEQ; ;} break; case 37: -#line 1922 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 1950 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_ONE; ;} break; case 38: -#line 1923 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 1951 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_OLT; ;} break; case 39: -#line 1923 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 1951 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_OGT; ;} break; case 40: -#line 1924 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 1952 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_OLE; ;} break; case 41: -#line 1924 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 1952 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_OGE; ;} break; case 42: -#line 1925 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 1953 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_ORD; ;} break; case 43: -#line 1925 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 1953 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_UNO; ;} break; case 44: -#line 1926 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 1954 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_UEQ; ;} break; case 45: -#line 1926 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 1954 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_UNE; ;} break; case 46: -#line 1927 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 1955 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_ULT; ;} break; case 47: -#line 1927 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 1955 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_UGT; ;} break; case 48: -#line 1928 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 1956 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_ULE; ;} break; case 49: -#line 1928 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 1956 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_UGE; ;} break; case 50: -#line 1929 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 1957 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_TRUE; ;} break; case 51: -#line 1930 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 1958 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.FPred) = FCmpInst::FCMP_FALSE; ;} break; case 81: -#line 1961 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 1989 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.StrVal) = (yyvsp[-1].StrVal); ;} break; case 82: -#line 1964 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 1992 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.StrVal) = 0; ;} break; case 83: -#line 1969 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 1997 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Linkage) = GlobalValue::InternalLinkage; ;} break; case 84: -#line 1970 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 1998 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Linkage) = GlobalValue::LinkOnceLinkage; ;} break; case 85: -#line 1971 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 1999 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Linkage) = GlobalValue::WeakLinkage; ;} break; case 86: -#line 1972 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2000 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Linkage) = GlobalValue::AppendingLinkage; ;} break; case 87: -#line 1973 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2001 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Linkage) = GlobalValue::DLLImportLinkage; ;} break; case 88: -#line 1974 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2002 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Linkage) = GlobalValue::DLLExportLinkage; ;} break; case 89: -#line 1975 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2003 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Linkage) = GlobalValue::ExternalWeakLinkage; ;} break; case 90: -#line 1976 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2004 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.Linkage) = GlobalValue::ExternalLinkage; ;} break; case 91: -#line 1980 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2008 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.UIntVal) = OldCallingConv::C; ;} break; case 92: -#line 1981 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2009 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.UIntVal) = OldCallingConv::C; ;} break; case 93: -#line 1982 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2010 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.UIntVal) = OldCallingConv::CSRet; ;} break; case 94: -#line 1983 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2011 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.UIntVal) = OldCallingConv::Fast; ;} break; case 95: -#line 1984 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2012 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.UIntVal) = OldCallingConv::Cold; ;} break; case 96: -#line 1985 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2013 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.UIntVal) = OldCallingConv::X86_StdCall; ;} break; case 97: -#line 1986 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2014 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.UIntVal) = OldCallingConv::X86_FastCall; ;} break; case 98: -#line 1987 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2015 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { if ((unsigned)(yyvsp[0].UInt64Val) != (yyvsp[0].UInt64Val)) error("Calling conv too large"); @@ -4200,12 +4228,12 @@ yyreduce: break; case 99: -#line 1997 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2025 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.UIntVal) = 0; ;} break; case 100: -#line 1998 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2026 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.UIntVal) = (yyvsp[0].UInt64Val); if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal))) @@ -4214,12 +4242,12 @@ yyreduce: break; case 101: -#line 2006 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2034 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.UIntVal) = 0; ;} break; case 102: -#line 2007 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2035 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.UIntVal) = (yyvsp[0].UInt64Val); if ((yyval.UIntVal) != 0 && !isPowerOf2_32((yyval.UIntVal))) @@ -4228,7 +4256,7 @@ yyreduce: break; case 103: -#line 2015 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2043 "/proj/llvm/llvm-2/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] == '\\') @@ -4238,27 +4266,27 @@ yyreduce: break; case 104: -#line 2024 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2052 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.StrVal) = 0; ;} break; case 105: -#line 2025 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2053 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.StrVal) = (yyvsp[0].StrVal); ;} break; case 106: -#line 2032 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2060 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" {;} break; case 107: -#line 2033 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2061 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" {;} break; case 108: -#line 2037 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2065 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { CurGV->setSection((yyvsp[0].StrVal)); free((yyvsp[0].StrVal)); @@ -4266,7 +4294,7 @@ yyreduce: break; case 109: -#line 2041 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2069 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { if ((yyvsp[0].UInt64Val) != 0 && !isPowerOf2_32((yyvsp[0].UInt64Val))) error("Alignment must be a power of two"); @@ -4276,7 +4304,7 @@ yyreduce: break; case 111: -#line 2058 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2086 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.TypeVal).PAT = new PATypeHolder((yyvsp[0].PrimType).T); (yyval.TypeVal).S.makeSignless(); @@ -4284,7 +4312,7 @@ yyreduce: break; case 113: -#line 2066 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2094 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.TypeVal).PAT = new PATypeHolder((yyvsp[0].PrimType).T); (yyval.TypeVal).S.makeSignless(); @@ -4292,7 +4320,7 @@ yyreduce: break; case 114: -#line 2073 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2101 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { if (!UpRefs.empty()) error("Invalid upreference in type: " + (*(yyvsp[0].TypeVal).PAT)->getDescription()); @@ -4301,7 +4329,7 @@ yyreduce: break; case 127: -#line 2087 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2115 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.TypeVal).PAT = new PATypeHolder((yyvsp[0].PrimType).T); (yyval.TypeVal).S.copy((yyvsp[0].PrimType).S); @@ -4309,7 +4337,7 @@ yyreduce: break; case 128: -#line 2091 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2119 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.TypeVal).PAT = new PATypeHolder(OpaqueType::get()); (yyval.TypeVal).S.makeSignless(); @@ -4317,7 +4345,7 @@ yyreduce: break; case 129: -#line 2095 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2123 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { // Named types are also simple types... (yyval.TypeVal).S.copy(getTypeSign((yyvsp[0].ValIDVal))); const Type* tmp = getType((yyvsp[0].ValIDVal)); @@ -4326,7 +4354,7 @@ yyreduce: break; case 130: -#line 2100 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2128 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { // Type UpReference if ((yyvsp[0].UInt64Val) > (uint64_t)~0U) error("Value out of range"); @@ -4339,7 +4367,7 @@ yyreduce: break; case 131: -#line 2109 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2137 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { // Function derived type? (yyval.TypeVal).S.makeComposite((yyvsp[-3].TypeVal).S); std::vector<const Type*> Params; @@ -4361,7 +4389,7 @@ yyreduce: break; case 132: -#line 2127 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2155 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { // Sized array type? (yyval.TypeVal).S.makeComposite((yyvsp[-1].TypeVal).S); (yyval.TypeVal).PAT = new PATypeHolder(HandleUpRefs(ArrayType::get((yyvsp[-1].TypeVal).PAT->get(), @@ -4371,7 +4399,7 @@ yyreduce: break; case 133: -#line 2133 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2161 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { // Vector type? const llvm::Type* ElemTy = (yyvsp[-1].TypeVal).PAT->get(); if ((unsigned)(yyvsp[-3].UInt64Val) != (yyvsp[-3].UInt64Val)) @@ -4388,7 +4416,7 @@ yyreduce: break; case 134: -#line 2146 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2174 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { // Structure type? std::vector<const Type*> Elements; (yyval.TypeVal).S.makeComposite(); @@ -4403,7 +4431,7 @@ yyreduce: break; case 135: -#line 2157 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2185 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { // Empty structure type? (yyval.TypeVal).PAT = new PATypeHolder(StructType::get(std::vector<const Type*>())); (yyval.TypeVal).S.makeComposite(); @@ -4411,7 +4439,7 @@ yyreduce: break; case 136: -#line 2161 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2189 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { // Packed Structure type? (yyval.TypeVal).S.makeComposite(); std::vector<const Type*> Elements; @@ -4428,7 +4456,7 @@ yyreduce: break; case 137: -#line 2174 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2202 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { // Empty packed structure type? (yyval.TypeVal).PAT = new PATypeHolder(StructType::get(std::vector<const Type*>(),true)); (yyval.TypeVal).S.makeComposite(); @@ -4436,7 +4464,7 @@ yyreduce: break; case 138: -#line 2178 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2206 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { // Pointer type? if ((yyvsp[-1].TypeVal).PAT->get() == Type::LabelTy) error("Cannot form a pointer to a basic block"); @@ -4448,7 +4476,7 @@ yyreduce: break; case 139: -#line 2192 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2220 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.TypeList) = new std::list<PATypeInfo>(); (yyval.TypeList)->push_back((yyvsp[0].TypeVal)); @@ -4456,14 +4484,14 @@ yyreduce: break; case 140: -#line 2196 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2224 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { ((yyval.TypeList)=(yyvsp[-2].TypeList))->push_back((yyvsp[0].TypeVal)); ;} break; case 142: -#line 2204 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2232 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { PATypeInfo VoidTI; VoidTI.PAT = new PATypeHolder(Type::VoidTy); @@ -4473,7 +4501,7 @@ yyreduce: break; case 143: -#line 2210 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2238 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.TypeList) = new std::list<PATypeInfo>(); PATypeInfo VoidTI; @@ -4484,14 +4512,14 @@ yyreduce: break; case 144: -#line 2217 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2245 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.TypeList) = new std::list<PATypeInfo>(); ;} break; case 145: -#line 2229 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2257 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { // Nonempty unsized arr const ArrayType *ATy = dyn_cast<ArrayType>((yyvsp[-3].TypeVal).PAT->get()); if (ATy == 0) @@ -4525,7 +4553,7 @@ yyreduce: break; case 146: -#line 2259 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2287 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { const ArrayType *ATy = dyn_cast<ArrayType>((yyvsp[-2].TypeVal).PAT->get()); if (ATy == 0) @@ -4542,7 +4570,7 @@ yyreduce: break; case 147: -#line 2272 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2300 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { const ArrayType *ATy = dyn_cast<ArrayType>((yyvsp[-2].TypeVal).PAT->get()); if (ATy == 0) @@ -4569,7 +4597,7 @@ yyreduce: break; case 148: -#line 2295 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2323 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { // Nonempty unsized arr const VectorType *PTy = dyn_cast<VectorType>((yyvsp[-3].TypeVal).PAT->get()); if (PTy == 0) @@ -4601,7 +4629,7 @@ yyreduce: break; case 149: -#line 2323 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2351 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { const StructType *STy = dyn_cast<StructType>((yyvsp[-3].TypeVal).PAT->get()); if (STy == 0) @@ -4627,7 +4655,7 @@ yyreduce: break; case 150: -#line 2345 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2373 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { const StructType *STy = dyn_cast<StructType>((yyvsp[-2].TypeVal).PAT->get()); if (STy == 0) @@ -4642,7 +4670,7 @@ yyreduce: break; case 151: -#line 2356 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2384 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { const StructType *STy = dyn_cast<StructType>((yyvsp[-5].TypeVal).PAT->get()); if (STy == 0) @@ -4668,7 +4696,7 @@ yyreduce: break; case 152: -#line 2378 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2406 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { const StructType *STy = dyn_cast<StructType>((yyvsp[-4].TypeVal).PAT->get()); if (STy == 0) @@ -4683,7 +4711,7 @@ yyreduce: break; case 153: -#line 2389 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2417 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { const PointerType *PTy = dyn_cast<PointerType>((yyvsp[-1].TypeVal).PAT->get()); if (PTy == 0) @@ -4696,7 +4724,7 @@ yyreduce: break; case 154: -#line 2398 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2426 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { (yyval.ConstVal).C = UndefValue::get((yyvsp[-1].TypeVal).PAT->get()); (yyval.ConstVal).S.copy((yyvsp[-1].TypeVal).S); @@ -4705,7 +4733,7 @@ yyreduce: break; case 155: -#line 2403 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2431 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { const PointerType *Ty = dyn_cast<PointerType>((yyvsp[-1].TypeVal).PAT->get()); if (Ty == 0) @@ -4768,7 +4796,7 @@ yyreduce: break; case 156: -#line 2462 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2490 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { if ((yyvsp[-1].TypeVal).PAT->get() != (yyvsp[0].ConstVal).C->getType()) error("Mismatched types for constant expression"); @@ -4779,7 +4807,7 @@ yyreduce: break; case 157: -#line 2469 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2497 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { const Type *Ty = (yyvsp[-1].TypeVal).PAT->get(); if (isa<FunctionType>(Ty) || Ty == Type::LabelTy || isa<OpaqueType>(Ty)) @@ -4791,7 +4819,7 @@ yyreduce: break; case 158: -#line 2477 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2505 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { // integral constants const Type *Ty = (yyvsp[-1].PrimType).T; if (!ConstantInt::isValueValidForType(Ty, (yyvsp[0].SInt64Val))) @@ -4802,7 +4830,7 @@ yyreduce: break; case 159: -#line 2484 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2512 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { // integral constants const Type *Ty = (yyvsp[-1].PrimType).T; if (!ConstantInt::isValueValidForType(Ty, (yyvsp[0].UInt64Val))) @@ -4813,7 +4841,7 @@ yyreduce: break; case 160: -#line 2491 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2519 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { // Boolean constants (yyval.ConstVal).C = ConstantInt::get(Type::Int1Ty, true); (yyval.ConstVal).S.makeUnsigned(); @@ -4821,7 +4849,7 @@ yyreduce: break; case 161: -#line 2495 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" +#line 2523 "/proj/llvm/llvm-2/tools/llvm-upgrade/UpgradeParser.y" { // Boolean constants (yyval.ConstVal).C = ConstantInt::get(Type::Int1Ty, false); (yyval.ConstVal).S.makeUnsigned(); |