UnstableChanges

Summary

  1. [Attributor] Deduce memory behavior of functions and arguments (details)
  2. [llvm-lipo] Relax the check of the specified input file architecture (details)
  3. [WebAssembly] Add memory intrinsics handling to mayThrow() (details)
  4. Mark constructor as default and remove implementation (NFC) (details)
  5. [llvm-c] Add UnaryOperator to LLVM_FOR_EACH_VALUE_SUBCLASS macro (details)
  6. [CMake] We only want to copy the headers for macOS. (details)
  7.     [libc++] Remove C++03 variadics in shared_ptr (v2) (details)
  8. [Attributor][FIX] Remove assertion wrong for on invalid IRPositions (details)
  9. [Diagnostics] Emit better -Wbool-operation's warning message if we known (details)
  10. [llvm-lipo] Add TextAPI to LINK_COMPONENTS (details)
  11. [WebAssembly] Fix unwind mismatch stat computation (details)
Commit 1097fab1cf41e786a659b1fe45a1494170be6952 by jdoerfert
[Attributor] Deduce memory behavior of functions and arguments
Deduce the memory behavior, aka "read-none", "read-only", or
"write-only", for functions and arguments.
Reviewers: sstefan1, uenoku
Subscribers: hiraditya, bollu, jfb, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67384
llvm-svn: 373965
The file was modifiedllvm/test/Transforms/FunctionAttrs/nosync.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/willreturn.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/nofree-attributor.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/align.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/dereferenceable.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/arg_returned.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/read_write_returned_arguments_scc.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/readattrs.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/arg_nocapture.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/norecurse.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/nocapture.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/nonnull.ll
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
The file was modifiedllvm/test/Transforms/FunctionAttrs/noalias_returned.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/liveness.ll
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
The file was modifiedllvm/test/Transforms/FunctionAttrs/internal-noalias.ll
Commit f5d700ac05cb3b3fdb22619186ce9f0376dcca10 by shal1t712
[llvm-lipo] Relax the check of the specified input file architecture
cctools lipo only compares the cputypes when it verifies that the
specified (via -arch) input file and the architecture match. This diff
adjusts the behavior of llvm-lipo accordingly.
Differential revision: https://reviews.llvm.org/D68319
Test plan: make check-all
llvm-svn: 373966
The file was modifiedllvm/tools/llvm-lipo/llvm-lipo.cpp
Commit 58af5be28dafedafba3fb20ba35ac0ae4f2c570a by aheejin
[WebAssembly] Add memory intrinsics handling to mayThrow()
Summary: Previously, `WebAssembly::mayThrow()` assumed all inputs are
global addresses. But when intrinsics, such as `memcpy`, `memmove`, or
`memset` are lowered to external symbols in instruction selection and
later emitted as library calls. And these functions don't throw.
This patch adds handling to those memory intrinsics to `mayThrow`
function. But while most of libcalls don't throw, we can't guarantee all
of them don't throw, so currently we conservatively return true for all
other external symbols.
I think a better way to solve this problem is to embed 'nounwind' info
in `TargetLowering::CallLoweringInfo`, so that we can access the info
from the backend. This will also enable transferring 'nounwind'
properties of LLVM IR instructions. Currently we don't transfer that
info and we can only access properties of callee functions, if the
callees are within the module. Other targets don't need this info in the
backend because they do all the processing before isel, but it will help
us because that info will reduce code size increase in fixing unwind
destination mismatches in CFGStackify.
But for now we return false for these memory intrinsics and true for all
other libcalls conservatively.
Reviewers: dschuff
Subscribers: sbc100, jgravelle-google, hiraditya, sunfish, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D68553
llvm-svn: 373967
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp
The file was modifiedllvm/test/CodeGen/WebAssembly/cfg-stackify-eh.ll
Commit 69a3b21a5cd860a66fdea188c561f3336d3d5f66 by Adrian Prantl
Mark constructor as default and remove implementation (NFC)
llvm-svn: 373968
The file was modifiedlldb/include/lldb/Core/Mangled.h
The file was modifiedlldb/source/Core/Mangled.cpp
Commit 60786f9143926e86525abaa917494c406493534a by cameron.mcinally
[llvm-c] Add UnaryOperator to LLVM_FOR_EACH_VALUE_SUBCLASS macro
Note that we are not sure where the tests for these functions lives.
This was discussed in the Phab Diff.
Differential Revision: https://reviews.llvm.org/D68588
llvm-svn: 373969
The file was modifiedllvm/include/llvm-c/Core.h
Commit 33f054a316672b1ef54c9f4e6960ac1e7e5acbf5 by davide
[CMake] We only want to copy the headers for macOS.
<rdar://problem/55916729>
llvm-svn: 373970
The file was modifiedlldb/cmake/modules/LLDBFramework.cmake
Commit a9d43b55c7d2f40b42a1aae7f84917d13121fce3 by z.zoelec2
    [libc++] Remove C++03 variadics in shared_ptr (v2)
    Summary: In my last patch (D67675) I forgot a few variadics. This
patch removes the remaining make_shared and allocate_shared C++03
variadics.
    Reviewers: ldionne, EricWF, mclow.lists
    Subscribers: christof, dexonsmith, libcxx-commits
    Tags: #libc
    Differential Revision: https://reviews.llvm.org/D68000
llvm-svn: 373971
The file was modifiedlibcxx/include/memory
Commit ee33c61e341c23cbffe5c583107353d54fc67be8 by jdoerfert
[Attributor][FIX] Remove assertion wrong for on invalid IRPositions
llvm-svn: 373972
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h
Commit aaea76ba02301efd8aa0c8d5da4af400d03b2fb6 by david.bolvansky
[Diagnostics] Emit better -Wbool-operation's warning message if we known
that the result is always true
llvm-svn: 373973
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was modifiedclang/test/Sema/warn-bitwise-negation-bool.c
The file was modifiedclang/include/clang/Basic/DiagnosticSemaKinds.td
The file was modifiedclang/lib/Sema/SemaExpr.cpp
Commit ae5bad7277f497a8b19e331dffc14c74e3db7587 by aheejin
[llvm-lipo] Add TextAPI to LINK_COMPONENTS
Summary: D68319 uses `MachO::getCPUTypeFromArchitecture` and without
this builds with `-DBUILD_SHARED_LIBS=ON` fail.
Reviewers: alexshap
Subscribers: mgorny, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D68594
llvm-svn: 373974
The file was modifiedllvm/tools/llvm-lipo/CMakeLists.txt
Commit daeead4b02f062bf5a21e154ab7726b3e1dd41bd by aheejin
[WebAssembly] Fix unwind mismatch stat computation
Summary: There was a bug when computing the number of unwind destination
mismatches in CFGStackify. When there are many mismatched calls that
share the same (original) destination BB, they have to be counted
separately.
This also fixes a typo and runs `fixUnwindMismatches` only when the wasm
exception handling is enabled. This is to prevent unnecessary
computations and does not change behavior.
Reviewers: dschuff
Subscribers: sbc100, jgravelle-google, hiraditya, sunfish, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D68552
llvm-svn: 373975
The file was modifiedllvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp
The file was modifiedllvm/test/CodeGen/WebAssembly/cfg-stackify-eh.ll