LLVM/project 05515c6 — llvm/test/Transforms/LoopLoadElim versioning-poison-stride.ll, llvm/test/Transforms/LoopVectorize version-stride-poison-stride.ll version-stride-trip-count-expansion.ll

[LV,LLE] Add tests for checks with versioned strides (NFC) (#233276)

Add tests for trip counts rewritten using versioned strides and for the
stride check on a possibly poison stride.
DeltaFile
+144-0llvm/test/Transforms/LoopVectorize/version-stride-trip-count-expansion.ll
+89-0llvm/test/Transforms/LoopLoadElim/versioning-poison-stride.ll
+74-0llvm/test/Transforms/LoopVectorize/version-stride-poison-stride.ll
+307-03 files

LLVM/project 41042ad — llvm/lib/Target/ARM ARMISelLowering.cpp, llvm/test/CodeGen/ARM longMAC-overflow.ll

[ARM] Fix miscompile in MAC for 64b values (#231702)

AddCombineTo64BitSMLAL16 is invoked from PerformADDECombine where the
combined node N is AddeNode, but it returned SDValue(AddcNode, 0).
Because RV.getNode() != N, DAGCombiner::Run did not stop replacing and
called DAG.ReplaceAllUsesWith(AddeNode, AddcNode), replacing uses of
the high-word carry/overflow flag (AddeNode, 1) with the low-word
addition flag (AddcNode, 1).

Assisted-by: Gemini
Fixes: e9113618cba6 ("[ARM] Custom Lowering for SADDO_CARRY and
SSUBO_CARRY (#154419)")

(cherry picked from commit 28999cd08f23dd7baeb63b7ca4addef4214999e3)
DeltaFile
+259-0llvm/test/CodeGen/ARM/longMAC-overflow.ll
+2-2llvm/lib/Target/ARM/ARMISelLowering.cpp
+261-22 files

LLVM/project 6c85996 — llvm/lib/Target/Sparc SparcISelLowering.cpp, llvm/test/CodeGen/SPARC vector-extract-elt.ll

[SPARC] Lower dynamic v2i32 vector extracts on 32-bit SPARC (#222348)

Lower dynamically indexed extracts after vector legalization so that
instruction selection never receives a variable index.

Constant indexes use the existing TableGen patterns.

Fixes the following error:

LLVM ERROR: Cannot select: 0x5e7e87e5b590: i32 = extract_vector_elt
0x5e7e87e5b910, 0x5e7e87e5b0c0
  0x5e7e87e5b910: v2i32 = BUILD_VECTOR 0x5e7e87e5af70, 0x5e7e87e5b6e0
    0x5e7e87e5af70: i32,ch = CopyFromReg 0x5e7e87e24840, Register:i32 %0
      0x5e7e87e5b750: i32 = Register %0
    0x5e7e87e5b6e0: i32,ch = CopyFromReg 0x5e7e87e24840, Register:i32 %1
      0x5e7e87e5b7c0: i32 = Register %1
  0x5e7e87e5b0c0: i32,ch = CopyFromReg 0x5e7e87e24840, Register:i32 %2
    0x5e7e87e5afe0: i32 = Register %2
In function: extract_v2i8

    [3 lines not shown]
DeltaFile
+24-4llvm/test/CodeGen/SPARC/vector-extract-elt.ll
+23-1llvm/lib/Target/Sparc/SparcISelLowering.cpp
+47-52 files

LLVM/project c5904d2 — llvm/test/Analysis/LoopAccessAnalysis calls-with-operand-bundles.ll, llvm/test/Transforms/LoopVectorize dead_instructions.ll operand-bundles.ll

[LV,LAA] Add additional tests for attributes and operand bundles. (#233275)

Add tests for CSE with call attributes and various operand bundles.
DeltaFile
+165-0llvm/test/Transforms/LoopVectorize/operand-bundles.ll
+137-0llvm/test/Analysis/LoopAccessAnalysis/calls-with-operand-bundles.ll
+120-0llvm/test/Transforms/LoopVectorize/AArch64/widen-call-attrs-masked.ll
+56-0llvm/test/Transforms/LoopVectorize/dead_instructions.ll
+478-04 files

LLVM/project 8c3ef3b — clang-tools-extra/clang-tidy/bugprone AssignmentInIfConditionCheck.cpp, clang-tools-extra/docs ReleaseNotes.md

[clang-tidy] Fix assignment-in-if-condition false positive in statement expressions (#231704)

The check traversed into GNU statement expressions and diagnosed
assignments in separate statements inside them, e.g. `({ ...; r = ...;
r; })`.

Now the check only looks at the last statement of a GNU statement
expression, skipping any labels or attributes on it. An assignment that
is itself the value is still diagnosed.

Fixes #210638
DeltaFile
+81-0clang-tools-extra/test/clang-tidy/checkers/bugprone/assignment-in-if-condition.cpp
+10-0clang-tools-extra/clang-tidy/bugprone/AssignmentInIfConditionCheck.cpp
+5-0clang-tools-extra/docs/ReleaseNotes.md
+96-03 files

LLVM/project f9cea2f — clang/docs ReleaseNotes.md, clang/include/clang/Basic DiagnosticSemaKinds.td

[Clang][OpenMP] Fix crash on `atomic` with an erroneous statement (#228914)

Fixes #107979

A statement under `#pragma omp atomic` that already has an error, such
as `0--;` or an assignment to a `const` variable, reaches
`OpenMPAtomicUpdateChecker` as a `RecoveryExpr`. Since #71480 the
checker reports it with a `NotAValidExpression` code, but that code is
also used as the `%select` index of `note_omp_atomic_update`, which only
had eight options. So for `atomic`, `atomic update` and the `v = expr`
form of `atomic capture` the note was emitted with index 8 and we hit
the assertion in `HandleSelectModifier`.

The note now has an option for `NotAValidExpression`, so every error
code of the checker has a matching message. The checker also no longer
builds the helper update expression when an operand contains errors,
which used to add a second error, `invalid operands to binary expression
('int' and '<dependent type>')`, for statements such as `x += 0--;`.

Assisted-by : AI tools
DeltaFile
+93-6clang/test/OpenMP/atomic_messages.cpp
+84-6clang/test/OpenMP/atomic_messages.c
+2-1clang/lib/Sema/SemaOpenMP.cpp
+2-1clang/include/clang/Basic/DiagnosticSemaKinds.td
+2-0clang/docs/ReleaseNotes.md
+183-145 files

LLVM/project dfaa150 — llvm/include/llvm/ADT DenseMap.h

[ADT] Clean up DenseMap.h after removing CRTP (NFC) (#228981)

This patch makes several minor cleanups in DenseMap.h following the
removal of CRTP.  While most changes are obvious, notable ones include:

- Drop the redundant "= 4" default argument on SmallDenseMapStorage's
  InlineBuckets template parameter, as SmallDenseMap already provides
  it.

- Inline DenseMapBase::hasher into its sole caller
  DenseMapBase::grow.

Assisted-by: Antigravity
DeltaFile
+22-28llvm/include/llvm/ADT/DenseMap.h
+22-281 files

LLVM/project 41b929c — llvm/test/CodeGen/AArch64 setcc-type-mismatch.ll

[AArch64][GlobalISel] Add test coverage for setcc types. NFC (#233273)
DeltaFile
+118-13llvm/test/CodeGen/AArch64/setcc-type-mismatch.ll
+118-131 files

LLVM/project b24e56e — llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/AArch64 trimmed-subtree-schedule-operands.ll

[SLP]Count only reduction root candidates for store-based reductions

Exclude stores of loads, non-instructions, and already vectorized
stores, as they cannot start a reduction, but they blocked the reduction
attempt.

Fixes #91780

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/233271
DeltaFile
+4-44llvm/test/Transforms/SLPVectorizer/X86/store-reduction-other-stores.ll
+18-24llvm/test/Transforms/SLPVectorizer/AArch64/trimmed-subtree-schedule-operands.ll
+13-4llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+6-6llvm/test/Transforms/SLPVectorizer/X86/operandorder.ll
+41-784 files

LLVM/project 494acd1 — llvm/test/Transforms/SLPVectorizer/X86 store-reduction-other-stores.ll

[SLP][NFC]Add test with missed vectorization, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/233267
DeltaFile
+134-0llvm/test/Transforms/SLPVectorizer/X86/store-reduction-other-stores.ll
+134-01 files

LLVM/project 23a28e7 — llvm/lib/Support KnownFPClass.cpp, llvm/test/Transforms/Attributor nofpclass-minnum-maxnum.ll nofpclass-minimum-maximum.ll

[KnownFPClass] Correct denormal mode handling for `KnownFPClass::minMaxLike` (#220148)

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

Corrects denormal mode and NaN sign bit handling for
`KnownFPClass::minMaxLike`.

I have rewritten `KnownFPClass::minMaxLike` so the sign bit is never
inferred incorrectly in the first place. The sign bit from the arguments
is no longer propagated to the result. Denormal modes are now applied to
the operands up front and to the result at the end, instead of being
fixed up afterwards.

This also fixes a bug where qNaN was incorrectly ruled out when the
inputs may be sNaN but not qNaN, since a sNaN may be quieted.

There are other NaN handling issues with minnum/maxnum (they may return
a NaN for an sNaN input), but fixing those touches a lot of
InstSimplify, InstCombine, and AMDGPU tests, so I've left them for a

    [3 lines not shown]
DeltaFile
+63-66llvm/lib/Support/KnownFPClass.cpp
+66-24llvm/test/Transforms/Attributor/nofpclass-minimumnum-maximumnum.ll
+63-22llvm/test/Transforms/Attributor/nofpclass-minnum-maxnum.ll
+63-22llvm/test/Transforms/Attributor/nofpclass-minimum-maximum.ll
+255-1344 files

LLVM/project 5ca62fd — flang/lib/Semantics check-omp-structure.cpp, flang/test/Semantics/OpenMP declare-simd-interface-body.f90 declare-simd.f90

[flang][OpenMP] Ignore DECLARE_SIMD and warn about missing implementa… (#232712)

…tion

Currently DECLARE_SIMD emits a "not yet implemented" error in the MLIR
to LLVM IR translation.

DECLARE_SIMD is a hint to the compiler and ignoring it is technically
speaking a conforming implementation (although obviously not desirable).
Do not abort compilation when DECLARE_SIMD is encountered, but emit a
warning that it's currently ignored.
DeltaFile
+12-0flang/test/Semantics/OpenMP/declare-simd-scope.f90
+9-0flang/test/Semantics/OpenMP/linear-clause01.f90
+6-1flang/test/Semantics/OpenMP/declare-simd.f90
+7-0mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+5-1flang/test/Semantics/OpenMP/declare-simd-interface-body.f90
+4-0flang/lib/Semantics/check-omp-structure.cpp
+43-28 files not shown
+56-214 files

LLVM/project 8dcc63f — llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer semanticly-same.ll

[SLP]Compare main lanes of same-opcode and copyable states

For a same-opcode state both main lanes were skipped, so the original
main lane (potenitally with copyables) was never compared.

Fixes #230578

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/233266
DeltaFile
+7-11llvm/test/Transforms/SLPVectorizer/RISCV/split-vectorize-parent-for-copyables.ll
+3-3llvm/test/Transforms/SLPVectorizer/X86/propagate_ir_flags.ll
+1-2llvm/test/Transforms/SLPVectorizer/semanticly-same.ll
+1-2llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+12-184 files

LLVM/project daeae66 — llvm/test/Transforms/SLPVectorizer semanticly-same.ll

[SLP][NFC]Add a test for alt/same opcode select, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/233264
DeltaFile
+35-0llvm/test/Transforms/SLPVectorizer/semanticly-same.ll
+35-01 files

LLVM/project bd28042 — cross-project-tests/intrinsic-header-tests riscv_packed_simd.c, llvm/lib/Target/RISCV RISCVISelLowering.cpp

[RISCV][P-ext] Use concat_vectors with 0 in widenPackedVectorWithZeros. (#232940)

This will be legalized and combined to a vector_shuffle. That shuffle
can then be matched to a pack with x0 after #232892.

This changes the zext.w to a pack, but that's not obviously worse. If we
need to canonicalize we can add a DAG combine later.
DeltaFile
+8-8llvm/test/CodeGen/RISCV/rvp-simd-32.ll
+6-6cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
+4-5llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+18-193 files

LLVM/project 2bb6078 — llvm/lib/Target/RISCV RISCVISelLowering.cpp, llvm/test/CodeGen/RISCV rvp-insert-subvector.ll

[RISCV][P-ext] Remove custom lowering of insert_subvector for v2i16/v4i8 on RV64. (#232899)

This was for handling inserting into a zero vector. After #232892 we let
the insert_subvector legalize to a shuffle_vector which we can then
lower as pack.

This changes the codegen from zext.w to pack, but that's not necessarily
worse. If it turns out to be a problem we can canonicalize pack with
zero with a DAGCombine or isel patterns in the future.
DeltaFile
+3-11llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+2-2llvm/test/CodeGen/RISCV/rvp-insert-subvector.ll
+5-132 files

LLVM/project 856dde0 — flang/lib/Semantics check-omp-atomic.cpp check-omp-structure.h, flang/test/Semantics/OpenMP clause-validity01.f90 flush02.f90

[flang][OpenMP] Switch clause verification to descriptor-based

Delete all the scattered pieces of clause verification that are now
replaced by the unified handling.
DeltaFile
+57-273flang/lib/Semantics/check-omp-structure.cpp
+300-0flang/lib/Semantics/check-omp-syntax.cpp
+22-10flang/lib/Semantics/check-omp-structure.h
+0-31flang/lib/Semantics/check-omp-atomic.cpp
+8-8flang/test/Semantics/OpenMP/flush02.f90
+8-7flang/test/Semantics/OpenMP/clause-validity01.f90
+395-32937 files not shown
+517-38443 files

LLVM/project 936dc93 — flang/test/Semantics/OpenMP to-clause-v45.f90 from-clause-v45.f90

Update tests
DeltaFile
+1-1flang/test/Semantics/OpenMP/to-clause-v45.f90
+1-1flang/test/Semantics/OpenMP/from-clause-v45.f90
+2-22 files

LLVM/project 6c4bc35 — llvm/lib/Target/X86 X86ISelLowering.cpp, llvm/test/CodeGen/X86 pr233185.ll

[X86] combineConcatVectorOps - ensure at least one of the VSELECT/BLENDV selection operands fully concatenates (#233245)

Don't rely on IsConcatFree - we might still end up with temporary
CONCAT_VECTORS nodes that might not get folded away before another
combine recognises a vector that can be freely split.

Fixes #233185
DeltaFile
+46-0llvm/test/CodeGen/X86/pr233185.ll
+10-5llvm/lib/Target/X86/X86ISelLowering.cpp
+56-52 files

LLVM/project 8b8f178 — llvm/lib/Transforms/InstCombine InstCombineAddSub.cpp, llvm/test/Transforms/InstCombine fold-log2-ceil-idiom.ll

[InstCombine] Added log2-ceil check for non-power-of-two integer widths (#232418)

The log2-ceil fold is only valid for power-of-two integer bit widths.
Adding check for verifying bit width is power of two.

Fixes #227862
DeltaFile
+44-0llvm/test/Transforms/InstCombine/fold-log2-ceil-idiom.ll
+2-1llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
+46-12 files

LLVM/project b261801 — llvm/lib/Target/AMDGPU AMDGPUTargetTransformInfo.cpp, llvm/test/Analysis/CostModel/AMDGPU store.ll load.ll

[AMDGPU] Price memory operations by the number of memory instructions

Price a load or store as the number of memory instructions it is split
into.

Constant and buffer "fat" pointers are left alone (for now).
DeltaFile
+191-133llvm/test/Analysis/CostModel/AMDGPU/load.ll
+260-50llvm/test/Transforms/SLPVectorizer/AMDGPU/ordered-reduction-coalesced-loads.ll
+178-120llvm/test/Analysis/CostModel/AMDGPU/store.ll
+74-7llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
+2-1llvm/test/CodeGen/AMDGPU/simplify-libcalls.ll
+2-1llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.ll
+707-3121 files not shown
+708-3137 files

LLVM/project 1769ec8 — llvm/lib/Target/AMDGPU AMDGPUTargetTransformInfo.cpp, llvm/test/Analysis/CostModel/AMDGPU store.ll load.ll

[AMDGPU] Price under-aligned memory operations

Without unaligned access for the address space, an access aligned below
4 bytes is split into pieces of its alignment. LDS accesses aligned to 4
use 8-byte pieces, and take a 12-byte piece only when aligned to 16 or
when unaligned DS access is enabled.

DeltaFile
+131-47llvm/test/Transforms/SLPVectorizer/AMDGPU/packed-math.ll
+48-33llvm/test/Analysis/CostModel/AMDGPU/store.ll
+48-33llvm/test/Analysis/CostModel/AMDGPU/load.ll
+22-2llvm/test/Transforms/SLPVectorizer/AMDGPU/vectorize-i8.ll
+10-1llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
+259-1165 files

LLVM/project 93d242e — llvm/lib/Target/X86 X86ISelLowering.cpp, llvm/test/Analysis/CostModel/X86 shuffle-splat.ll

[X86] Allow bf16 masked load/store with AVX512BW (#230953)

bf16 masked loads/stores don't use any avx512bf16 instructions, but
isLegalMaskedLoadStore only accepted bfloat with hasBF16(). Without it
they got scalarized, which is pretty bad (one branch plus an
extend/truncate libcall per element). With BWI they can use vmovdqu16
the same way f16 does, and the existing mask_move_lowering_f16_bf16
patterns only need BWI.

This relaxes the TTI check to BWI like half, and makes
v8bf16/v16bf16/v32bf16 legal with BWI. They were only legal with
BF16/AVXNECONVERT before, so on plain BWI the masked ops were split
before isel ever saw them (avx512bf16 implies BWI anyway). To go with
that:

- v8bf16/v16bf16 masked loads/stores use the same non-VLX widening as
f16.
- A few broadcast/insert/extract/subvector zeroing patterns that don't
need any bf16 instructions are now enabled with BWI (or folded into the

    [8 lines not shown]
DeltaFile
+610-0llvm/test/CodeGen/X86/bfloat.ll
+315-75llvm/test/Transforms/VectorCombine/X86/narrow-phi-of-shuffles.ll
+14-294llvm/test/CodeGen/X86/atomic-load-store.ll
+69-0llvm/test/CodeGen/X86/avx512-masked_memop-16-8.ll
+44-22llvm/lib/Target/X86/X86ISelLowering.cpp
+47-14llvm/test/Analysis/CostModel/X86/shuffle-splat.ll
+1,099-4055 files not shown
+1,151-44311 files

LLVM/project aaf0167 — llvm/lib/Support UnicodeNameToCodepointGenerated.cpp, llvm/test/CodeGen/AMDGPU amdgcn.bitcast.896bit.ll amdgcn.bitcast.960bit.ll

Rebase, fix regressions

Created using spr 1.3.7
DeltaFile
+80,340-99,572llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+32,677-17,309llvm/test/CodeGen/AMDGPU/frem.ll
+21,540-27,245llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+23,347-23,371llvm/lib/Support/UnicodeNameToCodepointGenerated.cpp
+16,761-20,379llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
+15,630-19,063llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
+190,295-206,93915,511 files not shown
+1,224,782-749,27115,517 files

LLVM/project 8fbde41 — llvm/test/Transforms/SLPVectorizer/AArch64 odd-width-i1-reduction-split-compares.ll

[SLP][NFC]Add an test for non-power-of-2 i1 reduction, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/233246
DeltaFile
+54-0llvm/test/Transforms/SLPVectorizer/AArch64/odd-width-i1-reduction-split-compares.ll
+54-01 files

LLVM/project 9ea9dcd — llvm/lib/CodeGen RegisterPressure.cpp, llvm/test/CodeGen/AMDGPU debug-value-scheduler-crash.mir schedule-pressure-unflagged-dead-physreg-def.mir

RegisterPressure: Detect dead physreg defs from LiveIntervals with lane masks (#233215)

Extend the fix from #225079 to the lane mask tracking path used by
targets with subregister liveness. adjustLaneLiveness also needs to
force the physreg unit ranges to be computed to identify dead defs,
rather than taking the conservative default when they are not cached.

Without this, an overlapping physreg def missing a dead flag is
counted as a live def. Conservatively assuming it is live doesn't work
because PressureDiff disagrees with the tracker and fails the
EXPENSIVE_CHECKS consistency assert.

This avoids an ll asm test failing when LiveVariables removed; #233202
fixes the missing dead flag for that case. I had additional patches
which nearly eliminate all missing dead flags. Unless the verifier
enforces accurate dead flags, we still need to handle this edge case.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+30-0llvm/test/CodeGen/AMDGPU/schedule-pressure-unflagged-dead-physreg-def.mir
+6-4llvm/lib/CodeGen/RegisterPressure.cpp
+1-1llvm/test/CodeGen/AMDGPU/debug-value-scheduler-crash.mir
+37-53 files

LLVM/project 61e3606 — flang/test/Semantics/OpenMP to-clause-v45.f90 from-clause-v45.f90

Update tests
DeltaFile
+1-1flang/test/Semantics/OpenMP/to-clause-v45.f90
+1-1flang/test/Semantics/OpenMP/from-clause-v45.f90
+2-22 files

LLVM/project b517c2e — llvm/lib/Transforms/Vectorize LoopVectorizationPlanner.h LoopVectorize.cpp

[LV] Thread an explicit CM param through VPlan-building/costing helpers (#224836)

Parameterize `cost()`, `tryToBuildVPlan1()`, `tryToBuildVPlan()`, 
`buildVPlans()` and `addReductionResultComputation` with an explicit
`LoopVectorizationCostModel &PlanCM` argument instead of always reaching
for the planner's own CM member.

This is preparation for tail-folded vector epilogue support, which will
plan against a separate CM from the one used for the main vector loop. 
Passing the CM in explicitly lets these functions to be called with
whichever CM applies to what's currently being planned.

All existing call sites still pass *CM, so this is NFC.
DeltaFile
+49-43llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+23-15llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
+72-582 files

LLVM/project d504898 — clang/docs/CIR CodeDuplication.md CleanupAndEHDesign.md

[clang][docs] fix grammar and spelling errors in cir docs (#220877)

Fix some obvious typos and grammar mistakes in the CIR docs.

Signed-off-by: Hardik Kumar <hardikxk at gmail.com>
DeltaFile
+3-3clang/docs/CIR/CleanupAndEHDesign.md
+2-2clang/docs/CIR/CodeDuplication.md
+5-52 files

LLVM/project 7bbfd6f — flang/lib/Semantics check-omp-atomic.cpp check-omp-structure.h, flang/test/Semantics/OpenMP declare-target02.f90 flush02.f90

[flang][OpenMP] Switch clause verification to descriptor-based

Delete all the scattered pieces of clause verification that are now
replaced by the unified handling.
DeltaFile
+57-273flang/lib/Semantics/check-omp-structure.cpp
+300-0flang/lib/Semantics/check-omp-syntax.cpp
+22-10flang/lib/Semantics/check-omp-structure.h
+0-31flang/lib/Semantics/check-omp-atomic.cpp
+8-8flang/test/Semantics/OpenMP/flush02.f90
+15-0flang/test/Semantics/OpenMP/declare-target02.f90
+402-32237 files not shown
+517-38443 files