-
Notifications
You must be signed in to change notification settings - Fork 15k
Closed
Labels
backend:X86bugzillaIssues migrated from bugzillaIssues migrated from bugzillacompile-failUse [accepts-invalid] and [rejects-valid] insteadUse [accepts-invalid] and [rejects-valid] insteadinvalidResolved as invalid, i.e. not a bugResolved as invalid, i.e. not a bug
Description
Bugzilla Link | 1071 |
Resolution | INVALID |
Resolved on | Feb 22, 2010 12:52 |
Version | trunk |
OS | Linux |
Reporter | LLVM Bugzilla Contributor |
Extended Description
While testing this function:
define bool i32() { ret bool true; }
I noticed that it is possible for the X86 backend to generate:
movb al, eax
which doesn't assemble.
To make this happen, go to CodeGen/SelectionISel.cpp in the visitRetInst
function and make it not do an extend (of any kind) for boolean. This will
cause the Legalizer to apply an ANY_EXTEND which, presumably, means that not
doing an extend is okay. While that change is not correct, the X86 backend
shouldn't generate incorrect instructions either.
Metadata
Metadata
Assignees
Labels
backend:X86bugzillaIssues migrated from bugzillaIssues migrated from bugzillacompile-failUse [accepts-invalid] and [rejects-valid] insteadUse [accepts-invalid] and [rejects-valid] insteadinvalidResolved as invalid, i.e. not a bugResolved as invalid, i.e. not a bug