FailedChanges

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

Summary

  1. [buildot] Add myself to the lldb-windows notification list. (details)
Commit cbccdbde6fbbfd4ab945a3bff18d6bc43a4b66bc by Jonas Devlieghere
[buildot] Add myself to the lldb-windows notification list.
The file was modifiedbuildbot/osuosl/master/config/status.py

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

Summary

  1. Add -Wrange-loop-analysis changes to ReleaseNotes (details)
  2. PR44761: Fix fallback to later tiebreakers if two non-template functions (details)
  3. PR44721: Don't consider overloaded operators for built-in comparisons (details)
  4. [Concepts] Add missing CXXThisScope to function template constraint substitution (details)
  5. PR44786: Don't assert when profiling <=> expressions. (details)
  6. [mlir] Mark the MLIR tools for installation in CMake (details)
  7. [AArch64][ARM] Always expand ordered vector reductions (PR44600) (details)
  8. [ARM] Expand vector reduction intrinsics on soft float (details)
  9. [ARM][VecReduce] Force expand vector_reduce_fmin (details)
  10. Update for Clang 10 release notes in order to have reference to D66404. (details)
  11. [X86] -fpatchable-function-entry=N,0: place patch label after ENDBR{32,64} (details)
  12. Don't warn about missing declarations for partial template specializations (details)
  13. [OpenMP][OMPT] fix reduction test for 32-bit x86 (details)
  14. [LLD] Add release notes for MinGW for the 10.x branch (details)
  15. [docs] Add LLVM/LLDB release notes for the 10.x branch for things I've done (details)
  16. [clang] Add release notes for the 10.x branch for things I've done (details)
  17. [libcxx] Add release notes for the 10.x branch for things I've done (details)
  18. [TSan] Ensure we can compile the runtime with older SDKs (details)
  19. Make llvm::crc32() work also for input sizes larger than 32 bits. (details)
  20. [clangd] Add workaround for GCC5 host compilers. NFC. (details)
  21. [LLDB] Fix compilation with GCC 5 (details)
  22. Fix x86 32bits MLIR build (NFC) (details)
  23. [LV] Fix predication for branches with matching true and false succs. (details)
  24. [Concepts] Fix incorrect check when instantiating abbreviated template type-constraints (details)
  25. StringRef.h: __builtin_strlen seems to exist in VS 2017 MSVC 19.16 or later (details)
  26. Revert "[ARM] Improve codegen of volatile load/store of i64" (details)
  27. [InstCombine] Fix infinite loop in min/max load/store bitcast combine (PR44835) (details)
  28. [InstCombine] Add test for -expensive-combines option; NFC (details)
  29. [InstCombine] Support disabling expensive combines in opt (details)
  30. [InstCombine] Fix infinite min/max canonicalization loop (PR44541) (details)
  31. PowerPC release notes (details)
Commit 2d9954dd8244c7a9d6a1e160fcbb22fe2b9b514f by koraq
Add -Wrange-loop-analysis changes to ReleaseNotes

This reflects the recent changes done.

Differential Revision: https://reviews.llvm.org/D73834
The file was modifiedclang/docs/ReleaseNotes.rst
Commit 300cbdc59da05756f7a0334338076124536df03d by richard
PR44761: Fix fallback to later tiebreakers if two non-template functions
are equally constrained.

(cherry picked from commit cfacf9ae20b8c97a428f118a2720bc109ba6a143)
The file was modifiedclang/lib/Sema/SemaOverload.cpp
The file was addedclang/test/CXX/over/over.match/over.match.best/p2.cpp
Commit 7a94fc09d17bc317032eb9605eba05dced8c87e5 by richard
PR44721: Don't consider overloaded operators for built-in comparisons
when building a defaulted comparison.

As a convenient way of asking whether `x @ y` is valid and building it,
we previouly always performed overload resolution and built an
overloaded expression, which would both end up picking a builtin
operator candidate when given a non-overloadable type. But that's not
quite right, because it can result in our finding a user-declared
operator overload, which we should never do when applying operators
non-overloadable types.

Handle this more correctly: skip overload resolution when building
`x @ y` if the operands are not overloadable. But still perform overload
resolution (considering only builtin candidates) when checking validity,
as we don't have any other good way to ask whether a binary operator
expression would be valid.

