Skip to content

Add CODEOWNERS file #65131

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

Merged
merged 17 commits into from
Sep 1, 2023
Merged

Add CODEOWNERS file #65131

merged 17 commits into from
Sep 1, 2023

Conversation

tstellar
Copy link
Collaborator

No description provided.

llvm/lib/FileCheck/* @llvm/pr-subscribers-testing-tools
llvm/lib/IR/Debug*.cpp @llvm/pr-subscribers-debug-info
llvm/lib/MCA/** @llvm/pr-subscribers-llvm-mca
llvm/lib/Target/M68k @llvm/pr-subscribers-m68k
Copy link
Member

@MaskRay MaskRay Aug 31, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While others backend maintainers haven't requested yet, you can create all backend teams for these patterns

/llvm/include/llvm/IR/Intrinsics$backend.td
/llvm/lib/Target/$backend/
/llvm/test/CodeGen/$backend/
/clang/lib/Basic/Targets/$backend*
/clang/lib/Driver/ToolChains/Arch/$backend.*
/clang/lib/CodeGen/Targets/$backend.cpp
/clang/include/clang/Basic/Builtins$backend*

as a starter, and let backend maintainers add individual files as needed.

@efriedma-quic

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I noticed on the Discourse post that subscribers for backend teams wouldn't be created automatically.

On behalf of Arm we'd like to follow MaskRays suggestion and add two subscription groups
$backend = ARM , pr-subscribers-arm
$backend = AArch64, pr-subscribers-aarch64

Will add this to the Discourse post to.

@ldionne
Copy link
Member

ldionne commented Aug 31, 2023

This is not how I thought we'd set up the CODEOWNERS file. I thought the pr-subscribers-FOO groups were created for notification purposes only. Here it seems like these groups will be given the ability to approve PRs.

Is there a reason why we don't have separate groups for code owners?

Edit: Ah, I see that folks are actually asking for the teams they want. Sorry, I looked too quickly. I'll add my request as a comment on the patch so it can be marked as resolved once done. Sorry for the noise :-).

@clementval
Copy link
Contributor

Can we add one team for OpenACC with these folder/files.

@pr-subscribers-openacc

./flang/**/OpenACC/
./flang/include/flang/Lower/OpenACC.h
./flang/docs/OpenACC.md
./flang/lib/Parser/openacc-parsers.cpp
./flang/lib/Lower/OpenACC.cpp
./llvm/**/Frontend/OpenACC/
./llvm/unittests/Frontend/OpenACCTest.cpp
./mlir/test/Target/LLVMIR/openacc-llvm.mlir
./mlir/test/Dialect/OpenACC
./mlir/**/Dialect/OpenACC/
./mlir/**/Conversion/OpenACCToSCF/
./mlir/lib/Target/LLVMIR/Dialect/OpenACC/
./mlir/lib/Conversion/OpenACCToSCF
./mlir/lib/Conversion/OpenACCToSCF/OpenACCToSCF.cpp
./mlir/lib/Dialect/OpenACC/

* Added new teams for arm, aarch64, and openacc.
* Clened up MLIR paths.
* Removed trailing ** from  paths.
* Added / at the beginning of  paths.
@joker-eph
Copy link
Collaborator

joker-eph commented Aug 31, 2023

Can we add one team for OpenACC with these folder/files.

@pr-subscribers-openacc

./flang/**/OpenACC/
./flang/include/flang/Lower/OpenACC.h
./flang/docs/OpenACC.md
./flang/lib/Parser/openacc-parsers.cpp
./flang/lib/Lower/OpenACC.cpp
./llvm/**/Frontend/OpenACC/
./llvm/unittests/Frontend/OpenACCTest.cpp
./mlir/test/Target/LLVMIR/openacc-llvm.mlir
./mlir/test/Dialect/OpenACC
./mlir/**/Dialect/OpenACC/
./mlir/**/Conversion/OpenACCToSCF/
./mlir/lib/Target/LLVMIR/Dialect/OpenACC/
./mlir/lib/Conversion/OpenACCToSCF
./mlir/lib/Conversion/OpenACCToSCF/OpenACCToSCF.cpp
./mlir/lib/Dialect/OpenACC/

Likely better to extend the pattern more generically: mlir/**/*OpenACC like for the other generic MLIR patterns.
(I don't know about the flang/llvm side, but I'd think it applies equally well)

@joker-eph
Copy link
Collaborator

joker-eph commented Aug 31, 2023

@tstellar I'm concerned about the maintainability, can we have it grouped by list?

<empty line>
pattern1 <list name>
pattern2 <list name>
<empty line>

(seems scriptable to convert your file to this. I can do it if needed)

@tstellar
Copy link
Collaborator Author

@joker-eph How does this look?

@joker-eph
Copy link
Collaborator

Looks great, thanks!
Not that GitHub says Escaping a pattern starting with # using \ so it is treated as a pattern and not a comment ; but I assume that this just wouldn't match anything so it seems just fine.

Copy link
Collaborator

@joker-eph joker-eph left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Tom!

@efriedma-quic
Copy link
Collaborator

Other teams I'd like:

pr-subscribers-polly:
polly/

pr-subscribers-scev:
llvm/lib/Analysis/ScalarEvolution*
llvm/test/Analysis/ScalarEvolution/
llvm/include/llvm/Analysis/ScalarEvolution*
llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
llvm/include/llvm/Transforms/Utils/ScalarEvolutionExpander.h

For pr-subscribers-AArch64 can we also add:

clang/utils/TableGen/SveEmitter.cpp
clang/utils/TableGen/NeonEmitter.cpp
clang/include/clang/Basic/BuiltinsSVE.def
clang/include/clang/Basic/BuiltinsSME.def
llvm/include/llvm/TargetParser/AArch64TargetParser.h
llvm/lib/TargetParser/AArch64TargetParser.cpp
llvm/docs/AArch64SME.rst
llvm/docs/BigEndianNEON.rst

And for pr-subscribers-arm:

clang/utils/TableGen/MveEmitter.cpp
llvm/include/llvm/TargetParser/ARMTargetParser*
llvm/lib/TargetParser/ARMTargetParser*
llvm/docs/HowToBuildOnARM.rst

Comment on lines 265 to 272
/flang/ @llvm/ps-subscribers-flang
/flang/runtime/ @llvm/pr-subscribers-flang-runtime
/flang/**/Parser @llvm/pr-subscribers-flang-parser
/flang/**/Evaluate/ @llvm/pr-subscribers-flang-semantics
/flang/**/Semantics/ @llvm/pr-subscribers-flang-semantics
/flang/**/Lower/ @llvm/pr-subscribers-flang-fir-hlfir
/flang/**/Optimizer/ @llvm/pr-subscribers-flang-fir-hlfir
/flang/**/CodeGen/ @llvm/pr-subscribers-flang-codegen
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added these but I cannot create the associated teams.

tstellar and others added 2 commits August 31, 2023 15:09
Co-authored-by: Valentin Clement (バレンタイン クレメン) <[email protected]>
@kiranchandramohan
Copy link
Contributor

Can we add one for flang-openmp with @pr-subscribers-flang-openmp ?

flang/test/**/OpenMP
flang/lib/Lower/OpenMP.cpp
flang/lib/Semantics/resolve-directives.cpp
flang/lib/Semantics/check-omp-structure.cpp
flang/lib/Optimizer/Transforms/OMP*
flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
flang/test/Lower/OpenMP
flang/test/Transforms/omp*
mlir/**/*OpenMP*
mlir/test/Target/LLVMIR/openmp*
llvm/lib/Frontend/OpenMP
llvm/include/llvm/Frontend/OpenMP
llvm/unittests/Frontend/OpenMP*

@tstellar
Copy link
Collaborator Author

I think I have all the requested teams added now plus the other suggestions implemented. I'm planning to push this tonight, just so we have something that works We can commit follow up changes whenever we want.

@clementval
Copy link
Contributor

Thanks for all the work @tstellar

@MaskRay
Copy link
Member

MaskRay commented Aug 31, 2023

This is not how I thought we'd set up the CODEOWNERS file. I thought the pr-subscribers-FOO groups were created for notification purposes only. Here it seems like these groups will be given the ability to approve PRs.

Is there a reason why we don't have separate groups for code owners?

Edit: Ah, I see that folks are actually asking for the teams they want. Sorry, I looked too quickly. I'll add my request as a comment on the patch so it can be marked as resolved once done. Sorry for the noise :-).

Bump this request from @ldionne

@tstellar
Copy link
Collaborator Author

This is not how I thought we'd set up the CODEOWNERS file. I thought the pr-subscribers-FOO groups were created for notification purposes only. Here it seems like these groups will be given the ability to approve PRs.
Is there a reason why we don't have separate groups for code owners?
Edit: Ah, I see that folks are actually asking for the teams they want. Sorry, I looked too quickly. I'll add my request as a comment on the patch so it can be marked as resolved once done. Sorry for the noise :-).

Bump this request from @ldionne

As far as I understand putting a group or a person in the CODEOWNERS file does not give them any special privileges to approve PRs.

@boomanaiden154
Copy link
Contributor

As far as I understand putting a group or a person in the CODEOWNERS file does not give them any special privileges to approve PRs.

It depends upon how exactly we want to use the CODEOWNERS file. There was discussion early today in #clang on Discord about adding blocking reviewers. That is possible using a CODEOWNERS file (along with some branch protection rules), but difficult to combine with this method of doing pull request notifications.

I also believe that the teams specified in the CODEOWNERS file only get notifications for PRs for paths they're subscribed to as they get added as reviewers, which probably isn't the behavior that we want in all cases (although probably is fine for now).

* Fix llvm-mca typo
* Add IR teams
/llvm/docs/LangRef.rst @llvm/pr-subscribers-llvm-ir

# llvm-analysis
/llvm/lib/analysis/ @llvm/pr-subscribers-llvm-analysis
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

analysis is incorrectly lowercase.

Consider llvm/test/Analysis as well?

/mlir/**/OpenACC/ @llvm/pr-subscribers-mlir-openacc

# mlir-openmp
/mlir/**/OpenMP/ @llvm/pr-subscribers-mlir-openmp
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If this can be /mlir/**/*OpenMP*/ then it will cover the OpenMPToLLVM and SCFToOpenMP conversions.

@HighCommander4
Copy link
Collaborator

Could we add a pr-subscribers-clangd for /clang-tools-extra/clangd please?

@joker-eph
Copy link
Collaborator

Shall we land and iterate in-tree to refine? Everyone can adjust the exact pattern anytime in the future.

# globalisel
/llvm/**/GlobalISel/ @llvm/pr-subscribers-globalisel
/llvm/utils/TableGen/GlobalISelEmitter.cpp @llvm/pr-subscribers-globalisel
/llvm/utils/TableGen/GICombinerEmitter.cpp @llvm/pr-subscribers-globalisel
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we also get SelectionDAG?

llvm/include/llvm/CodeGen/DAGCombine.h
llvm/include/llvm/CodeGen/SelectionDAG*.h
llvm/include/llvm/CodeGen/SDNodeProperties.td
llvm/include/llvm/Target/TargetSelectionDAG.td
llvm/lib/CodeGen/SelectionDAG/
llvm/utils/TableGen/CodeGenDAG*
llvm/utils/TableGen/DAGISel*

@tstellar tstellar merged commit dd7429a into llvm:main Sep 1, 2023
@tstellar
Copy link
Collaborator Author

tstellar commented Sep 1, 2023

@bogner I missed your request, can you open a pull request for this?

MaskRay added a commit that referenced this pull request Sep 7, 2023
avillega pushed a commit to avillega/llvm-project that referenced this pull request Sep 11, 2023
avillega pushed a commit to avillega/llvm-project that referenced this pull request Sep 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.