| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 32811
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Revise the upgrade parser to keep track of types more faithfully and use
this information to resolve name conflicts resulting from collapsed type
planes. The type planes have collapsed because the integer types are now
signless so that uint and int became i32. Where two planes existed for uint
and int, only i32 exists. Any variable names depending on the type planes
to pmake the identifier unique would cause a conflict. This patch resolves
that conflict for many but not all cases.
Situations involving the integer types and pointers to them are handled
by this patch. However, there are corner cases that are not handled
well, such as:
%t1 = type { uint, int }
%t2 = type { int, uint }
void %myfunc(%t1* one, %t2* two) {
%var = load %t1* one
%var = load %t2* two
}
In the scenario above, %t1 and %t2 are really the same type: { i32, i32 }
Consequently attempting to name %var twice will yield a redefinition error
when assembled.
While this patch is sufficien to allow the llvm/test suite to pass, More
work needs to be to complete the handling of these corner cases.
llvm-svn: 32810
|
|
|
|
| |
llvm-svn: 32805
|
|
|
|
|
|
| |
Remove useless bitcasts by commenting them out.
llvm-svn: 32804
|
|
|
|
|
|
| |
Convert signed integer types to signless.
llvm-svn: 32790
|
|
|
|
|
|
|
|
|
| |
Don't attempt to parse both the old and new grammars. It is near impossible
to get it right. Remove support for the new define keyword and don't
attempt to insert parameter attributes because there isn't enough
contextual information for it.
llvm-svn: 32784
|
|
|
|
| |
llvm-svn: 32772
|
|
|
|
|
|
|
|
|
|
|
| |
Fix several bugs and update for new assembly syntax. Changes made include:
1. Fixing rules for icmp/fcmp instructions to not require a closing paren
at the end. This was a cut-and-paste error from a previous commit.
2. Changing things like Out << " " to Out << ' '
3. Adding the "define" keyword for function definitions
4. Adding support for packed structures
llvm-svn: 32771
|
|
|
|
|
|
|
|
| |
This patch removes the SetCC instructions and replaces them with the ICmp
and FCmp instructions. The SetCondInst instruction has been removed and
been replaced with ICmpInst and FCmpInst.
llvm-svn: 32751
|
|
|
|
| |
llvm-svn: 32405
|
|
|
|
|
|
| |
Do not upgrade casts of bool to bool.
llvm-svn: 32404
|
|
|
|
| |
llvm-svn: 32400
|
|
|
|
| |
llvm-svn: 32399
|
|
|
|
| |
llvm-svn: 32303
|
|
|
|
|
|
| |
allowing integer setxx instructions to be converted to icmp.
llvm-svn: 32302
|
|
|
|
|
|
| |
now cerr, cout, and NullStream resp.
llvm-svn: 32298
|
|
|
|
| |
llvm-svn: 32275
|
|
|
|
| |
llvm-svn: 32274
|
|
|
|
| |
llvm-svn: 32269
|