LLVM/project 6905604lldb/test/API/symstore TestSymStore.py

[lldb][test] Fix flaky results from TestSymStore.py test_http_timeout (#221196)

Fixes #217733.

Observed only on Windows on Arm but I bet it can happen other places.
Sometimes the test would fail because it did not find the error message
in the log file.

The problem is that the test is relying on the client to realise the
timeout has been exceeded and close the connection, before the fake
responder can send back status 200.

So what sometimes happens is:
* The client sends the request.
* The server gets the request and waits N seconds.
* The client is delayed doing other things, and doesn't realise the
timeout has been reached. So the connection is still open.
* The server tries to respond with 200, and that sends succesfully.
* The client wakes up and sees the 200 response, so there's no error to

    [19 lines not shown]
DeltaFile
+20-20lldb/test/API/symstore/TestSymStore.py
+20-201 files

LLVM/project 777332bclang/include/clang/CIR/Dialect/IR CIRCUDAAttrs.td CIRTypes.td

[CIR] Use the modern enum case classes

The `I32EnumAttrCase` family carries an `Attr` half, and an `IntegerAttr`
predicate with it, that a CIR enum has no use for now that the enums derive
from `EnumInfo`. Upstream says of those forms that they "are not needed when
using the newer `EnumCase` form".

Rename all 198 of them to `I32EnumCase`, `I32BitEnumCaseNone`,
`I32BitEnumCaseBit` and `BitEnumCaseGroup`. The group class drops its width
prefix because the modern spelling takes the width from its cases.

NFC, mechanical.
DeltaFile
+140-140clang/include/clang/CIR/Dialect/IR/CIROps.td
+43-43clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
+8-8clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
+4-4clang/include/clang/CIR/Dialect/IR/CIRTypes.td
+3-3clang/include/clang/CIR/Dialect/IR/CIRCUDAAttrs.td
+198-1985 files

LLVM/project d0259a5clang/utils/TableGen CIRLoweringEmitter.cpp

[CIR] Derive lowering attr names from cppClassName, not the def name

CIRLoweringEmitter built its CXX_ABI_ALWAYS_LEGAL_ATTRS entries with
GetOpCppClassName, which splits the TableGen def name at the first
underscore. That works only while every def is named CIR_<CppClassName>Attr.
When one is not, the emitter writes an `isa<>` for a class that does not
exist, and the failure lands as a compile error in generated code.

Attributes carry the authoritative name in cppClassName, which
GenerateAttrToValueVisitor was already reading. Factor that out as
GetAttrCppClassRef and use it for both attribute paths. GetOpCppClassName
stays for operations.

NFC, and checkable. No CIR attribute overrides cppClassName, so the generated
CIRLowering.inc is byte-identical.
DeltaFile
+16-10clang/utils/TableGen/CIRLoweringEmitter.cpp
+16-101 files

LLVM/project 25a5b78clang/include/clang/CIR/Dialect/IR CIRAttrs.td, clang/test/CIR/CodeGen callsite-inline-attributes.cpp

[CIR] Drop the redundant suffix from the inline kind mnemonic

inline_kind was the one CIR enum attribute mnemonic still repeating what its
C++ enum class name says. The attribute now spells
`#cir.inline<always_inline>`. The operation argument keeps the name
inline_kind, since that is the accessor name, so the printed form reads
`inline_kind = #cir.inline<always_inline>`.

The enum's summary also becomes "inline kind" rather than the camelCase
"inlineKind", which is what generated docs show now that CIR_InlineKindAttr
no longer overrides it.

25 CHECK lines change across four test files. Nine are in an
aarch64-registered-target test, unsupported in an X86-only build, but the
substitution matches the two CIR tests that do run.
DeltaFile
+9-9clang/test/CodeGen/AArch64/sme-inline-callees-streaming-attrs.c
+9-9clang/test/CIR/CodeGen/callsite-inline-attributes.cpp
+6-6clang/test/CIR/IR/inline-attrs.cir
+2-3clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
+2-2clang/test/CIR/IR/invalid-call.cir
+28-295 files

LLVM/project 4216b91clang/include/clang/CIR/Dialect/IR CIRTypes.td CIRCUDAAttrs.td, clang/test/CIR/IR invalid-lang-attr.cir

[CIR] Move the CIR enums off the legacy EnumAttrInfo hierarchy

MLIR has two enum hierarchies. `EnumAttrInfo` doubles as an `IntegerAttr`
constraint, so every CIR enum had to clear `genSpecializedAttr` to say it did
not want one. `EnumInfo` describes a C++ enum and nothing more.

Derive the CIR bases from `I32Enum`, `I64Enum` and `I32BitEnum`, and widen
`CIR_EnumAttr` to the `EnumInfo` that upstream `EnumAttr` already takes. The
flag no longer exists to clear. `FPClassTestEnum` gets unquoted printing from
`BitEnumBase` rather than overriding `printBitEnumQuoted`, and
`CIR_KnownFuncKind` drops a `parameterPrinter` the generated `operator<<`
now covers, still spelling `#cir.func_identity<"std::find">`.

AMDGPU wraps an `I32Enum` in an `EnumAttr` with this same bracketed format.
Parsing moves to the generated `FieldParser`, whose diagnostic names the
accepted spellings, so two `expected-error` lines change. Generated attribute
code drops 16 KB as 28 inlined parsers collapse into it.
DeltaFile
+33-73clang/include/clang/CIR/Dialect/IR/CIROps.td
+23-53clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
+13-9clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
+2-4clang/include/clang/CIR/Dialect/IR/CIRCUDAAttrs.td
+1-3clang/include/clang/CIR/Dialect/IR/CIRTypes.td
+1-1clang/test/CIR/IR/invalid-lang-attr.cir
+73-1431 files not shown
+74-1447 files

LLVM/project 3fdea5bclang/include/clang/CIR/Dialect/IR CIREnumAttr.td CIROps.td

[CIR] Drop dead ceremony around the CIR enum attributes

Five things that no longer earn their place in the CIR enum attribute
machinery.

CIR_CleanupKindAttr carried three. Its cppClassName restated the default
AttrDef already derives. Its skipDefaultBuilders plus hand-written
AttrBuilder existed only to default $value to CleanupKind::All, which no
caller relies on, so the generated builders stayed suppressed for nothing.
And its summary and description restated the name, overriding the enum's own
"cleanup kind" that EnumAttr would otherwise inherit. The isNormal, isEH and
isNormalAndEH helpers stay.

CIR_TLSModelAttr's summary restated its name the same way, so only that goes.
CIR_DefaultValuedEnumParameter has never had a user.

NFC.
DeltaFile
+0-16clang/include/clang/CIR/Dialect/IR/CIROps.td
+0-5clang/include/clang/CIR/Dialect/IR/CIREnumAttr.td
+0-212 files

LLVM/project 948ff23clang/include/clang/CIR/Dialect/IR CIRAttrs.td CIROps.td, clang/test/CIR/IR enum-attrs.cir

[CIR] Migrate GlobalLinkageKind, CallingConv and SideEffect off IntegerAttr

GlobalLinkageKind, CallingConv and SideEffect generated IntegerAttr
subclasses with no dialect spelling of their own. Each now sets
genSpecializedAttr = 0 and gains a CIR_EnumAttr wrapper, and cir.global wraps
$linkage in `enum()`. GlobalLinkageKind spells `#cir.linkage<internal>`,
dropping both the `global_` prefix and the `_kind` suffix.

cir.func and cir.call print all three by hand, but they stream
stringifyGlobalLinkageKind(getLinkage()) and friends, which take the enum
rather than the attribute, so those sites are unchanged.

Operation syntax is unchanged.
DeltaFile
+28-0clang/test/CIR/IR/enum-attrs.cir
+17-8clang/include/clang/CIR/Dialect/IR/CIROps.td
+4-0clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
+49-83 files

LLVM/project 5f5f338clang/include/clang/CIR/Dialect/IR CIROps.td, clang/test/CIR/CodeGenBuiltins builtin-isinf-sign.c builtin-isfpclass.c

[CIR] Migrate the FPClassTest bit enum and unquote its flags

cir.is_fp_class printed its flags inconsistently. Single-bit values came out
bare, as in `fcSNan`, while group values and combinations came out quoted, as
in `"fcInf"` and `"fcSNan|fcNegInf"`. That comes from I32BitEnumAttr setting
printBitEnumQuoted, which EnumAttr.td keeps only for backwards compatibility.

Clearing the bit and using the `enum` directive selects the separator-aware
parser and printer, so every value now spells unquoted:

  cir.is_fp_class %x, fcSNan|fcNegInf : (!cir.float) -> !cir.bool

The enum also drops its specialized IntegerAttr for a CIR_EnumAttr wrapper,
giving it the standalone spelling `#cir.fp_class<fcSNan|fcNegInf>`. This
changes operation syntax, so it updates 37 CHECK lines.
DeltaFile
+20-20clang/test/CIR/CodeGenBuiltins/builtin-fpclassify.c
+16-16clang/test/CIR/CodeGenBuiltins/builtin-isfpclass.c
+20-0clang/test/CIR/IR/enum-attrs.cir
+12-2clang/include/clang/CIR/Dialect/IR/CIROps.td
+1-1clang/test/CIR/CodeGenBuiltins/builtin-isinf-sign.c
+69-395 files

LLVM/project 66a23ceclang/include/clang/CIR/Dialect/IR CIROps.td, clang/test/CIR/IR enum-attrs.cir

[CIR] Migrate MemOrder and SyncScopeKind off IntegerAttr

MemOrder and SyncScopeKind, the enums the atomic operations share, generated
IntegerAttr subclasses with no dialect spelling of their own.

Both now set genSpecializedAttr = 0 and gain CIR_EnumAttr wrappers, spelling
`#cir.mem_order<seq_cst>` and `#cir.sync_scope<system>`, and the atomic
operations wrap their arguments in `enum()` to keep the bare keyword.

`enum()` works as an optional-group anchor, so the `syncscope` and `atomic`
groups on cir.load and cir.store are unaffected. Operation syntax is
unchanged.
DeltaFile
+38-30clang/include/clang/CIR/Dialect/IR/CIROps.td
+28-0clang/test/CIR/IR/enum-attrs.cir
+66-302 files

LLVM/project 80c871eclang/include/clang/CIR/Dialect/IR CIROps.td, clang/test/CIR/IR enum-attrs.cir

[CIR] Migrate AssumeBundleKind, AtomicFetchKind and AsmFlavor off IntegerAttr

AssumeBundleKind, AtomicFetchKind and AsmFlavor generated IntegerAttr
subclasses with no dialect spelling of their own. Each now sets
genSpecializedAttr = 0 and gains a CIR_EnumAttr wrapper.

Unlike the other CIR operation enums, these three are reached through
hand-written parsers and printers, so they needed checking individually.
cir.atomic.fetch references $binop declaratively and gains an `enum()`
wrapper. The other two need no change, since printAssumeBundle is already
typed on cir::AssumeBundleKindAttr and InlineAsmOp::print streams the enum
rather than the attribute.

Operation syntax is unchanged.
DeltaFile
+26-0clang/test/CIR/IR/enum-attrs.cir
+19-6clang/include/clang/CIR/Dialect/IR/CIROps.td
+45-62 files

LLVM/project 7678b97clang/include/clang/CIR/Dialect/IR CIRCUDAAttrs.td CIROps.td, clang/test/CIR/IR enum-attrs.cir

[CIR] Migrate seven operation enums off IntegerAttr (#220883)

CastKind, DynamicCastKind, CmpOpKind, ComplexRangeKind, InitCatchKind,
CaseOpKind and AwaitKind generated IntegerAttr subclasses. The
operations
printed them symbolically, but in an attribute dictionary `cir.cast
bitcast`
was stored as `kind = 1 : i32`.

Each enum now sets genSpecializedAttr = 0 and gains a CIR_EnumAttr
wrapper,
and the operations wrap the argument in `enum()` to keep the bare
keyword,
giving spellings like `#cir.cast<bitcast>`. Mnemonics drop the suffix
the C++
class name carries.
DeltaFile
+57-25clang/include/clang/CIR/Dialect/IR/CIROps.td
+65-0clang/test/CIR/IR/enum-attrs.cir
+4-3clang/include/clang/CIR/Dialect/IR/CIRCUDAAttrs.td
+126-283 files

LLVM/project c536b0allvm/include/llvm/Analysis TargetTransformInfo.h

[NFC][TTI] Remove default CostKind and FMF from TTI::getMinMaxReductionCost() (#219310)

Addresses #135598.

AI Usage: Assisted by Codex
DeltaFile
+3-3llvm/include/llvm/Analysis/TargetTransformInfo.h
+3-31 files

LLVM/project 865ab4aclang/include/clang/CIR/Dialect/IR CIROps.td, clang/lib/CIR/Dialect/IR CIRDialect.cpp

[CIR] Fix cir.cleanup.scope successor regions

CleanupScopeOp::getSuccessorRegions listed both the body and the cleanup
region as successors of the parent op, and the parent op as the successor of
every region exit. That says the cleanup region can run without the body, and
it drops the body-to-cleanup edge, contradicting the comment directly above it.

Report the chain the op really executes. The parent enters the body, a body
exit that triggers the cleanup enters the cleanup region, and the cleanup
region exits to the parent.

Which body exits trigger the cleanup depends on the terminator as well as the
cleanup kind. cir.resume leaves the body while unwinding, so it runs the
cleanup when the kind is EH-capable. cir.yield and cir.co_return are normal
exits and run it when the kind covers normal exits. A cir.resume can terminate
a block of an unflattened cleanup-scope body once an inner cleanup scope has
been flattened, the same case FlattenCFG handles in collectResumeOps.

RegionBranchOpInterface can only describe an unwind that leaves from a

    [16 lines not shown]
DeltaFile
+112-5clang/unittests/CIR/ControlFlowTest.cpp
+23-5clang/lib/CIR/Dialect/IR/CIRDialect.cpp
+4-5clang/include/clang/CIR/Dialect/IR/CIROps.td
+139-153 files

LLVM/project f016358clang/include/clang/Options Options.td, clang/lib/Driver/ToolChains Clang.cpp

address comments
DeltaFile
+3-3clang/include/clang/Options/Options.td
+1-1clang/lib/Driver/ToolChains/Clang.cpp
+4-42 files

LLVM/project 36ee583clang/docs LanguageExtensions.md, clang/include/clang/Options Options.td

Enable driver changes for fexec-charset
DeltaFile
+14-6clang/lib/Driver/ToolChains/Clang.cpp
+14-4clang/include/clang/Options/Options.td
+11-3clang/test/Driver/clang_f_opts.c
+10-0llvm/lib/Support/TextEncoding.cpp
+4-3clang/test/Driver/cl-options.c
+3-3clang/docs/LanguageExtensions.md
+56-193 files not shown
+60-199 files

LLVM/project 088e1abclang/lib/AST ASTContext.cpp, clang/lib/Lex TextEncoding.cpp

Convert the key before cache lookup to prevent encoding differences
DeltaFile
+9-9clang/lib/AST/ASTContext.cpp
+3-2clang/lib/Lex/TextEncoding.cpp
+12-112 files

LLVM/project e9e4288llvm/lib/Target/PowerPC PPCInstrInfo.td, llvm/test/MC/PowerPC ppc64-encoding-bookIII.s

[PowerPC] Remove tlbie one-operand InstAlias for ISA 3.0+ (#213816)

tlbie for ISA 3.0+, aka TLBIEP9, only has a two-operand form or a
5-operand form.
DeltaFile
+16-0llvm/test/MC/PowerPC/ppc64-encoding-bookIII.s
+0-1llvm/lib/Target/PowerPC/PPCInstrInfo.td
+16-12 files

LLVM/project c49faceclang/lib/CIR/CodeGen CIRGenCall.cpp, clang/test/CIR/CodeGenCUDA uniform-work-group-size.cu

[CIR] Add uniform_work_group_size support for llvm.invoke ( and address
nits)
DeltaFile
+19-0mlir/test/Target/LLVMIR/llvmir.mlir
+18-0mlir/test/Target/LLVMIR/Import/instructions.ll
+6-5mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
+11-0mlir/test/Dialect/LLVMIR/roundtrip.mlir
+2-5clang/lib/CIR/CodeGen/CIRGenCall.cpp
+3-3clang/test/CIR/CodeGenCUDA/uniform-work-group-size.cu
+59-133 files not shown
+66-139 files

LLVM/project 67c3d04clang/lib/CIR/CodeGen CIRGenCall.cpp, clang/test/CIR/CodeGenCUDA kernel-call.cu uniform-work-group-size.cu

[CIR] Implement "uniform_work_group_size" func attribute.
DeltaFile
+84-0clang/test/CIR/CodeGenCUDA/uniform-work-group-size.cu
+27-0mlir/test/Target/LLVMIR/llvmir.mlir
+8-8clang/test/CIR/CodeGenCUDA/kernel-call.cu
+12-0mlir/test/Target/LLVMIR/Import/instructions.ll
+9-2clang/lib/CIR/CodeGen/CIRGenCall.cpp
+6-0mlir/test/Dialect/LLVMIR/func.mlir
+146-108 files not shown
+172-1014 files

LLVM/project 128cdb8clang/include/clang/Driver Action.h, clang/lib/Driver Driver.cpp

[Clang] Clean up leftover old offloading driver tools and utilities (#221093)

Summary:
This PR cleans up some now unused utilities.
1. The old driver fatbinary object building
2. The SDL library linking
3. The offload bundler unbundler job

These are all replaced by operations the new driver does. The one hitch
is that the `--offload-device-only -lfoo -frdc` will not unbundle like
it once did, but I am unsure if that was ever used much in practice.
DeltaFile
+0-387clang/lib/Driver/ToolChains/HIPUtility.cpp
+0-311clang/lib/Driver/ToolChains/CommonArgs.cpp
+2-82clang/lib/Driver/ToolChains/Clang.cpp
+8-72clang/lib/Driver/Driver.cpp
+0-50clang/include/clang/Driver/Action.h
+3-19clang/lib/Driver/ToolChains/HIPAMD.cpp
+13-92118 files not shown
+29-1,01124 files

LLVM/project 677e232libc/test/shared shared_math_constexpr_test.cpp shared_math_test.cpp

nit
DeltaFile
+2-1libc/test/shared/shared_math_test.cpp
+1-1libc/test/shared/shared_math_constexpr_test.cpp
+3-22 files

LLVM/project 7f2a998libc/test/src/math/smoke CMakeLists.txt

nit
DeltaFile
+1-1libc/test/src/math/smoke/CMakeLists.txt
+1-11 files

LLVM/project 7b3777blibc/test/shared shared_math_test.cpp shared_math_constexpr_test.cpp

fix missing test enabling for fmodf128
DeltaFile
+1-1libc/test/shared/shared_math_test.cpp
+1-1libc/test/shared/shared_math_constexpr_test.cpp
+2-22 files

LLVM/project c8391ecclang-tools-extra/clang-tidy/utils RenamerClangTidyCheck.cpp, clang-tools-extra/docs ReleaseNotes.md

[clang-tidy] Fix renaming parameter packs in `sizeof...` expressions (#219155)

Record parameter pack usages held by `SizeOfPackExpr` in the common
renamer visitor. This ensures that declarations and `sizeof...`
references are renamed together.

Closes #219154
DeltaFile
+5-0clang-tools-extra/clang-tidy/utils/RenamerClangTidyCheck.cpp
+3-0clang-tools-extra/docs/ReleaseNotes.md
+2-0clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp
+10-03 files

LLVM/project 8c87031clang-tools-extra/test/clang-tidy/checkers/bugprone exception-escape.cpp

[clang-tidy][NFC] Test all bugprone-exception-escape option modes (#221164)

AI Usage: GPT 5.6 Sol was used to help with pre-commit self-reviewing.

Follow-up of https://github.com/llvm/llvm-project/pull/218067.
DeltaFile
+43-15clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape.cpp
+43-151 files

LLVM/project 017f9d1llvm/test/Transforms/LoopVectorize/RISCV riscv-vector-reverse.ll tail-folding-div.ll

[TTI/RISCV] Strip getMaxVScale (#220547)

RISC-V is the only target using it at the moment, and it is unnecessary,
as frontends insert a vscale_range attribute that we can use. As such,
this patch is a non-functional cleanup, along with test updates, taking
care to minimize the diff by inserting the vscale_range attribute in
various tests.
DeltaFile
+104-117llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll
+78-102llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll
+22-23llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
+13-30llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
+16-24llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-div.ll
+17-17llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
+250-31346 files not shown
+425-54752 files

LLVM/project 042e412libc/test/shared shared_math_test.cpp

remove native declarations
DeltaFile
+0-3libc/test/shared/shared_math_test.cpp
+0-31 files

LLVM/project 0f6ba55clang/include/clang/CIR/Dialect/IR CIROps.td, clang/lib/CIR/Dialect/IR CIRDialect.cpp

[CIR] Fix cir.cleanup.scope successor regions

CleanupScopeOp::getSuccessorRegions reported both the body and the cleanup
region as successors of the parent operation, and the parent operation as the
successor of every region exit. That claims the cleanup region can be entered
without running the body, and it drops the body-to-cleanup edge entirely,
contradicting the comment that sat right above it.

Report the chain the operation actually executes: the body region is entered
from the operation, an exit from the body that triggers the cleanup runs the
cleanup region, and exiting the cleanup region leaves the operation.

Which body exits trigger the cleanup depends on both the terminator and the
cleanup kind. cir.resume leaves the body while unwinding, so it runs the
cleanup exactly when the kind is EH-capable; cir.yield and cir.co_return are
normal exits and run it when the kind covers normal exits. A cir.resume can
terminate a block of an unflattened cleanup-scope body once an inner cleanup
scope has been flattened, which is the case FlattenCFG handles in
collectResumeOps under the same condition. Unwinding from an arbitrary point

    [17 lines not shown]
DeltaFile
+98-5clang/unittests/CIR/ControlFlowTest.cpp
+25-5clang/lib/CIR/Dialect/IR/CIRDialect.cpp
+3-4clang/include/clang/CIR/Dialect/IR/CIROps.td
+126-143 files

LLVM/project 0e8e9ccclang/include/clang/CIR/Dialect/IR CIROps.td, clang/lib/CIR/Dialect/IR CIRDialect.cpp

[CIR][NFC] Share getSuccessorInputs across region-branch ops

The ten CIR ops implementing RegionBranchOpInterface each hand-wrote
getSuccessorInputs, and all ten bodies were equivalent: regions take no
inputs, and returning to the parent yields the parent's results. Three did
not look equivalent but are: CleanupScopeOp and CoroBodyOp returned an empty
ValueRange unconditionally and declare no results, and AwaitOp returned
region block arguments but carries NoRegionArguments, so those ranges are
always empty.

Add a CIR_RegionBranchOpBase ODS class that declares the method and generates
the single shared body through extraClassDefinition, mirroring the existing
CIR_LoopOpBase, and retarget all ten ops onto it.

The generated CIROps.h.inc is unchanged and CIROps.cpp.inc gains exactly the
ten definitions removed from CIRDialect.cpp.
DeltaFile
+0-57clang/lib/CIR/Dialect/IR/CIRDialect.cpp
+28-20clang/include/clang/CIR/Dialect/IR/CIROps.td
+28-772 files

LLVM/project ac15693clang/include/clang/CIR/Dialect/IR CIROps.td, clang/lib/CIR/Dialect/IR CIRDialect.cpp

[CIR][NFC] Share getSuccessorRegions across region-branch ops

Six of the ten CIR ops implementing RegionBranchOpInterface reported the same
successors: any of their regions may be entered from the parent operation, and
every region exit goes back to it. Add a CIR_EnterAnyRegionBranchOpBase class
that appends that definition to the one inherited from CIR_RegionBranchOpBase,
retarget the six ops onto it and delete their hand-written definitions.

The shared definition walks getRegions() rather than naming region accessors.
For all six ops the entry regions were exactly the declared regions in
declaration order, so it reports the same successors in the same order. The doc
comments of the deleted ScopeOp and TernaryOp definitions go with them, instead
of being left behind on the neighbouring builders.

IfOp, GlobalOp, TryOp and AwaitOp stay on the base class, since their successors
depend on the operation: IfOp falls back to the parent when the else region is
empty, GlobalOp skips its optional ctor and dtor regions, TryOp iterates
variadic handler regions, and AwaitOp routes ready to resume and suspend.
DeltaFile
+0-77clang/lib/CIR/Dialect/IR/CIRDialect.cpp
+27-6clang/include/clang/CIR/Dialect/IR/CIROps.td
+27-832 files