summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-upgrade
Commit message (Collapse)AuthorAgeFilesLines
...
* For PR1113:Reid Spencer2007-01-153-211/+215
| | | | | | | | | | | Increment the counter after the second use, not after the first use. This fixes PR1113. Also, rename some classes for simplicity and to more naturally be reminscient of LLVM 1.9. This in preparation for additional classes that will provide a scaled down model of the LLVM 1.9 IR. llvm-svn: 33226
* RegenerateReid Spencer2007-01-155-1029/+1476
| | | | llvm-svn: 33212
* Reorganize things a bit in preparation for rewrite. Although this looksReid Spencer2007-01-153-501/+574
| | | | | | | | | | | | | | | like a lot, its really only two changes: 1. Move stuff that should be private to .y out of the .h file. 2. Make all semantic values pointers. This cleans up the silly destroy methods and changes them to delete. It also moves the TypeInfo and ValueInfo classes into the .y where we can modify them more readily because they have no clients any more. This shouldn't result in any functional changes in llvm-upgrade. llvm-svn: 33211
* Regenerate.Reid Spencer2007-01-134-173/+173
| | | | llvm-svn: 33180
* Can't generate "bool" any more. Change to i1Reid Spencer2007-01-132-5/+5
| | | | llvm-svn: 33179
* Regenerate.Reid Spencer2007-01-132-26/+30
| | | | llvm-svn: 33172
* Don't attempt to upgrade argument to va.start and va.end if there are none.Reid Spencer2007-01-131-5/+7
| | | | llvm-svn: 33171
* Regenerate.Reid Spencer2007-01-132-2/+2
| | | | llvm-svn: 33169
* Regenerate.Reid Spencer2007-01-133-1280/+1341
| | | | llvm-svn: 33165
* For PR1093:Reid Spencer2007-01-131-5/+34
| | | | | | | Implement upgrading of the varargs intrinsics. These must now have i8* arguments. This patch bitcasts arguments to i8* and fixes the prototypes. llvm-svn: 33163
* Regenerate.Reid Spencer2007-01-123-660/+641
| | | | llvm-svn: 33140
* Remove support for upgrading NOT. The llvm-upgrade lexer didn't recognizeReid Spencer2007-01-121-6/+1
| | | | | | it either. NOT is just plain illegal now. llvm-svn: 33139
* Fix persistent conflict madness by removing these from cvs.Chris Lattner2007-01-123-8061/+0
| | | | llvm-svn: 33111
* For PR1043:Zhou Sheng2007-01-112-165/+165
| | | | | | | Merge ConstantIntegral and ConstantBool into ConstantInt. Remove ConstantIntegral and ConstantBool from LLVM. llvm-svn: 33073
* Regenerate.Reid Spencer2007-01-073-74/+104
| | | | llvm-svn: 32987
* Upgrade the llvm.isunordered intrinsics to "fcmp uno" instruction.Reid Spencer2007-01-071-14/+24
| | | | llvm-svn: 32986
* Regenerate.Reid Spencer2007-01-065-571/+748
| | | | llvm-svn: 32955
* For PR1082:Reid Spencer2007-01-062-59/+122
| | | | | | | | Solve several related problems by making variable names more unique and dealing with recursive phi nodes. Unfortunately, this doesn't solve the main issue reported in the PR, but its a step in that direction. llvm-svn: 32953
* RegenerateReid Spencer2007-01-063-6/+6
| | | | llvm-svn: 32944
* For PR1080:Reid Spencer2007-01-061-2/+2
| | | | | | | | Emit the correct syntax for icmp and fcmp constant expressions. The predicate goes outside the parentheses not inside. This was a change made in the assembler without the corresponding change made in llvm-upgrade. llvm-svn: 32942
* Fix dependencies. The lexer depends on the grammar for the UpgradeParser.hReid Spencer2007-01-051-2/+1
| | | | | | | file so make it depend on the .y file as well. This ensures that in parallel builds the lexer is built after bison runs. llvm-svn: 32937
* RegenerateReid Spencer2007-01-058-6247/+9419
| | | | llvm-svn: 32908
* Adjust to new header file name.Reid Spencer2007-01-051-1/+1
| | | | llvm-svn: 32907
* Major update of llvm-upgrade:Reid Spencer2007-01-053-238/+534
| | | | | | | | | | | | | | | | | | | 1. Completely revise the type system so that types are handled as const objects and not created multiple times, cloned, or otherwise copied. This gets around memory issues, saves memory, and also emulates LLVM's no-two-types-of-the-same-shape-created semantics. 2. Adjust the handling of global names. Basically, we cannot rename them for a variety of reasons: linking, forward references, etc. 3. Detect global names that have name conflicts as the result of collapsed type planes or redefinitions that llvm-as no longer accepts. These will produce warnings on stderr and one of the globals will be renamed. 4. Rename ParserInternals.h as UpgradeInternals.h so it doesn't conflict in the debugger with ParserInternals.h from lib/AsmParser. 5. Move the guts of the TypeInfo class into the grammar so we aren't implementing large functions in a header file. This also helps with debugging a bit. llvm-svn: 32906
* regenerateChris Lattner2007-01-046-8133/+6026
| | | | llvm-svn: 32880
* If we hit a parse error, emit something bad to the output stream. This ↵Chris Lattner2007-01-041-0/+2
| | | | | | | | | | ensures that llvm-upgrade < foo | llvm-as | llvm-dis will fail if llvm-upgrade fails. llvm-svn: 32879
* Regenerate.Reid Spencer2007-01-036-500/+608
| | | | llvm-svn: 32848
* Implement many new type features including upreferences, proper retentionReid Spencer2007-01-031-4/+15
| | | | | | of structure contents, counts of packed and array types, etc. llvm-svn: 32847
* Finish implementation of variable renaming to handle collapsed type planesReid Spencer2007-01-031-35/+71
| | | | | | | | by correctly handling up references and enumerated types. Previously there was some confusion of these two. Thanks to Chris Lattner for demistifying llvm up references. llvm-svn: 32846
* Regenerate.Reid Spencer2007-01-023-211/+211
| | | | llvm-svn: 32817
* Permit signed and unsigned integer constants to be used with either signedReid Spencer2007-01-021-1/+1
| | | | | | or unsigned integer types. llvm-svn: 32816
* Regenerate.Reid Spencer2007-01-028-1574/+1967
| | | | llvm-svn: 32811
* For PR1070:Reid Spencer2007-01-023-313/+563
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-svn: 32810
* Regenerate.Reid Spencer2007-01-015-400/+493
| | | | llvm-svn: 32805
* For PR1070:Reid Spencer2007-01-011-2/+33
| | | | | | Remove useless bitcasts by commenting them out. llvm-svn: 32804
* For PR950:Reid Spencer2006-12-3110-4475/+4465
| | | | | | Convert signed integer types to signless. llvm-svn: 32790
* For PR950:Reid Spencer2006-12-312-30/+29
| | | | | | | | | Don't attempt to parse both the old and new grammars. It is near impossible to get it right. Remove support for the new define keyword and don't attempt to insert parameter attributes because there isn't enough contextual information for it. llvm-svn: 32784
* Regenerate.Reid Spencer2006-12-298-4461/+4610
| | | | llvm-svn: 32772
* For PR950:Reid Spencer2006-12-292-41/+64
| | | | | | | | | | | Fix several bugs and update for new assembly syntax. Changes made include: 1. Fixing rules for icmp/fcmp instructions to not require a closing paren at the end. This was a cut-and-paste error from a previous commit. 2. Changing things like Out << " " to Out << ' ' 3. Adding the "define" keyword for function definitions 4. Adding support for packed structures llvm-svn: 32771
* For PR950:Reid Spencer2006-12-236-454/+398
| | | | | | | | This patch removes the SetCC instructions and replaces them with the ICmp and FCmp instructions. The SetCondInst instruction has been removed and been replaced with ICmpInst and FCmpInst. llvm-svn: 32751
* Regenerate.Reid Spencer2006-12-093-3/+3
| | | | llvm-svn: 32405
* Fix test/Regression/Assembler/2006-12-09-Cast-To-Bool.llReid Spencer2006-12-091-1/+1
| | | | | | Do not upgrade casts of bool to bool. llvm-svn: 32404
* Regenerate.Reid Spencer2006-12-095-400/+418
| | | | llvm-svn: 32400
* When upgrading cast to bool to a setne, generate icmp ne instead.Reid Spencer2006-12-091-4/+10
| | | | llvm-svn: 32399
* Regenerate.Reid Spencer2006-12-075-392/+419
| | | | llvm-svn: 32303
* Create an option to turn off generation of fcmp instructions while stillReid Spencer2006-12-071-0/+9
| | | | | | allowing integer setxx instructions to be converted to icmp. llvm-svn: 32302
* Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, areBill Wendling2006-12-071-10/+10
| | | | | | now cerr, cout, and NullStream resp. llvm-svn: 32298
* No need to update generated files.Jim Laskey2006-12-062-2847/+3909
| | | | llvm-svn: 32275
* Fix build for older versios of bison.Jim Laskey2006-12-063-3911/+2849
| | | | llvm-svn: 32274
* Regenerate.Reid Spencer2006-12-063-3/+3
| | | | llvm-svn: 32269
OpenPOWER on IntegriCloud