SuccessChanges

Summary

  1. Added x86_64-fedora-clang builder and fedora-llvm-x86_64 slave (details)
  2. Name builddir of x86_64-fedora-clang builder like the slave/worker fedora-llvm-x86_64 (details)
  3. clang-x86-ninja-win10 fixed slash replacement (details)
  4. clang-x86-ninja-win10 fixed MSVC version output (details)
Commit d5933da06ce30de8cfec8ea57f8ecce0d094cb9c by kkleine
Added x86_64-fedora-clang builder and fedora-llvm-x86_64 slave

I'm evaluating how to run a buildbot slave/worker in a Red Hat internal OpenShift cluster.

Differential Revision: https://reviews.llvm.org/D88007
The file was modifiedbuildbot/osuosl/master/config/slaves.py (diff)
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)
Commit 5bf9586c573c6057a05f486c014e0268e173af9c by kkleine
Name builddir of x86_64-fedora-clang builder like the slave/worker fedora-llvm-x86_64
The file was modifiedbuildbot/osuosl/master/config/builders.py (diff)
Commit 3d28ab15412b056861c65d2e899507138e9e8985 by kuhnel
clang-x86-ninja-win10 fixed slash replacement

now only replacing slashes in lines that define paths
The file was modifiedbuildbot/google/docker/buildbot-windows10-vs2019/VERSION (diff)
The file was modifiedbuildbot/google/docker/buildbot-windows10-vs2019/Dockerfile (diff)
The file was modifiedbuildbot/google/docker/buildbot-windows10-vs2019/run.ps1 (diff)
The file was addedbuildbot/google/docker/buildbot-windows10-vs2019/fix_buildbot_tac_paths.py
The file was modifiedbuildbot/google/terraform/main.tf (diff)
Commit c3a4cac8157da0a80a35460fcc14791c89f14c17 by kuhnel
clang-x86-ninja-win10 fixed MSVC version output
The file was modifiedbuildbot/google/docker/buildbot-windows10-vs2019/run.ps1 (diff)

Summary

  1. Revert "The wrong placement of add pass with optimizations led to -funique-internal-linkage-names being disabled." (details)
  2. Two patches to fix the broken build. (details)
  3. [lldb][test] Remove accidental import pdb in 783dc7dc7ed7487d0782c2feb8854df949b98e69 (details)
  4. [compiler-rt][AIX] Add CMake support for 32-bit Power builds (details)
  5. [ThinLTO] Option to bypass function importing. (details)
  6. [AArch64] Avoid pairing loads with same result reg (details)
  7. [LoopInfo] empty() -> isInnermost(), add isOutermost() (details)
  8. Revert "[CodeGen] emit CG profile for COFF object file" (details)
  9. Small fixes for "[LoopInfo] empty() -> isInnermost(), add isOutermost()" (details)
  10. Change LoopInfo::empty to isInnermost after D82895 (details)
  11. [libc++] Implement LWG1203 (details)
  12. Fix build due to renaming in LoopInfo. (details)
  13. [AArch64] Teach analyzeBranch to remove branch equivelent to fallthrough (details)
  14. [libc++] NFC: Collocate C++20 removed members of std::allocator (details)
  15. [libc++] NFC: Reindent the feature test macro generation script (details)
  16. [SLP]Fix coding style, NFC. (details)
  17. [InstCombine] Fix errno bug in pow expansion to sqrt (details)
  18. [InstCombine][NFC][tests] Add ninf base value case to pow-sqrt.ll (details)
  19. [trace] avoid using <regex> (details)
  20. [ORC][examples] Add missing library dependencies. (details)
  21. [NFC][docs] Fix link. (details)
  22. [IRSim] Adding IRSimilarityCandidate that contains a region of IRInstructionData. (details)
  23. [Clang] Fix a typo in implicit-int-float-conversion.c (details)
  24. [lld-macho] handle option -headerpad_max_install_names (details)
  25. [EHStreamer] Ensure CallSiteEntry::{BeginLabel,EndLabel} are non-null. NFC (details)
  26. Revert "Canonicalize declaration pointers when forming APValues." (details)
  27. [DWARFYAML][test] Simplify __debug_pubnames/types tests. NFC. (details)
  28. [NewPM] Pin tests with -debug-pass to legacy PM (details)
  29. Revert "[IRSim] Adding IRSimilarityCandidate that contains a region of IRInstructionData." (details)
  30. [test][NewPM] Fix update-scev.ll under NPM (details)
  31. [CostModel][X86] add CostModel for SK_Select(v8f64, v8i64, v16f32, v16i32, v32i16, v64i8) (details)
  32. [test][NewPM] Clean up ScalarEvolution tests to work under NPM (details)
  33. [lld-macho] In the context of relocs, s/target/referent/ for sections & symbols (details)
  34. [ThinLTO] Avoid temporaries when loading global decl attachment metadata (details)
  35. [lld-maco] fix build breakage (details)
  36. [Sanitizers] Fix test case that doesn't clean up after itself (details)
  37. [sanitizers] Remove the message queue with IPC_RMID after D82897 (details)
  38. [RISCV][ASAN] updated platform macros to simplify detection of RISCV64 platform (details)
  39. [Analyzer][WebKit] Use tri-state types for relevant predicates (details)
  40. [RISCV][ASAN] implementation of internal syscalls wrappers for riscv64 (details)
  41. [RISCV][ASAN] implementation of clone interceptor for riscv64 (details)
  42. [RISCV][ASAN] implementation for vfork interceptor for riscv64 (details)
  43. [RISCV][ASAN] implementation of ThreadSelf  for riscv64 (details)
  44. Add a dump() method on the pass manager for debugging purpose (NFC) (details)
  45. [MC] [Win64EH] Try to generate packed unwind info where possible (details)
  46. [InstCombine] Add parentheses in assert to silence GCC warning. NFC. (details)
  47. [CVP] Remove a redundant trailing semicolon, fixing GCC warnings. NFC. (details)
  48. [PowerPC] Implementation of 128-bit Binary Vector Mod and Sign Extend builtins (details)
  49. Revert "[RISCV][ASAN] implementation of ThreadSelf  for riscv64" (details)
  50. [NFC] Reformat preprocessor directives (details)
  51. [RISCV][ASAN] implementation of ThreadSelf  for riscv64 (details)
  52. [mlir][Linalg] Add pattern to fold linalg.tensor_reshape that add unit extent dims. (details)
  53. [AMDGPU] Fix merging m0 inits (details)
  54. [SVE] Fix InstCombinerImpl::PromoteCastOfAllocation for scalable vectors (details)
  55. Revert "[libc++] Implement LWG1203" (details)
Commit b89059a31347dd09b55a96b99b3dbe38d7749908 by tmsriram
Revert "The wrong placement of add pass with optimizations led to -funique-internal-linkage-names being disabled."

This reverts commit 6950db36d33d85d18e3241ab6c87494c05ebe0fb.
The file was modifiedclang/test/CodeGen/unique-internal-linkage-names.cpp
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
Commit 21f5f509c8a066a9647a3f5b86f6931db40b7fc7 by paul
Two patches to fix the broken build.
One to fix a C++ compiler warning.
One to allow Sphinx to find a new document.
The file was modifiedllvm/lib/TableGen/TableGenBackendSkeleton.cpp
The file was modifiedllvm/docs/TableGen/index.rst
Commit f21212215031e5871c389999daf3b06b1a6250fd by i
[lldb][test] Remove accidental import pdb in 783dc7dc7ed7487d0782c2feb8854df949b98e69
The file was modifiedlldb/test/API/functionalities/postmortem/minidump-new/TestMiniDumpUUID.py
Commit c45596147938191b0ffde91ee8d506e315bf4c8f by daltenty
[compiler-rt][AIX] Add CMake support for 32-bit Power builds

This patch enables support for building compiler-rt builtins for 32-bit
Power arch on AIX. For now, we leave out the specialized ppc builtin
implementations for 128-bit long double and friends since those will
need some special handling for AIX.

Reviewed By: hubert.reinterpretcast

Differential Revision: https://reviews.llvm.org/D87383
The file was modifiedcompiler-rt/cmake/base-config-ix.cmake
The file was modifiedcompiler-rt/lib/builtins/CMakeLists.txt
The file was modifiedcompiler-rt/cmake/builtin-config-ix.cmake
The file was modifiedcompiler-rt/cmake/Modules/CompilerRTUtils.cmake
Commit cf112382ddd0d717edf0b8a3e5b061de925258e9 by mtrofin
[ThinLTO] Option to bypass function importing.

This completes the circle, complementing -lto-embed-bitcode
(specifically, post-merge-pre-opt). Using -thinlto-assume-merged skips
function importing. The index file is still needed for the other data it
contains.

Differential Revision: https://reviews.llvm.org/D87949
The file was modifiedclang/include/clang/CodeGen/BackendUtil.h
The file was modifiedclang/test/CodeGen/thinlto_embed_bitcode.ll
The file was modifiedllvm/lib/LTO/LTOBackend.cpp
The file was modifiedllvm/include/llvm/LTO/LTOBackend.h
The file was modifiedclang/lib/CodeGen/BackendUtil.cpp
The file was modifiedclang/lib/CodeGen/CodeGenAction.cpp
Commit 4edb3d3646c46f15ca93bf19ed96a9169143ed6d by dancgr
[AArch64] Avoid pairing loads with same result reg

When pairing ldr instructions to an ldp instruction, we cannot pair two ldr
destination registers where one is a sub or super register of the other.

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D86906
The file was modifiedllvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
The file was addedllvm/test/CodeGen/AArch64/aarch64-ldst-subsuperReg-no-ldp.mir
Commit 89c1e35f3c5060c23f9eed409f89c2c9908b87ed by sdi1600105
[LoopInfo] empty() -> isInnermost(), add isOutermost()

Differential Revision: https://reviews.llvm.org/D82895
The file was modifiedllvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
The file was modifiedllvm/lib/Analysis/LoopAccessAnalysis.cpp
The file was modifiedllvm/include/llvm/Analysis/LoopInfoImpl.h
The file was modifiedllvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorize.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopInterchange.cpp
The file was modifiedllvm/lib/Analysis/LoopCacheAnalysis.cpp
The file was modifiedllvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LICM.cpp
The file was modifiedllvm/include/llvm/Analysis/LoopInfo.h
The file was modifiedllvm/lib/Transforms/Scalar/LoopDistribute.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopFuse.cpp
The file was modifiedllvm/lib/Analysis/LoopNestAnalysis.cpp
The file was modifiedllvm/lib/Analysis/LoopInfo.cpp
The file was modifiedllvm/lib/CodeGen/HardwareLoops.cpp
The file was modifiedllvm/lib/Transforms/Utils/LoopPeel.cpp
The file was modifiedllvm/lib/Analysis/LoopPass.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
The file was modifiedllvm/lib/Transforms/Utils/LoopVersioning.cpp
The file was modifiedllvm/lib/Transforms/Scalar/LoopDataPrefetch.cpp
The file was modifiedllvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
Commit 90242caca2074dab5a9b76e5bc36d9fafd2179a7 by rnk
Revert "[CodeGen] emit CG profile for COFF object file"

This reverts commit 91aed9bf975f1e4346cc8f4bdefc98436386ced2, it is
causing link errors.
The file was modifiedllvm/include/llvm/Target/TargetLoweringObjectFile.h
The file was removedllvm/test/MC/COFF/cgprofile.ll
The file was modifiedllvm/lib/Target/TargetLoweringObjectFile.cpp
The file was modifiedllvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
Commit a7873e5abc65125087f2ce7ab3a720a113d8ffa5 by sdi1600105
Small fixes for "[LoopInfo] empty() -> isInnermost(), add isOutermost()"
The file was modifiedllvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCLoopInstrFormPrep.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64FalkorHWPFFix.cpp
Commit 49f2744931762323dfa5ef96e1baa12bb79d5b9a by i
Change LoopInfo::empty to isInnermost after D82895
The file was modifiedllvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
Commit fdc41e11f9687a50c97e2a59663bf2d541ff5489 by Louis Dionne
[libc++] Implement LWG1203

Libc++ had an issue where nonsensical code like

  decltype(std::stringstream{} << std::vector<int>{});

would compile, as long as you kept the expression inside decltype in
an unevaluated operand. This turned out to be that we didn't implement
LWG1203, which clarifies what we should do in that case.

rdar://58769296
The file was addedlibcxx/test/std/input.output/iostream.format/output.streams/ostream.rvalue/not_ostreamable.verify.cpp
The file was removedlibcxx/test/std/input.output/iostream.format/output.streams/ostream.rvalue/CharT_pointer.pass.cpp
The file was modifiedlibcxx/include/istream
The file was modifiedlibcxx/www/cxx2a_status.html
The file was addedlibcxx/test/std/input.output/iostream.format/output.streams/ostream.rvalue/rvalue.pass.cpp
The file was modifiedlibcxx/include/ostream
The file was modifiedlibcxx/test/std/input.output/iostream.format/input.streams/istream.rvalue/rvalue.pass.cpp
The file was addedlibcxx/test/std/input.output/iostream.format/input.streams/istream.rvalue/not_istreamable.verify.cpp
Commit d4e3e1e548793c6686e19f8ba50bf62f3fde7545 by michael.hliao
Fix build due to renaming in LoopInfo.
The file was modifiedllvm/unittests/Transforms/Scalar/LoopPassManagerTest.cpp
Commit e1a3271ebb8756150fb78824b65fe0a752f6ec3d by listmail
[AArch64] Teach analyzeBranch to remove branch equivelent to fallthrough

The motivation here is that MachineBlockPlacement relies on analyzeBranch to remove branches to fallthrough blocks when the branch is not fully analyzeable. With the introduction of the FAULTING_OP psuedo for implicit null checking (see D87861), this case becomes important. Note that it's hard to otherwise exercise this path as BranchFolding handle's any fully analyzeable branch sequence without using this interface.

p.s. For anyone who saw my comment in the original review, what I thought was an issue in BranchFolding originally turned out to simply be a bug in my patch. (Now fixed.)

Differential Revision: https://reviews.llvm.org/D88035
The file was modifiedllvm/test/CodeGen/AArch64/implicit-null-check.ll
The file was modifiedllvm/lib/Target/AArch64/AArch64InstrInfo.cpp
Commit 2404ed02025c210c707a856f69604ef20083dcbb by Louis Dionne
[libc++] NFC: Collocate C++20 removed members of std::allocator
The file was modifiedlibcxx/include/memory
Commit 7656dd33d9326df0b86f08676474dbf8055866b8 by Louis Dionne
[libc++] NFC: Reindent the feature test macro generation script

Each feature-test macro is now a clear block indentation-wise.
The file was modifiedlibcxx/utils/generate_feature_test_macro_components.py
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
https://lists.llvm.org/pipermail/llvm-dev/2020-September/145051.html.

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: https://reviews.llvm.org/D87877
The file was modifiedllvm/test/Transforms/InstCombine/pow-sqrt.ll
The file was modifiedllvm/test/Transforms/InstCombine/pow-1.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
https://reviews.llvm.org/D85705.
The file was modifiedlldb/source/Target/TraceSettingsParser.cpp
The file was modifiedlldb/source/Plugins/Trace/intel-pt/TraceIntelPTSettingsParser.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: https://reviews.llvm.org/D88116
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
unittests/Analysis/IRSimilarityIdentifierTest.cpp.

Differential Revision: https://reviews.llvm.org/D86970
The file was modifiedllvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
The file was modifiedllvm/include/llvm/Analysis/IRSimilarityIdentifier.h
The file was modifiedllvm/lib/Analysis/IRSimilarityIdentifier.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
Commit 145ce86dba6e13d5c45fa8b1256f310bb6d48598 by gkm
[lld-macho] handle option -headerpad_max_install_names

Differential Revision: https://reviews.llvm.org/D88064
The file was modifiedlld/MachO/Options.td
The file was modifiedlld/MachO/Driver.cpp
The file was modifiedlld/MachO/Config.h
The file was modifiedlld/MachO/Writer.cpp
The file was modifiedlld/test/MachO/headerpad.s
Commit bee68b2956d93b190d9065c9f8640593cec9cf90 by i
[EHStreamer] Ensure CallSiteEntry::{BeginLabel,EndLabel} are non-null. NFC

... to simplify the code a bit.

Reviewed By: rahmanl

Differential Revision: https://reviews.llvm.org/D87999
The file was modifiedllvm/lib/CodeGen/AsmPrinter/EHStreamer.cpp
Commit 15d94a7d0f8f0d6b3b5308fff51b286957e45650 by leonardchan
Revert "Canonicalize declaration pointers when forming APValues."

This reverts commit 905b9ca26c94fa86339451a528cedde5004fc1bb.

Reverting because this strips `weak` attributes off function
declarations, leading to the linker error we see at
https://ci.chromium.org/p/fuchsia/builders/ci/clang_toolchain.fuchsia-arm64-debug-subbuild/b8868932035091473008.

See https://reviews.llvm.org/rG905b9ca26c94 for reproducer details.
The file was modifiedclang/lib/AST/DeclBase.cpp
The file was modifiedclang/lib/AST/ExprConstant.cpp
The file was modifiedclang/test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p9.cpp
The file was modifiedclang/lib/AST/APValue.cpp
The file was modifiedclang/lib/AST/Decl.cpp
The file was modifiedclang/include/clang/AST/APValue.h
The file was modifiedclang/test/OpenMP/ordered_messages.cpp
Commit 64435a427a01a61574a59824ea0a4949a80b11e6 by Xing
[DWARFYAML][test] Simplify __debug_pubnames/types tests. NFC.

This patch stripped unneeded sections from the test case.

Reviewed By: grimar, MaskRay

Differential Revision: https://reviews.llvm.org/D88073
The file was modifiedllvm/test/ObjectYAML/MachO/DWARF-pubsections.yaml
Commit 61ac58e10ae1fbb18416cac20119725803b9ad6f by aeubanks
[NewPM] Pin tests with -debug-pass to legacy PM

-debug-pass is a legacy PM only option.

Some tests checks that the pass returned that it made a change,
which is not relevant to the NPM, since passes return PreservedAnalyses.

Some tests check that passes are freed at the proper time, which is also
not relevant to the NPM.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D87945
The file was modifiedllvm/test/Transforms/SCCP/preserve-analysis.ll
The file was modifiedllvm/test/Transforms/Coroutines/smoketest.ll
The file was modifiedllvm/test/Transforms/GVN/preserve-analysis.ll
The file was modifiedllvm/test/Analysis/alias-analysis-uses.ll
The file was modifiedllvm/test/Transforms/SimplifyCFG/two-entry-phi-fold-crash.ll
The file was modifiedllvm/test/Transforms/InstCombine/early_constfold_changes_IR.ll
The file was modifiedllvm/test/Analysis/BasicAA/phi-values-usage.ll
The file was modifiedllvm/test/Transforms/InstSimplify/remove-dead-call.ll
Commit 88bc59c3001b3b20f55994f9fa9dbaf45991df1d by andrew.litteken
Revert "[IRSim] Adding IRSimilarityCandidate that contains a region of IRInstructionData."

This reverts commit 4944bb190fed8861d4d043eaf45e3c1e12aa2dc5.
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 d6746ecb73c3892bd9a353c3b1b3facbd285c450 by aeubanks
[test][NewPM] Fix update-scev.ll under NPM
The file was modifiedllvm/test/Transforms/LICM/update-scev.ll
Commit ec24e505536fe50636fcbc759b821aca6295aa45 by bing1.yu
[CostModel][X86] add CostModel for SK_Select(v8f64, v8i64, v16f32, v16i32, v32i16, v64i8)

add CostModel for SK_Select(v8f64, v8i64, v16f32, v16i32, v32i16, v64i8)

Reviewed By: RKSimon

Differential Revision: https://reviews.llvm.org/D87884
The file was modifiedllvm/test/Analysis/CostModel/X86/shuffle-select.ll
The file was modifiedllvm/lib/Target/X86/X86TargetTransformInfo.cpp
The file was modifiedllvm/test/Analysis/CostModel/X86/shuffle-insert_subvector.ll
Commit 2d0de5f9a4c58e2fcdd8f00dabca505ba47abbd0 by aeubanks
[test][NewPM] Clean up ScalarEvolution tests to work under NPM
The file was modifiedllvm/test/Analysis/ScalarEvolution/trivial-phis.ll
The file was modifiedllvm/test/Analysis/ScalarEvolution/max-backedge-taken-count-guard-info.ll
Commit 1a3ef0417c7ca9498895186c96da452f6e2f15a0 by gkm
[lld-macho] In the context of relocs, s/target/referent/ for sections & symbols

The word "target" is overloaded, so lighten its load by using another word to denote the symbol or section to which a reloc points. While more stilted than "target", "referent" is rather less pompous than "designatum" or "denotatum". :P

Along the way, make a few neighboring variable names more descriptive.

Reviewed By: #lld-macho, int3

Differential Revision: https://reviews.llvm.org/D87584
The file was modifiedlld/MachO/InputSection.h
The file was modifiedlld/MachO/InputSection.cpp
The file was modifiedlld/MachO/InputFiles.cpp
Commit ab1b4810b55279bcf6fdd87be74a403440be3991 by tejohnson
[ThinLTO] Avoid temporaries when loading global decl attachment metadata

When performing ThinLTO importing, the metadata loader attempts to lazy
load, by building an index. However, module level global decl attachment
metadata was being parsed early while building the index, since the
associated (module level) global values aren't materialized on demand.
This results in the creation of forward reference temporary metadatas,
which are expensive.

Normally, these module level global values don't have much attached
metadata. However, in the case of -fwhole-program-vtables (e.g. for
whole program devirtualization), the vtables may have many attached type
metadatas. This was resulting in very slow performance when performing
ThinLTO importing with the default lazy loading.

This patch restructures the handling of these global decl attachment
records, delaying their parsing until after the lazy loading index has
been built. Then the parser can use the interface that loads from the
index, which resolves forward references immediately instead of creating
expensive temporaries.

For one ThinLTO backend that imports from modules containing huge
numbers of vtables and associated types, I measured the following
compile times for the metadata materialization during function
importing, rounded to nearest second:

No -fwhole-program-vtables:
  Lazy loading on (head):  1s
  Lazy loading off (head): 3s
  Lazy loading on (patch): 1s

With -fwhole-program-vtables:
  Lazy loading on (head):  440s
  Lazy loading off (head): 4s
  Lazy loading on (patch): 2s

Differential Revision: https://reviews.llvm.org/D87970
The file was modifiedllvm/test/ThinLTO/X86/devirt2.ll
The file was modifiedllvm/lib/Bitcode/Reader/MetadataLoader.cpp
Commit ab903560a466194d4350600ad946934eb72f1a14 by gkm
[lld-maco] fix build breakage
The file was modifiedlld/MachO/Writer.cpp
Commit f1746be66673bc2b59f7aaad1c6a7938ed98194b by nemanja.i.ibm
[Sanitizers] Fix test case that doesn't clean up after itself

Commit https://reviews.llvm.org/rG144e57fc9535 added this test
case that creates message queues but does not remove them. The
message queues subsequently build up on the machine until the
system wide limit is reached. This has caused failures for a
number of bots running on a couple of big PPC machines.

This patch just adds the missing cleanup.
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Linux/sysmsg.c
Commit cabe31f415054b45b4fa6c17e4ddf09cc39bf4e8 by i
[sanitizers] Remove the message queue with IPC_RMID after D82897
The file was modifiedcompiler-rt/test/sanitizer_common/TestCases/Linux/sysmsg.c
Commit dfd295431a50aa8bccc0b89da9acf3c48b3d4b29 by Vitaly Buka
[RISCV][ASAN] updated platform macros to simplify detection of RISCV64 platform

[2/11] patch series to port ASAN for riscv64

Depends On D87997

Reviewed By: vitalybuka

Differential Revision: https://reviews.llvm.org/D87998
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
Commit 47e6851423fd32f0685a643236ad946e23ab14ff by Jan Korous
[Analyzer][WebKit] Use tri-state types for relevant predicates

Some of the predicates can't always be decided - for example when a type
definition isn't available. At the same time it's necessary to let
client code decide what to do about such cases - specifically we can't
just use true or false values as there are callees with
conflicting strategies how to handle this.

This is a speculative fix for PR47276.

Differential Revision: https://reviews.llvm.org/D88133
The file was modifiedclang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
The file was modifiedclang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLocalVarsChecker.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/WebKit/NoUncountedMembersChecker.cpp
The file was modifiedclang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp
Commit 6c22d00d7896bd7aaad567aa98016c26e78d8dcf by Vitaly Buka
[RISCV][ASAN] implementation of internal syscalls wrappers for riscv64

implements glibc-like wrappers over Linux syscalls.

[3/11] patch series to port ASAN for riscv64

Depends On D87998

Reviewed By: eugenis

Differential Revision: https://reviews.llvm.org/D87572
The file was addedcompiler-rt/lib/sanitizer_common/sanitizer_syscall_linux_riscv64.inc
The file was modifiedcompiler-rt/lib/sanitizer_common/CMakeLists.txt
Commit 96034cb3d1d6d0e4ebe6848ef93707943aeca5dc by Vitaly Buka
[RISCV][ASAN] implementation of clone interceptor for riscv64

[4/11] patch series to port ASAN for riscv64

Depends On D87572

Reviewed By: eugenis, vitalybuka

Differential Revision: https://reviews.llvm.org/D87573
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux.cpp
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux.h
Commit aa1b1d35cbf60f63c7830e6711bf849902975943 by Vitaly Buka
[RISCV][ASAN] implementation for vfork interceptor for riscv64

[5/11] patch series to port ASAN for riscv64

Depends On D87573

Reviewed By: eugenis

Differential Revision: https://reviews.llvm.org/D87574
The file was modifiedcompiler-rt/lib/hwasan/hwasan_interceptors_vfork.S
The file was modifiedcompiler-rt/lib/asan/asan_interceptors_vfork.S
The file was addedcompiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_vfork_riscv64.inc.S
The file was modifiedcompiler-rt/lib/asan/asan_interceptors.h
Commit 00f6ebef6e347e0d24a8f940fe43656719e88cb8 by Vitaly Buka
[RISCV][ASAN] implementation of ThreadSelf  for riscv64

[6/11] patch series to port ASAN for riscv64

Depends On D87574

Reviewed By: eugenis

Differential Revision: https://reviews.llvm.org/D87575
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
Commit fe3c1195cfd027fdd28b6d373b3cd9519d5253ec by joker.eph
Add a dump() method on the pass manager for debugging purpose (NFC)

Reviewed By: ftynse

Differential Revision: https://reviews.llvm.org/D88008
The file was modifiedmlir/include/mlir/Pass/PassManager.h
The file was modifiedmlir/include/mlir/Pass/Pass.h
The file was modifiedmlir/lib/Pass/Pass.cpp
Commit f69e090d7dca6bf2786145a9e97b0a7ddb3b514a by martin
[MC] [Win64EH] Try to generate packed unwind info where possible

In practice, this only gives modest savings (for a 6.5 MB DLL with
230 KB xdata, the xdata sections shrinks by around 2.5 KB); to
gain more, the frame lowering would need to be tweaked to more often
generate frame layouts that match the canonical layouts that can
be written in packed form.

Differential Revision: https://reviews.llvm.org/D87371
The file was addedllvm/test/MC/AArch64/seh-packed-unwind.s
The file was modifiedllvm/lib/MC/MCWin64EH.cpp
The file was modifiedllvm/include/llvm/MC/MCWinEH.h
Commit 2c4c659666b400b0502e8504a708e050d0a03d6c by martin
[InstCombine] Add parentheses in assert to silence GCC warning. NFC.
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
Commit b90132399aa994ac6405d0d6437735043bff9314 by martin
[CVP] Remove a redundant trailing semicolon, fixing GCC warnings. NFC.
The file was modifiedllvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
Commit d7eb917a7cb793f49e16841fc24826b988dd5c8f by albionapc
[PowerPC] Implementation of 128-bit Binary Vector Mod and Sign Extend builtins

This patch implements 128-bit Binary Vector Mod and Sign Extend builtins for PowerPC10.

Differential: https://reviews.llvm.org/D87394#inline-815858
The file was modifiedclang/test/CodeGen/builtins-ppc-p9vector.c
The file was modifiedllvm/lib/Target/PowerPC/PPCISelLowering.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrPrefix.td
The file was modifiedllvm/include/llvm/IR/IntrinsicsPowerPC.td
The file was modifiedllvm/lib/Target/PowerPC/PPCInstrAltivec.td
The file was addedllvm/test/CodeGen/PowerPC/p9-vector-sign-extend.ll
The file was modifiedllvm/test/CodeGen/PowerPC/p10-vector-modulo.ll
The file was modifiedclang/lib/Headers/altivec.h
The file was addedllvm/test/CodeGen/PowerPC/p10-vector-sign-extend.ll
The file was modifiedclang/include/clang/Basic/BuiltinsPPC.def
The file was modifiedclang/test/CodeGen/builtins-ppc-p10vector.c
Commit 1fbb5969424493344f1159d53bda5a640e3b27ae by Vitaly Buka
Revert "[RISCV][ASAN] implementation of ThreadSelf  for riscv64"

Merged two unrelated commits

This reverts commit 00f6ebef6e347e0d24a8f940fe43656719e88cb8.
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
Commit d721a2bc335ad01ff6b3838bc4759cfc35b6c8fa by Vitaly Buka
[NFC] Reformat preprocessor directives
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
Commit 809a42e3d53518b824aad28882f9f9397f25b5b3 by Vitaly Buka
[RISCV][ASAN] implementation of ThreadSelf  for riscv64

[6/11] patch series to port ASAN for riscv64

Depends On D87574

Reviewed By: eugenis

Differential Revision: https://reviews.llvm.org/D87575
The file was modifiedcompiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
Commit b62f9f4407a5ed6e5722e177e906efcebebce9eb by ravishankarm
[mlir][Linalg] Add pattern to fold linalg.tensor_reshape that add unit extent dims.

A sequence of two reshapes such that one of them is just adding unit
extent dims can be folded to a single reshape.

Differential Revision: https://reviews.llvm.org/D88057
The file was modifiedmlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir
The file was modifiedmlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
The file was modifiedmlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
Commit 8d7fd73c3a8ce069cfe48dfcf949b4a59c05c673 by Piotr Sobczak
[AMDGPU] Fix merging m0 inits

Fix incorrect merges of m0 inits in loops.

It was assumed that if a clobbering instruction appears in
the same block as an init and the clobbering instruction
does not dominate the init then it does not interfere with
init.

This does not work in the presence of loops, where in this
scenario, the clobbering instruction does interfere with
the init in another iteration.

To fix this, do not check for block equality and defer the
decision to the predecessor check.

Differential Revision: https://reviews.llvm.org/D87882
The file was modifiedllvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
The file was modifiedllvm/test/CodeGen/AMDGPU/merge-m0.mir
Commit 59c4d5aad060927fa95b917c11aad4e310849a4b by david.sherwood
[SVE] Fix InstCombinerImpl::PromoteCastOfAllocation for scalable vectors

In this patch I've fixed some warnings that arose from the implicit
cast of TypeSize -> uint64_t. I tried writing a variety of different
cases to show how this optimisation might work for scalable vectors
and found:

1. The optimisation does not work for cases where the cast type
is scalable and the allocated type is not. This because we need to
know how many times the cast type fits into the allocated type.
2. If we pass all the various checks for the case when the allocated
type is scalable and the cast type is not, then when creating the
new alloca we have to take vscale into account. This leads to
sub-optimal IR that is worse than the original IR.
3. For the remaining case when both the alloca and cast types are
scalable it is hard to find examples where the optimisation would
kick in, except for simple bitcasts, because we typically fail the
ABI alignment checks.

For now I've changed the code to bail out if only one of the alloca
and cast types is scalable. This means we continue to support the
existing cases where both types are fixed, and also the specific case
when both types are scalable with the same size and alignment, for
example a simple bitcast of an alloca to another type.

I've added tests that show we don't attempt to promote the alloca,
except for simple bitcasts:

  Transforms/InstCombine/AArch64/sve-cast-of-alloc.ll

Differential revision: https://reviews.llvm.org/D87378
The file was addedllvm/test/Transforms/InstCombine/AArch64/sve-cast-of-alloc.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
Commit e46c1def523323eedfad1174fd2fabbece8f40cc by Raphael Isemann
Revert "[libc++] Implement LWG1203"

This reverts commit fdc41e11f9687a50c97e2a59663bf2d541ff5489. It causes the
libcxx/modules/stds_include.sh.cpp test to fail with:
libcxx/include/ostream:1039:45: error: no template named 'enable_if_t'; did you mean 'enable_if'?
template <class _Stream, class _Tp, class = enable_if_t<

Still investigating what's causing this and reverting in the meantime to get
the bots green again.
The file was modifiedlibcxx/include/ostream
The file was removedlibcxx/test/std/input.output/iostream.format/output.streams/ostream.rvalue/not_ostreamable.verify.cpp
The file was modifiedlibcxx/test/std/input.output/iostream.format/input.streams/istream.rvalue/rvalue.pass.cpp
The file was addedlibcxx/test/std/input.output/iostream.format/output.streams/ostream.rvalue/CharT_pointer.pass.cpp
The file was removedlibcxx/test/std/input.output/iostream.format/input.streams/istream.rvalue/not_istreamable.verify.cpp
The file was modifiedlibcxx/include/istream
The file was modifiedlibcxx/www/cxx2a_status.html
The file was removedlibcxx/test/std/input.output/iostream.format/output.streams/ostream.rvalue/rvalue.pass.cpp