aboutsummaryrefslogtreecommitdiffstats
path: root/tools
Commit message (Collapse)AuthorAgeFilesLines
* For PR411:Reid Spencer2007-02-057-24/+24
| | | | | | | | | Adjust to changes in Module interface: getMainFunction() -> getFunction("main") getNamedFunction(X) -> getFunction(X) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33922 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR411:Reid Spencer2007-02-051-1/+2
| | | | | | | | Change getNamedFunction -> getFunction Make llvm-extract run the StripDeadPrototypes pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33921 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR411:Reid Spencer2007-02-0514-582/+615
| | | | | | | | | | | This patch replaces the SymbolTable class with ValueSymbolTable which does not support types planes. This means that all symbol names in LLVM must now be unique. The patch addresses the necessary changes to deal with this and removes code no longer needed as a result. This completes the bulk of the changes for this PR. Some cleanup patches will follow. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33918 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix grammaro in output message.Reid Spencer2007-02-041-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33885 91177308-0d34-0410-b5e6-96231b3b80d8
* Regenerate.Reid Spencer2007-02-043-252/+250
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33859 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR1151:Reid Spencer2007-02-041-1/+0
| | | | | | | | | | Make llvm-upgrade valgrind clean. Deleting type instances is a really nasty thing to do to LLVM. This was a hold-over from the re-write. This fixes test/Assembler/2007-01-22-UpgradeTypeMapInvalidMemory.ll and potentially many other bugs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33858 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure the gccas script is executable.Reid Spencer2007-02-041-2/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33851 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR1072:Reid Spencer2007-02-033-4/+2
| | | | | | | | Removing -raise has neglible positive or negative side effects so we are opting to remove it. See the PR for comparison details. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33844 91177308-0d34-0410-b5e6-96231b3b80d8
* add an instcombine pass to clean up after heavy-lifting IP passesChris Lattner2007-02-031-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33843 91177308-0d34-0410-b5e6-96231b3b80d8
* Clean this up a bit: hide command unless verbose output requested, echoReid Spencer2007-02-031-2/+6
| | | | | | | a useful comment line, add a clean target. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33834 91177308-0d34-0410-b5e6-96231b3b80d8
* Two improvements:Reid Spencer2007-02-021-2/+2
| | | | | | | | | 1. Allow -- as well as - options (Bill Wendling) 2. Pass unrecognized options to opt and let it handle the errors, if any (Chris Lattner). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33798 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR1152:Reid Spencer2007-02-023-221/+76
| | | | | | | Step 2: Make plug compatible shell script to replace gccas binary. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33787 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR1152:Reid Spencer2007-02-021-2/+100
| | | | | | | | | | | | | Step 1: Copy gccas functionality to opt. This endows opt with a new -std-compile-opts option to get the set of optimization passes that gccas used. It also adds -disable-inlining and -disable-opt which both apply only if -std-compile-opts is given. The -strip-debug option was also removed. It just makes sure that "-strip" gets done early and is mostly there for compatibility with gccas. Finally, a new -verify-each option will cause the verify pass to be run after each pass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33786 91177308-0d34-0410-b5e6-96231b3b80d8
* Changes to support making the shift instructions be true BinaryOperators.Reid Spencer2007-02-028-1996/+1850
| | | | | | | | | | | | | This feature is needed in order to support shifts of more than 255 bits on large integer types. This changes the syntax for llvm assembly to make shl, ashr and lshr instructions look like a binary operator: shl i32 %X, 1 instead of shl i32 %X, i8 1 Additionally, this should help a few passes perform additional optimizations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33776 91177308-0d34-0410-b5e6-96231b3b80d8
* Add printVersion(). Linker can use it to print LLVM version number.Devang Patel2007-02-011-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33738 91177308-0d34-0410-b5e6-96231b3b80d8
* Include Makefile.config before testing OS.Devang Patel2007-02-011-5/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33735 91177308-0d34-0410-b5e6-96231b3b80d8
* shutdown the app when done.Chris Lattner2007-01-311-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33716 91177308-0d34-0410-b5e6-96231b3b80d8
* shutdown at end of runChris Lattner2007-01-311-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33697 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoidReid Spencer2007-01-3011-28/+28
| | | | | | | confusion with external linkage types. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33663 91177308-0d34-0410-b5e6-96231b3b80d8
* Regenerate.Reid Spencer2007-01-293-272/+342
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33624 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR1142:Reid Spencer2007-01-291-4/+39
| | | | | | | | | | | When an unresolved definition is found, check to see if it is only unresolved because the csretcc was upgraded to the sret param attribute. Such changes change the function type and lead to unresolved definitions. In such cases, just cast the function to the type expected by the CallInst. That is, cast to the version of the function that has the sret param attribute. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33623 91177308-0d34-0410-b5e6-96231b3b80d8
* Regenerate.Reid Spencer2007-01-293-1261/+1163
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33615 91177308-0d34-0410-b5e6-96231b3b80d8
* Upgrade old csret calling convention into sret parameter attribute.Reid Spencer2007-01-292-15/+60
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33614 91177308-0d34-0410-b5e6-96231b3b80d8
* Drop CSRET from here too.Nick Lewycky2007-01-281-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33604 91177308-0d34-0410-b5e6-96231b3b80d8
* Merge error at my side. Fixed.Anton Korobeynikov2007-01-284-294/+450
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33601 91177308-0d34-0410-b5e6-96231b3b80d8
* RegenerateAnton Korobeynikov2007-01-283-2078/+2370
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33599 91177308-0d34-0410-b5e6-96231b3b80d8
* Drop CSRET CCAnton Korobeynikov2007-01-282-126/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33598 91177308-0d34-0410-b5e6-96231b3b80d8
* Propagate changes from my local tree. This patch includes:Anton Korobeynikov2007-01-281-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | 1. New parameter attribute called 'inreg'. It has meaning "place this parameter in registers, if possible". This is some generalization of gcc's regparm(n) attribute. It's currently used only in X86-32 backend. 2. Completely rewritten CC handling/lowering code inside X86 backend. Merged stdcall + c CCs and fastcall + fast CC. 3. Dropped CSRET CC. We cannot add struct return variant for each target-specific CC (e.g. stdcall + csretcc and so on). 4. Instead of CSRET CC introduced 'sret' parameter attribute. Setting in on first attribute has meaning 'This is hidden pointer to structure return. Handle it gently'. 5. Fixed small bug in llvm-extract + add new feature to FunctionExtraction pass, which relinks all internal-linkaged callees from deleted function to external linkage. This will allow further linking everything together. NOTEs: 1. Documentation will be updated soon. 2. llvm-upgrade should be improved to translate csret => sret. Before this, there will be some unexpected test fails. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33597 91177308-0d34-0410-b5e6-96231b3b80d8
* Regenerate.Reid Spencer2007-01-283-284/+388
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33595 91177308-0d34-0410-b5e6-96231b3b80d8
* For PR1137:Reid Spencer2007-01-281-10/+62
| | | | | | | | | | | When a value is found to have the same name as another, try harder to disambiguate when its a type plane collapse issue and when it isn't. We traverse the type to see if it contains an integer. If it does not then we issue the error because it can't be resulting from integer type planes collapsing. Otherwise we just rename it, even if that's a bit of overkill. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33594 91177308-0d34-0410-b5e6-96231b3b80d8
* Regenerate.Reid Spencer2007-01-263-267/+271
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33547 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure that an upgraded index is also inserted into the VIndicesReid Spencer2007-01-261-1/+3
| | | | | | | | | | | otherwise it gets ignored. This fixes test/CodeGen/X86/2006-05-11-InstrSched.ll Thanks to Evan Cheng for noticing this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33546 91177308-0d34-0410-b5e6-96231b3b80d8
* Regenerate.Reid Spencer2007-01-263-538/+276
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33545 91177308-0d34-0410-b5e6-96231b3b80d8
* Ensure that gep_upgrade zext instructions we insert have unique names.Reid Spencer2007-01-261-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33544 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove extraneous ; to make some versions of bison happy.Reid Spencer2007-01-261-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33541 91177308-0d34-0410-b5e6-96231b3b80d8
* Order createSimplifyLibCallsPass() after a set of function level passesDevang Patel2007-01-261-1/+1
| | | | | | | so that these function passes are managed by CallGraphPassManager. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33540 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the SignedType class and other dead code. Improve comments.Reid Spencer2007-01-262-166/+13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33538 91177308-0d34-0410-b5e6-96231b3b80d8
* Regenerate.Reid Spencer2007-01-267-6156/+9230
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33532 91177308-0d34-0410-b5e6-96231b3b80d8
* For All These Bugs:Reid Spencer2007-01-263-1948/+3459
| | | | | | | | | | | | | | | | | | | | | | | | | | | PR645 PR761 PR1082 PR1122 Completely rewrite llvm-upgrade. This should be its final design. Any future changes will use this same design. The changes involve the following: 1. Make this work very much like the 1.9 AsmParser 2. Retain old upgrades dating back to release 1.2 time frame. 3. Merge in some of the upgrades between 1.9 and 2.0 (e.g. icmp/fcmp). 4. Attach a Signedness value (Signless, Unsigned, Signed) to every type, Value, Constant, Instruction, and list of those things in the Parser. Use these to make signedness decisions for instruction upgrades. 5. Implement unique name upgrade for function values and global values. 6. Identify rename cases that might cause problems and warn about them. For example: renaming a global variable with external linkage. 7. Generate a 2.0 IR using VMCore. This is necessary for numerous reasons and has the advantage that it never goes out of date. 8. Use the AsmPrinter to make the output nice. 9. Clean up error and warning messages from 1.9 form. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33531 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bunch of missing semicolon parse errors from bison.Jeff Cohen2007-01-214-1552/+1334
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33426 91177308-0d34-0410-b5e6-96231b3b80d8
* Run GenLibDeps.pl with the configured PERL path to handle different installReid Spencer2007-01-211-1/+1
| | | | | | | locations for Perl on different systems. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33424 91177308-0d34-0410-b5e6-96231b3b80d8
* default to emiting an uncompressed .bc fileChris Lattner2007-01-218-9/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33420 91177308-0d34-0410-b5e6-96231b3b80d8
* Run an instcombine pass after inlining but before scalarrepl. This allowsChris Lattner2007-01-151-0/+1
| | | | | | | | instcombine to clean up the code, which makes more code suitable for SRoA. This helps C++ code in particular, e.g. speeding up tramp3d by 31%. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33235 91177308-0d34-0410-b5e6-96231b3b80d8
* Regenerate.Reid Spencer2007-01-155-844/+850
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33227 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33226 91177308-0d34-0410-b5e6-96231b3b80d8
* rename Type::isIntegral to Type::isInteger, eliminating the old Type::isInteger.Chris Lattner2007-01-151-3/+3
| | | | | | | | | | rename Type::getIntegralTypeMask to Type::getIntegerTypeMask. This makes naming much more consistent. For example, there are now no longer any instances of IntegerType that are not considered isInteger! :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33225 91177308-0d34-0410-b5e6-96231b3b80d8
* RegenerateReid Spencer2007-01-155-1029/+1476
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33212 91177308-0d34-0410-b5e6-96231b3b80d8
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33211 91177308-0d34-0410-b5e6-96231b3b80d8
* Regenerate.Reid Spencer2007-01-134-173/+173
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33180 91177308-0d34-0410-b5e6-96231b3b80d8
* Can't generate "bool" any more. Change to i1Reid Spencer2007-01-132-5/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33179 91177308-0d34-0410-b5e6-96231b3b80d8