[CIR] Split cir.binop into separate per-operation binary ops
LLVM lowering uses per-op patterns generated by the CIRLowering.inc TableGen
infrastructure instead of a monolithic TypeSwitch dispatch.
[flang-rt] Fix NVPTX builds erroneously using backtrace support (#184415)
Summary:
This is caused by the CMake hacks I had to do to worm around NVIDIA's
proprietary binaries.
Disable leak sanitizer test on ppc. (#184414)
Test is flaky and fails due to machine load on the build bots. Disable
until we can split the build bots over more machines.
Handle dynamic affinity object sizes and improve iterator coverage
Teach task affinity lowering to compute lengths for dynamic objects
instead of falling back to zero for whole-object cases such as
assumed-shape, allocatable, pointer, character, and polymorphic type.
Add more tests in task-affinity
- assumed-shape, allocatable, pointer, and polymorphic objects
- character objects with constant and runtime length
- iterator character element affinity
- reordered, expression, and section iterator subscripts
- Extract iterator handling from processAffinity
[X86] known-never-zero.ll - improve demandedelts test coverage for #183227 (#184411)
The original tests from #184350 were recognising every element as
non-zero
[Flang][mlir][OpenMP] Support affinity clause codegen in Flang
This patch translate flang ast to OpenMP dialect for affinity clause
including the iterator modifier.
Lower iterator affinity subscripts and sections correctly
Teach OpenMP affinity lowering to evaluate iterator-dependent subscripts
through the iterator symbol mapping and use them to build the element
coordinate directly.
This fixes cases such as:
- affinity(iterator(i,j): a(j,i))
- affinity(iterator(i,j): a(i+1,j))
- affinity(iterator(i,j): a(i:i+1,j+2))
- affinity(iterator(i,j): a(:i+1,j+2))
[Flang][OpenMP] Reject invalid AFFINITY locators in semantics
Add semantic checks for OpenMP AFFINITY clauses to reject
substring designators and structure components, including
iterator forms.