Revert "fortune: fix netstat tip"
This reverts commit 8e593a1f143203cace2e14bd6629a8ebdf9b47dc. I was
totally wrong, so just revert and get on with it.
Sponsored by: Netflix
[AMDGPU][GlobalISel][NFC] Filter getCandidatesForLowering to only process G_PHI (#181814)
The divergence-lowering pass runs in three stages:
1. lowerTemporalDivergence()
2. lowerTemporalDivergenceI1() — creates PHI instructions via SSAUpdater
3. lowerPhis() — lowers divergent i1 G_PHIs into lane mask PHIs
getCandidatesForLowering() in stage 3 iterates over all PHIs via
MBB.phis() and checks isDivergent() on their destination registers. This
includes PHI instructions already created by stage 2, whose registers
were never part of the original uniformity analysis.
Today, this works by accident — isDivergent() returns false for unknown
registers, so these PHIs are skipped. But this relies on isDivergent()
behavior for unanalyzed registers, which is not guaranteed. If
isDivergent() were to return true for unknown registers (e.g., as a
conservative default), lowerPhis() would re-process already-lowered
PHIs, adding redundant COPY instructions(EX:
https://github.com/llvm/llvm-project/pull/180509). This would not be a
[2 lines not shown]
[GlobalIsel] Use aext in ctlz_zero_undef widenScalar expansion (#181506)
Use `G_ANYEXT` instead of `G_ZEXT` when widening the source of
`G_CTLZ_ZERO_UNDEF`. The extended upper bits are immediately shifted out
by the subsequent left-shift, so zero-extending is unnecessarily
constraining.
Before:
```
%wide = G_ZEXT %src
%shifted = G_SHL %wide, sizeDiff
%result = G_CTLZ_ZERO_UNDEF %shifted
```
After:
```
%wide = G_ANYEXT %src
%shifted = G_SHL %wide, sizeDiff
%result = G_CTLZ_ZERO_UNDEF %shifted
```
[mlir][llvmir][OpenMP] Translate affinity clause in task construct to llvmir
Translate affinity entries to LLVMIR by passing affinity information to
createTask (__kmpc_omp_reg_task_with_affinity is created inside PostOutlineCB).
[Flang][mlir][OpenMP] Support affinity clause codegen in Flang
This patch translate flang ast to OpenMP dialect for affinity clause
including the iterator modifier.
[mlir][OpenMP] Introduce 'omp.iterators' for OpenMP iterator modifiers
`omp.iterators` provides information of induction variables and iterator
range in OpenMP iterator modifier.
Example:
```
%it = omp.iterators(%i0: index, %i1: index) =
(%lb0 to %ub0 step %st0,
%lb1 to %ub1 step %st1) {
omp.yield(%i0, %i1 : index, index)
} -> !omp.iterated<!llvm.struct<(!llvm.ptr, i64)>>
```
Here's how we can use the omp.iteraters to generate multi-dimensional
loop in llvm ir:
```
// Induction variables can be translated from the block arguments
// in omp.iterators.
[8 lines not shown]