Skip to content
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

llvm-upgrade gets sign wrong on long syntax call instructions #1684

Closed
asl opened this issue Apr 6, 2007 · 1 comment
Closed

llvm-upgrade gets sign wrong on long syntax call instructions #1684

asl opened this issue Apr 6, 2007 · 1 comment
Labels
bugzilla Issues migrated from bugzilla compile-fail Use [accepts-invalid] and [rejects-valid] instead llvm-tools All llvm tools that do not have corresponding tag

Comments

@asl
Copy link
Collaborator

asl commented Apr 6, 2007

Bugzilla Link 1312
Resolution FIXED
Resolved on Feb 22, 2010 12:51
Version trunk
OS Linux
Attachments File in question

Extended Description

Consider attached file. It was generated via llvm-gcc 1.9.

llvm-upgrade rejects it:

./llvm-upgrade < test.ll
llvm-upgrade: :22: error: Reference to an invalid definition: 'tmp' of
type 'i32'
llvm-upgrade: parse failed.

@llvmbot
Copy link
Collaborator

llvmbot commented Apr 7, 2007

Nice catch, Anton.

This was a subtle bug that only showed up in long syntax call instructions. The
code was using the signedness of the FunctionType ("composite") instead of the
signedness of the FunctionType's result type ("signed"). Consequently it didn't
find a matching (signed, "%tmp") when it looked it up because it had been stored
as (composite, "%tmp").

Fortunately, an easy fix:
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070402/046950.html

@llvmbot llvmbot transferred this issue from llvm/llvm-bugzilla-archive Dec 3, 2021
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bugzilla Issues migrated from bugzilla compile-fail Use [accepts-invalid] and [rejects-valid] instead llvm-tools All llvm tools that do not have corresponding tag
Projects
None yet
Development

No branches or pull requests

2 participants