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

dag combine miscompilation of setlt #1591

Closed
lattner opened this issue Feb 24, 2007 · 2 comments
Closed

dag combine miscompilation of setlt #1591

lattner opened this issue Feb 24, 2007 · 2 comments
Assignees
Labels
bugzilla Issues migrated from bugzilla llvm:codegen miscompilation

Comments

@lattner
Copy link
Collaborator

lattner commented Feb 24, 2007

Bugzilla Link 1219
Resolution FIXED
Resolved on Feb 22, 2010 12:45
Version trunk
OS All

Extended Description

From Anton: switch lowering is still broken somehow.

Consider the folowing code:

define i32 @​main(i32 %argc, i8** %argv) {
old_entry1:
br label %cond_next
cond_next:
%not.tmp14 = icmp slt i32 %argc, 11
%hvar2 = zext i1 %not.tmp14 to i32
switch i32 %hvar2, label %old_entry [
i32 -2, label %cond_true
i32 -1, label %cond_next
i32 0, label %cond_true15
i32 1, label %cond_next22
]
cond_true15:
ret i32 1
cond_true:
ret i32 2
cond_next22:
ret i32 3
old_entry:
ret i32 4
}

(Yes, I know, that cases -1 and -2 are really dead).

Resulting binary will always produce result code 4. Commenting out "-1" and "-2"
cases will fix the problem.

@lattner
Copy link
Collaborator Author

lattner commented Feb 24, 2007

assigned to @lattner

@lattner
Copy link
Collaborator Author

lattner commented Feb 24, 2007

Testcase here:
CodeGen/Generic/2007-02-23-DAGCombine-Miscompile.ll

Patch here:
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070219/044972.html

Thanks for tracking this down Anton!

-Chris

@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 llvm:codegen miscompilation
Projects
None yet
Development

No branches or pull requests

1 participant