| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
Okay, really fix it this time. Make sure the CurFun.Linkage is set early
and consolidate some duplicate code.
llvm-svn: 35236
|
|
|
|
| |
llvm-svn: 35235
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 35116
|
|
|
|
| |
llvm-svn: 35115
|
|
|
|
| |
llvm-svn: 35113
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Carry sign with ValID and make TypeInfo sortable (useful in a map).
llvm-svn: 35111
|
|
|
|
| |
llvm-svn: 35099
|
|
|
|
| |
llvm-svn: 34416
|
|
|
|
|
|
|
| |
Change use of "packed" term to "vector" in comments, strings, variable
names, etc.
llvm-svn: 34300
|
|
|
|
|
|
|
| |
Rename PackedType -> VectorType, ConstantPacked -> ConstantVector, and
PackedTyID -> VectorTyID. No functional changes.
llvm-svn: 34293
|
|
|
|
| |
llvm-svn: 34225
|
|
|
|
| |
llvm-svn: 34224
|
|
|
|
| |
llvm-svn: 34206
|
|
|
|
| |
llvm-svn: 34188
|
|
|
|
| |
llvm-svn: 34187
|
|
|
|
| |
llvm-svn: 34050
|
|
|
|
| |
llvm-svn: 34049
|
|
|
|
|
|
| |
Rename function scope names that conflict with basic block names.
llvm-svn: 34048
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 34025
|
|
|
|
|
|
|
| |
When a naming conflict arises, allow internal linkage functions to be
renamed without warning or error.
llvm-svn: 34024
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
Adjust to changes in Module interface:
getMainFunction() -> getFunction("main")
getNamedFunction(X) -> getFunction(X)
llvm-svn: 33922
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 33859
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
confusion with external linkage types.
llvm-svn: 33663
|
|
|
|
| |
llvm-svn: 33624
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 33623
|
|
|
|
| |
llvm-svn: 33615
|
|
|
|
| |
llvm-svn: 33614
|
|
|
|
| |
llvm-svn: 33601
|
|
|
|
| |
llvm-svn: 33599
|
|
|
|
| |
llvm-svn: 33598
|
|
|
|
| |
llvm-svn: 33595
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 33594
|
|
|
|
| |
llvm-svn: 33547
|
|
|
|
|
|
|
|
|
|
| |
otherwise it gets ignored.
This fixes test/CodeGen/X86/2006-05-11-InstrSched.ll
Thanks to Evan Cheng for noticing this.
llvm-svn: 33546
|
|
|
|
| |
llvm-svn: 33545
|
|
|
|
| |
llvm-svn: 33544
|
|
|
|
| |
llvm-svn: 33541
|
|
|
|
| |
llvm-svn: 33538
|
|
|
|
| |
llvm-svn: 33532
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 33531
|
|
|
|
| |
llvm-svn: 33426
|
|
|
|
| |
llvm-svn: 33227
|