(cherry picked from commit 1f3f8c369a5067a132c871f33a955a7feaea8534)
The file was modifiedclang/lib/Sema/SemaDeclCXX.cpp
The file was modifiedclang/test/CXX/class/class.compare/class.compare.default/p3.cpp
Commit 8f19f984f296c8ddbb16dc1623e8a4bd6bfed111 by saar
[Concepts] Add missing CXXThisScope to function template constraint substitution

We did not have a CXXThisScope around constraint checking of functions and
function template specializations, causing a crash when checking a constraint
that had a 'this' (bug 44689).

Recommit after fixing test.

(cherry picked from commit 6c232441564f8934477e418347bf0c217abb0a00)
The file was modifiedclang/lib/Sema/SemaConcept.cpp
The file was modifiedclang/test/SemaTemplate/instantiate-requires-clause.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
Commit b833e0c5f1190e7102e570b0eb5055174aa03b32 by richard
PR44786: Don't assert when profiling <=> expressions.

(cherry picked from commit b96c6b65b93f7b3878bced2374bef747a4c3b690)
The file was modifiedclang/test/SemaCXX/cxx2a-three-way-comparison.cpp
The file was modifiedclang/lib/AST/StmtProfile.cpp
Commit 211aa5bf59eb36cd40b38b596901b6ce7cc84ba2 by hans
[mlir] Mark the MLIR tools for installation in CMake

This binplaces `mlir-translate`, `mlir-cuda-runner`, and `mlir-cpu-runner` when building the CMake install target.

Differential Revision: https://reviews.llvm.org/D73986

(cherry picked from commit b8004b7308b490b93231789cd05f86294a77d663)
The file was modifiedmlir/tools/mlir-cpu-runner/CMakeLists.txt
The file was modifiedmlir/tools/mlir-translate/CMakeLists.txt
The file was modifiedmlir/tools/mlir-cuda-runner/CMakeLists.txt
Commit 0b8a540dff86662fc9426bb4dd8797c547db5000 by hans
[AArch64][ARM] Always expand ordered vector reductions (PR44600)

fadd/fmul reductions without reassoc are lowered to
VECREDUCE_STRICT_FADD/FMUL nodes, which don't have legalization
support. Until that is in place, expand these intrinsics on
ARM and AArch64. Other targets always expand the vector reduction
intrinsics.

Additionally expand fmax/fmin reductions without nonan flag on
AArch64, as the backend asserts that the flag is present when
lowering VECREDUCE_FMIN/FMAX.

This fixes https://bugs.llvm.org/show_bug.cgi?id=44600.

Differential Revision: https://reviews.llvm.org/D73135

(cherry picked from commit 70d345e687caba4ac1f95655c6924dfa91e0083f)
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.h
The file was addedllvm/test/CodeGen/AArch64/vecreduce-fadd-legalization-strict.ll
The file was addedllvm/test/CodeGen/AArch64/vecreduce-fmax-legalization-nan.ll
The file was addedllvm/test/CodeGen/ARM/vecreduce-fmul-legalization-strict.ll
The file was addedllvm/test/CodeGen/ARM/vecreduce-fadd-legalization-strict.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
The file was addedllvm/test/CodeGen/AArch64/vecreduce-fmul-legalization-strict.ll
Commit 99c6a4ea9201f09e8107bb83675f1e7235456b6d by hans
[ARM] Expand vector reduction intrinsics on soft float

