FailedChanges

Summary

  1. Fixed assertion
  2. [SelectionDAG] Simplify some calls to getSetCCResultType. NFC DAGTypeLegalizer and SelectionDAGLegalize has helper functions wrapping the call to TLI.getSetCCResultType(...). Use those helpers in more places.
  3. [LegalizeTypes] Fix saturation bug for smul.fix.sat Summary: Make sure we use SETGE instead of SETGT when checking if the sign bit is zero at SMULFIXSAT expansion. The faulty expansion occured when doing "expand" of SMULFIXSAT and the scale was exactly matching the size of the smaller type. For example doing i64 Z = SMULFIXSAT X, Y, 32 and expanding X/Y/Z into using two i32 values. The problem was that we sometimes did not saturate to min when overflowing. Here is an example using Q3.4 numbers: Consider that we are multiplying X and Y. X = 0x80 (-8.0 as Q3.4) Y = 0x20 (2.0 as Q3.4) To avoid loss of precision we do a widening multiplication, getting a 16 bit result Z = 0xF000 (-16.0 as Q7.8) To detect negative overflow we should check if the five most significant bits in Z are less than -1. Assume that we name the 4 most significant bits as HH and the next 4 bits as HL. Then we can do the check by examining if (HH < -1) or (HH == -1 && "sign bit in HL is zero"). The fault was that we have been doing the check as (HH < -1) or (HH == -1 && HL > 0) instead of (HH < -1) or (HH == -1 && HL >= 0). In our example HH is -1 and HL is 0, so the old code did not trigger saturation and simply truncated the result to 0x00 (0.0). With the bugfix we instead detect that we should saturate to min, and the result will be set to 0x80 (-8.0). Reviewers: leonardchan, bevinh Reviewed By: leonardchan Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D64331
  4. Retire VS2015 Support As proposed here: https://lists.llvm.org/pipermail/llvm-dev/2019-June/133147.html This patch raises the minimum supported version to build LLVM/Clang to Visual Studio 2017. Differential Revision: https://reviews.llvm.org/D64326
  5. dummy variable extraction on a function scope Summary: - Added extraction to a dummy variable - using auto for the dummy variable type for now - Works on a function scope - Adding braces to create a compound statement not supported yet - added unit tests Reviewers: sammccall, kadircet Subscribers: mgorny, jkorous, arphaman, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D63773
  6. Retire VS2015 Support As proposed here: https://lists.llvm.org/pipermail/llvm-dev/2019-June/133147.html This patch raises the minimum supported version to build LLVM/Clang to Visual Studio 2017. Differential Revision: https://reviews.llvm.org/D64326
  7. [docs][llvm-dwarfdump] Make some option descriptions clearer and more precise Some of the wording in the doc (taken largely from the help text), was a little imprecise in some cases, so this patch makes it a little more precise. Reviewed by: JDevlieghere, probinson Differential Revision: https://reviews.llvm.org/D64332
  8. [llvm-profdata] Don't make the output overwrite the input file. Some file systems may not allow this behavior, the test fails on our internal system ("Permission denied").
  9. Fixing @llvm.memcpy not honoring volatile. This is explicitly not addressing target-specific code, or calls to memcpy. Summary: https://bugs.llvm.org/show_bug.cgi?id=42254 Reviewers: courbet Subscribers: hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D63215
  10. Revert r364515 and r364524 Jordan reports on llvm-commits a performance regression with r364515, backing the patch out while it's investigated.
  11. [NFC][PowerPC] Added a test to show current codegen of MachinePRE
Revision 365460 by sureyeaah:
Fixed assertion
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/refactor/tweaks/ExtractVariable.cpp (diff)clang-tools-extra.src/clangd/refactor/tweaks/ExtractVariable.cpp
Revision 365456 by bjope:
[SelectionDAG] Simplify some calls to getSetCCResultType. NFC

DAGTypeLegalizer and SelectionDAGLegalize has helper
functions wrapping the call to TLI.getSetCCResultType(...).
Use those helpers in more places.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
Revision 365455 by bjope:
[LegalizeTypes] Fix saturation bug for smul.fix.sat

Summary:
Make sure we use SETGE instead of SETGT when checking
if the sign bit is zero at SMULFIXSAT expansion.

The faulty expansion occured when doing "expand" of
SMULFIXSAT and the scale was exactly matching the
size of the smaller type. For example doing
  i64 Z = SMULFIXSAT X, Y, 32
and expanding X/Y/Z into using two i32 values.

The problem was that we sometimes did not saturate
to min when overflowing.

Here is an example using Q3.4 numbers:

Consider that we are multiplying X and Y.
  X = 0x80 (-8.0 as Q3.4)
  Y = 0x20 (2.0 as Q3.4)
To avoid loss of precision we do a widening
multiplication, getting a 16 bit result
  Z = 0xF000 (-16.0 as Q7.8)

To detect negative overflow we should check if
the five most significant bits in Z are less than -1.
Assume that we name the 4 most significant bits
as HH and the next 4 bits as HL. Then we can do the
check by examining if
(HH < -1) or (HH == -1 && "sign bit in HL is zero").

