Commit Graph

117 Commits

Author SHA1 Message Date
Chris Lattner
cf3d061099 regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34225 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-13 06:04:17 +00:00
Chris Lattner
858d97347e remove use of vector-related ctors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34224 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-13 06:03:48 +00:00
Chris Lattner
1bc3fa6451 stop using me thods that take a vector
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34206 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-12 22:58:38 +00:00
Chris Lattner
8adde28039 regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34188 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-11 21:40:10 +00:00
Chris Lattner
c02659f675 add #include
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34187 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-11 21:39:35 +00:00
Reid Spencer
ed96d1e78c Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34050 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-08 09:08:52 +00:00
Reid Spencer
2dcb5834c0 Rename a field so there's less confusion between fields of the same name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34049 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-08 09:08:23 +00:00
Reid Spencer
ac6d60899d For PR1187:
Rename function scope names that conflict with basic block names.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34048 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-08 09:07:25 +00:00
Reid Spencer
39a9792d54 For PR1187:
Always rename, never give a redef error. We could check for collapsed type
planes and generate an error if that's not the cause, but the 99.9999
percentile case will be that its the result of collapsed type planes. So,
rather than doing an expensive check, just rename.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34047 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-08 08:47:38 +00:00
Reid Spencer
e7c326b3f8 For PR1187:
Some changes to get the smbd.ll test case working:
1. Move the logic for CSRETCC->sret attribute out of the ResolveDefinitions
   code and into getExistingValue. This resolves it much earlier and works
   in function scope as well.
2. Fix handling of CSRETCC->sret for the store instruction.
3. Rewrite the code for handling renaming to factor in linkage types.
4. Rename a structure filed for a PATypeInfo* so it doesn't get confused
   with a field for a Type*.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34043 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-08 08:09:36 +00:00
Reid Spencer
785a5ae0cf Regenerate for recent changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34025 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-08 00:21:40 +00:00
Reid Spencer
0ec8200811 For PR1187:
When a naming conflict arises, allow internal linkage functions to be
renamed without warning or error.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34024 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-08 00:21:06 +00:00
Reid Spencer
49b8b55c29 For PR1187:
Allow @ before identifer names. Recognize the i1, i8, i16, i32, i64 keywords
as type names corresponding to bool, ubyte, ushort, uint, and ulong
respectively. While these aren't LLVM 1.9 constructs, permitting the syntax
allows post-1.9 assembly files to be upgraded.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34023 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-08 00:19:40 +00:00
Reid Spencer
688b0490e2 For PR411:
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
2007-02-05 21:19:13 +00:00
Reid Spencer
ef9b9a7939 For PR411:
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
2007-02-05 20:47:22 +00:00
Reid Spencer
414e37f9a3 Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33859 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-04 01:12:11 +00:00
Reid Spencer
c34706c4ff For PR1151:
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
2007-02-04 01:05:23 +00:00
Reid Spencer
832254e1c2 Changes to support making the shift instructions be true BinaryOperators.
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
2007-02-02 02:16:23 +00:00
Reid Spencer
5cbf985dcb For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoid
confusion with external linkage types.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33663 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-30 20:08:39 +00:00
Reid Spencer
7de2e013db Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33624 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-29 19:08:46 +00:00
Reid Spencer
f049c6712d For PR1142:
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
2007-01-29 19:07:18 +00:00
Reid Spencer
b7046c7352 Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33615 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-29 05:41:34 +00:00
Reid Spencer
43f76c9925 Upgrade old csret calling convention into sret parameter attribute.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33614 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-29 05:41:09 +00:00
Anton Korobeynikov
ce13b85e6c Merge error at my side. Fixed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33601 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-28 15:25:24 +00:00
Anton Korobeynikov
9adeaa2f59 Regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33599 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-28 13:37:39 +00:00
Anton Korobeynikov
c4c87a30d2 Drop CSRET CC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33598 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-28 13:36:18 +00:00
Reid Spencer
3c0f6cf49b Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33595 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-28 00:52:05 +00:00
Reid Spencer
1e3c64e183 For PR1137:
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
2007-01-28 00:51:40 +00:00
Reid Spencer
38f682b8b2 Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33547 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 20:31:18 +00:00
Reid Spencer
8f78af9f8f Make sure that an upgraded index is also inserted into the VIndices
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
2007-01-26 20:29:52 +00:00
Reid Spencer
d7c4f8ceff Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33545 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 19:59:25 +00:00
Reid Spencer
aa777bd8ad Ensure that gep_upgrade zext instructions we insert have unique names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33544 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 19:58:59 +00:00
Reid Spencer
7e97288b62 Remove extraneous ; to make some versions of bison happy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33541 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 18:26:23 +00:00
Reid Spencer
9373d272b2 Remove the SignedType class and other dead code. Improve comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33538 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 17:13:53 +00:00
Reid Spencer
950bf60301 Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33532 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 08:19:09 +00:00
Reid Spencer
efd53d57a6 For All These Bugs:
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
2007-01-26 08:18:34 +00:00
Jeff Cohen
ac2dca9a6f Fix a bunch of missing semicolon parse errors from bison.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33426 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-21 19:30:52 +00:00
Reid Spencer
b6673a9e60 Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33227 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-15 02:41:46 +00:00
Reid Spencer
3d6cd1b149 For PR1113:
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
2007-01-15 02:40:33 +00:00
Reid Spencer
30d0c58fc9 Regenerate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33212 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-15 00:26:18 +00:00
Reid Spencer
e0a15bbc02 Reorganize things a bit in preparation for rewrite. Although this looks
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
2007-01-15 00:25:53 +00:00
Reid Spencer
195a32e5ef Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33180 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-13 04:40:16 +00:00
Reid Spencer
692ede5f2f Can't generate "bool" any more. Change to i1
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33179 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-13 04:39:47 +00:00
Reid Spencer
f6e5459408 Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33172 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-13 00:23:06 +00:00
Reid Spencer
2b21761556 Don't attempt to upgrade argument to va.start and va.end if there are none.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33171 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-13 00:22:40 +00:00
Reid Spencer
f0c9a6572d Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33169 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-13 00:13:49 +00:00
Reid Spencer
c4d9625b29 Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33165 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-13 00:03:30 +00:00
Reid Spencer
fbb7b69fc6 For PR1093:
Implement upgrading of the varargs intrinsics. These must now have i8*
arguments. This patch bitcasts arguments to i8* and fixes the prototypes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33163 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-13 00:02:00 +00:00
Reid Spencer
609ca3e653 Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33140 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-12 20:10:51 +00:00
Reid Spencer
9421014881 Remove support for upgrading NOT. The llvm-upgrade lexer didn't recognize
it either. NOT is just plain illegal now.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33139 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-12 20:09:48 +00:00