Changes

Summary

  1. [flang][OpenMP] Handle private/firstprivate clauses on sections construct (details)
  2. [test] pre-submission for the following SimpleLoopUnswitch update (details)
  3. [CostModel][X86] getTypeBasedIntrinsicInstrCost - convert to CostKindTblEntry (details)
  4. [Libfuzzer] Include signal.h for SIGINT (details)
  5. Revert rG06e73626cf0fc33b025a0f98f1eee4a302279982 "[CostModel][X86] getTypeBasedIntrinsicInstrCost - convert to CostKindTblEntry" (details)
  6. [PhaseOrdering] Move X86 unsigned-multiply-overflow-check.ll test under X86 (details)
  7. [CostModel][X86] getTypeBasedIntrinsicInstrCost - convert to CostKindTblEntry (details)
  8. [CostModel][X86] Add CostKinds handling for sqrt intrinsicc (details)
Commit 1f734b0d1731bf15fe2501ec04f65658ad4a87a6 by neelam.nimish
[flang][OpenMP] Handle private/firstprivate clauses on sections construct

This patch adds private/firstprivate support for sections construct. For
a source like the following:

```
!$omp sections private(x) firstprivate(y)
    !$omp section
        <block of code>
    !$omp section
        <block of code>
!$omp end sections
```
...privatization proceeds to privatize `x` and `y` accordingly
inside each of the generated `omp.section` operations.

Reviewed By: peixin

Differential Revision: https://reviews.llvm.org/D131463
The file was modifiedflang/lib/Lower/OpenMP.cpp (diff)
The file was modifiedflang/test/Lower/OpenMP/sections.f90 (diff)
Commit 07341e3b378099de4aeac7e89f5e48748398d184 by hanruobing
[test] pre-submission for the following SimpleLoopUnswitch update
The file was addedllvm/test/Transforms/SimpleLoopUnswitch/PGO-nontrivial-unswitch2.ll
Commit 06e73626cf0fc33b025a0f98f1eee4a302279982 by llvm-dev
[CostModel][X86] getTypeBasedIntrinsicInstrCost - convert to CostKindTblEntry

Begin the refactoring to use CostKindTblEntry and return real latency/codesize/sizelatency costs instead of reusing the throughput numbers
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp (diff)
The file was modifiedllvm/test/Analysis/CostModel/X86/arith-fp-latency.ll (diff)
The file was modifiedllvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll (diff)
The file was modifiedllvm/test/Analysis/CostModel/X86/costmodel.ll (diff)
The file was modifiedllvm/test/Analysis/CostModel/X86/fminnum-size-latency.ll (diff)
The file was modifiedllvm/test/Analysis/CostModel/X86/arith-fp-sizelatency.ll (diff)
The file was modifiedllvm/test/Transforms/PhaseOrdering/unsigned-multiply-overflow-check.ll (diff)
The file was modifiedllvm/test/Analysis/CostModel/X86/fmaxnum-size-latency.ll (diff)
Commit 98c2754abd8fa46287f6e925eb4a78341740e281 by kparzysz
[Libfuzzer] Include signal.h for SIGINT

Or else compiler-rt/lib/fuzzer/FuzzerUtilLinux.cpp fails to compile
on FreeBSD.
The file was modifiedcompiler-rt/lib/fuzzer/FuzzerUtilLinux.cpp (diff)
Commit 80d4b3a2756c4c0e4f56cdbe2e2a053a8dcc7caa by llvm-dev
Revert rG06e73626cf0fc33b025a0f98f1eee4a302279982 "[CostModel][X86] getTypeBasedIntrinsicInstrCost - convert to CostKindTblEntry"

Some arm buildbots are complaining about a phase ordering test failure in unsigned-multiply-overflow-check.ll - I guess this test needs making x86 specific first
The file was modifiedllvm/test/Transforms/PhaseOrdering/unsigned-multiply-overflow-check.ll (diff)
The file was modifiedllvm/test/Analysis/CostModel/X86/costmodel.ll (diff)
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp (diff)
The file was modifiedllvm/test/Analysis/CostModel/X86/arith-fp-latency.ll (diff)
The file was modifiedllvm/test/Analysis/CostModel/X86/fmaxnum-size-latency.ll (diff)
The file was modifiedllvm/test/Analysis/CostModel/X86/arith-fp-sizelatency.ll (diff)
The file was modifiedllvm/test/Analysis/CostModel/X86/fminnum-size-latency.ll (diff)
The file was modifiedllvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll (diff)
Commit 8dc99180a61e50b65ce2e014d2b6eb75bd012fe5 by llvm-dev
[PhaseOrdering] Move X86 unsigned-multiply-overflow-check.ll test under X86
The file was removedllvm/test/Transforms/PhaseOrdering/unsigned-multiply-overflow-check.ll
The file was addedllvm/test/Transforms/PhaseOrdering/X86/unsigned-multiply-overflow-check.ll
Commit 626a84db477cf5e2d076b29c9491620bcc810308 by llvm-dev
[CostModel][X86] getTypeBasedIntrinsicInstrCost - convert to CostKindTblEntry

Begin the refactoring to use CostKindTblEntry and return real latency/codesize/sizelatency costs instead of reusing the throughput numbers
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp (diff)
The file was modifiedllvm/test/Analysis/CostModel/X86/fmaxnum-size-latency.ll (diff)
The file was modifiedllvm/test/Analysis/CostModel/X86/arith-fp-sizelatency.ll (diff)
The file was modifiedllvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll (diff)
The file was modifiedllvm/test/Analysis/CostModel/X86/fminnum-size-latency.ll (diff)
The file was modifiedllvm/test/Analysis/CostModel/X86/arith-fp-latency.ll (diff)
The file was modifiedllvm/test/Transforms/PhaseOrdering/X86/unsigned-multiply-overflow-check.ll (diff)
The file was modifiedllvm/test/Analysis/CostModel/X86/costmodel.ll (diff)
Commit 8534f514747d57cd42602403eb98c8230f5c7ff9 by llvm-dev
[CostModel][X86] Add CostKinds handling for sqrt intrinsicc

This was achieved using the 'cost-tables vs llvm-mca' script from D103695

Some of the znver1/znver2 latency/throughput numbers were really weird (some copy+paste afaict) - I've used the numbers from the AMD SoG, which roughly match the 'worst case' range value from Agner
The file was modifiedllvm/test/Analysis/CostModel/X86/arith-fp.ll (diff)
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp (diff)
The file was modifiedllvm/lib/Target/X86/X86ScheduleZnver2.td (diff)
The file was modifiedllvm/test/tools/llvm-mca/X86/Znver2/resources-avx1.s (diff)
The file was modifiedllvm/test/tools/llvm-mca/X86/Znver2/resources-sse1.s (diff)
The file was modifiedllvm/test/Analysis/CostModel/X86/arith-fp-sizelatency.ll (diff)
The file was modifiedllvm/test/tools/llvm-mca/X86/Znver1/resources-avx1.s (diff)
The file was modifiedllvm/test/tools/llvm-mca/X86/sqrt-rsqrt-rcp-memop.s (diff)
The file was modifiedllvm/lib/Target/X86/X86ScheduleZnver1.td (diff)
The file was modifiedllvm/test/tools/llvm-mca/X86/Znver2/resources-sse2.s (diff)
The file was modifiedllvm/test/tools/llvm-mca/X86/Znver1/resources-sse1.s (diff)
The file was modifiedllvm/test/Analysis/CostModel/X86/arith-fp-latency.ll (diff)
The file was modifiedllvm/test/tools/llvm-mca/X86/Znver1/resources-sse2.s (diff)