Followup to D73135. If the target doesn't have hard float (default
for ARM), then we assert when trying to soften the result of vector
reduction intrinsics. This patch marks these for expansion as well.
(A bit odd to use vectors on a target without hard float ... but
that's where you end up if you expose target-independent vector types.)

Differential Revision: https://reviews.llvm.org/D73854

(cherry picked from commit 1cc4f8d17247cd9be88addd75d060f9321b6f8b0)
The file was addedllvm/test/CodeGen/ARM/vecreduce-fadd-legalization-soft-float.ll
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.h
Commit 8195a96595baca8c0141de2a121dcf3f8c0ea616 by hans
[ARM][VecReduce] Force expand vector_reduce_fmin

Under MVE, we do not have any lowering for fminimum, which a
vector_reduce_fmin without NoNan will be expanded into. As with the
other recent patches, force this to expand in the pre-isel pass. Note
that Neon lowering would be OK because the scalar fminimum uses the
vector VMIN instruction, but is probably better to just rely on the
scalar operations, which is what is done here.

Also fixes what appears to be the reversal of INF vs -INF in the
vector_reduce_fmin widening code.

(cherry picked from commit 362d00e0510ee75750499e2993a782428e377215)
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.h
The file was modifiedllvm/test/CodeGen/AArch64/vecreduce-fmax-legalization.ll
The file was addedllvm/test/CodeGen/Thumb2/mve-vecreduce-fminmax.ll
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
Commit b4efc29f1ccbc03453590bf7aae337853c91c91f by abpostelnicu
Update for Clang 10 release notes in order to have reference to D66404.

Summary: Since `D66404` adds some significat modifications to the `CFG` we should include it in the release notes.

Reviewers: hans

Subscribers: cfe-commits

Tags: #clang

Differential Revision: https://reviews.llvm.org/D74031
The file was modifiedclang/docs/ReleaseNotes.rst
Commit 4c96b369a074e93a0be536dd795d3f245ef6f18b by hans
[X86] -fpatchable-function-entry=N,0: place patch label after ENDBR{32,64}

Similar to D73680 (AArch64 BTI).

A local linkage function whose address is not taken does not need ENDBR32/ENDBR64. Placing the patch label after ENDBR32/ENDBR64 has the advantage that code does not need to differentiate whether the function has an initial ENDBR.

Also, add 32-bit tests and test that .cfi_startproc is at the function
entry. The line information has a general implementation and is tested
by AArch64/patchable-function-entry-empty.mir

Reviewed By: nickdesaulniers

Differential Revision: https://reviews.llvm.org/D73760

(cherry picked from commit 8ff86fcf4c038c7156ed4f01e7ed35cae49489e2)
The file was modifiedllvm/lib/Target/X86/X86MCInstLower.cpp
The file was modifiedllvm/test/CodeGen/X86/patchable-function-entry-ibt.ll
The file was modifiedllvm/test/CodeGen/AArch64/patchable-function-entry-bti.ll
Commit fd271fd64a284e9182c8afd8eb8084d8d43df587 by hans
Don't warn about missing declarations for partial template specializations

Summary: Just like templates, they are excepted from the ODR rule.

Reviewed By: aaron.ballman, rsmith

Differential Revision: https://reviews.llvm.org/D68923

(cherry picked from commit 27684ae66d5545f211c0ac4393d0ba2bf3b5b47c)
The file was modifiedclang/test/SemaCXX/warn-missing-variable-declarations.cpp
The file was modifiedclang/lib/Sema/SemaDecl.cpp
Commit 5288d7af5bc1b6775e122df5346f7cde9f65881d by hans
[OpenMP][OMPT] fix reduction test for 32-bit x86

Fixes [[ https://bugs.llvm.org/show_bug.cgi?id=44733 | TEST 'libomp :: ompt/synchronization/reduction/tree_reduce.c' FAILED on 32-bit x86 ]]

For 32-bit we need at least 3 variables to avoid atomic reduction to be
choosen by runtime function `__kmp_determine_reduction_method`.
This patch adds reduction variables to the testcase.

Reviewers: mgorny, Hahnfeld

Differential Revision: https://reviews.llvm.org/D73850

(cherry picked from commit 90e4ebdce55fd3c1f8877f19784a5339b9890f98)
The file was modifiedopenmp/runtime/test/ompt/synchronization/reduction/tree_reduce.c
Commit 424babb89ad2d7236237404581095680db7a132a by martin
[LLD] Add release notes for MinGW for the 10.x branch

Differential Revision: https://reviews.llvm.org/D74026
The file was modifiedlld/docs/ReleaseNotes.rst
Commit 0f99f678febf9a9c7787d9ab41f8a8bf2e19ad5d by martin
[docs] Add LLVM/LLDB release notes for the 10.x branch for things I've done

Differential Revision: https://reviews.llvm.org/D74027
The file was modifiedllvm/docs/ReleaseNotes.rst
Commit 7e518f3159bd2c84e5e74c9338279bc930458618 by martin
[clang] Add release notes for the 10.x branch for things I've done

Differential Revision: https://reviews.llvm.org/D74028
The file was modifiedclang/docs/ReleaseNotes.rst
Commit d5361190993a5df779eee245a18ceb76a7947833 by martin
[libcxx] Add release notes for the 10.x branch for things I've done

Differential Revision: https://reviews.llvm.org/D74029
The file was modifiedlibcxx/docs/ReleaseNotes.rst
Commit c32d809e9cae8da7d3016b6cb30e2a2a9c9e2762 by julian.lettner
[TSan] Ensure we can compile the runtime with older SDKs

One of my changes [1] included in this release silently bumped the
minimal macOS SDK required for building the TSan runtime to SDK 10.12.
Let's ensure release 10 does not unexpectedly break builders with old
SDKs and add proper minimal SDK checking in CMake for subsequent
releases.

This fix `#ifdef`s out interceptors for newer APIs.  Note that the
resulting TSan runtime is less complete: when these newer APIs are used
TSan will report false positives.

Fixes llvm 10 release blocker: #44682
https://bugs.llvm.org/show_bug.cgi?id=44682

[1] 894abb46f891cba2e0ef581650f27f512a7824b4

Reviewed By: dmajor

Differential Revision: https://reviews.llvm.org/D74059
The file was modifiedcompiler-rt/lib/tsan/rtl/tsan_interceptors_mac.cpp
Commit d0104a596199a41963dbba70338d9ff3c36b185a by hans
Make llvm::crc32() work also for input sizes larger than 32 bits.

The problem was noticed by the Chrome OS toolchain folks
(crbug.com/1048445) because llvm-objcopy --add-gnu-debuglink would
insert the wrong checksum when processing a binary larger than 4 GB.
That use case regressed in 1e1e3ba2526 when we started using
llvm::crc32() in more places.

Differential revision: https://reviews.llvm.org/D74039

(cherry picked from commit 6c4a8bc0a9f6a466d90d542bef66d69550c1b041)
The file was modifiedllvm/lib/Support/CRC.cpp
The file was modifiedllvm/unittests/Support/CRCTest.cpp
Commit cbec01fe05895abe96f2cb80e24367dec60209ee by hans
[clangd] Add workaround for GCC5 host compilers. NFC.

(cherry picked from commit 40514a7d7a3b745ba43c2d014e54a0d78d65d957)
The file was modifiedclang-tools-extra/clangd/Hover.cpp
Commit 22633f85bb7d317ff97c86b6ae7817b678777d93 by hans
[LLDB] Fix compilation with GCC 5

Differential Revision: https://reviews.llvm.org/D74084

(cherry picked from commit 5bbaf543585c54868f8a2bdd9e74edcf395b24b3)
The file was modifiedlldb/source/DataFormatters/FormatCache.cpp
The file was modifiedlldb/source/Interpreter/CommandAlias.cpp
The file was modifiedlldb/source/DataFormatters/LanguageCategory.cpp
The file was modifiedlldb/source/Interpreter/Options.cpp
Commit 02420968fcce71ed669b4a87e62c27d65fd8a1c4 by hans
Fix x86 32bits MLIR build (NFC)

This is fixing a build error:

error: non-constant-expression cannot be narrowed from type 'unsigned int' to 'Region::iterator::difference_type' (aka 'int') in initializer list

Fix pr44767

(cherry picked from commit 31fd112eb4a90600e0f340f19053e5715e92ec4c)
The file was modifiedmlir/lib/Transforms/DialectConversion.cpp
Commit c0c5ab30179897944cf44efac1c743e5344924db by hans
[LV] Fix predication for branches with matching true and false succs.

Currently due to the edge caching, we create wrong predicates for
branches with matching true and false successors. We will cache the
condition for the edge from the true successor, and then lookup the same
edge (src and dst are the same) for the edge to the false successor.

If both successors match, the condition should always be true. At the
moment, we cannot really create constant VPValues, but we can just
create a true condition as X | !X. Later passes will clean that up.

Fixes PR44488.

Reviewers: rengolin, hsaito, fhahn, Ayal, dorit, gilr

Reviewed By: Ayal

Differential Revision: https://reviews.llvm.org/D73079

(cherry picked from commit f14f2a856802e086662d919e2ead641718b27555)
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was addedllvm/test/Transforms/LoopVectorize/pr44488-predication.ll
Commit 96ed02ddeebfd18265ef687fce80e7e148ec261c by saar
[Concepts] Fix incorrect check when instantiating abbreviated template type-constraints

We would incorrectly check whether the type-constraint had already been initialized, causing us
to ignore the invented template type constraints entirely.

Also, TemplateParameterList would store incorrect information about invented type parameters
when it observed them before their type-constraint was initialized, so we recreate it after
initializing the function type of an abbreviated template.

(cherry picked from commit 38fd69995fc5a6f16e0aa132a46e5ccdbc2eebb3)
The file was modifiedclang/lib/Sema/SemaTemplateInstantiate.cpp
The file was modifiedclang/lib/Sema/SemaTemplateInstantiateDecl.cpp
The file was modifiedclang/test/SemaTemplate/instantiate-abbreviated-template.cpp
Commit ed368ba5a963cb988c7466cb634ec1b56807138f by hans
StringRef.h: __builtin_strlen seems to exist in VS 2017 MSVC 19.16 or later

This is a follow-up to ff837aa63cd, as discussed on the llvm-commits
thread for that one.

(cherry picked from commit 1b3d1661bbeb2c90f8f3ef6e2b77a70bc148731e)
The file was modifiedllvm/include/llvm/ADT/StringRef.h
Commit 7996b49053f0508717f4a081d197ddc3073f4b5f by victor.campos
Revert "[ARM] Improve codegen of volatile load/store of i64"

This reverts commit 60e0120c913dd1d4bfe33769e1f000a076249a42.
The file was modifiedllvm/lib/Target/ARM/ARMISelDAGToDAG.cpp
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.h
The file was modifiedllvm/lib/Target/ARM/ARMISelLowering.cpp
The file was modifiedllvm/lib/Target/ARM/ARMInstrThumb2.td
The file was modifiedllvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp
The file was modifiedllvm/lib/Target/ARM/ARMInstrInfo.td
The file was removedllvm/test/CodeGen/ARM/i64_volatile_load_store.ll
Commit 9db3e5d5156bc2a3ba8ec0d70ab7069a82472fbb by hans
[InstCombine] Fix infinite loop in min/max load/store bitcast combine (PR44835)

Fixes https://bugs.llvm.org/show_bug.cgi?id=44835. Skip the transform
if it wouldn't actually do anything (apart from removing and reinserting
the same instructions).

Note that the test case doesn't loop on current master anymore, only
on the LLVM 10 release branch. The issue is already mitigated on master
due to worklist order fixes, but we should fix the root cause there as well.

As a side note, we should probably assert in combineLoadToNewType()
that it does not combine to the same type. Not doing this here, because
this assertion would also be triggered in another place right now.

Differential Revision: https://reviews.llvm.org/D74278

(cherry picked from commit 23db9724d0e5490fa5a2a726acf015f84e2c87cf)
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
The file was addedllvm/test/Transforms/InstCombine/pr44835.ll
Commit d65ef4321e6f244e68b191c84b8c76fb06662573 by hans
[InstCombine] Add test for -expensive-combines option; NFC

This shows that -expensive-combines=0 is ignored.

(cherry picked from commit 2d0d4235a282e0f900d31ac1054aafc0c526245c)
The file was addedllvm/test/Transforms/InstCombine/expensive-combines.ll
Commit d9b836dc6f78c5fb1f1b425943e1335b235b32d8 by hans
[InstCombine] Support disabling expensive combines in opt

Currently, there is no way to disable ExpensiveCombines when doing
a standalone opt -instcombine run, as that's the default, and the
opt option can currently only be used to force enable, not to force
disable. The only way to disable expensive combines is via -O1 or -O2,
but that of course also runs the rest of the kitchen sink...

This patch allows using opt -instcombine -expensive-combines=0 to
run InstCombine without ExpensiveCombines.

Differential Revision: https://reviews.llvm.org/D72861

(cherry picked from commit 2ca092f3209579fde7a38ade511c1bbcef213c36)
The file was modifiedllvm/lib/Transforms/InstCombine/InstructionCombining.cpp
The file was modifiedllvm/test/Transforms/InstCombine/expensive-combines.ll
Commit fc12083cbc5caa0e60a8e12bab9c34f71a4b31b1 by hans
[InstCombine] Fix infinite min/max canonicalization loop (PR44541)

While D72944 also fixes https://bugs.llvm.org/show_bug.cgi?id=44541,
it does so in a more roundabout manner and there might be other
loopholes to trigger the same issue. This is a more direct fix,
that prevents the transform if the min/max is based on a
non-canonical sub X, 0 instruction.

Differential Revision: https://reviews.llvm.org/D73849

(cherry picked from commit a148b9e9909db6a592609eb35b4de38c9e67cb8b)
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
The file was addedllvm/test/Transforms/InstCombine/pr44541.ll
Commit 4ea0b397582a623cdaaca97ed304002531f9575d by hans
PowerPC release notes

By Anil Mahmud.
The file was modifiedllvm/docs/ReleaseNotes.rst