Hi,
We are planning to create GitHub teams for subscribing to pull requests. If you want to subscribe to pull requests, please respond to this thread with a team name and a list of directories that team should ‘watch’. This will help us to get started setting up the subscriptions. If you have a list of directories that don’t logically fit into a specific team, that’s OK, just post the directories any way and we’ll figure out how to handle it.
Here is an example team for reference: Sign in to GitHub · GitHub
1 Like
Please create a pr-subscribers-lldb
that covers the lldb subproject.
1 Like
pr-subscribers-llvm-binary-utilities
llvm/{,test/}tools/llvm-{ar,cxxfilt,nm,strings,objdump,objcopy,readobj,size,strings,symbolizer}
/llvm/docs/CommandGuide/llvm-*
/llvm/include/llvm/BinaryFormat/
/llvm/include/llvm/DebugInfo/Symbolize/
/llvm/include/llvm/ObjCopy/
/llvm/include/llvm/Object/
/llvm/lib/BinaryFormat/
/llvm/lib/DebugInfo/Symbolize/
/llvm/lib/ObjCopy/
/llvm/lib/Object/
/llvm/test/Object/
/llvm/test/tools/llvm-ar/
/llvm/test/tools/llvm-cxxfilt/
/llvm/test/tools/llvm-nm/
/llvm/test/tools/llvm-objcopy/
/llvm/test/tools/llvm-objdump/
/llvm/test/tools/llvm-readobj/
/llvm/test/tools/llvm-size/
/llvm/test/tools/llvm-strings/
/llvm/test/tools/llvm-symbolizer/
/llvm/tools/llvm-ar/
/llvm/tools/llvm-cxxfilt/
/llvm/tools/llvm-nm/
/llvm/tools/llvm-objcopy/
/llvm/tools/llvm-objdump/
/llvm/tools/llvm-readobj/
/llvm/tools/llvm-size/
/llvm/tools/llvm-strings/
/llvm/tools/llvm-symbolizer/
(llvm-cov and llvm-dwp and not in the list)
@jh7370
1 Like
pr-subscribers-openmp
openmp/**
clang/lib/Headers/openmp_wrappers/**
clang/test/OpenMP/**
llvm/test/Transforms/OpenMP/**
llvm/include/llvm/Frontend/OpenMP/**
llvm/lib/Frontend/OpenMP/**
Only directories, no files, correct? A simple regex:*openmp*|*OpenMP*
would have been better.
2 Likes
arsenm
August 29, 2023, 11:44pm
5
pr-subscribers-amdgpu llvm/lib/Target/AMDGPU
Plus some scattered individual files in other places (e.g. llvm/include/llvm/IR/IntrinsicsAMDGPU.td)
1 Like
pr-subscribers-lld-coff
pr-subscribers-lld-elf
pr-subscribers-lld-macho
pr-subscribers-lld-wasm
/lld/**/COFF/ @llvm/pr-subscribers-lld-coff
/lld/**/ELF/ @llvm/pr-subscribers-lld-elf
/lld/**/MachO/ @llvm/pr-subscribers-lld-macho
/lld/**/wasm/ @llvm/pr-subscribers-lld-wasm
/lld/Common/ @llvm/pr-subscribers-lld-coff @llvm/pr-subscribers-lld-elf @llvm/pr-subscribers-lld-macho @llvm/pr-subscribers-lld-wasm
#!/usr/bin/python3
m = {
"coff": "COFF",
"elf": "ELF",
"macho": "MachO",
"wasm": "wasm",
}
for p in m.keys():
print(
f"[pr-subscribers-lld-{p}](https://github.com/orgs/llvm/teams/pr-subscribers-lld-{p})"
)
print("\n```")
for k, v in m.items():
print(f"/lld/**/{v}/ @llvm/pr-subscribers-lld-{k}")
print("/lld/Common/", end="")
for k in m.keys():
print(f" @llvm/pr-subscribers-lld-{k}", end="")
print("\n```")
with open(__file__) as f:
print("```\n"+f.read()+"```")
2 Likes
pr-subscribers-llvm-lto
pr-subscribers-llvm-mc
/llvm/*/LTO/ @llvm/pr-subscribers-llvm-lto
/llvm/*/Linker/ @llvm/pr-subscribers-llvm-lto
/llvm/tools/gold/ @llvm/pr-subscribers-llvm-lto
/llvm/*/ThinLTO/ @llvm/pr-subscribers-llvm-lto
llvm/lib/Transforms/*/FunctionImport* @llvm/pr-subscribers-llvm-lto
/llvm/*/MC/ @llvm/pr-subscribers-llvm-mc
1 Like
pr-subscribers-clang-driver
/clang/*/Driver/ @llvm/pr-subscribers-clang-driver
1 Like
pr-subscribers-sanitizer
/llvm/lib/Transforms/Instrumentation/*Sanitizer*
/compiler-rt/lib/interception/
/compiler-rt/lib/*san*
/compiler-rt/test/*san*
1 Like
pr-subscribers-xray
/clang/include/clang/Basic/XRay*
/clang/lib/Basic/XRay*
/compiler-rt/*/xray/
/llvm/include/llvm/XRay/
/llvm/lib/XRay/
/llvm/tools/llvm-xray/
/llvm/unittests/XRay/
/compiler-rt/*/xray/
1 Like
clang codegen:
clang/lib/CodeGen
clang/include/clang/CodeGen
There should be a team for each LLVM backend (llvm/lib/Target/TargetName).
Can individual files be added to a team? I’d like, for example, an “clang AArch64” team that covers various bits of clang, but none of those bits are in a distinct directory. Similarly, a “SCEV” team that covers the core bits of ScalarEvolution/ScalarEvolutionExpander.
1 Like
Here is a first-order approximation for a list of “teams” for MLIR, I’ll need to be able to adjust the paths over time: we’ll be able to manage this in a CODEOWNERS file right?
pr-subscribers-mlir mlir/**
pr-subscribers-mlir-core mlir/**/IR/** mlir/**/IR/** mlir/**/Support/** mlir/**/Parser/** mlir/**/IR/** mlir/**/Bytecode/** mlir/**/AsmParser/** mlir/**/Pass/** mlir/**/tools/** mlir/**/Reducer/** mlir/**/Transforms/** mlir/**/Debug/** mlir/tools/**
pr-subscribers-mlir-ods mlir/**TableGen** mlir/**tblgen**
pr-subscribers-mlir-bindings mlir/**Bindings**
pr-subscribers-mlir-gpu mlir/**GPU**
Dialects:
pr-subscribers-mlir-amdgpu mlir/**/AMDGPU/**
pr-subscribers-mlir-amx mlir/**/AMX/**
pr-subscribers-mlir-affine mlir/**/Affine/**
pr-subscribers-mlir-arith mlir/**/Arith/**
pr-subscribers-mlir-neon mlir/**/ArmNeon/**
pr-subscribers-mlir-sme mlir/**/ArmSME/**
pr-subscribers-mlir-sve mlir/**/ArmSVE/**
pr-subscribers-mlir-async mlir/**/Async/**
pr-subscribers-mlir-bufferization mlir/**/Bufferization/**
pr-subscribers-mlir-complex mlir/**/Complex/**
pr-subscribers-mlir-cf mlir/**/ControlFlow/**
pr-subscribers-mlir-dlti mlir/**/DLTI/**
pr-subscribers-mlir-emitc mlir/**/EmitC/**
pr-subscribers-mlir-func mlir/**/Func/**
pr-subscribers-mlir-async mlir/**GPU**
pr-subscribers-mlir-irdl mlir/**/IRDL/**
pr-subscribers-mlir-index mlir/**/Index/**
pr-subscribers-mlir-llvm mlir/**/**LLVM**
pr-subscribers-mlir-linalg mlir/**linalg**
pr-subscribers-mlir-mlprogram mlir/**/MLProgram/**
pr-subscribers-mlir-math mlir/**/Math/**
pr-subscribers-mlir-memref mlir/**/MemRef/**
pr-subscribers-mlir-nvgpu mlir/**/NVGPU/**
pr-subscribers-mlir-openacc mlir/**/OpenACC/**
pr-subscribers-mlir-openmp mlir/**/OpenMP/**
pr-subscribers-mlir-pdl mlir/**/PDL**
pr-subscribers-mlir-quant mlir/**/Quant/**
pr-subscribers-mlir-scf mlir/**/SCF/**
pr-subscribers-mlir-spirv mlir/**/SPIRV/**
pr-subscribers-mlir-shape mlir/**/Shape/**
pr-subscribers-mlir-sparse mlir/**/SparseTensor/**
pr-subscribers-mlir-tensor mlir/**/Tensor/**
pr-subscribers-mlir-tosa mlir/**/Tosa/**
pr-subscribers-mlir-ub mlir/**/UB/**
pr-subscribers-mlir-vector mlir/**Vector**
pr-subscribers-mlir-execution-engine mlir/**ExecutionEngine**
1 Like
If finer grained subscription is possible:
@pr-subscribers-coroutines
clang/docs/DebuggingCoroutines.rst
clang/lib/Sema/SemaCoroutine.cpp
clang/lib/CodeGen/CGCoroutine.cpp
clang/test/CodeGenCoroutines/*
llvm/docs/Coroutines.rst
llvm/include/llvm/Transforms/Coroutines/*
llvm/lib/Transforms/Coroutines/*
llvm/test/Transforms/Coroutines/*
@pr-subscribers-modules
clang/docs/Modules.rst
clang/docs/PCHInternals.rst
clang/docs/StandardCPlusPlusModules.rst
clang/include/clang/AST/AbstractBasicReader.h
clang/include/clang/AST/AbstractBasicWriter.h
clang/include/clang/AST/AbstractTypeReader.h
clang/include/clang/AST/AbstractTypeWriter.h
clang/include/clang/AST/PropertiesBase.td
clang/include/clang/AST/ODRHash.h
clang/include/clang/AST/TypeProperties.td
clang/include/clang/Basic/Module.h
clang/include/clang/Frontend/PrecompiledPreamble.h
clang/include/clang/Lex/ModuleLoader.h
clang/include/clang/Lex/ModuleMap.h
clang/include/clang/Serialization/*
clang/lib/AST/ODRHash.cpp
clang/lib/AST/StmtProfile.cpp
clang/lib/Basic/Module.cpp
clang/lib/Frontend/ModuleDependencyCollector.cpp
clang/lib/Frontend/PrecompiledPreamble.cpp
clang/lib/Lex/ModuleMap.cpp
clang/lib/Sema/SemaModule.cpp
clang/lib/Serialization/*
clang/test/CXX/module/*
clang/test/Modules/*
clang/unittests/Serialization/*
This is indeed fragmented and trivial.
1 Like
Is it also possible to add blocking reviewers for patches which touch a specific subdirectory? libc++, libc++abi and libunwind currently have blocking reviewer groups, since they are ABI sensitive projects.
Well, @pr-subscribers-clang-tidy obviously…
clang-tools-extra/clang-tidy/
clang-tools-extra/docs/clang-tidy/
clang-tools-extra/test/clang-tidy/
1 Like
jh7370
August 30, 2023, 7:07am
16
The pr-subscribers-llvm-binary-utilities also needs to include the Objcopy library, and probably the Symbolizer library too, since the bulk of llvm-symbolizer and llvm-objcopy are implemented there. Concretely, please add the following to that team:
llvm/DebugInfo/Symbolize/**
llvm/lib/DebugInfo/Symbolize/**
llvm/include/llvm/ObjCopy/**
llvm/lib/ObjCopy/**
Done! llvm/test/Object/
and llvm/include/llvm/Object/
should probably be added as well? Though they also include non-binary-utilities code.
jh7370
August 30, 2023, 7:53am
18
I considered that but was unsure. I’m good with it if you want to do so. If we’re adding Object
, we should consider adding BinaryFormat
too.
I’m tempted to suggest a yaml2obj/obj2yaml team too, but that should probably be independent. WDYT?
Please create a pr-subscribers-llvm-mca
.
It should cover the following directories:
llvm/tools/llvm-mca/**
llvm/include/llvm/MCA/**
llvm/lib/MCA/**
Target specific llvm/test/tools/llvm-mca/
directories should probably be covered by backend owners groups.
1 Like