[MLIR][OpenMP] Add omp.fuse operation (#168898)
This patch is a follow-up from #161213 and adds the omp.fuse loop
transformation for the OpenMP dialect. Used for lowering a `!$omp fuse`
in Flang.
Added Lowering and end2end tests.
[SystemZ] Enable rematerialization for scalar loads (#179838)
We can avoid the unnecessary spill by marking loads as rematerializable
and just directly loading from where the argument was originally passed
on the stack. TargetTransformInfo::isReMaterializableImpl checks to make
sure that any loads are MI.isDereferenceableInvariantLoad(), so we
should be able to move the load down to the remat site.
Related: [#166774](https://github.com/llvm/llvm-project/pull/166774)
---------
Co-authored-by: anoopkg6 <anoopkg6 at github.com>
[clang] Fix crashes when initializing constexpr int* with floating-point (#180376)
Call isNullPointer() only when we are sure that Rvalue is a pointer.
Fixes #180313
---------
Co-authored-by: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
[LoopInterchange] Update tests generated by UTC (NFC) (#181804)
Update the LoopInterchange tests that use UTC to generate assertions, in
order to avoid irrelevant changes during other developments. Most of the
changes are simply the result of re-running UTC, but this patch also
includes a few additional minor adjustments by hand:
- Rename IR value names to suppress warnings by UTC.
- Delete `NOTE: Assertions have been ...` from the test file that
actually doesn't use UTC.
- Delete unnecessary `-pass-remarks-missed=...`.
- Add a store instruction for an unused GEP result, which could
otherwise affect other developments.
[llvm-readobj, ELF] Support reading binary with more than PN_XNUM segments.
FreeBSD coredump uses program headers to store mmap information. It is possible
for program to use more than PN_XNUM mmaps. Therefore, we implement the support
of PN_XNUM in readelf.
[Object][ELF] Fix section header zero check
The PN_XUM is a necessary condition for reading shdr0
regardless of the value of e_shoff. Without this,
readShdrZero falsely returns the garbage value in ELF
header instead of emitting warning.
[Offload][test] Use just-compiled lld and llvm-symbolizer (#181793)
In a bootstrapping build with LLVM_ENABLE_PROJECTS=lld, the lld
executable will be found in LLVM's bin/ directory. But `check-offload`
will currently ignore it because the JIT plugin will look for `lld` in
`$PATH`. Similarly, the sanitizer tests require llvm-symbolizer during
execution to FileCheck the expected stack trace.
Add the llvm tools directory to `$PATH` so tests can use lld and
llvm-symbolizer in it. It should be prefered over a system-installed
lld/llvm-symbolizer.
Fixes the JIT and sanitizer tests of
[openmp-offload-amdgpu-clang-flang](https://lab.llvm.org/staging/#/builders/105).
[DAG] isKnownToBeAPowerOfTwo - add DemandedElts + OrZero handling to ISD::SELECT/VSELECT cases (#181753)
Pass DemandedElts and OrZero arguments through SELECT/VSELECT nodes when
checking if values are power-of-two.
Add unit tests for scalar SELECT (OrZero) and vector VSELECT
(DemandedElts + OrZero).
Resolves #181645
[lldb-dap] Refactor variablesReference storage and scope management. (#179262)
This commit refactors the Variables class into a
VariableReferenceStorage with variableReferences of different
ReferenceKinds.
The variablesReference is now a uint32_t.
The most significant byte (bits 24 - 31) holds the reference kind and
the remaining 3 bytes (bits 0 -23) holds the actual reference.
We have (at the moment) 3 reference kinds.
Temporary => 0b0000 => 0x00
Permanent => 0b0001 => 0x01
Scope => 0b0010 => 0x03
The actual variablesReference can be used to get a `VariableStore`.
VariableStore holds variables in a group.
It has two implementations:
[20 lines not shown]
Move Stanislav Gatev to the inactive maintainers list (#180939)
While reaching out to folks for a maintainers list refresh, Stanislav
asked to step down due to other commitments. Thank you for all your
help!
[lldb][test] TestQuitWithProcess: Increase timeout to fix ARM flakiness (#181660)
TestQuitWithProcess.py is randomly failing on Arm Linux buildbot. The
test validates LLDB's ability to quit cleanly killing active processes
with a timeout value set to 15 seconds which could be insufficient for
any resource limited platforms under heavy load.
This patch increase the timeout to 30 seconds to accommodate any
resource limits.
https://lab.llvm.org/buildbot/#/builders/18/builds/24801
[Object][ELF] Fix section header zero check
The PN_XUM is a necessary condition for reading shdr0
regardless of the value of e_shoff. Without this,
readShdrZero falsely returns the garbage value in ELF
header instead of emitting warning.