The fault was that we have been doing the check as
(HH < -1) or (HH == -1 && HL > 0)
instead of
(HH < -1) or (HH == -1 && HL >= 0).

In our example HH is -1 and HL is 0, so the old
code did not trigger saturation and simply truncated
the result to 0x00 (0.0). With the bugfix we instead
detect that we should saturate to min, and the result
will be set to 0x80 (-8.0).

Reviewers: leonardchan, bevinh

Reviewed By: leonardchan

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D64331
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
The file was modified/llvm/trunk/test/CodeGen/X86/smul_fix_sat.ll (diff)llvm.src/test/CodeGen/X86/smul_fix_sat.ll
Revision 365454 by rksimon:
Retire VS2015 Support

As proposed here: https://lists.llvm.org/pipermail/llvm-dev/2019-June/133147.html

This patch raises the minimum supported version to build LLVM/Clang to Visual Studio 2017.

Differential Revision: https://reviews.llvm.org/D64326
Change TypePath in RepositoryPath in Workspace
The file was modified/cfe/trunk/www/get_started.html (diff)clang.src/www/get_started.html
Revision 365453 by sureyeaah:
dummy variable extraction on a function scope

Summary:
- Added extraction to a dummy variable
- using auto for the dummy variable type for now
- Works on a function scope
- Adding braces to create a compound statement not supported yet
- added unit tests

Reviewers: sammccall, kadircet

Subscribers: mgorny, jkorous, arphaman, cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D63773
Change TypePath in RepositoryPath in Workspace
The file was modified/clang-tools-extra/trunk/clangd/refactor/tweaks/CMakeLists.txt (diff)clang-tools-extra.src/clangd/refactor/tweaks/CMakeLists.txt
The file was added/clang-tools-extra/trunk/clangd/refactor/tweaks/ExtractVariable.cppclang-tools-extra.src/clangd/refactor/tweaks/ExtractVariable.cpp
The file was modified/clang-tools-extra/trunk/clangd/unittests/TweakTests.cpp (diff)clang-tools-extra.src/clangd/unittests/TweakTests.cpp
Revision 365452 by rksimon:
Retire VS2015 Support

As proposed here: https://lists.llvm.org/pipermail/llvm-dev/2019-June/133147.html

This patch raises the minimum supported version to build LLVM/Clang to Visual Studio 2017.

Differential Revision: https://reviews.llvm.org/D64326
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/cmake/modules/CheckCompilerVersion.cmake (diff)llvm.src/cmake/modules/CheckCompilerVersion.cmake
The file was modified/llvm/trunk/docs/GettingStarted.rst (diff)llvm.src/docs/GettingStarted.rst
The file was modified/llvm/trunk/docs/GettingStartedVS.rst (diff)llvm.src/docs/GettingStartedVS.rst
The file was modified/llvm/trunk/docs/ReleaseNotes.rst (diff)llvm.src/docs/ReleaseNotes.rst
Revision 365451 by jhenderson:
[docs][llvm-dwarfdump] Make some option descriptions clearer and more precise

Some of the wording in the doc (taken largely from the help text), was a
little imprecise in some cases, so this patch makes it a little more
precise.

Reviewed by: JDevlieghere, probinson

Differential Revision: https://reviews.llvm.org/D64332
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/docs/CommandGuide/llvm-dwarfdump.rst (diff)llvm.src/docs/CommandGuide/llvm-dwarfdump.rst
Revision 365450 by hokein:
[llvm-profdata] Don't make the output overwrite the input file.

Some file systems may not allow this behavior, the test fails on our internal
system ("Permission denied").
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/test/tools/llvm-profdata/same-filename.test (diff)llvm.src/test/tools/llvm-profdata/same-filename.test
Revision 365449 by gchatelet:
Fixing @llvm.memcpy not honoring volatile.
This is explicitly not addressing target-specific code, or calls to memcpy.

Summary: https://bugs.llvm.org/show_bug.cgi?id=42254

Reviewers: courbet

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D63215
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp (diff)llvm.src/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was added/llvm/trunk/test/CodeGen/X86/volatile-memstores-nooverlapping-load-stores.llllvm.src/test/CodeGen/X86/volatile-memstores-nooverlapping-load-stores.ll
Revision 365448 by jmorse:
Revert r364515 and r364524

Jordan reports on llvm-commits a performance regression with r364515,
backing the patch out while it's investigated.
Change TypePath in RepositoryPath in Workspace
The file was modified/llvm/trunk/lib/CodeGen/RegisterCoalescer.cpp (diff)llvm.src/lib/CodeGen/RegisterCoalescer.cpp
The file was removed/llvm/trunk/test/DebugInfo/MIR/X86/regcoalescing-clears-dead-dbgvals.mirllvm.src/test/DebugInfo/MIR/X86/regcoalescing-clears-dead-dbgvals.mir
Revision 365447 by lkail:
[NFC][PowerPC] Added a test to show current codegen of MachinePRE
Change TypePath in RepositoryPath in Workspace
The file was added/llvm/trunk/test/CodeGen/PowerPC/machine-pre.llllvm.src/test/CodeGen/PowerPC/machine-pre.ll