| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 33212
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 33180
|
| |
|
|
| |
llvm-svn: 33179
|
| |
|
|
| |
llvm-svn: 33172
|
| |
|
|
| |
llvm-svn: 33171
|
| |
|
|
| |
llvm-svn: 33169
|
| |
|
|
| |
llvm-svn: 33165
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 33140
|
| |
|
|
|
|
| |
it either. NOT is just plain illegal now.
llvm-svn: 33139
|
| |
|
|
| |
llvm-svn: 33111
|
| |
|
|
|
|
|
| |
Merge ConstantIntegral and ConstantBool into ConstantInt.
Remove ConstantIntegral and ConstantBool from LLVM.
llvm-svn: 33073
|
| |
|
|
| |
llvm-svn: 32987
|
| |
|
|
| |
llvm-svn: 32986
|
| |
|
|
| |
llvm-svn: 32955
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 32944
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 32908
|
| |
|
|
| |
llvm-svn: 32907
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 32880
|
| |
|
|
|
|
|
|
|
|
| |
ensures that
llvm-upgrade < foo | llvm-as | llvm-dis
will fail if llvm-upgrade fails.
llvm-svn: 32879
|
| |
|
|
| |
llvm-svn: 32848
|
| |
|
|
|
|
| |
of structure contents, counts of packed and array types, etc.
llvm-svn: 32847
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 32817
|
| |
|
|
|
|
| |
or unsigned integer types.
llvm-svn: 32816
|