1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 20:23:11 +01:00
Commit Graph

149 Commits

Author SHA1 Message Date
Reid Spencer
4721577334 For PR1146:
Make ParamAttrsList objects unique. You can no longer directly create or
destroy them but instead must go through the ParamAttrsList::get()
interface.

llvm-svn: 36327
2007-04-22 05:46:44 +00:00
Reid Spencer
19a7c47328 Regenerate.
llvm-svn: 36106
2007-04-16 03:05:01 +00:00
Reid Spencer
35f2799915 For PR1336:
Functions without names deserve to be created too. This fixes:
test/CodeGen/Generic/vector-constantexpr.ll

llvm-svn: 36105
2007-04-16 03:04:13 +00:00
Reid Spencer
15a5b3e2b2 For PR1336:
When upgrading global vars, look for conflicts with functions as well. This
fixes test/Transforms/GlobalDCE/2002-08-17-FunctionDGE.ll

llvm-svn: 36103
2007-04-16 02:56:33 +00:00
Reid Spencer
499c46e182 Regenerate.
llvm-svn: 36096
2007-04-16 00:40:57 +00:00
Reid Spencer
4d7295a38c For PR1336:
Rewrite the upgrade of GEP indices to be a little less obtuse. This fixes
test/Assembler/2002-08-19-BytecodeReader.llx
test/Assembler/2003-08-21-ConstantExprCast-Fold.llx
test/Assembler/2004-01-11-getelementptrfolding.llx

llvm-svn: 36095
2007-04-16 00:39:39 +00:00
Reid Spencer
db5c4ad62d Regenerate.
llvm-svn: 35897
2007-04-11 12:10:58 +00:00
Reid Spencer
06deba6151 Fix a crash-by-unknown-exception caused by attempting to use a null pointer
as the key for a map insertion.

llvm-svn: 35896
2007-04-11 12:10:08 +00:00
Reid Spencer
2792e203c5 For PR1146:
Put the parameter attributes in their own ParamAttr name space. Adjust the
rest of llvm as a result.

llvm-svn: 35877
2007-04-11 02:44:20 +00:00
Reid Spencer
3ffd70d6e4 Regenerate
llvm-svn: 35813
2007-04-09 06:16:21 +00:00
Reid Spencer
b7cec347b9 For PR1146:
Adapt handling of parameter attributes to use ParamAttrsList class.

llvm-svn: 35812
2007-04-09 06:15:59 +00:00
Reid Spencer
aef6cbcf93 Regenerate.
llvm-svn: 35736
2007-04-07 16:14:01 +00:00
Reid Spencer
1a33bb397b For PR1312:
For the short CALL/INVOKE syntax, the signedness of the result type is two
extractions away from the type argument because its a POINTER to function
type, not a function type.

llvm-svn: 35735
2007-04-07 16:10:37 +00:00
Reid Spencer
fa84b75ad8 Regenerate
llvm-svn: 35579
2007-04-02 02:08:35 +00:00
Reid Spencer
ad1ee4e65a Upgrade the bit count intrinsics to have an i32 result.
llvm-svn: 35578
2007-04-02 02:08:05 +00:00
Reid Spencer
6f0e15627f Regenerate
llvm-svn: 35571
2007-04-02 01:14:00 +00:00
Reid Spencer
92f0ca2c15 Don't upgrade functions that look like a bswap intrinsic but aren't.
llvm-svn: 35570
2007-04-02 01:13:36 +00:00
Reid Spencer
ae215d7dcf Handle upgrade of llvm.bswap.iXX to llvm.bswap.iXX.iXX per new naming
rules for overloaded intrinsic functions.

llvm-svn: 35565
2007-04-02 00:50:28 +00:00
Evan Cheng
8c8e97507d Unbreak non-debug builds.
llvm-svn: 35264
2007-03-22 07:43:51 +00:00
Reid Spencer
7e5dbe3441 Regenerate.
llvm-svn: 35237
2007-03-21 17:27:53 +00:00
Reid Spencer
e4fa26b209 For PR1243:
Okay, really fix it this time. Make sure the CurFun.Linkage is set early
and consolidate some duplicate code.

llvm-svn: 35236
2007-03-21 17:26:41 +00:00
Reid Spencer
d1f592b16f Regenerate.
llvm-svn: 35235
2007-03-21 17:15:50 +00:00
Reid Spencer
4149df60dd For PR1256:
Make Signedness information pervasive throughout all types and values.
There is no easy way to get around this. Because the GEP instruction can
index through an arbitrarily complex value structure, it is necessary to
keep track of signedness information throughout that structure. This change
makes Signedness a full class, capable of representing Signedness in
arbitrarily shaped types. The class is then used throughout llvm-upgrade to
track signedness and differentiate between globals, locals, and functions
based on their signedness.

