This is an archive of the discontinued LLVM Phabricator instance.

[RISCV] Remove support for attribute interrupt("user").
ClosedPublic

Authored by craig.topper on Apr 26 2023, 5:36 PM.

Details

Summary

This was part of the N extension which didn't make it version
1.12 of the privilege specification.

The uret instruction was removed in D149308.

Diff Detail

Event Timeline

craig.topper created this revision.Apr 26 2023, 5:36 PM
craig.topper requested review of this revision.Apr 26 2023, 5:36 PM
Herald added a project: Restricted Project. · View Herald TranscriptApr 26 2023, 5:36 PM

Add another test case

kito-cheng accepted this revision.Apr 26 2023, 6:40 PM

LGTM, let it go~~~~

This revision is now accepted and ready to land.Apr 26 2023, 6:40 PM
This revision was landed with ongoing or failed builds.Apr 27 2023, 8:21 AM
This revision was automatically updated to reflect the committed changes.

Is this a potentially breaking change that we need to call out for users to be aware of?

asb added a comment.Apr 27 2023, 8:42 AM

Is this a potentially breaking change that we need to call out for users to be aware of?

We should mention this in the Clang release notes I think.

Is this a potentially breaking change that we need to call out for users to be aware of?

We should mention this in the Clang release notes I think.

Beyond that, we've got a process for what to do when considering potentially breaking changes, we should be following that: https://llvm.org/docs/DeveloperPolicy.html#making-potentially-breaking-changes Also, if we're all agreed this is potentially breaking, it really should have more review time and buy-in from the code owner.

reames added a subscriber: reames.Apr 27 2023, 8:56 AM

Is this a potentially breaking change that we need to call out for users to be aware of?

We should mention this in the Clang release notes I think.

Beyond that, we've got a process for what to do when considering potentially breaking changes, we should be following that: https://llvm.org/docs/DeveloperPolicy.html#making-potentially-breaking-changes Also, if we're all agreed this is potentially breaking, it really should have more review time and buy-in from the code owner.

I don't think this change should count as "potentially breaking" in the sense of that document. We're talking about an experimental feature for an experimental ISA extension which never got to ratification. There's no hardware in the wild which implements this (to my knowledge). Given the churn on the RISCV extension side, we've adopted a policy for experimental extensions (https://llvm.org/docs/RISCVUsage.html#experimental-extensions) which offers much less in the way of support. I think we should release note it just to be friendly, but the process described in your link is significant overkill.

Is this a potentially breaking change that we need to call out for users to be aware of?

We should mention this in the Clang release notes I think.

Beyond that, we've got a process for what to do when considering potentially breaking changes, we should be following that: https://llvm.org/docs/DeveloperPolicy.html#making-potentially-breaking-changes Also, if we're all agreed this is potentially breaking, it really should have more review time and buy-in from the code owner.

I don't think this change should count as "potentially breaking" in the sense of that document. We're talking about an experimental feature for an experimental ISA extension which never got to ratification. There's no hardware in the wild which implements this (to my knowledge). Given the churn on the RISCV extension side, we've adopted a policy for experimental extensions (https://llvm.org/docs/RISCVUsage.html#experimental-extensions) which offers much less in the way of support. I think we should release note it just to be friendly, but the process described in your link is significant overkill.

If we don't need to use that process, it's totally reasonable to skip it. It wasn't clear just how disruptive this change is from the review summary and there was not really any chance for discussion before this landed. Release noting it would be fine by me if the folks with more knowledge in this area think that's sufficient.

asb added a comment.Apr 27 2023, 9:09 AM

Is this a potentially breaking change that we need to call out for users to be aware of?

We should mention this in the Clang release notes I think.

Beyond that, we've got a process for what to do when considering potentially breaking changes, we should be following that: https://llvm.org/docs/DeveloperPolicy.html#making-potentially-breaking-changes Also, if we're all agreed this is potentially breaking, it really should have more review time and buy-in from the code owner.

I don't think this change should count as "potentially breaking" in the sense of that document. We're talking about an experimental feature for an experimental ISA extension which never got to ratification. There's no hardware in the wild which implements this (to my knowledge). Given the churn on the RISCV extension side, we've adopted a policy for experimental extensions (https://llvm.org/docs/RISCVUsage.html#experimental-extensions) which offers much less in the way of support. I think we should release note it just to be friendly, but the process described in your link is significant overkill.

+1 on this. The upstream (RISC-V side) process for the ISA extension lifecycle and their ratification is now properly established, and we gate not-yet-ratified things behind -menable-experimental-extensions going forward. This review perhaps could have been held open a bit longer to check there's no concerns, and thanks to Aaron for raising the question. But I think a release note only is the appropriate option here.

Is this a potentially breaking change that we need to call out for users to be aware of?

We should mention this in the Clang release notes I think.

Beyond that, we've got a process for what to do when considering potentially breaking changes, we should be following that: https://llvm.org/docs/DeveloperPolicy.html#making-potentially-breaking-changes Also, if we're all agreed this is potentially breaking, it really should have more review time and buy-in from the code owner.

I don't think this change should count as "potentially breaking" in the sense of that document. We're talking about an experimental feature for an experimental ISA extension which never got to ratification. There's no hardware in the wild which implements this (to my knowledge). Given the churn on the RISCV extension side, we've adopted a policy for experimental extensions (https://llvm.org/docs/RISCVUsage.html#experimental-extensions) which offers much less in the way of support. I think we should release note it just to be friendly, but the process described in your link is significant overkill.

+1 on this. The upstream (RISC-V side) process for the ISA extension lifecycle and their ratification is now properly established, and we gate not-yet-ratified things behind -menable-experimental-extensions going forward. This review perhaps could have been held open a bit longer to check there's no concerns, and thanks to Aaron for raising the question. But I think a release note only is the appropriate option here.

SGTM, thank you for the discussion!

craig.topper edited the summary of this revision. (Show Details)Apr 27 2023, 11:25 AM

Thanks Craig, that looks great