-
Notifications
You must be signed in to change notification settings - Fork 12.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Invalid definition error in llvm-upgrade #1559
Comments
Hmm... attachment is > 1MB, so bugzilla complains that it's too large, sending |
Mine. |
For the UnexpectedUndef.ll file, here's my analysis: This file isn't in 1.9 LLVM assembly format. It uses i32 which is a 2.0 feature. |
For the FunctionRedefinition.ll file, we get three symptoms:
These can be safely ignored. llvm-upgrade is just telling you that it is
This occurs when two external functions of the same name and type are
This one has something to do with the csretcc upgrade to sret param attr. For |
The smbd.ll file has problem #1 and #3 from the last post. |
I have fixed the @"name" problem from UnexpectedUndef.ll, but now there's I'll investigate these remaining items. In the mean time, here's a partial fix http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070205/044130.html |
For UnexpectedUndef.ll, you will need to do some manual upgrades for things that llvm-upgrade now parses and upgrades smbd.ll (with some really nasty sret chagnes). named-checkconf.ll now parses and upgrades correctly. FunctionRedefinition.ll now parses and upgrades correctly. |
The basic block renaming has now been handled too. |
Extended Description
llvm-upgrade -emit-bytecode file.ll -o tst.bc
terminates with the following error:
llvm-upgrade: file.ll:258527: error: Reference to an invalid definition: 'hash'
of type 'i32 (i8 *, i32) *'
The text was updated successfully, but these errors were encountered: