LLVM/project 6cc609bllvm/lib/Target/Xtensa XtensaInstrInfo.td XtensaISelLowering.cpp, llvm/test/CodeGen/Xtensa trap.ll

[Xtensa] Fix trap/debugtrap operations lowering. (#200872)

Fix debug operation lowering for Xtensa.

Co-authored-by: Andrei Safronov <safronov at espressif.com>
DeltaFile
+136-0llvm/test/CodeGen/Xtensa/trap.ll
+22-2llvm/lib/Target/Xtensa/XtensaInstrInfo.td
+2-0llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
+1-0llvm/lib/Target/Xtensa/XtensaSubtarget.h
+161-24 files

LLVM/project 1c83076compiler-rt/lib/instrumentor-tools instrumentor_runtime.h, compiler-rt/lib/instrumentor-tools/flop-counter flop_counter_runtime.cpp README.md

[Instrumentor] Add runtime examples: [1/N] A flop counter

This adds a instrumentor-tools folder into compiler RT to showcase
use cases of the instrumentor. The initial example is a program that,
via instrumentation, counts the number of flops performed. Call and
intrinsic support will follow after #198042.

Partially developped by Claude (AI), tested and verified by me.
DeltaFile
+293-0compiler-rt/lib/instrumentor-tools/instrumentor_runtime.h
+164-0compiler-rt/lib/instrumentor-tools/flop-counter/flop_counter_runtime.cpp
+77-0compiler-rt/lib/instrumentor-tools/flop-counter/README.md
+75-0compiler-rt/test/instrumentor-tools/lit.cfg.py
+67-0compiler-rt/lib/instrumentor-tools/flop-counter/CMakeLists.txt
+54-0compiler-rt/test/instrumentor-tools/CMakeLists.txt
+730-010 files not shown
+941-116 files

LLVM/project d4cf04bclang/include/clang/Analysis/Analyses/LifetimeSafety FactsGenerator.h, clang/lib/Analysis/LifetimeSafety FactsGenerator.cpp LiveOrigins.cpp

Revert "[LifetimeSafety] Fix liveness propagation for all origin flows (#205323)" (#205687)

Revert "[LifetimeSafety] Fix liveness propagation for all origin flows
(#205323)"

This reverts commit 8d2a578b2130742c8790f3dba5fb414962eafcd5.

Revert "[LifetimeSafety] Model GNU statement expressions (#204841)"

This reverts commit 361f3b24f2a8703eb7a32c1ae081f490888238f3.
DeltaFile
+0-70clang/test/Sema/LifetimeSafety/safety.cpp
+6-23clang/test/Sema/LifetimeSafety/invalidations.cpp
+0-21clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
+3-14clang/lib/Analysis/LifetimeSafety/LiveOrigins.cpp
+0-1clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
+9-1295 files

LLVM/project 3d2974allvm/include/llvm/Transforms/IPO Instrumentor.h, llvm/lib/Transforms/IPO Instrumentor.cpp

[Instrumentor] Add subtype IDs to complement type IDs for vectors/arrays (#205466)

If the type of an argument passed to the instrumentation is a vector or
array, we still want to filter on the underlying type, and the
instrumentation might also need to know. Thus, we can now pass a subtype
ID, which is -1 except if it's a vector or array, then it's the element
type ID. Structs need to be handled differently.
DeltaFile
+90-11llvm/lib/Transforms/IPO/Instrumentor.cpp
+22-22llvm/test/Instrumentation/Instrumentor/default_rt.c
+39-0llvm/test/Instrumentation/Instrumentor/numeric_subtypeid.ll
+21-0llvm/include/llvm/Transforms/IPO/Instrumentor.h
+20-0llvm/test/Instrumentation/Instrumentor/default_config.json
+10-10llvm/test/Instrumentation/Instrumentor/module_and_globals.ll
+202-439 files not shown
+257-5515 files

LLVM/project 20fea2ellvm/docs ProgrammersManual.rst ProgrammersManual.md, mlir/lib/Dialect/XeGPU/Transforms XeGPULayoutImpl.cpp

[𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.7

[skip ci]
DeltaFile
+0-4,257llvm/docs/ProgrammersManual.rst
+3,954-0llvm/docs/ProgrammersManual.md
+0-2,502llvm/docs/CodeGenerator.rst
+0-2,490llvm/docs/SourceLevelDebugging.rst
+1,554-816mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
+2,339-0llvm/docs/SourceLevelDebugging.md
+7,847-10,065895 files not shown
+47,777-33,424901 files

LLVM/project d28147ellvm/docs ProgrammersManual.rst ProgrammersManual.md, mlir/lib/Dialect/XeGPU/Transforms XeGPULayoutImpl.cpp

fix

Created using spr 1.3.7
DeltaFile
+0-4,257llvm/docs/ProgrammersManual.rst
+3,954-0llvm/docs/ProgrammersManual.md
+0-2,502llvm/docs/CodeGenerator.rst
+0-2,490llvm/docs/SourceLevelDebugging.rst
+1,554-816mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
+2,339-0llvm/docs/SourceLevelDebugging.md
+7,847-10,065898 files not shown
+47,813-33,429904 files

LLVM/project 3c95aabclang/include/clang/Analysis/Analyses/LifetimeSafety FactsGenerator.h, clang/lib/Analysis/LifetimeSafety FactsGenerator.cpp

Revert "[LifetimeSafety] Model GNU statement expressions (#204841)"

This reverts commit 361f3b24f2a8703eb7a32c1ae081f490888238f3.
DeltaFile
+0-70clang/test/Sema/LifetimeSafety/safety.cpp
+0-15clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
+0-1clang/include/clang/Analysis/Analyses/LifetimeSafety/FactsGenerator.h
+0-863 files

LLVM/project b149ea2clang/lib/Analysis/LifetimeSafety LiveOrigins.cpp FactsGenerator.cpp, clang/test/Sema/LifetimeSafety invalidations.cpp

Revert "[LifetimeSafety] Fix liveness propagation for all origin flows (#205323)"

This reverts commit 8d2a578b2130742c8790f3dba5fb414962eafcd5.
DeltaFile
+6-23clang/test/Sema/LifetimeSafety/invalidations.cpp
+3-14clang/lib/Analysis/LifetimeSafety/LiveOrigins.cpp
+0-6clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
+9-433 files

LLVM/project 6bf6094clang/docs ReleaseNotes.rst, clang/lib/Sema SemaChecking.cpp

[Sema] Fix ICE when passing vector types to `abs` (#205017)

fix for ICE in `Sema::CheckAbsoluteValueFunction`

We failed to reject non-scalar types. 

Fixes: #204777
DeltaFile
+10-0clang/test/Sema/builtin-abs-invalid.c
+6-0clang/lib/Sema/SemaChecking.cpp
+1-0clang/docs/ReleaseNotes.rst
+17-03 files

LLVM/project 8c87cf1lldb/source/Plugins/ObjectContainer/Universal-Mach-O ObjectContainerUniversalMachO.cpp, lldb/unittests/ObjectContainer ObjectContainerUniversalMachOTest.cpp

[lldb][Mach-O] Bounds-check GetArchitectureAtIndex against m_fat_archs (#205289)

`ObjectContainerUniversalMachO::GetArchitectureAtIndex` used
`m_header.nfat_arch` (read directly from the file and untrusted, up to
0xFFFFFFFF) as the bound before indexing `m_fat_archs`. When ParseHeader
exhausts the data partway through and breaks early, `m_fat_archs.size()`
can be smaller than `nfat_arch`, so the indexed load is out of bounds.
Bound the check on the actual vector size instead.

Found by lldb-target-fuzzer.

---------

Co-authored-by: Alex Langford <nirvashtzero at gmail.com>
DeltaFile
+27-0lldb/unittests/ObjectContainer/ObjectContainerUniversalMachOTest.cpp
+1-1lldb/source/Plugins/ObjectContainer/Universal-Mach-O/ObjectContainerUniversalMachO.cpp
+28-12 files

LLVM/project d7a29a8flang/cmake/caches BOLT.cmake BOLT-PGO.cmake, llvm/docs AdvancedBuilds.rst

[flang][cmake] Enable the runtimes in the CMake caches (#205642)

I've tried to introduce that in the PR #198863, but sadly, the buildbots
could not cope with this, so I decided to introduce it separately.

This patch also fixes the relevant places in the docs.
DeltaFile
+1-3llvm/docs/AdvancedBuilds.rst
+1-0flang/cmake/caches/BOLT.cmake
+1-0flang/cmake/caches/BOLT-PGO.cmake
+1-0flang/cmake/caches/PGO-stage2.cmake
+1-0flang/cmake/caches/PGO.cmake
+5-35 files

LLVM/project 238dbabutils/bazel/llvm-project-overlay/libc BUILD.bazel

Revert "[Bazel] Fixes 639c5a0" (#205681)

Reverts llvm/llvm-project#205273.  639c5a0 was rolled back.
DeltaFile
+0-16utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+0-161 files

LLVM/project 0b1ad4cclang/test/CodeGen/AArch64 neon-intrinsics.c, clang/test/CodeGen/AArch64/neon subtraction.c

[CIR][AArch64] Migrate vsubl_high/vsubw_high NEON tests to subtraction.c (#205508)

### summary

Part of : https://github.com/llvm/llvm-project/issues/185382

This is a light patch and a follow up of :
https://github.com/llvm/llvm-project/pull/204088

All lowering logic have been implemented in this PR :
https://github.com/llvm/llvm-project/pull/204285 , I just need to
migrate these intrinsics.

This PR completed with the assistance of Claude Opus4.8

Co-authored-by: Claude Opus 4.8 <noreply at anthropic.com>
DeltaFile
+211-2clang/test/CodeGen/AArch64/neon/subtraction.c
+0-180clang/test/CodeGen/AArch64/neon-intrinsics.c
+211-1822 files

LLVM/project 5e99fb8utils/bazel/llvm-project-overlay/libc BUILD.bazel

Revert "[Bazel] Fixes 639c5a0 (#205273)"

This reverts commit fc03af0ea17f7f3c5a3fff42be9d6a369dc0910d.
DeltaFile
+0-16utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+0-161 files

LLVM/project b206777clang/lib/AST ExprConstant.cpp, llvm/include/llvm/ADT APInt.h

[APInt] Consistently use the terms pdep/pext instead of expandBits/compressBits (#205112)

After some bikeshedding in #200570 - we decided on the terms pdep/pext
DeltaFile
+21-36llvm/unittests/ADT/APIntTest.cpp
+6-6llvm/include/llvm/ADT/APInt.h
+4-4clang/lib/AST/ExprConstant.cpp
+2-2llvm/lib/Support/APInt.cpp
+2-2llvm/unittests/Support/KnownBitsTest.cpp
+2-2llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+37-523 files not shown
+43-589 files

LLVM/project 0f9ffd5llvm/lib/Analysis AssumptionCache.cpp, llvm/test/Transforms/DropUnnecessaryAssumes dereferenceable.ll

[AssumptionCache] Fix removeAffectedValues() when value is repeated in AssumeInst (#205275)

If a value appears more than once in an AssumeInst (e.g., `ptr %arg1` in
`call void @llvm.assume(i1 true) [ "dereferenceable"(ptr %arg1, i64 1),
"align"(ptr %arg1, i64 8) ]`) it will appear multiple times in the
result of findAffectedValues(). removeAffectedValues() may (depending on
how the results in AffectedValues.find_as(AV.Assume) are ordered),
nullify multiple values from AffectedValues.find_as(AV.Assume) in one
iteration of an outer for loop. The next iteration of that outer for
loop might then find a match only to a different AssumeInst, resulting
in an assertion failure.

This patch fixes the issue by counting the number of matching
ResultElems we expect to find.

This was a latent bug that was revealed by
https://github.com/llvm/llvm-project/pull/204432; the latter is not
itself buggy, but relies on AssumptionCache::removeAffectedValues().


    [2 lines not shown]
DeltaFile
+131-0llvm/test/Transforms/DropUnnecessaryAssumes/dereferenceable.ll
+34-1llvm/lib/Analysis/AssumptionCache.cpp
+165-12 files

LLVM/project 07d30c1clang/test/OpenMP target_teams_distribute_simd_codegen.cpp target_parallel_for_simd_codegen.cpp

[OpenMP][Offload] Use argument pointer array in host kernels (#205355)

This is a follow-up to #194333, which changed liboffload's kernel launch
interface to take an array of pointers to arguments instead of a
contiguous argument buffer, but left the old path intact for OpenMP, to
be cleaned up iteratively in later changes.

This patch modifies the offload host kernels, and the OpenMP clang
codegen, to also use argument pointer arrays. The host was the only
plugin that did not support the new submission path. With it converted,
OpenMP can migrate to use the new path in all scenarios, after which
everything related to contiguous argument buffer and its construction
can be removed from plugin interface and the backends.

The change itself is fairly straightforward. The bulk of the diff is
automated test updates. In the runtime, the host kernel signature
becomes an array of pointers (void **), and the codegen is updated to
match. With each argument being a pointer, the kernel function now adds
one load to read the argument's value.

Assisted-by: Claude
DeltaFile
+1,076-934clang/test/OpenMP/target_teams_distribute_simd_codegen.cpp
+1,070-932clang/test/OpenMP/target_parallel_for_simd_codegen.cpp
+594-474clang/test/OpenMP/target_firstprivate_codegen.cpp
+479-381clang/test/OpenMP/target_teams_codegen.cpp
+416-344clang/test/OpenMP/target_teams_distribute_codegen.cpp
+356-288clang/test/OpenMP/target_parallel_for_codegen.cpp
+3,991-3,35325 files not shown
+6,683-5,41331 files

LLVM/project fc03af0utils/bazel/llvm-project-overlay/libc BUILD.bazel

[Bazel] Fixes 639c5a0 (#205273)

This fixes 639c5a014fad13c683b01c66a1474b7aa47ce7ee.

Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
DeltaFile
+16-0utils/bazel/llvm-project-overlay/libc/BUILD.bazel
+16-01 files

LLVM/project c85e715utils/bazel/llvm-project-overlay/mlir BUILD.bazel

[mlir][bazel]: only depend on needed LLVM translations in ExecutionEngine (#205619)

ExecutionEngine currently pulls in `AllToLLVMIRTranslations` which
includes heavy dependencies on GPU dialects (notably NVVMDialect.cpp
which takes a whopping 2 minutes to compile!), despite the
ExecutionEngine not doing anything GPU-specific.

This change reduces the dependencies to just the subset of LLVMIR
translations that ExecutionEngine actually uses: Builtin, LLVM dialect,
and OpenMP dialect.
DeltaFile
+3-1utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
+3-11 files

LLVM/project 1338319clang/include/clang/Basic TargetInfo.h, clang/lib/Basic/Targets AMDGPU.h AMDGPU.cpp

clang: Replace getTargetID API with isProcessorName (#205653)

The "target ID" naming is an AMDGPUism. Replace the getTargetID query
with an isProcessorName predicate so the target reports whether the
string should be considered a match. This makes alias handling more
natural than checking for exact match, and avoids an unnecessary
parse of the target ID.

Co-authored-by: Claude (Opus 4.8) <noreply at anthropic.com>
DeltaFile
+5-9clang/lib/Basic/Targets/AMDGPU.h
+6-2clang/lib/Basic/Targets/AMDGPU.cpp
+4-4clang/include/clang/Basic/TargetInfo.h
+1-2clang/lib/Sema/SemaAMDGPU.cpp
+16-174 files

LLVM/project fa538c0lldb/include/lldb/Core AddressRange.h Mangled.h, lldb/include/lldb/Symbol Function.h

[lldb] Remove unused MemorySize methods (NFC) (#205463)

These `MemorySize` methods are unused. There are two remaining which are
used: `FileSpec::MemorySize` and `ConstString::MemorySize`.
DeltaFile
+0-24lldb/include/lldb/Symbol/Function.h
+0-14lldb/source/Utility/FileSpecList.cpp
+0-13lldb/source/Symbol/Function.cpp
+0-10lldb/source/Symbol/Block.cpp
+0-10lldb/include/lldb/Core/AddressRange.h
+0-10lldb/include/lldb/Core/Mangled.h
+0-8111 files not shown
+0-14317 files

LLVM/project 0ba95d6llvm/lib/Transforms/Vectorize LoopVectorizationPlanner.cpp, llvm/test/Transforms/LoopVectorize/X86 outer-loop-non-power-of-2-type.ll

[LV] Round outer-loop VPlan VF down to a power of two (#205646)

computeVPlanOuterloopVF computes the VF as max(1, RegSize / WidestType).
WidestType may not be a power of two, which resulted in a non-power-of-2
VF. Round down like in the inner loop path.
DeltaFile
+95-0llvm/test/Transforms/LoopVectorize/X86/outer-loop-non-power-of-2-type.ll
+4-1llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.cpp
+99-12 files

LLVM/project f6923f5flang/docs Directives.md, flang/lib/Semantics check-call.cpp

[flang] Relax ignore_tkr(c) for assumed-type BIND(C) descriptor dummies (#205445)

Relax `F2023 15.5.2.5 p2` derived-type checks for assumed-type
ignore_tkr(c) dummies passed by descriptor to bind(C) procedures. This
will allow passing a derived type with a type-bound procedure or FINAL
or a parameterized derived type to a TYPE(*), dimension(..) bind(C)
dummy.
DeltaFile
+56-0flang/test/Semantics/call03-ignore-tkr-c-strict.f90
+30-21flang/lib/Semantics/check-call.cpp
+40-0flang/test/Semantics/call03-ignore-tkr-c-relaxed.f90
+6-0flang/docs/Directives.md
+132-214 files

LLVM/project 1c94124llvm/lib/Transforms/Vectorize VPlan.cpp VPlan.h

[VPlan] Remove unused VPlan::getExitBlock(BasicBlock*) (NFC) (#205645)

Remove unused function.
DeltaFile
+0-8llvm/lib/Transforms/Vectorize/VPlan.cpp
+0-4llvm/lib/Transforms/Vectorize/VPlan.h
+0-122 files

LLVM/project fccfe44llvm/lib/Transforms/Vectorize SLPVectorizer.cpp

[SLP][NFC] Remove extra checks from analyzeRtStrideCandidate() (#205415)

These checks duplicate the functionality of the additional checks added
in #204013
DeltaFile
+12-43llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+12-431 files

LLVM/project 8f4288aclang/lib/CIR/CodeGen CIRGenExprConstant.cpp CIRGenFunction.cpp, clang/test/CIR/CodeGen goto-address-label-table.c

[CIR] Wire const goto labels into indirect branch

A computed goto through a constant dispatch table -- the GNU idiom
`static const void *tbl[] = {&&L1, &&L2}; goto *tbl[i];` -- reached
errorNYI("Indirect goto without a goto block") in emitIndirectGotoStmt.
#203644 emits the label-address constant (a value-like
#cir.block_addr_info) into the table, but it takes a label's address in a
constant context without registering the label as address-taken, so no
indirect-goto block is created and the following goto *tbl[i] has nothing
to branch to.

VisitAddrLabelExpr in the constant emitter now records each label via
takeAddressOfConstantLabel, which instantiates the indirect-goto block
and tracks the label.  finishIndirectBranch then adds those labels as
cir.indirect_br successors, alongside the existing op-form labels.  A
label named more than once in a table (`{&&A, &&A, &&B}`) is kept as a
distinct successor each time, matching classic codegen's
`indirectbr ... [label %A, label %A, label %B]`.


    [5 lines not shown]
DeltaFile
+127-0clang/test/CIR/CodeGen/goto-address-label-table.c
+13-4clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
+17-0clang/lib/CIR/CodeGen/CIRGenFunction.cpp
+10-0clang/lib/CIR/CodeGen/CIRGenFunction.h
+167-44 files

LLVM/project d1b9398mlir/lib/Dialect/XeGPU/Transforms XeGPULayoutImpl.cpp

[mlir][xegpu] adding maybe_usused for unused variable/function when assertion is off (#205629)

address the warning brought by the PR
https://github.com/llvm/llvm-project/pull/203156
DeltaFile
+4-3mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
+4-31 files

LLVM/project c41ab10mlir/include/mlir/Dialect/OpenACC OpenACCCGOps.td, mlir/lib/Dialect/OpenACC/IR OpenACCCG.cpp

[OpenACC] add acc::ReductionAccumulateArrayOp (#205617)

Add an OpenACC Dialect operation to accumulate elements of a (private)
array across threads. This operation only specifies the PointerLikeType
and an acc::DataBoundsOp to represent the accumulation of the array at a
high level. This will ultimately get lowered by "codegen".
DeltaFile
+23-0mlir/include/mlir/Dialect/OpenACC/OpenACCCGOps.td
+19-0mlir/test/Dialect/OpenACC/invalid-cg.mlir
+10-0mlir/lib/Dialect/OpenACC/IR/OpenACCCG.cpp
+9-0mlir/test/Dialect/OpenACC/ops-cg.mlir
+61-04 files

LLVM/project 137ecf5llvm/docs/CommandGuide index.md, llvm/docs/GlobalISel index.rst Pipeline.rst

[docs] Enforce unambiguous toctree in llvm/docs

It seems like using a non-`hidden` `toctree` for page navigation is a
bit of a trap, in that every doc must have a single unique path through
the global toctree to the root doc, and it is very easy to end up with
multiple.

This patch tries to address the warnings (actually infos, hence why it
does not fail the build) in llvm/docs/, namely:

  $ sphinx-build -b html -jauto llvm/docs/ /tmp/sphinx-out
  checking consistency...
  llvm/docs/AMDGPUDwarfExtensionAllowLocationDescriptionOnTheDwarfExpressionStack/AMDGPUDwarfExtensionAllowLocationDescriptionOnTheDwarfExpressionStack.md: document is referenced in multiple toctrees: ['UserGuides', 'AMDGPUUsage'], selecting: UserGuides <- AMDGPUDwarfExtensionAllowLocationDescriptionOnTheDwarfExpressionStack/AMDGPUDwarfExtensionAllowLocationDescriptionOnTheDwarfExpressionStack
  llvm/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.rst: document is referenced in multiple toctrees: ['UserGuides', 'AMDGPUUsage'], selecting: UserGuides <- AMDGPUDwarfExtensionsForHeterogeneousDebugging
  llvm/docs/CommandGuide/llvm-reduce.rst: document is referenced in multiple toctrees: ['CommandGuide/index', 'CommandGuide/index', 'Reference'], selecting: Reference <- CommandGuide/llvm-reduce
  llvm/docs/GitHub.rst: document is referenced in multiple toctrees: ['GettingInvolved', 'UserGuides'], selecting: UserGuides <- GitHub
  llvm/docs/GlobalISel/IRTranslator.rst: document is referenced in multiple toctrees: ['GlobalISel/index', 'GlobalISel/Pipeline'], selecting: GlobalISel/index <- GlobalISel/IRTranslator
  llvm/docs/GlobalISel/InstructionSelect.rst: document is referenced in multiple toctrees: ['GlobalISel/index', 'GlobalISel/Pipeline'], selecting: GlobalISel/index <- GlobalISel/InstructionSelect
  llvm/docs/GlobalISel/Legalizer.rst: document is referenced in multiple toctrees: ['GlobalISel/index', 'GlobalISel/Pipeline'], selecting: GlobalISel/index <- GlobalISel/Legalizer

    [35 lines not shown]
DeltaFile
+126-81llvm/docs/CommandGuide/index.md
+30-21llvm/docs/GlobalISel/index.rst
+50-0utils/docs/llvm_sphinx/ext/checks.py
+21-21llvm/tools/llvm-debuginfo-analyzer/README.md
+0-14llvm/docs/tutorial/MyFirstLanguageFrontend/index.rst
+0-8llvm/docs/GlobalISel/Pipeline.rst
+227-1455 files not shown
+229-15411 files

LLVM/project 8246969

[docs] Create utils/docs

llvm-project is home to many sphinx documentation sites, each with
configuration quirks and bespoke extensions.

The sphinx config model makes sharing code somewhat difficult. There
are options like sphinx-multiproject, but some of our docs builds are
out of the source tree while some are done out of the binary tree, so
the multiproject configuration itself would need to be generated. It
also would impose more uniformity around extensions than required.

This change instead creates a python package at utils/docs/llvm_sphinx
and makes it available to all sphinx-build processes via PYTHONPATH.
Each conf.py does not modify its own sys.path because not all builds are
out of the source tree, so there isn't a stable relative path to use to
refer to the utils/docs/ directory.

Type checking via pyright in new package is pinned to being python 3.8
compatible.

    [29 lines not shown]
DeltaFile
+0-00 files