LLVM/project acbe933lldb/source/Plugins/Process/gdb-remote ProcessGDBRemote.cpp ProcessGDBRemote.h

[lldb] Remember server's primary stop thread on gdb-remote stops (#207020)

This is a reland of https://github.com/llvm/llvm-project/pull/203525,
which was reverted because it introduced a test failure on macOS. The
primary thread was unconditionally selected, which was causing
`TestRealDefinition.py` to fail. The fix is to only call
SetSelectedThreadByID when the server's primary tid differs from the
currently-selected thread.

---

The client kept the previously-selected thread across stops, ignoring
the primary tid from the server in `T<sig>thread:<tid>`.
On Windows, lldb-server halts the inferior by injecting a thread called
`DbgUiRemoteBreakin` whose only job is to execute an int 3. After an
interrupt, the process has `N+1` threads and the new one is what caused
the stop. The server reports that thread as primary, but the client
ignored it and stayed on whichever thread was selected before. In
`TestExpressionInSyscall` that thread is main, paused just past

    [9 lines not shown]
DeltaFile
+12-0lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+3-0lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
+15-02 files

LLVM/project 6407e80llvm/include/llvm/CodeGenTypes MachineValueType.h, llvm/lib/Target/X86 X86ISelLowering.cpp

Implemented MVT::changeElementType based on EVT::changeElementType (#206783)

Implemented MVT::changeElementType based on EVT::changeElementType

Fixes #206726
DeltaFile
+9-9llvm/lib/Target/X86/X86ISelLowering.cpp
+7-0llvm/include/llvm/CodeGenTypes/MachineValueType.h
+16-92 files

LLVM/project f74953bcompiler-rt/lib/fuzzer FuzzerIO.cpp

[libfuzzer] Improve error message for file not found (#207081)

We're seeing many instances of this issue on ClusterFuzz. This PR adds
more information to help debug the cause of the problem.

See https://crbug.com/529865766 for more context.
DeltaFile
+4-2compiler-rt/lib/fuzzer/FuzzerIO.cpp
+4-21 files

LLVM/project 8286c65clang/lib/Sema SemaTemplate.cpp, clang/test/SemaTemplate member-specialization.cpp

[clang] fix error recovery for invalid member specializations (#207068)

Recover from invalid member specializations as if it wasn't declared.

This undoes the change introduced in #201506 for a more robust approach
which keeps the AST valid.

There are no release notes since this fixes a regression which was never
released.

Fixes #201490
Fixes #205971
DeltaFile
+7-8clang/lib/Sema/SemaTemplate.cpp
+14-1clang/test/SemaTemplate/member-specialization.cpp
+21-92 files

LLVM/project 55e4406lldb/source/DataFormatters ValueObjectPrinter.cpp, lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/shared_ptr TestDataFormatterStdSharedPtr.py

[lldb] Remove extra newline from ValueObject errors (#207050)

Change `ValueObjectPrinter` to print only a single newlines after errors.
DeltaFile
+2-1lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/shared_ptr/TestDataFormatterStdSharedPtr.py
+2-1lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unique_ptr/TestDataFormatterStdUniquePtr.py
+1-1lldb/source/DataFormatters/ValueObjectPrinter.cpp
+5-33 files

LLVM/project 0ec217allvm/lib/Transforms/Vectorize LoopVectorize.cpp

[LV] Return widening kind from memoryInstructionCanBeWidened (NFC). (#207056)

Make memoryInstructionCanBeWidened return the InstWidening decision
(CM_Widen or CM_Widen_Reverse) as a std::optional instead of a bool.

This avoids computing and checking for consecutive strides multiple
times.
DeltaFile
+25-29llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+25-291 files

LLVM/project ed71184llvm/lib/Target/AArch64/AsmParser AArch64AsmParser.cpp, llvm/lib/Target/AArch64/Disassembler AArch64Disassembler.cpp

fixup! Adjust after PR comments
DeltaFile
+18-14llvm/test/MC/AArch64/hinte.s
+0-9llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
+1-7llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+0-7llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp
+0-7llvm/test/MC/AArch64/Inputs/hinte-generic-sysreg.s
+0-1llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
+19-456 files

LLVM/project 08aee5elibcxx/test/std/containers/associative/set count_transparent.pass.cpp contains_transparent.pass.cpp, libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops remove.pass.cpp

[NFC][libc++] Fix formatting for `<set>` tests (#207080)
DeltaFile
+2-1libcxx/test/std/containers/associative/set/count_transparent.pass.cpp
+2-1libcxx/test/std/containers/associative/set/contains_transparent.pass.cpp
+1-1libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/remove.pass.cpp
+1-0libcxx/test/std/containers/associative/set/emplace.pass.cpp
+1-0libcxx/test/std/containers/associative/set/emplace_hint.pass.cpp
+1-0libcxx/test/std/containers/associative/set/empty.pass.cpp
+8-358 files not shown
+66-364 files

LLVM/project c3d0465libcxx/include/__algorithm lower_bound.h set_intersection.h

[libc++] Remove projection from __lower_bound_onesided (#206676)

The projection argument isn't made use of very much, since it's only
ever called with an identity. We can remove it to simplify the code a
bit.
DeltaFile
+5-4libcxx/include/__algorithm/lower_bound.h
+2-5libcxx/include/__algorithm/set_intersection.h
+7-92 files

LLVM/project ef5d72fflang/docs OpenMPSupport.md

[flang][OpenMP][docs] add missing features to support page (NFC) (#207078)

Adds more rows for 5.x features not captured in new OpenMP Support page
for Flang.
DeltaFile
+35-0flang/docs/OpenMPSupport.md
+35-01 files

LLVM/project 3b50756llvm/lib/Target/RISCV/AsmParser RISCVAsmParser.cpp, llvm/test/MC/RISCV xqcibm-invalid.s rv32i-aliases-invalid.s

[RISCV] Report all near-miss reasons in the AsmParser (#205721)

Set ReportMultipleNearMisses and switch RISCVAsmParser to the shared
near-miss reporting used by ARM, so a failed match lists every reason
instead of just the first one.

Assisted-by: claude-opus
DeltaFile
+358-323llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
+125-125llvm/test/MC/RISCV/xqcibm-invalid.s
+156-32llvm/test/MC/RISCV/rv32i-aliases-invalid.s
+154-31llvm/test/MC/RISCV/rv64i-aliases-invalid.s
+50-50llvm/test/MC/RISCV/xqcia-invalid.s
+42-42llvm/test/MC/RISCV/xqcicli-invalid.s
+885-60372 files not shown
+1,502-1,04878 files

LLVM/project 7c076f0llvm/lib/Target/AArch64 AArch64AsmPrinter.cpp, llvm/lib/Target/AArch64/AsmParser AArch64AsmParser.cpp

fixup! Address CR comments
DeltaFile
+30-144llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+0-10llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
+3-3llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
+2-2llvm/test/MC/AArch64/armv9.6a-pcdphint-diagnostics.s
+2-1llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
+37-1605 files

LLVM/project 3f3acdbllvm/test/CodeGen/AArch64 machine-cp-spill-chain-across-call.mir

[MCP] Add test case to demonstrate issue with spill copy elimination (NFC)  (#207065)

This is a reapply of #206855 with added expensive_checks restriction. It
turned out that the problem may get caught with expensive checks. The
restriction is to be removed with the follow up patch.
DeltaFile
+56-0llvm/test/CodeGen/AArch64/machine-cp-spill-chain-across-call.mir
+56-01 files

LLVM/project c660fceflang/lib/Semantics check-omp-variant.cpp check-omp-structure.h, flang/test/Semantics/OpenMP metadirective-loop-nest.f90 metadirective-loop-applicability.f90

[flang][OpenMP] Semantic checks for metadirective loop nests

A loop-associated metadirective variant (`do`, `simd`, ...) is only
resolved during lowering, so it is never checked as a loop construct
during semantic analysis. A malformed or non-canonical associated nest
therefore reaches lowering, which assumes a canonical nest.

This patch validates the nest that follows such a variant (the next
executable construct) during semantics, reusing the diagnostics of a real
loop-associated construct. Each applicable variant is checked against it:

  * Canonical loop: the affected loop must be a canonical DO loop, so a
    `DO WHILE`, a pre-6.0 `DO CONCURRENT`, or a `DO` without loop control
    is rejected.
  * Nest depth: `collapse(n)` and `ordered(n)` must not exceed the depth
    of the associated loop nest.
  * Rectangularity: loops that must be rectangular (e.g. under `tile`) may
    not have bounds that depend on an outer loop's variable.


    [13 lines not shown]
DeltaFile
+160-0flang/lib/Semantics/check-omp-variant.cpp
+154-0flang/test/Semantics/OpenMP/metadirective-loop-nest.f90
+54-0flang/test/Semantics/OpenMP/metadirective-loop-applicability.f90
+13-0flang/test/Semantics/OpenMP/metadirective-loop-sequence.f90
+12-0flang/lib/Semantics/check-omp-structure.h
+9-0flang/lib/Semantics/check-omp-structure.cpp
+402-06 files

LLVM/project 47458aallvm/test/Transforms/IndVarSimplify exit-value-gep-inbounds.ll

[IndVars] Refine tests for evaluating final value pointer AddRecs (NFC). (#207076)

Update tests for evaluating final value of pointer AddRecs. Add missing
cases and add some brief clarifying comments to some test cases.
DeltaFile
+151-29llvm/test/Transforms/IndVarSimplify/exit-value-gep-inbounds.ll
+151-291 files

LLVM/project fb81789clang/include/clang/ScalableStaticAnalysis/Core/Serialization JSONFormat.h, clang/include/clang/ScalableStaticAnalysis/Core/SummaryData SummaryDataBuilderRegistry.h

[Registry] Support static clang registries (#206750)

The plugin Registry macros hard-code `LLVM_ABI_EXPORT` (unconditional
dllexport) on `getRegistryLinkListInstance`. When clang is built
statically (`CLANG_LINK_CLANG_DYLIB=OFF`) and embedded into
`libclang.dll`, that forces the accessor into the DLL's export table,
where it collides with the same symbol from the static clang libraries
on any tool linking both.

Summary of changes:
* Add `LLVM_{DECLARE,DEFINE,INSTANTIATE}_REGISTRY_EX` variants taking
the export annotation as a parameter.
* Add `CLANG_ABI_EXPORT` macro as an equivalent to `LLVM_ALWAYS_EXPORT`
for libclang.
* Route clang's registries through the `*_EX` macros with
`CLANG_ABI_EXPORT`.

As a result, the static clang build no longer exports the accessor and
the clang dylib build is unaffected.

    [2 lines not shown]
DeltaFile
+49-0llvm/include/llvm/Support/Registry.h
+9-0clang/include/clang/Support/Compiler.h
+4-2clang/include/clang/ScalableStaticAnalysis/Core/Serialization/JSONFormat.h
+4-2clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
+3-1clang/include/clang/ScalableStaticAnalysis/Core/SummaryData/SummaryDataBuilderRegistry.h
+3-1clang/lib/Tooling/Execution.cpp
+72-613 files not shown
+95-1919 files

LLVM/project ba622a7flang/include/flang/Semantics openmp-utils.h semantics.h, flang/lib/Lower/OpenMP Utils.cpp Utils.h

[flang][OpenMP][NFC] Move variant-matching context to semantics

Move FlangOMPContext from lowering into semantics as the MLIR-independent
OmpVariantMatchContext. This lets an upcoming semantic check reuse the
matcher to skip the loop-nest checks for a metadirective variant that cannot
be selected on the current target, such as a `device={kind(nohost)}` variant
in a host compilation. No functional change to metadirective lowering.

Assisted with copilot.
DeltaFile
+34-0flang/lib/Semantics/openmp-utils.cpp
+11-23flang/lib/Lower/OpenMP/Utils.cpp
+9-12flang/lib/Lower/OpenMP/Utils.h
+16-0flang/include/flang/Semantics/openmp-utils.h
+12-0flang/include/flang/Semantics/semantics.h
+4-2flang/lib/Lower/OpenMP/OpenMP.cpp
+86-371 files not shown
+89-387 files

LLVM/project 50f30beclang/docs ReleaseNotes.md, clang/lib/Sema SemaExpr.cpp

[Clang] Rebuild lambda captures in default member initializers while skipping body (#196597)

Fixes https://github.com/llvm/llvm-project/issues/196469

Since the CWG1815 implementation, `InitListChecker` rebuilds a default
member initializer at its point of use in aggregate initialization. The
rebuild uses the `EnsureImmediateInvocationInDefaultArgs` tree
transform, where `TransformCXXBindTemporaryExpr` strips
`CXXBindTemporaryExpr` nodes, relying on the subexpression's rebuild to
re-create the temporary binding: every `Rebuild*` path funnels through
`Sema::MaybeBindToTemporary`, which also re-registers the cleanup in the
current evaluation context.

However, the transform overrides `TransformLambdaExpr` to return the
closure unchanged (the body is not a subexpression), skipping the
`MaybeBindToTemporary` call that `BuildLambdaExpr` ends with. The
rebuilt initializer then lacks both the `CXXBindTemporaryExpr` around
the closure and the `ExprWithCleanups` marker, so CodeGen never emits
the closure's destructor and init-captured members leak.

    [12 lines not shown]
DeltaFile
+48-8clang/lib/Sema/SemaExpr.cpp
+37-0clang/test/CodeGenCXX/gh196469-default-member-init-lambda-cleanup.cpp
+22-0clang/test/SemaCXX/gh196469-default-member-init-lambda-capture.cpp
+0-12clang/test/SemaCXX/source_location.cpp
+2-0clang/docs/ReleaseNotes.md
+109-205 files

LLVM/project 5a05faallvm/lib/Analysis LoopAccessAnalysis.cpp, llvm/test/Analysis/LoopAccessAnalysis retry-runtime-checks-non-addrec-after-predicates.ll

[LAA] Fall back to starting AddRec if replacing strides fails. (#207054)

replaceSymbolicStrideSCEV may not return an AddRec after applying
predicates (871990a01ea72 /
https://github.com/llvm/llvm-project/pull/203787)

Fall back to AddRec without strides replaced, to avoid crashing.
DeltaFile
+52-0llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-non-addrec-after-predicates.ll
+3-2llvm/lib/Analysis/LoopAccessAnalysis.cpp
+55-22 files

LLVM/project 34ab5b2clang/lib/Sema SemaTemplate.cpp, clang/test/SemaTemplate member-specialization.cpp

[clang] fix error recovery for invalid member specializations

Recover from invalid member specializations as if it wasn't declared.

This undoes the change introduced in #201506 for a more robust approach which
keeps the AST valid.

There are no release notes since this fixes a regression which was never
released.

Fixes #201490
Fixes #205971
DeltaFile
+7-8clang/lib/Sema/SemaTemplate.cpp
+14-1clang/test/SemaTemplate/member-specialization.cpp
+21-92 files

LLVM/project 5e8a372llvm/lib/CodeGen PHIElimination.cpp, llvm/lib/Target/MSP430 MSP430CodeGenPassBuilder.cpp MSP430BranchSelector.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+85-0llvm/lib/Target/MSP430/MSP430CodeGenPassBuilder.cpp
+32-11llvm/lib/Target/MSP430/MSP430BranchSelector.cpp
+39-0llvm/lib/Target/MSP430/MSP430AsmPrinter.h
+36-0llvm/lib/Target/MSP430/MSP430AsmPrinter.cpp
+22-9llvm/lib/CodeGen/PHIElimination.cpp
+21-0llvm/lib/Target/MSP430/MSP430PassRegistry.def
+235-205 files not shown
+261-2211 files

LLVM/project 8ce8adellvm/lib/Target/MSP430 MSP430CodeGenPassBuilder.cpp MSP430BranchSelector.cpp

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.7

[skip ci]
DeltaFile
+85-0llvm/lib/Target/MSP430/MSP430CodeGenPassBuilder.cpp
+32-11llvm/lib/Target/MSP430/MSP430BranchSelector.cpp
+39-0llvm/lib/Target/MSP430/MSP430AsmPrinter.h
+36-0llvm/lib/Target/MSP430/MSP430AsmPrinter.cpp
+21-0llvm/lib/Target/MSP430/MSP430PassRegistry.def
+10-1llvm/lib/Target/MSP430/MSP430.h
+223-123 files not shown
+238-139 files

LLVM/project 066f7cbclang/lib/DependencyScanning DependencyScannerImpl.cpp, clang/test/ClangScanDeps modules-pch-compatibility.c

[clang][deps] Only disable app extension without PCHs (#207049)

PR #200041 disabled application extension during scanning to increase
module cache reuse. To keep the build semantics intact, the setting was
preserved for the compile steps. When scanning with an explicitly-built
PCH, this triggers a mismatch error in `ASTReader`:

```
error: Objective-C App Extension was enabled in precompiled file 'X.pch' but is currently disabled
```

This PR fixes this by only performing the optimization for non-PCH
compiles, adds a test, and a FIXME outlining how this optimization could
be applied even for compiles with PCHs.

rdar://180978125
DeltaFile
+30-0clang/test/ClangScanDeps/modules-pch-compatibility.c
+8-3clang/lib/DependencyScanning/DependencyScannerImpl.cpp
+38-32 files

LLVM/project 230b97fclang/lib/Sema SemaTemplate.cpp, clang/test/SemaTemplate member-specialization.cpp

[clang] fix error recovery for invalid member specializations

Recover from invalid member specializations as if it wasn't declared.

This undoes the change introduced in #201506 for a more robust approach which
keeps the AST valid.

There are no release notes since this fixes a regression which was never
released.

Fixes #201490
Fixes #205971
DeltaFile
+14-1clang/test/SemaTemplate/member-specialization.cpp
+2-2clang/lib/Sema/SemaTemplate.cpp
+16-32 files

LLVM/project 4d767b9llvm/test/CodeGen/AMDGPU s-barrier-signal-var-gep.ll

[AMDGPU] Consolidate CHECK lines for barrier-gep test. NFC (#207040)
DeltaFile
+172-197llvm/test/CodeGen/AMDGPU/s-barrier-signal-var-gep.ll
+172-1971 files

LLVM/project 24476abclang/include/clang/ScalableStaticAnalysis/Core/EntityLinker MultiArchStaticLibrary.h, clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat MultiArchStaticLibrary.cpp

[clang][ssaf] Add `MultiArchStaticLibrary` data structure (#206148)

This change introduces `MultiArchStaticLibrary` that wraps
per-architecture `StaticLibrary` instances. It is the SSAF analogue of a
fat static library (the result of lipo -create over per-arch .a files).
Like `StaticLibrary` we don't need the fully decoded variant of this
data structure as it will be produced and read by the linker that does
not require the concrete summary data schema. Support for constructing
and consuming this data structure will be added in separate PRs.

rdar://181066557
DeltaFile
+174-0clang/lib/ScalableStaticAnalysis/Core/Serialization/JSONFormat/MultiArchStaticLibrary.cpp
+102-0clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/top-level.test
+71-0clang/include/clang/ScalableStaticAnalysis/Core/EntityLinker/MultiArchStaticLibrary.h
+55-0clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/round-trip.test
+51-0clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/Inputs/rt-nonempty-members.json
+49-0clang/test/Analysis/Scalable/ssaf-format/MultiArchStaticLibrary/io.test
+502-042 files not shown
+1,065-2348 files

LLVM/project 4b80bb0clang/docs ReleaseNotes.md, clang/lib/Sema SemaExpr.cpp

[Clang] Rebuild lambda capture initializers in default member initializers

Fixes https://github.com/llvm/llvm-project/issues/196469

Since the CWG1815 implementation, InitListChecker rebuilds a default member initializer at its point of use in aggregate initialization. The rebuild uses the EnsureImmediateInvocationInDefaultArgs tree transform, where TransformCXXBindTemporaryExpr strips CXXBindTemporaryExpr nodes, relying on the subexpression's rebuild to recreate the temporary binding and re-register cleanups in the current evaluation context.

However, the transform overrides TransformLambdaExpr because the lambda body is not a subexpression. Returning the original lambda unchanged skips the MaybeBindToTemporary call that BuildLambdaExpr would normally perform, so the rebuilt initializer can lack the closure temporary binding and cleanup marker. CodeGen then misses the closure destructor and init-captured members can leak.

Lambda init-capture initializers are evaluated in the enclosing context and can also contain immediate invocations or source-location expressions that need to be rebuilt at the default-initializer use site. Rebuild those initializer expressions without rebuilding the closure type, capture declarations, or body, so body references to init-capture declarations remain valid. When a capture initializer changes, create a replacement LambdaExpr that shares the existing closure and body, then bind the lambda temporary explicitly to restore cleanup emission.

Co-Authored-By: GPT-5.5 <noreply at openai.com>
DeltaFile
+48-8clang/lib/Sema/SemaExpr.cpp
+37-0clang/test/CodeGenCXX/gh196469-default-member-init-lambda-cleanup.cpp
+22-0clang/test/SemaCXX/gh196469-default-member-init-lambda-capture.cpp
+0-12clang/test/SemaCXX/source_location.cpp
+2-0clang/docs/ReleaseNotes.md
+109-205 files

LLVM/project bd33880libcxx/docs ABIGuarantees.rst, libcxx/include __split_buffer

[libc++] Add a size-based representation for `vector` in the unstable ABI (#155330)

This commit adds an alternative representation for `std::vector` in a similar
manner to `__split_buffer` in #139632. This alternative representation was
measured to provide significant performance gains over the classic representation.

To do so, we introduce a layout type that tracks implementation details that
differ between the pointer-based vector and size-based vector representations.
`vector` does not parameterise its layout type, unlike `__split_buffer`.
`__split_buffer` is used by both `vector` and `deque`, and being able to take
an ABI break on `vector` doesn't automatically mean that users can also tolerate
a break on `deque`.

This new vector representation can be opted into by defining the
_LIBCPP_ABI_VECTOR_LAYOUT_SIZE_BASED macro when configuring the
library's ABI.

This change was the target of this RFC: https://discourse.llvm.org/t/adding-a-size-based-vector-to-libc-s-unstable-abi
DeltaFile
+514-0libcxx/include/__vector/layout.h
+206-262libcxx/include/__vector/vector.h
+108-0libcxx/include/__split_buffer
+50-0libcxx/docs/ABIGuarantees.rst
+22-4libcxx/utils/gdb/libcxx/printers.py
+1-0libcxx/include/__configuration/abi.h
+901-2663 files not shown
+904-2669 files

LLVM/project 381de9aflang/lib/Parser openmp-parsers.cpp

[flang][OpenMP] Compute the set of loop directives in parser, NFC (#206748)

Use the constexpr functions for association and source language to
compute the set of loop-associated directives instead of listing them
individually.
DeltaFile
+15-42flang/lib/Parser/openmp-parsers.cpp
+15-421 files

LLVM/project 7b8c4f5flang/include/flang/Optimizer/Dialect/MIF MIFOps.td, flang/lib/Optimizer/Builder IntrinsicCall.cpp

[Flang][MIF] Adding support of intrinsics with coarray argument (#192944)

Added support for intrinsics that query the coarray in argument:
- Adding lowering and operation in MIF Dialect for UCOBOUND, LCOBOUND,
COSHAPE and IMAGE_INDEX
- Adding support of coarray argument for THIS_IMAGE in MIF Dialect (and
the lowering)

---------

Co-authored-by: Dan Bonachea <dobonachea at lbl.gov>
Co-authored-by: jeanPerier <jean.perier.polytechnique at gmail.com>
DeltaFile
+219-14flang/lib/Optimizer/Transforms/MIFOpConversion.cpp
+129-4flang/lib/Optimizer/Builder/IntrinsicCall.cpp
+109-4flang/include/flang/Optimizer/Dialect/MIF/MIFOps.td
+104-0flang/test/Fir/MIF/cobound.mlir
+86-3flang/lib/Optimizer/Dialect/MIF/MIFOps.cpp
+80-0flang/test/Fir/MIF/coshape.mlir
+727-2522 files not shown
+1,103-10928 files