In progressChanges

Changes from Git (git http://labmaster3.local/git/llvm-project.git)


  1. [SLP]Fix coding style, NFC. (details)
  2. [InstCombine] Fix errno bug in pow expansion to sqrt (details)
  3. [InstCombine][NFC][tests] Add ninf base value case to pow-sqrt.ll (details)
  4. [trace] avoid using <regex> (details)
  5. [ORC][examples] Add missing library dependencies. (details)
  6. [NFC][docs] Fix link. (details)
  7. [IRSim] Adding IRSimilarityCandidate that contains a region of IRInstructionData. (details)
  8. [Clang] Fix a typo in implicit-int-float-conversion.c (details)
Commit d6ac649ccda289ecc2d2c0cb51892d57e8ec328c by a.bataev
[SLP]Fix coding style, NFC.
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Commit 32c9991dab5cb1454959561c77f9d0089d981429 by hubert.reinterpretcast
[InstCombine] Fix errno bug in pow expansion to sqrt

A conversion from `pow` to `sqrt` shall not call an `errno`-setting
`sqrt` with -//infinity//: the `sqrt` will set `EDOM` where the `pow`
call need not.

This patch avoids the erroneous (pun not intended) transformation by
applying the restrictions discussed in the thread for

The existing tests are updated (depending on emphasis in the checks for
library calls, avoidance of overlap, and overall coverage):
  - to add `ninf`, retaining the intended library call,
  - to use the intrinsic, retaining the use of `select`, or
  - to expect the replacement to not occur.

The following is tested:
  - The pow intrinsic folds to a `select` instruction to
    handle -//infinity//.
  - The pow library call folds, with `ninf`, to `sqrt` without the
    `select` instruction associated with handling -//infinity//.
  - The pow library call does not fold to `sqrt` without `ninf`.

Reviewed By: spatel

Differential Revision:
The file was modifiedllvm/test/Transforms/InstCombine/pow-1.ll
The file was modifiedllvm/test/Transforms/InstCombine/pow-sqrt.ll
The file was modifiedllvm/test/Transforms/InstCombine/win-math.ll
The file was modifiedllvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
Commit a60852e9d692e3c38d9b58b7ec1679e07af2b8f7 by hubert.reinterpretcast
[InstCombine][NFC][tests] Add ninf base value case to pow-sqrt.ll
The file was modifiedllvm/test/Transforms/InstCombine/pow-sqrt.ll
Commit ed621e76a9889e25a9cbed47e0b96a7a6fdbdb80 by walter erquinigo
[trace] avoid using <regex>

Easy fix based on the feedback by maskray on
The file was modifiedlldb/source/Plugins/Trace/intel-pt/TraceIntelPTSettingsParser.cpp
The file was modifiedlldb/source/Target/TraceSettingsParser.cpp
Commit 71be8809d01f0199032242b9f11d6a7a471183fd by Lang Hames
[ORC][examples] Add missing library dependencies.
The file was modifiedllvm/examples/OrcV2Examples/LLJITWithOptimizingIRTransform/CMakeLists.txt
Commit af429cd89bf83bbbef295ded85e66f03776ec015 by joker.eph
[NFC][docs] Fix link.

The rendered html was (no hyperlink was generated):

(see Getting Started <GettingStarted.html#git-pre-push-hook>)

Now, it is (with proper hyperlink):

(see Git pre-push hook)

Reviewed By: mehdi_amini

Differential Revision:
The file was modifiedllvm/docs/Phabricator.rst
The file was modifiedllvm/docs/GettingStarted.rst
Commit 4944bb190fed8861d4d043eaf45e3c1e12aa2dc5 by andrew.litteken
[IRSim] Adding IRSimilarityCandidate that contains a region of IRInstructionData.

The IRSimilarityCandidate is a container to hold a region of
IRInstructions and offer interfaces for the starting instruction, ending
instruction, parent function, length.  It also assigns a global value
number for each unique instance of a value in the region.

It also contains an interface to compare two IRSimilarity as to whether
they have the same sequence of similar instructions.

Tests for whether the instructions are similar are found in

Differential Revision:
The file was modifiedllvm/include/llvm/Analysis/IRSimilarityIdentifier.h
The file was modifiedllvm/lib/Analysis/IRSimilarityIdentifier.cpp
The file was modifiedllvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
Commit 10092291d7a770fee9eec8d8c7f60aeca9a8d7fb by noreply
[Clang] Fix a typo in implicit-int-float-conversion.c
The file was modifiedclang/test/Sema/implicit-int-float-conversion.c