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

Revert r315899 in the 6.0 branch #35261

Closed
DimitryAndric opened this issue Jan 11, 2018 · 8 comments
Closed

Revert r315899 in the 6.0 branch #35261

DimitryAndric opened this issue Jan 11, 2018 · 8 comments
Labels
backend:X86 bugzilla Issues migrated from bugzilla

Comments

@DimitryAndric
Copy link
Collaborator

Bugzilla Link 35913
Resolution MOVED
Resolved on Jan 16, 2018 14:35
Version 6.0
OS All
Blocks #35152
CC @emaste,@zmodem,@RKSimon

Extended Description

As describe in bug 35741, bug 35749, and bug 35831, https://reviews.llvm.org/rL315899 has caused serious regressions in assembly parsing of x86 lock and rep prefixes.

Though bug 35741 has been fixed, there has been no movement nor reviews on the others, so I would like to request this revision to be reverted in the 6.0 branch. Post 6.0, the regressions can then be fixed.

@llvmbot
Copy link
Collaborator

llvmbot commented Jan 12, 2018

Sorry, but it seems I don't understand something. This patch does not have any relation to bug 35741, bug 35749, and bug 35831. What's the problem?

@DimitryAndric
Copy link
Collaborator Author

Sorry, but it seems I don't understand something. This patch does not have
any relation to bug 35741, bug 35749, and bug 35831.

Yes it does, it causes regressions, as described in those bugs:

  • comments after lock/rep prefixes were no longer accepted (fixed now)
  • .byte directives after lock/rep prefixes are no longer accepted (still open)
  • labels after lock/rep prefixes are no longer accepted (still open)

and I think it is very likely there are other regressions in processing lock/rep prefixes. For example, having a .s file with just:

    lock

assembles fine with GNU as, or with clang before r315899, but after that change it gives:

justlock.s:2:1: error: unknown token in expression

^

There are probably some other edge cases that I haven't thought of, but which are sure to be used in some software out there...

@llvmbot
Copy link
Collaborator

llvmbot commented Jan 12, 2018

Or I got the issue: I fixed one issue but I missed 2 others. What should I do now to resolve the problem? It was realy complex change in prefix support and we don't have proper test base for all possible cases that's why we can expect simmilar issues (and you wrote about this possibility).

As I understand I should simply it in trunk, right? And how we can discover other possible problems?

@llvmbot
Copy link
Collaborator

llvmbot commented Jan 12, 2018

Misprint: I should simply fix it in trunk, right?

@DimitryAndric
Copy link
Collaborator Author

Misprint: I should simply fix it in trunk, right?

Yes, please. If the fixes are in, we can re-title this PR or close it and create a new one for merging the fixes to the release_60 branch.

@zmodem
Copy link
Collaborator

zmodem commented Jan 16, 2018

Dimitry: I'm not keen on reverting on the branch only, especially since the problematic commit landed a while back.

I'd prefer to either get the problematic commit reverted on trunk, and merge the revert, or merge fixes.

@llvmbot
Copy link
Collaborator

llvmbot commented Jan 16, 2018

I already fixed the issue and published the fix for review: D42102 [X86] Allow usage of prefixes as a separate instr. It's really simple fix and I hope it will LGTM soon. Let's keep it in trunk and promote to the branch.

@DimitryAndric
Copy link
Collaborator Author

Closing this in favor of bug 35976.

@llvmbot llvmbot transferred this issue from llvm/llvm-bugzilla-archive Dec 10, 2021
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend:X86 bugzilla Issues migrated from bugzilla
Projects
None yet
Development

No branches or pull requests

3 participants