[flang][OpenMP] Implement nest depth calculation in LoopSequence (#186477)
Calculate two depths, a semantic one and a perfect one. The former is
the depth of a loop nest taking into account any loop- or
sequence-transforming OpenMP constructs. The latter is the maximum level
to which the semantic nest is a perfect nest.
Issue: https://github.com/llvm/llvm-project/issues/185287
Reinstate PR185298 after a fix has been merged in PR186416. Includes a
testcase that triggered failures before.
[X86] Blocklist instructions that are unsafe for masked-load folding. (#178888)
This PR blocklist instructions that are unsafe for masked-load folding.
Folding with the same mask is only safe if every active destination
element reads only from source elements that are also active under the
same mask. These instructions perform element rearrangement or
broadcasting, which may cause active destination elements to read from
masked-off source elements.
VPERMILPD and VPERMILPS are safe only in the rrk form, the rik form
needs to be blocklisted. In the rrk form, the masked source operand is a
control mask, while in the rik form the masked source operand is the
data/value. This is also why VPSHUFB is safe to fold, while other
shuffles such as VSHUFPS are not.
Examples:
```
EVEX.128.66.0F.WIG 67 /r VPACKUSWB xmm1{k1}{z}, xmm2, xmm3/m128
[35 lines not shown]
[flang][NFC] Converted five tests from old lowering to new lowering (part 31) (#186299)
Tests converted from test/Lower/Intrinsics: iall.f90, iand.f90,
iany.f90, ibclr.f90, ibits.f90
NAS-140295 / 27.0.0-BETA.1 / Convert ports service to be typesafe (#18456)
This commit adds changes to convert ports plugin to be typesafe and mypy
compliant.
[AMDGPU] Simplify state clearing in SIInsertWaitcnts. NFC. (#186399)
There is no need to clear state at the start or end of the run method,
because a fresh instance of SIInsertWaitcnts is constructed for each run
on a MachineFunction.
[AMDGPU] Initialize more fields in the SIInsertWaitcnts constructor. NFC. (#186394)
ST, TII, TRI and MRI can all be initialized in the constructor and hence
be references instead of pointers.
crypto_request.9: Fix typo on crypto_initreq arguments
The function signature of `crypto_initreq()` was
incorrectly documented.
Signed-off-by: Zixu Wu <zx at bv3.dev>
Reviewed by: ziaee, pouria
Pull Request: https://github.com/freebsd/freebsd-src/pull/2077
firmware: repeat the update after pkg reinstall
It appears that the package manager lost a number of tricks
over the years so now we add more manual labor to do what
we expect of it.
[orc-rt] Add Controller Interface (CI) symbol table to Session. (#186747)
The Controller Interface is the extended set of symbols (mostly wrapper
functions) that the controller can call prior to loading any JIT'd code.
It is expected that it will be used to inspect the process and create /
configure services to enable JITing.
[lldb-dap] Mark return value as readonly (#186329)
Marked return value as readonly to give VS Code a hint that this
variable doesn't support `setVariable` request.
[C++20] [Modules] Don't add discardable variables to module initializers (#186752)
Close https://github.com/llvm/llvm-project/issues/170099
The root cause of the problem is, we shouldn't add the inline variable
(which is discardable in linker's point of view) to the module's
initializers.
I verified with GCC's generated code to make the behavior consistent.
This is also a small optimization by the way.