[llvm-commits] Something Wrong With Nightly Test Results?
Anyone else noticing that the 2007-01-01 nightly test results are identical to the 2006-12-31 results and don't match the results actually generated in the nightly tester's build dir nor the results in the log files in the web dir nor the results in the sentdata.text file. I'm thinking a year rollover bug exists but I don't have time to investigate it right now. I believe the test ran correctly and submitted new results but the server side is somehow not displaying those new results. Reid. ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
Re: [llvm-commits] Something Wrong With Nightly Test Results?
I looked at the posted data for 2007-01-01 and it does look like a new run. -- Jim On 1-Jan-07, at 07:12 PM, Reid Spencer wrote: Anyone else noticing that the 2007-01-01 nightly test results are identical to the 2006-12-31 results and don't match the results actually generated in the nightly tester's build dir nor the results in the log files in the web dir nor the results in the sentdata.text file. I'm thinking a year rollover bug exists but I don't have time to investigate it right now. I believe the test ran correctly and submitted new results but the server side is somehow not displaying those new results. Reid. ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits smime.p7s Description: S/MIME cryptographic signature ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/include/llvm/InstrTypes.h
Changes in directory llvm/include/llvm: InstrTypes.h updated: 1.58 -> 1.59 --- Log message: Add some convenience functions for getting the source and destination types from any Cast instruction. --- Diffs of the changes: (+5 -0) InstrTypes.h |5 + 1 files changed, 5 insertions(+) Index: llvm/include/llvm/InstrTypes.h diff -u llvm/include/llvm/InstrTypes.h:1.58 llvm/include/llvm/InstrTypes.h:1.59 --- llvm/include/llvm/InstrTypes.h:1.58 Sat Dec 30 23:23:18 2006 +++ llvm/include/llvm/InstrTypes.h Mon Jan 1 20:08:27 2007 @@ -454,6 +454,11 @@ return Instruction::CastOps(Instruction::getOpcode()); } + /// @brief Return the source type, as a convenience + const Type* getSrcTy() const { return getOperand(0)->getType(); } + /// @brief Return the destination type, as a convenience + const Type* getDestTy() const { return getType(); } + /// @brief Methods for support type inquiry through isa, cast, and dyn_cast: static inline bool classof(const CastInst *) { return true; } static inline bool classof(const Instruction *I) { ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/CodeGen/Alpha/2005-07-12-TwoMallocCalls.ll
Changes in directory llvm/test/Regression/CodeGen/Alpha: 2005-07-12-TwoMallocCalls.ll updated: 1.3 -> 1.4 --- Log message: Fix this test case to be legal. There is no ubyte %tmp ever defined! --- Diffs of the changes: (+2 -0) 2005-07-12-TwoMallocCalls.ll |2 ++ 1 files changed, 2 insertions(+) Index: llvm/test/Regression/CodeGen/Alpha/2005-07-12-TwoMallocCalls.ll diff -u llvm/test/Regression/CodeGen/Alpha/2005-07-12-TwoMallocCalls.ll:1.3 llvm/test/Regression/CodeGen/Alpha/2005-07-12-TwoMallocCalls.ll:1.4 --- llvm/test/Regression/CodeGen/Alpha/2005-07-12-TwoMallocCalls.ll:1.3 Sat Dec 2 14:36:54 2006 +++ llvm/test/Regression/CodeGen/Alpha/2005-07-12-TwoMallocCalls.ll Mon Jan 1 22:19:32 2007 @@ -1,6 +1,8 @@ ; There should be exactly two calls here (memset and malloc), no more. ; RUN: llvm-upgrade < %s | llvm-as | llc -march=alpha | grep jsr | wc -l | grep 2 +%typedef.bc_struct = type i8 + implementation ; Functions: declare void %llvm.memset.i64(sbyte*, ubyte, ulong, uint) ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/CodeGen/Alpha/2005-07-12-TwoMallocCalls.ll
Changes in directory llvm/test/Regression/CodeGen/Alpha: 2005-07-12-TwoMallocCalls.ll updated: 1.4 -> 1.5 --- Log message: Reverse last patch, committed by accident. --- Diffs of the changes: (+0 -2) 2005-07-12-TwoMallocCalls.ll |2 -- 1 files changed, 2 deletions(-) Index: llvm/test/Regression/CodeGen/Alpha/2005-07-12-TwoMallocCalls.ll diff -u llvm/test/Regression/CodeGen/Alpha/2005-07-12-TwoMallocCalls.ll:1.4 llvm/test/Regression/CodeGen/Alpha/2005-07-12-TwoMallocCalls.ll:1.5 --- llvm/test/Regression/CodeGen/Alpha/2005-07-12-TwoMallocCalls.ll:1.4 Mon Jan 1 22:19:32 2007 +++ llvm/test/Regression/CodeGen/Alpha/2005-07-12-TwoMallocCalls.ll Mon Jan 1 22:30:40 2007 @@ -1,8 +1,6 @@ ; There should be exactly two calls here (memset and malloc), no more. ; RUN: llvm-upgrade < %s | llvm-as | llc -march=alpha | grep jsr | wc -l | grep 2 -%typedef.bc_struct = type i8 - implementation ; Functions: declare void %llvm.memset.i64(sbyte*, ubyte, ulong, uint) ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/llvm-upgrade/ParserInternals.h UpgradeLexer.l UpgradeParser.y
Changes in directory llvm/tools/llvm-upgrade: ParserInternals.h updated: 1.10 -> 1.11 UpgradeLexer.l updated: 1.11 -> 1.12 UpgradeParser.y updated: 1.28 -> 1.29 --- Log message: For PR1070: http://llvm.org/PR1070 : Revise the upgrade parser to keep track of types more faithfully and use this information to resolve name conflicts resulting from collapsed type planes. The type planes have collapsed because the integer types are now signless so that uint and int became i32. Where two planes existed for uint and int, only i32 exists. Any variable names depending on the type planes to pmake the identifier unique would cause a conflict. This patch resolves that conflict for many but not all cases. Situations involving the integer types and pointers to them are handled by this patch. However, there are corner cases that are not handled well, such as: %t1 = type { uint, int } %t2 = type { int, uint } void %myfunc(%t1* one, %t2* two) { %var = load %t1* one %var = load %t2* two } In the scenario above, %t1 and %t2 are really the same type: { i32, i32 } Consequently attempting to name %var twice will yield a redefinition error when assembled. While this patch is sufficien to allow the llvm/test suite to pass, More work needs to be to complete the handling of these corner cases. --- Diffs of the changes: (+563 -313) ParserInternals.h | 173 +++-- UpgradeLexer.l|4 UpgradeParser.y | 699 -- 3 files changed, 563 insertions(+), 313 deletions(-) Index: llvm/tools/llvm-upgrade/ParserInternals.h diff -u llvm/tools/llvm-upgrade/ParserInternals.h:1.10 llvm/tools/llvm-upgrade/ParserInternals.h:1.11 --- llvm/tools/llvm-upgrade/ParserInternals.h:1.10 Sun Dec 31 00:02:26 2006 +++ llvm/tools/llvm-upgrade/ParserInternals.h Mon Jan 1 23:44:33 2007 @@ -15,9 +15,11 @@ #ifndef PARSER_INTERNALS_H #define PARSER_INTERNALS_H +#include #include #include #include +#include // Global variables exported from the lexer... @@ -26,11 +28,15 @@ extern int Upgradelineno; extern std::istream* LexInput; +struct TypeInfo; +typedef std::vector TypeList; void UpgradeAssembly( const std::string & infile, std::istream& in, std::ostream &out, bool debug, bool addAttrs); +TypeInfo* ResolveType(TypeInfo*& Ty); + // Globals exported by the parser... extern char* Upgradetext; extern int Upgradeleng; @@ -47,6 +53,17 @@ OpaqueTy, VoidTy, LabelTy, FunctionTy, UnresolvedTy, NumericTy }; +/// This type is used to keep track of the signedness of values. Instead +/// of creating llvm::Value directly, the parser will create ValueInfo which +/// associates a Value* with a Signedness indication. +struct ValueInfo { + std::string* val; + TypeInfo* type; + bool constant; + bool isConstant() const { return constant; } + inline void destroy(); +}; + /// This type is used to keep track of the signedness of the obsolete /// integer types. Instead of creating an llvm::Type directly, the Lexer will /// create instances of TypeInfo which retains the signedness indication so @@ -55,20 +72,89 @@ /// to "int32" and the "second" field will be set to "isUnsigned". If the /// type is not obsolete then "second" will be set to "isSignless". struct TypeInfo { - std::string* newTy; - Types oldTy; - Types elemTy; + TypeInfo() +: newTy(0), oldTy(UnresolvedTy), elemTy(0), resultTy(0), elements(0), + nelems(0) { + } + + TypeInfo(const char * newType, Types oldType) +: newTy(0), oldTy(oldType), elemTy(0), resultTy(0), elements(0), nelems(0) { +newTy = new std::string(newType); + } + + TypeInfo(std::string *newType, Types oldType, TypeInfo* eTy = 0, + TypeInfo *rTy = 0) +: newTy(newType), oldTy(oldType), elemTy(eTy), resultTy(rTy), elements(0), + nelems(0) { + } + + TypeInfo(std::string *newType, Types oldType, TypeInfo *eTy, uint64_t elems) +: newTy(newType), oldTy(oldType), elemTy(eTy), resultTy(0), elements(0), + nelems(elems) { + } + + TypeInfo(std::string *newType, Types oldType, TypeList* TL) +: newTy(newType), oldTy(oldType), elemTy(0), resultTy(0), elements(TL), + nelems(0) { + } + + TypeInfo(std::string *newType, TypeInfo* resTy, TypeList* TL) +: newTy(newType), oldTy(FunctionTy), elemTy(0), resultTy(resTy), +elements(TL), nelems(0) { + } + + TypeInfo(const TypeInfo& that) +: newTy(0), oldTy(that.oldTy), elemTy(0), resultTy(0), elements(0), + nelems(0) { +*this = that; + } + + TypeInfo& operator=(const TypeInfo& that) { +oldTy = that.oldTy; +nelems = that.nelems; +if (that.newTy) + newTy = new std::string(*that.newTy); +if (that.elemTy) + elemTy = that.elemTy->clone(); +if (that.resultTy) + resultTy = that.resultTy->clone(); +if (that.elements) { + elements = new std::vector(that.elements->size()); + *elements = *that.elements; +} +return *this; + } - void destroy
[llvm-commits] CVS: llvm/test/Regression/Assembler/2007-01-01-Cast-To-Bool.ll
Changes in directory llvm/test/Regression/Assembler: 2007-01-01-Cast-To-Bool.ll added (r1.1) --- Log message: For PR1070: http://llvm.org/PR1070 : Add a test case to ensure that llvm-upgrade retains correct semantics for the previous definition of "cast to bool" which compared against null. --- Diffs of the changes: (+5 -0) 2007-01-01-Cast-To-Bool.ll |5 + 1 files changed, 5 insertions(+) Index: llvm/test/Regression/Assembler/2007-01-01-Cast-To-Bool.ll diff -c /dev/null llvm/test/Regression/Assembler/2007-01-01-Cast-To-Bool.ll:1.1 *** /dev/null Mon Jan 1 23:48:42 2007 --- llvm/test/Regression/Assembler/2007-01-01-Cast-To-Bool.ll Mon Jan 1 23:48:32 2007 *** *** 0 --- 1,5 + ; RUN: llvm-upgrade < %s | llvm-as | llvm-dis | grep 'icmp ne' + bool %main(int %X) { + %res = cast bool true to bool + ret bool %res + } ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Assembler/2006-12-09-Cast-To-Bool.ll
Changes in directory llvm/test/Regression/Assembler: 2006-12-09-Cast-To-Bool.ll updated: 1.2 -> 1.3 --- Log message: Manually upgrade this test case to make sure that the new cast-to-bool semantics are retained. --- Diffs of the changes: (+3 -3) 2006-12-09-Cast-To-Bool.ll |6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) Index: llvm/test/Regression/Assembler/2006-12-09-Cast-To-Bool.ll diff -u llvm/test/Regression/Assembler/2006-12-09-Cast-To-Bool.ll:1.2 llvm/test/Regression/Assembler/2006-12-09-Cast-To-Bool.ll:1.3 --- llvm/test/Regression/Assembler/2006-12-09-Cast-To-Bool.ll:1.2 Sat Dec 9 13:39:56 2006 +++ llvm/test/Regression/Assembler/2006-12-09-Cast-To-Bool.ll Mon Jan 1 23:50:11 2007 @@ -1,5 +1,5 @@ -; RUN: llvm-upgrade < %s | llvm-as | llvm-dis | grep bitcast -bool %main(int %X) { - %res = cast bool true to bool +; RUN: llvm-as < %s | llvm-dis | grep bitcast +define bool %main(i32 %X) { + %res = bitcast bool true to bool ret bool %res } ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/CodeGen/Generic/SwitchLowering.ll
Changes in directory llvm/test/Regression/CodeGen/Generic: SwitchLowering.ll updated: 1.3 -> 1.4 --- Log message: For PR1070: http://llvm.org/PR1070 : Revert previous patch now that llvm-upgrade can handle collapsed type plane conversion properly. --- Diffs of the changes: (+1 -0) SwitchLowering.ll |1 + 1 files changed, 1 insertion(+) Index: llvm/test/Regression/CodeGen/Generic/SwitchLowering.ll diff -u llvm/test/Regression/CodeGen/Generic/SwitchLowering.ll:1.3 llvm/test/Regression/CodeGen/Generic/SwitchLowering.ll:1.4 --- llvm/test/Regression/CodeGen/Generic/SwitchLowering.ll:1.3 Sun Dec 31 00:01:59 2006 +++ llvm/test/Regression/CodeGen/Generic/SwitchLowering.ll Mon Jan 1 23:53:06 2007 @@ -19,6 +19,7 @@ ] bb7: ; preds = %bb, %bb + %tmp = cast sbyte %tmp to ubyte ; [#uses=1] tail call void %foo( ubyte %tmp ) ret sbyte* %tmp2 } ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/CodeGen/X86/2006-05-02-InstrSched1.ll
Changes in directory llvm/test/Regression/CodeGen/X86: 2006-05-02-InstrSched1.ll updated: 1.3 -> 1.4 --- Log message: For PR1070: http://llvm.org/PR1070 : Revert previous patch now that llvm-upgrade can handle collapsed type plane conversion properly. --- Diffs of the changes: (+4 -2) 2006-05-02-InstrSched1.ll |6 -- 1 files changed, 4 insertions(+), 2 deletions(-) Index: llvm/test/Regression/CodeGen/X86/2006-05-02-InstrSched1.ll diff -u llvm/test/Regression/CodeGen/X86/2006-05-02-InstrSched1.ll:1.3 llvm/test/Regression/CodeGen/X86/2006-05-02-InstrSched1.ll:1.4 --- llvm/test/Regression/CodeGen/X86/2006-05-02-InstrSched1.ll:1.3 Sun Dec 31 00:01:59 2006 +++ llvm/test/Regression/CodeGen/X86/2006-05-02-InstrSched1.ll Mon Jan 1 23:53:06 2007 @@ -11,8 +11,10 @@ %tmp4 = getelementptr ubyte* %tmp, uint %tmp3 ; [#uses=1] %tmp7 = load uint* %tmp ; [#uses=1] %tmp8 = getelementptr ubyte* %tmp, uint %tmp7 ; [#uses=1] - %result = tail call int %memcmp( sbyte* %tmp8, sbyte* %tmp4, uint %tmp ); [#uses=1] - ret int %result + %tmp8 = cast ubyte* %tmp8 to sbyte* ; [#uses=1] + %tmp4 = cast ubyte* %tmp4 to sbyte* ; [#uses=1] + %tmp = tail call int %memcmp( sbyte* %tmp8, sbyte* %tmp4, uint %tmp ) ; [#uses=1] + ret int %tmp } declare int %memcmp(sbyte*, sbyte*, uint) ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/CodeGen/PowerPC/branch-opt.ll rotl.ll
Changes in directory llvm/test/Regression/CodeGen/PowerPC: branch-opt.ll updated: 1.4 -> 1.5 rotl.ll updated: 1.3 -> 1.4 --- Log message: For PR1070: http://llvm.org/PR1070 : Revert previous patch now that llvm-upgrade can handle collapsed type plane conversion properly. --- Diffs of the changes: (+21 -16) branch-opt.ll | 17 + rotl.ll | 20 2 files changed, 21 insertions(+), 16 deletions(-) Index: llvm/test/Regression/CodeGen/PowerPC/branch-opt.ll diff -u llvm/test/Regression/CodeGen/PowerPC/branch-opt.ll:1.4 llvm/test/Regression/CodeGen/PowerPC/branch-opt.ll:1.5 --- llvm/test/Regression/CodeGen/PowerPC/branch-opt.ll:1.4 Sun Dec 31 00:01:59 2006 +++ llvm/test/Regression/CodeGen/PowerPC/branch-opt.ll Mon Jan 1 23:53:06 2007 @@ -9,10 +9,10 @@ void %foo(int %W, int %X, int %Y, int %Z) { entry: - %X.u = cast int %X to uint ; [#uses=1] - %Y.u = cast int %Y to uint ; [#uses=1] - %Z.u = cast int %Z to uint ; [#uses=1] - %W.u = cast int %W to uint ; [#uses=1] + %X = cast int %X to uint; [#uses=1] + %Y = cast int %Y to uint; [#uses=1] + %Z = cast int %Z to uint; [#uses=1] + %W = cast int %W to uint; [#uses=1] %tmp1 = and int %W, 1 ; [#uses=1] %tmp1 = seteq int %tmp1, 0 ; [#uses=1] br bool %tmp1, label %cond_false, label %bb5 @@ -21,7 +21,7 @@ %indvar77 = phi uint [ %indvar.next78, %bb ], [ 0, %bb5 ] ; [#uses=1] %tmp2 = tail call int (...)* %bar( ); [#uses=0] %indvar.next78 = add uint %indvar77, 1 ; [#uses=2] - %exitcond79 = seteq uint %indvar.next78, %X.u ; [#uses=1] + %exitcond79 = seteq uint %indvar.next78, %X ; [#uses=1] br bool %exitcond79, label %cond_next48, label %bb bb5: ; preds = %entry @@ -37,7 +37,7 @@ %indvar72 = phi uint [ %indvar.next73, %bb12 ], [ 0, %bb16 ] ; [#uses=1] %tmp13 = tail call int (...)* %bar( ) ; [#uses=0] %indvar.next73 = add uint %indvar72, 1 ; [#uses=2] - %exitcond74 = seteq uint %indvar.next73, %Y.u ; [#uses=1] + %exitcond74 = seteq uint %indvar.next73, %Y ; [#uses=1] br bool %exitcond74, label %cond_next48, label %bb12 bb16: ; preds = %cond_false @@ -53,7 +53,7 @@ %indvar67 = phi uint [ %indvar.next68, %bb25 ], [ 0, %bb29 ] ; [#uses=1] %tmp26 = tail call int (...)* %bar( ) ; [#uses=0] %indvar.next68 = add uint %indvar67, 1 ; [#uses=2] - %exitcond69 = seteq uint %indvar.next68, %Z.u ; [#uses=1] + %exitcond69 = seteq uint %indvar.next68, %Z ; [#uses=1] br bool %exitcond69, label %cond_next48, label %bb25 bb29: ; preds = %cond_false20 @@ -72,8 +72,9 @@ bb42: ; preds = %cond_false33, %bb38 %indvar = phi uint [ %indvar.next, %bb38 ], [ 0, %cond_false33 ] ; [#uses=3] + %indvar = cast uint %indvar to int ; [#uses=1] %W_addr.0 = sub int %W, %indvar ; [#uses=1] - %exitcond = seteq uint %indvar, %W.u; [#uses=1] + %exitcond = seteq uint %indvar, %W ; [#uses=1] br bool %exitcond, label %cond_next48, label %bb38 cond_next48: ; preds = %bb, %bb12, %bb25, %bb42, %cond_false33, %bb29, %bb16, %bb5 Index: llvm/test/Regression/CodeGen/PowerPC/rotl.ll diff -u llvm/test/Regression/CodeGen/PowerPC/rotl.ll:1.3 llvm/test/Regression/CodeGen/PowerPC/rotl.ll:1.4 --- llvm/test/Regression/CodeGen/PowerPC/rotl.ll:1.3Sun Dec 31 00:01:59 2006 +++ llvm/test/Regression/CodeGen/PowerPC/rotl.llMon Jan 1 23:53:06 2007 @@ -7,11 +7,12 @@ int %rotlw(uint %x, int %sh) { entry: %tmp.3 = cast int %sh to ubyte ; [#uses=1] - %x.s = cast uint %x to int ; [#uses=1] + %x = cast uint %x to int; [#uses=1] %tmp.7 = sub int 32, %sh; [#uses=1] %tmp.9 = cast int %tmp.7 to ubyte ; [#uses=1] %tmp.10 = shr uint %x, ubyte %tmp.9 ; [#uses=1] - %tmp.4 = shl int %x.s, ubyte %tmp.3 ; [#uses=1] + %tmp.4 = shl int %x, ubyte %tmp.3 ; [#uses=1] + %tmp.10 = cast uint %tmp.10 to int ; [#uses=1] %tmp.12 = or int %tmp.10, %tmp.4; [#uses=1] ret int %tmp.12 } @@ -22,17 +23,19 @@ %tmp.4 = shr uint %x, ubyte %tmp.3 ; [#uses=1] %tmp.7 = sub int 32, %sh; [#uses=1] %tmp.9 = cast int %tmp.7 to ubyte ; [#uses=1] - %x.s = cast uint %x to int ; [#uses=1] - %tmp.1
[llvm-commits] CVS: llvm/test/Regression/Transforms/InstCombine/2006-05-06-Infloop.ll
Changes in directory llvm/test/Regression/Transforms/InstCombine: 2006-05-06-Infloop.ll updated: 1.3 -> 1.4 --- Log message: For PR1070: http://llvm.org/PR1070 : Revert previous patch now that llvm-upgrade can handle collapsed type plane conversion properly. --- Diffs of the changes: (+14 -4) 2006-05-06-Infloop.ll | 18 ++ 1 files changed, 14 insertions(+), 4 deletions(-) Index: llvm/test/Regression/Transforms/InstCombine/2006-05-06-Infloop.ll diff -u llvm/test/Regression/Transforms/InstCombine/2006-05-06-Infloop.ll:1.3 llvm/test/Regression/Transforms/InstCombine/2006-05-06-Infloop.ll:1.4 --- llvm/test/Regression/Transforms/InstCombine/2006-05-06-Infloop.ll:1.3 Sun Dec 31 00:01:59 2006 +++ llvm/test/Regression/Transforms/InstCombine/2006-05-06-Infloop.ll Mon Jan 1 23:53:06 2007 @@ -10,7 +10,7 @@ int %mem_mono_copy_mono(%struct.gx_device* %dev, ubyte* %base, int %sourcex, int %raster, int %x, int %y, int %w, int %h, uint %zero, uint %one) { entry: - %raster.ui = cast int %raster to uint ; [#uses=3] + %raster = cast int %raster to uint ; [#uses=3] %tmp = seteq uint %one, %zero ; [#uses=1] br bool %tmp, label %cond_true, label %cond_next @@ -146,6 +146,7 @@ %optr.3.2 = phi ubyte* [ %tmp232, %cond_true249 ], [ %dest.1.0, %cond_true249.preheader ] ; [#uses=1] %bptr.3.2 = phi ubyte* [ %tmp226, %cond_true249 ], [ %line.1.0, %cond_true249.preheader ] ; [#uses=1] %tmp. = add int %tmp109, %w ; [#uses=1] + %indvar = cast uint %indvar to int ; [#uses=1] %tmp.58 = mul int %indvar, -8 ; [#uses=1] %tmp.57 = add int %tmp., -16; [#uses=1] %tmp246.2 = add int %tmp.58, %tmp.57; [#uses=1] @@ -235,8 +236,10 @@ %dest.1.0.us = phi ubyte* [ %tmp286.us, %cond_next280.us ], [ %tmp100, %cond_true295.preheader.split.us ] ; [#uses=3] %dest_line.1.0.us = phi ubyte** [ %tmp282.us, %cond_next280.us ], [ %tmp96, %cond_true295.preheader.split.us ] ; [#uses=1] %tmp.89 = sub uint 0, %indvar86 ; [#uses=1] + %tmp.89 = cast uint %tmp.89 to int ; [#uses=1] %tmp292.0.us = add int %tmp.89, %tmp29222 ; [#uses=1] - %tmp.91 = mul uint %indvar86, %raster.ui; [#uses=1] + %tmp.91 = mul uint %indvar86, %raster ; [#uses=1] + %tmp.91 = cast uint %tmp.91 to int ; [#uses=1] %tmp104.sum101 = add int %tmp102, %tmp.91 ; [#uses=1] %line.1.0.us = getelementptr ubyte* %base, int %tmp104.sum101 ; [#uses=2] %tmp.us = load ubyte* %line.1.0.us ; [#uses=1] @@ -310,8 +313,10 @@ %dest.1.0 = phi ubyte* [ %tmp286, %cond_next280 ], [ %tmp100, %cond_true295.preheader.split ] ; [#uses=4] %dest_line.1.0 = phi ubyte** [ %tmp282, %cond_next280 ], [ %tmp96, %cond_true295.preheader.split ] ; [#uses=1] %tmp.63 = sub uint 0, %indvar60 ; [#uses=1] + %tmp.63 = cast uint %tmp.63 to int ; [#uses=1] %tmp292.0 = add int %tmp.63, %tmp29222 ; [#uses=1] - %tmp.65 = mul uint %indvar60, %raster.ui; [#uses=1] + %tmp.65 = mul uint %indvar60, %raster ; [#uses=1] + %tmp.65 = cast uint %tmp.65 to int ; [#uses=1] %tmp104.sum97 = add int %tmp102, %tmp.65; [#uses=1] %line.1.0 = getelementptr ubyte* %base, int %tmp104.sum97 ; [#uses=3] %tmp = load ubyte* %line.1.0; [#uses=1] @@ -381,6 +386,7 @@ %optr309.3.0 = phi ubyte* [ %optr309.3, %cond_true398 ], [ %optr309.353, %cond_true398.preheader ] ; [#uses=2] %optr309.3.in.0 = add uint %indvar66, %optr309.3.in51 ; [#uses=1] %tmp.70 = add int %tmp109, %w ; [#uses=1] + %indvar66 = cast uint %indvar66 to int ; [#uses=1] %tmp.72 = mul int %indvar66, -8 ; [#uses=1] %tmp.71 = add int %tmp.70, -8 ; [#uses=1] %count308.3.0 = add int %tmp.72, %tmp.71; [#uses=1] @@ -434,6 +440,7 @@ %tmp416 = load ubyte* %tmp410 ; [#uses=1] %tmp416 = cast ubyte %tmp416 to uint; [#uses=1] %tmp418 = shr uint %tmp416, ubyte %tmp319 ; [#uses=1] + %tmp418 = cast uint %tmp418 to int ; [#uses=1] %tmp420 = add int %tmp418, %tmp408 ; [#uses=1] br label %cond_next422 @@ -472,6 +479,7 @@ %tmp354 = and uint %iftmp.37.0, %mask.1.1 ; [#uses=1] %tmp361 = sub int %w, %tmp110 ; [#uses=2] %tmp39755 = setgt int %tmp361, 7; [#uses=1] + %iftmp.35.0 = cast uint %iftmp.35.0
[llvm-commits] CVS: llvm/test/Regression/Linker/weakextern.ll
Changes in directory llvm/test/Regression/Linker: weakextern.ll updated: 1.3 -> 1.4 --- Log message: For PR1070: http://llvm.org/PR1070 : Tweak the RUN: lines of these tests to accommodate the renaming of variables done by llvm-upgrade. The renaming occurs as a result of avoiding name collisons for collapsed type planes. Conflicting names have a .u (unsigned) or .s (signed) suffix added. This patch updates the grep expression to accommodate the new names. --- Diffs of the changes: (+2 -2) weakextern.ll |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) Index: llvm/test/Regression/Linker/weakextern.ll diff -u llvm/test/Regression/Linker/weakextern.ll:1.3 llvm/test/Regression/Linker/weakextern.ll:1.4 --- llvm/test/Regression/Linker/weakextern.ll:1.3 Sun Dec 31 00:01:59 2006 +++ llvm/test/Regression/Linker/weakextern.ll Mon Jan 1 23:55:05 2007 @@ -2,8 +2,8 @@ ; RUN: llvm-upgrade < `dirname %s`/testlink1.ll | llvm-as > %t2.bc ; RUN: llvm-link %t.bc %t.bc %t2.bc -o %t1.bc -f ; RUN: llvm-dis < %t1.bc | grep "kallsyms_names = extern_weak" && -; RUN: llvm-dis < %t1.bc | grep "MyVar = external global i32" && -; RUN: llvm-dis < %t1.bc | grep "Inte = global i32" +; RUN: llvm-dis < %t1.bc | grep "MyVar.s = external global i32" && +; RUN: llvm-dis < %t1.bc | grep "Inte.s = global i32" %kallsyms_names = extern_weak global [0 x ubyte] %MyVar = extern_weak global int ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Transforms/LCSSA/2006-06-12-MultipleExitsSameBlock.ll basictest.ll
Changes in directory llvm/test/Regression/Transforms/LCSSA: 2006-06-12-MultipleExitsSameBlock.ll updated: 1.2 -> 1.3 basictest.ll updated: 1.6 -> 1.7 --- Log message: For PR1070: http://llvm.org/PR1070 : Tweak the RUN: lines of these tests to accommodate the renaming of variables done by llvm-upgrade. The renaming occurs as a result of avoiding name collisons for collapsed type planes. Conflicting names have a .u (unsigned) or .s (signed) suffix added. This patch updates the grep expression to accommodate the new names. --- Diffs of the changes: (+8 -4) 2006-06-12-MultipleExitsSameBlock.ll |6 -- basictest.ll |6 -- 2 files changed, 8 insertions(+), 4 deletions(-) Index: llvm/test/Regression/Transforms/LCSSA/2006-06-12-MultipleExitsSameBlock.ll diff -u llvm/test/Regression/Transforms/LCSSA/2006-06-12-MultipleExitsSameBlock.ll:1.2 llvm/test/Regression/Transforms/LCSSA/2006-06-12-MultipleExitsSameBlock.ll:1.3 --- llvm/test/Regression/Transforms/LCSSA/2006-06-12-MultipleExitsSameBlock.ll:1.2 Fri Dec 1 22:23:09 2006 +++ llvm/test/Regression/Transforms/LCSSA/2006-06-12-MultipleExitsSameBlock.ll Mon Jan 1 23:55:05 2007 @@ -1,5 +1,7 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -lcssa | llvm-dis | grep "%X.1.lcssa" && -; RUN: llvm-upgrade < %s | llvm-as | opt -lcssa | llvm-dis | not grep "%X.1.lcssa1" +; RUN: llvm-upgrade < %s | llvm-as | opt -lcssa | llvm-dis | \ +; RUN:grep "%X.1.s.lcssa" && +; RUN: llvm-upgrade < %s | llvm-as | opt -lcssa | llvm-dis | \ +; RUN:not grep "%X.1.s.lcssa1" declare bool %c1() declare bool %c2() Index: llvm/test/Regression/Transforms/LCSSA/basictest.ll diff -u llvm/test/Regression/Transforms/LCSSA/basictest.ll:1.6 llvm/test/Regression/Transforms/LCSSA/basictest.ll:1.7 --- llvm/test/Regression/Transforms/LCSSA/basictest.ll:1.6 Sun Dec 31 00:01:59 2006 +++ llvm/test/Regression/Transforms/LCSSA/basictest.ll Mon Jan 1 23:55:05 2007 @@ -1,5 +1,7 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -lcssa | llvm-dis | grep "X3.lcssa = phi i32" && -; RUN: llvm-upgrade < %s | llvm-as | opt -lcssa | llvm-dis | grep "%X4 = add i32 3, %X3.lcssa" +; RUN: llvm-upgrade < %s | llvm-as | opt -lcssa | llvm-dis | \ +; RUN: grep "X3.s.lcssa = phi i32" && +; RUN: llvm-upgrade < %s | llvm-as | opt -lcssa | llvm-dis | \ +; RUN: grep "%X4.s = add i32 3, %X3.s.lcssa" void %lcssa(bool %S2) { entry: ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/CodeGen/ARM/constants.ll
Changes in directory llvm/test/Regression/CodeGen/ARM: constants.ll updated: 1.6 -> 1.7 --- Log message: For PR1070: http://llvm.org/PR1070 : Tweak the RUN: lines of these tests to accommodate the renaming of variables done by llvm-upgrade. The renaming occurs as a result of avoiding name collisons for collapsed type planes. Conflicting names have a .u (unsigned) or .s (signed) suffix added. This patch updates the grep expression to accommodate the new names. --- Diffs of the changes: (+9 -9) constants.ll | 18 +- 1 files changed, 9 insertions(+), 9 deletions(-) Index: llvm/test/Regression/CodeGen/ARM/constants.ll diff -u llvm/test/Regression/CodeGen/ARM/constants.ll:1.6 llvm/test/Regression/CodeGen/ARM/constants.ll:1.7 --- llvm/test/Regression/CodeGen/ARM/constants.ll:1.6 Thu Dec 14 12:58:37 2006 +++ llvm/test/Regression/CodeGen/ARM/constants.ll Mon Jan 1 23:55:05 2007 @@ -1,12 +1,12 @@ -; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm && -; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep "mov r0, #0" | wc -l | grep 1 && -; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep "mov r0, #255" | wc -l | grep 1 && -; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep "mov r0, #256" | wc -l | grep 1 && -; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep ".word.*257" | wc -l | grep 1 && -; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep "mov r0, #-1073741761" | wc -l | grep 1 && -; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep "mov r0, #1008" | wc -l | grep 1 && -; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep "cmp r0, #65536" | wc -l | grep 1 && -; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm | grep "\.comm.*a,4,4" | wc -l | grep 1 +; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm -o %t.s -f && +; RUN: grep "mov r0, #0" %t.s | wc -l | grep 1 && +; RUN: grep "mov r0, #255" %t.s | wc -l | grep 1 && +; RUN: grep "mov r0, #256" %t.s | wc -l | grep 1 && +; RUN: grep ".word.*257" %t.s | wc -l | grep 1 && +; RUN: grep "mov r0, #-1073741761" %t.s | wc -l | grep 1 && +; RUN: grep "mov r0, #1008" %t.s | wc -l | grep 1 && +; RUN: grep "cmp r0, #65536" %t.s | wc -l | grep 1 && +; RUN: grep "\.comm.*a.s,4,4" %t.s | wc -l | grep 1 %a = internal global int 0 ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Transforms/InstCombine/sub.ll zeroext-and-reduce.ll
Changes in directory llvm/test/Regression/Transforms/InstCombine: sub.ll updated: 1.24 -> 1.25 zeroext-and-reduce.ll updated: 1.3 -> 1.4 --- Log message: For PR1070: http://llvm.org/PR1070 : Tweak the RUN: lines of these tests to accommodate the renaming of variables done by llvm-upgrade. The renaming occurs as a result of avoiding name collisons for collapsed type planes. Conflicting names have a .u (unsigned) or .s (signed) suffix added. This patch updates the grep expression to accommodate the new names. --- Diffs of the changes: (+4 -2) sub.ll|3 ++- zeroext-and-reduce.ll |3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) Index: llvm/test/Regression/Transforms/InstCombine/sub.ll diff -u llvm/test/Regression/Transforms/InstCombine/sub.ll:1.24 llvm/test/Regression/Transforms/InstCombine/sub.ll:1.25 --- llvm/test/Regression/Transforms/InstCombine/sub.ll:1.24 Sun Dec 31 00:01:59 2006 +++ llvm/test/Regression/Transforms/InstCombine/sub.ll Mon Jan 1 23:55:05 2007 @@ -1,7 +1,8 @@ ; This test makes sure that these instructions are properly eliminated. ; -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep -v 'sub i32 %Cok, %Bok' | not grep sub +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: grep -v 'sub i32 %Cok.s, %Bok.s' | not grep sub implementation Index: llvm/test/Regression/Transforms/InstCombine/zeroext-and-reduce.ll diff -u llvm/test/Regression/Transforms/InstCombine/zeroext-and-reduce.ll:1.3 llvm/test/Regression/Transforms/InstCombine/zeroext-and-reduce.ll:1.4 --- llvm/test/Regression/Transforms/InstCombine/zeroext-and-reduce.ll:1.3 Sun Dec 31 00:01:59 2006 +++ llvm/test/Regression/Transforms/InstCombine/zeroext-and-reduce.ll Mon Jan 1 23:55:05 2007 @@ -1,4 +1,5 @@ -; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | grep 'and i32 %Y, 8' +; RUN: llvm-upgrade < %s | llvm-as | opt -instcombine | llvm-dis | \ +; RUN: grep 'and i32 %Y.s, 8' int %test1(ubyte %X) { %Y = cast ubyte %X to int ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/Assembler/2004-11-28-InvalidTypeCrash.ll
Changes in directory llvm/test/Regression/Assembler: 2004-11-28-InvalidTypeCrash.ll updated: 1.2 -> 1.3 --- Log message: For PR1070: http://llvm.org/PR1070 : Tweak the RUN: lines of these tests to accommodate the renaming of variables done by llvm-upgrade. The renaming occurs as a result of avoiding name collisons for collapsed type planes. Conflicting names have a .u (unsigned) or .s (signed) suffix added. This patch updates the grep expression to accommodate the new names. --- Diffs of the changes: (+1 -1) 2004-11-28-InvalidTypeCrash.ll |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/Assembler/2004-11-28-InvalidTypeCrash.ll diff -u llvm/test/Regression/Assembler/2004-11-28-InvalidTypeCrash.ll:1.2 llvm/test/Regression/Assembler/2004-11-28-InvalidTypeCrash.ll:1.3 --- llvm/test/Regression/Assembler/2004-11-28-InvalidTypeCrash.ll:1.2 Sat Dec 2 14:34:08 2006 +++ llvm/test/Regression/Assembler/2004-11-28-InvalidTypeCrash.ll Mon Jan 1 23:55:05 2007 @@ -1,3 +1,3 @@ -; RUN: (llvm-upgrade < %s | llvm-as -o /dev/null -f) 2>&1 | grep 'Cannot create a' +; RUN: (llvm-upgrade < %s | llvm-as -o /dev/null -f) 2>&1 | grep 'Cannot resolve type' ; Test for PR463. This program is erroneous, but should not crash llvm-as. %.FOO = internal global %struct.none zeroinitializer ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/test/Regression/CodeGen/PowerPC/darwin-labels.ll
Changes in directory llvm/test/Regression/CodeGen/PowerPC: darwin-labels.ll updated: 1.2 -> 1.3 --- Log message: For PR1070: http://llvm.org/PR1070 : Tweak the RUN: lines of these tests to accommodate the renaming of variables done by llvm-upgrade. The renaming occurs as a result of avoiding name collisons for collapsed type planes. Conflicting names have a .u (unsigned) or .s (signed) suffix added. This patch updates the grep expression to accommodate the new names. --- Diffs of the changes: (+1 -1) darwin-labels.ll |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/test/Regression/CodeGen/PowerPC/darwin-labels.ll diff -u llvm/test/Regression/CodeGen/PowerPC/darwin-labels.ll:1.2 llvm/test/Regression/CodeGen/PowerPC/darwin-labels.ll:1.3 --- llvm/test/Regression/CodeGen/PowerPC/darwin-labels.ll:1.2 Fri Dec 1 22:23:08 2006 +++ llvm/test/Regression/CodeGen/PowerPC/darwin-labels.ll Mon Jan 1 23:55:05 2007 @@ -1,4 +1,4 @@ -; RUN: llvm-upgrade < %s | llvm-as | llc | grep 'foo bar":' +; RUN: llvm-upgrade < %s | llvm-as | llc | grep 'foo bar.s":' target endian = big target pointersize = 32 ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/llvm-upgrade/UpgradeParser.y
Changes in directory llvm/tools/llvm-upgrade: UpgradeParser.y updated: 1.29 -> 1.30 --- Log message: Permit signed and unsigned integer constants to be used with either signed or unsigned integer types. --- Diffs of the changes: (+1 -1) UpgradeParser.y |2 +- 1 files changed, 1 insertion(+), 1 deletion(-) Index: llvm/tools/llvm-upgrade/UpgradeParser.y diff -u llvm/tools/llvm-upgrade/UpgradeParser.y:1.29 llvm/tools/llvm-upgrade/UpgradeParser.y:1.30 --- llvm/tools/llvm-upgrade/UpgradeParser.y:1.29Mon Jan 1 23:44:33 2007 +++ llvm/tools/llvm-upgrade/UpgradeParser.y Tue Jan 2 00:33:02 2007 @@ -708,7 +708,7 @@ *$$.cnst += " " + *$2; delete $2; } - | UIntType EUINT64VAL {// integral constants + | UIntType EInt64Val {// integral constants $$.type = $1; $$.cnst = new std::string($1->getNewTy()); *$$.cnst += " " + *$2; ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
[llvm-commits] CVS: llvm/tools/llvm-upgrade/UpgradeParser.cpp UpgradeParser.cpp.cvs UpgradeParser.y.cvs
Changes in directory llvm/tools/llvm-upgrade: UpgradeParser.cpp updated: 1.31 -> 1.32 UpgradeParser.cpp.cvs updated: 1.29 -> 1.30 UpgradeParser.y.cvs updated: 1.28 -> 1.29 --- Log message: Regenerate. --- Diffs of the changes: (+211 -211) UpgradeParser.cpp | 210 +- UpgradeParser.cpp.cvs | 210 +- UpgradeParser.y.cvs |2 3 files changed, 211 insertions(+), 211 deletions(-) Index: llvm/tools/llvm-upgrade/UpgradeParser.cpp diff -u llvm/tools/llvm-upgrade/UpgradeParser.cpp:1.31 llvm/tools/llvm-upgrade/UpgradeParser.cpp:1.32 --- llvm/tools/llvm-upgrade/UpgradeParser.cpp:1.31 Mon Jan 1 23:45:11 2007 +++ llvm/tools/llvm-upgrade/UpgradeParser.cpp Tue Jan 2 00:34:08 2007 @@ -1043,7 +1043,7 @@ 190, 159, 197, 160,-1, 190, 161, 197, 162,-1, 190, 161, 162,-1, 190,22,-1, 190,23,-1, 190, 222,-1, 190, 196,-1, 190,24,-1, 175, - 167,-1, 176,18,-1, 4,25,-1, 4,26, + 167,-1, 176, 167,-1, 4,25,-1, 4,26, -1, 178,21,-1, 174, 154, 195,39, 190, 155, -1, 127, 154, 195, 237, 155,-1, 129, 154, 195, 152, 195, 152, 195, 155,-1, 168, 154, 195, 152, @@ -1375,72 +1375,72 @@ 132, 146, -513, -513, -513, -513, -513, -513, 873, -26, -513, -18, -513,47,19,23,39,67, -513,77, 132, 873,81,81, -513, -513,81,81, -513, -513, --513, -513, -513,86, -513, -513, -513, -513, -513, -513, --513, -513, -513, -513, -513, -513, -513, -513, -513, 223, - 225,-9, 506, -513, 133,91, -513, -513, -111, -513, +-513, -513, -513,89, -513, -513, -513, -513, -513, -513, +-513, -513, -513, -513, -513, -513, -513, -513, -513, 227, + 229,-9, 506, -513, 133,95, -513, -513, -111, -513, -513, -513, -513, -513, -513, -513, -513, -513, 901,36, - 148, -513, -513, -513, 1336, -513, -513, -513, 219,76, - 229, 222, 224, -513, -513, -513, -513, -513, 933, 933, - 963, 933, -513,98, 100, 614, -513, -513, -111, -104, - 104, 216, -513,86, 1134, -513, 1134, 1134, -513, -513, + 148, -513, -513, -513, 1336, -513, -513, -513, 222,76, + 250, 239, 241, -513, -513, -513, -513, -513, 933, 933, + 963, 933, -513, 115, 116, 614, -513, -513, -111, -104, + 120, 216, -513,89, 1134, -513, 1134, 1134, -513, -513, -513, -513, -513, -513, -513, -513, -513, -513, 1134, -513, - 933, -513, 206, 111, -513, -513, -513, -513, -513, -513, + 933, -513, 218, 111, -513, -513, -513, -513, -513, -513, -513, -513, -513, -513, -513, -513, -513, -513, -513, -513, -513, -513, -513, -513, 195,84, 933, 933, 933, 933, 933, 933, -513, -513, -513, -513, 933, 933, 933, 933, -513, -513, -513, -513, -513, -513, -513, -513, -513, -513, -513, -513, -513, 933, 933, 933, 933, 933, 111, -513, 11, -513, -513, -513, -513, -513, -513, -513, -513, -93, - 115, 115, 121, 166, 250, 169, 251, 191, 253, 193, - 254, 252, 257, 220, 256, 260, 1045, 115, 115, 933, - 933, 122, -73, 933, -513, 701, -513, 134, 129, -513, --513, -513, -513, -513, -513, -513, -513, 221, 195,84, - 136, 137, 138, 140, 150, 963, 154, 156, 158, 167, - 168, -513, -513, -513, -513, 171, -513, 172, -513, -513, + 129, 129, 121, 166, 169, 191, 193, 220, 223, 237, + 240, 261, 263, 249, 249, 264, 1045, 129, 129, 933, + 933, 126, -73, 933, -513, 701, -513, 138, 136, -513, +-513, -513, -513, -513, -513, -513, -513, 228, 195,84, + 140, 150, 154, 156, 158, 963, 167, 168, 170, 171, + 172, -513, -513, -513, -513, 175, -513, 176, -513, -513, 873, -513, -513, -513, -513, -513, -513, -513, -513, -513, -513, 933, -513, -513, -513, -513, -513, -513, -513, -513, --513, -513, -513, -513, -513, -513, -513, -513, 933, 173, - 174, -513, 1134, 164, 175, 176, 177, 178, 179, 182, -1134, 1134, 1134, 183, 297, 873, 933, 933, 308, -513, +-513, -513, -513, -513, -513, -513, -513, -513, 933, 177, + 178, -513, 1134, 164, 179, 182, 183, 184, 186, 188, +1134, 1134, 1134, 189, 284, 873, 933, 933, 312, -513, -8, -513, -513, -513, -513, -513, -513, -513, -513, -513, --5
Re: [llvm-commits] CVS: llvm/tools/llvm-upgrade/ParserInternals.h UpgradeLexer.l UpgradeParser.y
Hi Gordon, On Tue, 2007-01-02 at 01:31 -0500, Gordon Henriksen wrote: > Would it save much work to simply disambiguate all variable > definitions which rely on type planes for uniqueness? That is, essentially, what llvm-upgrade is doing. > There would be no need to identify %t1 and %t2 as identical types, and > the program would be immune to problems of this class. llvm-upgrade > would still have to track the obsolete type planes in order to > accurately update uses, though. Yup, that's what it does. Note however, that I've cited a fairly easy case (that I'm working on now). However, consider something like this: "struct.kc::hashtable_level" = type { bool, "struct.__gnu_cxx::hash_set >", "struct.std::map, std::allocator >,kc::impl_path*,std::less, std::allocator > >,std::allocator, std::allocator >, kc::impl_path*> > >", "struct.std::map, std::allocator >,kc::impl_path*,std::less, std::allocator > >,std::allocator, std::allocator >, kc::impl_path*> > >", "struct.std::map, std::allocator >,kc::impl_path*,std::less, std::allocator > >,std::allocator, std::allocator >, kc::impl_path*> > >", "struct.std::map, std::allocator >,kc::impl_path*,std::less, std::allocator > >,std::allocator, std::allocator >, kc::impl_path*> > >", "struct.std::map, std::allocator >,kc::impl_path*,std::less, std::allocator > >,std::allocator, std::allocator >, kc::impl_path*> > >" } Now, is that signed, or unsigned? :) The problem is that two types could differ only by sign at some very complex level of nesting and its entirely possible that variables with the same name for the two types could be used. I'm trying to peel that onion slowly so as not to break llvm-upgrade in the process. More to come. Reid. > > > On 2007-01-02, at 00:44, Reid Spencer wrote: > > > For PR1070: http://llvm.org/PR1070 : > > > > Revise the upgrade parser to keep track of types more faithfully and > > use > > > > this information to resolve name conflicts resulting from collapsed > > type > > > > planes. The type planes have collapsed because the integer types are > > now > > > > signless so that uint and int became i32. Where two planes existed > > for uint > > > > and int, only i32 exists. Any variable names depending on the type > > planes > > > > to pmake the identifier unique would cause a conflict. This patch > > resolves > > > > that conflict for many but not all cases. > > > > > > Situations involving the integer types and pointers to them are > > handled > > > > by this patch. However, there are corner cases that are not > > handled > > > > well, such as: > > > > > > %t1 = type { uint, int } > > > > %t2 = type { int, uint } > > > > > > void %myfunc(%t1* one, %t2* two) { > > > > %var = load %t1* one > > > > %var = load %t2* two > > > > } > > > > > > In the scenario above, %t1 and %t2 are really the same type: { i32, > > i32 } > > > > Consequently attempting to name %var twice will yield a redefinition > > error > > > > when assembled. > > > > > > While this patch is sufficien to allow the llvm/test suite to pass, > > More > > > > work needs to be to complete the handling of these corner cases. > > > > > ___ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits