SuccessChanges

Summary

  1. [UpdateTestChecks] Change shebang from python to python3 (details)
  2. Enable `-funwind-tables` flag when building libunwind (details)
  3. [TypeCategory] Nothing passes down a list of languages. (details)
  4. [InstCombine] Revert aafde063aaf09285c701c80cd4b543c2beb523e8 and (details)
  5. [RISCV] Don't force Local Exec TLS for non-PIC (details)
  6. [FPEnv] [PowerPC] Lowering ppc_fp128 StrictFP Nodes to libcalls (details)
  7. [compiler-rt] Disable fuzzer large.test when (details)
  8. [MS] Emit exported complete/vbase destructors (details)
  9. [DataVisualization] Simplify. NFCI. (details)
  10. [FormatManager] Provide only one variant of EnableCategory. (details)
  11. [NFC] Pass a reference to CodeGenFunction to methods of LValue and (details)
  12. Reapply "Fix crash on switch conditions of non-integer types in (details)
  13. Fix `sed -e s@FOO@%/S@` and similar when there's @'s in the working (details)
  14. [TypeCategory] HasLanguage() is now unused. (details)
Commit 195eb9034af3d5352f8f5aa4b2156eb8579e8514 by maskray
[UpdateTestChecks] Change shebang from python to python3
'python' means Python 2 on some platforms while Python 3 on others.
'python3' is Python 3 only. Python 2.7 End of Life is set to January 1,
2020. Getting rid of Python 2 support reduces maintenance burden.
Reviewed By: lebedev.ri
Differential Revision: https://reviews.llvm.org/D70730
The file was modifiedllvm/utils/update_analyze_test_checks.py
The file was modifiedllvm/utils/update_mca_test_checks.py
The file was modifiedllvm/utils/update_mir_test_checks.py
The file was modifiedllvm/utils/update_llc_test_checks.py
The file was modifiedllvm/utils/update_test_checks.py
Commit b3fdf33ba6aa7ef80621696f74aaf2f6f8e1d1de by jaskiewiczs
Enable `-funwind-tables` flag when building libunwind
Summary: Or, rather, don't accidentally forget to pass it.
This is aimed to solve the problem discussed in [this
thread](http://lists.llvm.org/pipermail/llvm-dev/2019-November/136890.html),
and to fix [a year-old
bug](https://bugs.llvm.org/show_bug.cgi?id=38468).
TL;DR: when building libunwind for ARM Linux, we **need** libunwind to
be built with the `-funwind-tables` flag, because, well ARM EHABI needs
unwind info produced by this flag. Without the flag all the procedures
in libunwind are marked `.cantunwind`, which causes all sorts of bad
things. From `_Unwind_Backtrace` not working, to C++ exceptions not
being caught (which is the aforementioned bug is about).
Previously, this flag was not added because the CMake check
`add_compile_flags_if_supported(-funwind-tables)` produced a false
negative. Why? With this flag, the compiler generates calls to the
`__aeabi_unwind_cpp_pr0` symbol, which is defined in libunwind itself
and obviously is not available at configure time, before libunwind is
built. This led to failure at link time during the CMake check. We
handle this by disabling the linker for CMake checks in linbunwind.
Also, this patch introduces a lit feature `libunwind-arm-ehabi`, which
is used to mark the `signal_frame.pass.cpp` test as unsupported (as was
advised by @miyuki in D70397).
Reviewers: peter.smith, phosek, EricWF, compnerd, jroelofs, saugustine,
miyuki, jfb
Subscribers: mgorny, kristof.beyls, christof, libcxx-commits, miyuki
Tags: #libc
Differential Revision: https://reviews.llvm.org/D70815
The file was modifiedlibunwind/test/lit.site.cfg.in
The file was modifiedlibunwind/test/libunwind/test/config.py
The file was modifiedlibunwind/CMakeLists.txt
The file was modifiedlibunwind/cmake/config-ix.cmake
The file was modifiedlibunwind/test/signal_frame.pass.cpp
The file was modifiedlibunwind/test/CMakeLists.txt
Commit 15a172bebbc5b95d05733ef842fcdbd14e9d441d by ditaliano
[TypeCategory] Nothing passes down a list of languages.
Summary: This should allow further simplifications, but it's a first
step.
Reviewers: teemperor, jingham, friss
Subscribers: lldb-commits
Tags: #lldb
Differential Revision: https://reviews.llvm.org/D70983
The file was modifiedlldb/source/DataFormatters/TypeCategory.cpp
The file was modifiedlldb/include/lldb/DataFormatters/TypeCategory.h
Commit 5ebbabc1af360756f402203ba7704bb480f279a7 by craig.topper
[InstCombine] Revert aafde063aaf09285c701c80cd4b543c2beb523e8 and
6749dc3446671df05235d0a218c426a314ac33cd related to bitcast handling of
x86_mmx
This reverts these two commits
[InstCombine] Turn (extractelement <1 x i64/double> (bitcast (x86_mmx)))
into a single bitcast from x86_mmx to i64/double.
[InstCombine] Don't transform bitcasts between x86_mmx and v1i64 into
insertelement/extractelement
We're seeing at least one internal test failure related to a bitcast
that was previously before an inline assembly block containing emms
being placed after it. This leads to the mmx state ending up not empty
after the emms. IR has no way to make any specific guarantees about
this. Reverting these patches to get back to previous behavior which at
least worked for this test.
The file was modifiedllvm/test/Transforms/InstCombine/bitcast-vec-canon.ll
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
The file was modifiedllvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
Commit da7b129b1b52bdc52b02b546b75f90fad07f6d3a by jrtc27
[RISCV] Don't force Local Exec TLS for non-PIC
Summary: Forcing Local Exec TLS requires the use of copy relocations.
Copy relocations need special handling in the runtime linker when being
used against TLS symbols, which is present in glibc, but not in FreeBSD
nor musl, and so cannot be relied upon. Moreover, copy relocations are a
hack that embed the size of an object in the ABI when it otherwise
wouldn't be, and break protected symbols (which are expected to be DSO
local), whilst also wasting space, thus they should be avoided whenever
possible. As discussed in D70398, RISC-V should move away from forcing
Local Exec, and instead use Initial Exec like other targets, with
possible linker relaxation to follow. The RISC-V GCC maintainers also
intend to adopt this more-conventional behaviour (see
https://github.com/riscv/riscv-elf-psabi-doc/issues/122).
Reviewers: asb, MaskRay
Reviewed By: MaskRay
Subscribers: emaste, krytarowski, hiraditya, rbar, johnrusso, simoncook,
sabuasal, niosHD, kito-cheng, shiva0217, zzheng, edward-jones, rogfer01,
MartinMosbeck, brucehoult, the_o, rkruppe, PkmX, jocewei, psnobl, benna,
Jim, lenary, s.egerton, pzheng, sameer.abuasal, apazos, llvm-commits,
bsdjhb
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70649
The file was modifiedllvm/test/CodeGen/RISCV/tls-models.ll
The file was modifiedllvm/lib/Target/RISCV/RISCVISelLowering.cpp
Commit f586fd44e4ba898ad7fed1a3c4f865fe8a3a8338 by craig.topper
[FPEnv] [PowerPC] Lowering ppc_fp128 StrictFP Nodes to libcalls
This is an alternative to D64662 that shares more code between strict
and non-strict nodes. It's modeled after the implementation that I did
for softening.
Differential Revision: https://reviews.llvm.org/D70867
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeTypes.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
The file was addedllvm/test/CodeGen/PowerPC/ppcf128-constrained-fp-intrinsics.ll
Commit ad871e42958ed94f0a27b0ba173cff4e00b5ee61 by Alex Lorenz
[compiler-rt] Disable fuzzer large.test when
LLVM_ENABLE_EXPENSIVE_CHECKS=ON
This test is timing out on Green Dragon
http://green.lab.llvm.org/green/job/clang-stage1-cmake-RA-expensive/ and
looks like it's not executed on other bots with expensive checks enabled
http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-ubuntu
http://lab.llvm.org:8011/builders/llvm-clang-x86_64-expensive-checks-win
The test times out at the C++ source file takes too long to build (2+
hours on my machine), as clang spends a lot of time in IR/MIR verifiers.
Differential Revision: https://reviews.llvm.org/D70024
The file was modifiedcompiler-rt/test/lit.common.cfg.py
The file was modifiedcompiler-rt/test/fuzzer/large.test
The file was modifiedcompiler-rt/test/lit.common.configured.in
The file was modifiedcompiler-rt/test/CMakeLists.txt
The file was modifiedllvm/cmake/modules/LLVMConfig.cmake.in
Commit 705a6aef350246c790ff8e73864dd27a640c59c8 by rnk
[MS] Emit exported complete/vbase destructors
Summary: Fixes PR44205
I checked, and deleting destructors are not affected.
Reviewers: hans
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D70931
The file was modifiedclang/lib/CodeGen/MicrosoftCXXABI.cpp
The file was modifiedclang/test/CodeGenCXX/dllimport-dtor-thunks.cpp
The file was modifiedclang/test/CodeGenCXX/dllexport-dtor-thunks.cpp
Commit 89618a7ce1c13dcb540d925626638c93cc85a553 by ditaliano
[DataVisualization] Simplify. NFCI.
The file was modifiedlldb/source/DataFormatters/DataVisualization.cpp
Commit 0cfb4a6b3d9556c8fc55766bce47cbb433ff19fe by ditaliano
[FormatManager] Provide only one variant of EnableCategory.
All the callers pass a single language anyway.
The file was modifiedlldb/include/lldb/DataFormatters/FormatManager.h
Commit f139ae3d9379746164e8056c45817041417dfd4c by Akira
[NFC] Pass a reference to CodeGenFunction to methods of LValue and
AggValueSlot
This reapplies 8a5b7c35709d9ce1f44a99f0c5b084bf2696ea17 after a null
dereference bug in CGOpenMPRuntime::emitUserDefinedMapper.
Original commit message:
This is needed for the pointer authentication work we plan to do in the
near future.
https://github.com/apple/llvm-project/blob/a63a81bd9911f87a0b5dcd5bdd7ccdda7124af87/clang/docs/PointerAuthentication.rst
The file was modifiedclang/lib/CodeGen/CGCall.cpp
The file was modifiedclang/lib/CodeGen/CGExprAgg.cpp
The file was modifiedclang/lib/CodeGen/CGStmtOpenMP.cpp
The file was modifiedclang/lib/CodeGen/CGAtomic.cpp
The file was modifiedclang/lib/CodeGen/CGExprScalar.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntime.cpp
The file was modifiedclang/lib/CodeGen/CGDecl.cpp
The file was modifiedclang/lib/CodeGen/CodeGenFunction.cpp
The file was modifiedclang/lib/CodeGen/CGDeclCXX.cpp
The file was modifiedclang/lib/CodeGen/CGBuiltin.cpp
The file was modifiedclang/lib/CodeGen/CGStmt.cpp
The file was modifiedclang/lib/CodeGen/CGClass.cpp
The file was modifiedclang/lib/CodeGen/CGObjC.cpp
The file was modifiedclang/lib/CodeGen/CGExprCXX.cpp
The file was modifiedclang/lib/CodeGen/CGNonTrivialStruct.cpp
The file was modifiedclang/lib/CodeGen/TargetInfo.cpp
The file was modifiedclang/lib/CodeGen/CGExpr.cpp
The file was modifiedclang/lib/CodeGen/CGExprComplex.cpp
The file was modifiedclang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp
The file was modifiedclang/lib/CodeGen/CGValue.h
The file was modifiedclang/lib/CodeGen/CGBlocks.cpp
Commit 878a24ee244a24c39d1c57e9af2e88c621f7cce9 by elizabeth.andrews
Reapply "Fix crash on switch conditions of non-integer types in
templates"
This patch reapplies commit 759948467ea. Patch was reverted due to a
clang-tidy test fail on Windows. The test has been modified. There are
no additional code changes.
Patch was tested with ninja check-all on Windows and Linux.
Summary of code changes:
Clang currently crashes for switch statements inside a template when the
condition is a non-integer field member because contextual implicit
conversion is skipped when parsing the condition. This conversion is
however later checked in an assert when the case statement is handled.
The conversion is skipped when parsing the condition because the field
member is set as type-dependent based on its containing class. This
patch sets the type dependency based on the field's type instead.
This patch fixes Bug 40982.
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/bugprone-string-integer-assignment.cpp
The file was modifiedclang/lib/Sema/SemaChecking.cpp
The file was modifiedclang/test/SemaTemplate/member-access-expr.cpp
The file was addedclang/test/SemaTemplate/non-integral-switch-cond.cpp
The file was modifiedclang/test/SemaTemplate/enum-argument.cpp
The file was modifiedclang/test/SemaCXX/constant-expression-cxx2a.cpp
The file was modifiedclang/test/SemaTemplate/dependent-names.cpp
The file was modifiedclang-tools-extra/test/clang-tidy/checkers/misc-unused-parameters.cpp
The file was modifiedclang/lib/AST/Expr.cpp
Commit 327894859cc41c1730807f8a179aa880203262f5 by daniel_l_sanders
Fix `sed -e s@FOO@%/S@` and similar when there's @'s in the working
directory
Jenkins sometimes starts a new working directory by appending @2 (or
incrementing the number if the @n suffix is already there). This causes
several clang tests to fail as:
s@INPUT_DIR@%/S/Inputs@g gets expanded to the invalid:
s@INPUT_DIR@/path/to/workdir@2/Inputs@g
                              ~~~~~~~~~~ where the part marked with ~'s
is interpreted as the flags. These are invalid and the test fails.
Previous fixes simply exchanged the @ character for another like | but
that's just moving the problem. Address it by adding an expansion that
escapes the @ character we're using as a delimiter as well as other
magic characters in the replacement of sed's s@@@.
There's still room for expansions to cause trouble though. One I ran
into while testing this was that having a directory called foo@bar
causes lots of `CHECK-NOT: foo` directives to match. There's also things
like directories containing `\1`
The file was modifiedclang/test/Modules/framework-public-includes-private.m
The file was modifiedclang/test/VFS/incomplete-umbrella.m
The file was modifiedclang/test/Index/index-module-with-vfs.m
The file was modifiedclang/test/VFS/framework-import.m
The file was modifiedclang/test/VFS/include-mixed-real-and-virtual.c
The file was modifiedclang/test/VFS/real-path-found-first.m
The file was modifiedclang/test/VFS/umbrella-framework-import-skipnonexist.m
The file was modifiedclang/test/VFS/include-real-from-virtual.c
The file was modifiedclang/test/VFS/include-virtual-from-real.c
The file was modifiedclang/test/VFS/module_missing_vfs.m
The file was modifiedclang/test/VFS/external-names.c
The file was modifiedclang/test/Modules/double-quotes.m
The file was modifiedclang/test/Modules/crash-vfs-ivfsoverlay.m
The file was modifiedclang/test/VFS/relative-path.c
The file was modifiedclang/test/VFS/module-import.m
The file was modifiedclang/test/VFS/test_nonmodular.c
The file was modifiedclang/test/VFS/include.c
The file was modifiedllvm/utils/lit/lit/TestRunner.py
The file was modifiedclang/test/VFS/vfsroot-with-overlay.c
The file was modifiedclang/test/VFS/implicit-include.c
The file was modifiedclang/test/VFS/vfsroot-include.c
The file was modifiedclang/test/VFS/vfsroot-module.m
Commit 2bb19f93f6a8d0c7ceaa41df744803480c95fe9a by ditaliano
[TypeCategory] HasLanguage() is now unused.
The file was modifiedlldb/include/lldb/DataFormatters/TypeCategory.h
The file was modifiedlldb/source/DataFormatters/TypeCategory.cpp