For PR1243:
This patch also removes bogus warnings about renaming internal globals. It
now only emits such warnings when renaming non-internal globals because
they may affect linkage.

llvm-svn: 35234
2007-03-21 17:14:36 +00:00
Reid Spencer
cb3d63d07c Regenerate.
llvm-svn: 35116
2007-03-15 03:26:42 +00:00
Reid Spencer
fa12fdc543 Revert last changes as they introduced other problems.
llvm-svn: 35115
2007-03-15 03:25:34 +00:00
Reid Spencer
ce9e3ade3a Regenerate.
llvm-svn: 35113
2007-03-14 23:13:06 +00:00
Reid Spencer
04cb556bca The sign information was not propagating into the rename map so only the
last entry stored in the map could be retrieved for a given integer type.
Propagating the sign information required an invasive change to ensure that
all ValueRef (ValID) instances get the right sign information as well. Also,
put in some assertions to ensure the RenameMap always gives us out the type
that is expected.

This fixes PR1256 and
test/Assembler/2007-03-14-UgpradeLocalSignless.ll

llvm-svn: 35112
2007-03-14 23:11:45 +00:00
Reid Spencer
bf9ab59940 For PR1256:
Carry sign with ValID and make TypeInfo sortable (useful in a map).

llvm-svn: 35111
2007-03-14 23:08:04 +00:00
Jeff Cohen
c9e2aa16cb Make older versions of bison happy.
llvm-svn: 35099
2007-03-14 15:27:17 +00:00
Chris Lattner
9fcc5048b8 remove use of deprecated api
llvm-svn: 34416
2007-02-19 07:34:02 +00:00
Reid Spencer
e7ff3305d6 For PR1195:
Change use of "packed" term to "vector" in comments, strings, variable
names, etc.

llvm-svn: 34300
2007-02-15 03:39:18 +00:00
Reid Spencer
55e4e98a2a For PR1195:
Rename PackedType -> VectorType, ConstantPacked -> ConstantVector, and
PackedTyID -> VectorTyID. No functional changes.

llvm-svn: 34293
2007-02-15 02:26:10 +00:00
Chris Lattner
ea38fbb2bd regenerate
llvm-svn: 34225
2007-02-13 06:04:17 +00:00
Chris Lattner
d01df38c4c remove use of vector-related ctors
llvm-svn: 34224
2007-02-13 06:03:48 +00:00
Chris Lattner
3b0621de26 stop using me thods that take a vector
llvm-svn: 34206
2007-02-12 22:58:38 +00:00
Chris Lattner
88ba48fcec regenerate
llvm-svn: 34188
2007-02-11 21:40:10 +00:00
Chris Lattner
26a13f469e add #include
llvm-svn: 34187
2007-02-11 21:39:35 +00:00
Reid Spencer
864b5b7925 Regenerate.
llvm-svn: 34050
2007-02-08 09:08:52 +00:00
Reid Spencer
3eeb7956ca Rename a field so there's less confusion between fields of the same name.
llvm-svn: 34049
2007-02-08 09:08:23 +00:00
Reid Spencer
2306ba13ca For PR1187:
Rename function scope names that conflict with basic block names.

llvm-svn: 34048
2007-02-08 09:07:25 +00:00
Reid Spencer
f0bd1b5402 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.

llvm-svn: 34047
2007-02-08 08:47:38 +00:00
Reid Spencer
2548dfd4c9 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*.

llvm-svn: 34043
2007-02-08 08:09:36 +00:00
Reid Spencer
808eee2513 Regenerate for recent changes.
llvm-svn: 34025
2007-02-08 00:21:40 +00:00
Reid Spencer
ff9598b8f0 For PR1187:
When a naming conflict arises, allow internal linkage functions to be
renamed without warning or error.

llvm-svn: 34024
2007-02-08 00:21:06 +00:00
Reid Spencer
14c07da285 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.

llvm-svn: 34023
2007-02-08 00:19:40 +00:00
Reid Spencer
83803ddedb For PR411:
Adjust to changes in Module interface:
getMainFunction() -> getFunction("main")
getNamedFunction(X) -> getFunction(X)

llvm-svn: 33922
2007-02-05 21:19:13 +00:00
Reid Spencer
6af21b3029 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.

llvm-svn: 33918
2007-02-05 20:47:22 +00:00
Reid Spencer
713b7f4793 Regenerate.
llvm-svn: 33859
2007-02-04 01:12:11 +00:00
Reid Spencer
2b569f91d6 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.

llvm-svn: 33858
2007-02-04 01:05:23 +00:00
Reid Spencer
591bfa1e0b 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.

llvm-svn: 33776
2007-02-02 02:16:23 +00:00