SuccessChanges

Summary

  1. [RISCV] Don't force Local Exec TLS for non-PIC (details)
  2. [FPEnv] [PowerPC] Lowering ppc_fp128 StrictFP Nodes to libcalls (details)
  3. [compiler-rt] Disable fuzzer large.test when (details)
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/LegalizeFloatTypes.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
The file was modifiedllvm/lib/CodeGen/SelectionDAG/LegalizeTypes.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.configured.in
The file was modifiedcompiler-rt/test/CMakeLists.txt
The file was modifiedcompiler-rt/test/fuzzer/large.test
The file was modifiedcompiler-rt/test/lit.common.cfg.py
The file was modifiedllvm/cmake/modules/LLVMConfig.cmake.in