FailedChanges

Summary

  1. [WebAssembly] Setting export_name implies llvm.used (details)
  2. [AArch64][SVE] Change pattern generation code to fix (details)
  3. [RISCV] Added isCompressibleInst() to estimate size in (details)
  4. Honor  -fuse-init-array when os is not specified on x86 (details)
  5. [llvm][MIRVRegNamerUtils] Adding hashing on CImm / FPImm (details)
  6. [libc++] Rework compressed pair constructors. (details)
  7. [NFC][llvm][MIRVRegNamerUtils] Moving some switch cases and altering (details)
  8. [libc++] Add __default_init_tag to basic_string constructors (details)
  9. [llvm] Add llvm-lipo dependency to runtimes (details)
Commit 0a1e349a7933f7880971533175e11b4bfd22bd53 by sbc
[WebAssembly] Setting export_name implies llvm.used
This change updates the clang front end to add symbols to llvm.used when
they have explicit export_name attribute.
Differential Revision: https://reviews.llvm.org/D71493
The file was modifiedclang/test/CodeGen/wasm-export-name.c
The file was modifiedclang/lib/Sema/SemaDeclAttr.cpp
Commit 002adabb3a251a81ef304353eefb1bf96ec388f6 by maskray
[AArch64][SVE] Change pattern generation code to fix
-Wimplicit-fallthrough after D71483
The file was modifiedllvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
Commit d7af86bdd0bdc9509fd7fdc3ae34bb0f4b9d269f by apazos
[RISCV] Added isCompressibleInst() to estimate size in
getInstSizeInBytes()
Summary: Modified compression emitter tablegen backend to emit
isCompressibleInst() check which in turn is used by getInstSizeInBytes()
to better estimate instruction size. Note the generation of compressed
instructions in RISC-V happens late in the assembler therefore
instruction size estimate might be off if computed before.
Reviewers: lenary, asb, luismarques, lewis-revill
Reviewed By: asb
Subscribers: sameer.abuasal, lewis-revill, hiraditya, asb, rbar,
johnrusso, simoncook, sabuasal, niosHD, kito-cheng, shiva0217, MaskRay,
zzheng, edward-jones, rogfer01, MartinMosbeck, brucehoult, the_o,
rkruppe, PkmX, jocewei, psnobl, benna, Jim, lenary, s.egerton, pzheng,
llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D68290
The file was modifiedllvm/lib/Target/RISCV/RISCVInstrInfo.cpp
The file was modifiedllvm/utils/TableGen/RISCVCompressInstEmitter.cpp
Commit aa5ee8f244441a8ea103a7e0ed8b6f3e74454516 by rnk
Honor  -fuse-init-array when os is not specified on x86
Currently -fuse-init-array option is not effective when target triple
does not specify os, on x86,x86_64. i.e.
// -fuse-init-array is not honored.
$ clang -target i386 -fuse-init-array test.c -S
// -fuse-init-array is honored.
$ clang -target i386-linux -fuse-init-array test.c -S
This patch fixes first case. And does cleanup.
Reviewers: rnk, craig.topper, fhahn, echristo
Reviewed By: rnk
Differential Revision: https://reviews.llvm.org/D71360
The file was modifiedllvm/lib/Target/Lanai/LanaiTargetObjectFile.cpp
The file was modifiedllvm/lib/Target/Sparc/SparcTargetObjectFile.cpp
The file was modifiedllvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
The file was modifiedllvm/lib/Target/RISCV/RISCVTargetObjectFile.cpp
The file was modifiedllvm/lib/Target/Hexagon/HexagonTargetObjectFile.cpp
The file was modifiedllvm/lib/Target/PowerPC/PPCTargetObjectFile.cpp
The file was modifiedllvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp
The file was modifiedllvm/lib/Target/Mips/MipsTargetObjectFile.cpp
The file was modifiedllvm/lib/Target/X86/X86TargetMachine.cpp
The file was modifiedllvm/lib/Target/X86/X86TargetObjectFile.cpp
The file was modifiedllvm/test/CodeGen/X86/init-priority.ll
The file was modifiedllvm/lib/Target/X86/X86TargetObjectFile.h
The file was modifiedllvm/test/CodeGen/X86/constructor.ll
Commit f63b64c0c3b486f164c3c66cce9f13df2bac6b6e by puyan
[llvm][MIRVRegNamerUtils] Adding hashing on CImm / FPImm
MachineOperands.
This patch makes it so that cases where multiple instructions that
differ only in their ConstantInt or ConstantFP MachineOperand values no
longer collide. For instance:
%0:_(s1) = G_CONSTANT i1 true
%1:_(s1) = G_CONSTANT i1 false
%2:_(s32) = G_FCONSTANT float 1.0
%3:_(s32) = G_FCONSTANT float 0.0
Prior to this patch the first two instructions would collide together.
Also, the last two G_FCONSTANT instructions would also collide. Now they
will no longer collide.
Differential Revision: https://reviews.llvm.org/D71558
The file was addedllvm/test/CodeGen/MIR/Generic/CFPImmMIRCanonHash.mir
The file was modifiedllvm/lib/CodeGen/MIRVRegNamerUtils.cpp
Commit 549545b64aab77d2a1784062451ee1c33f8324d2 by eric
[libc++] Rework compressed pair constructors.
This patch de-duplicates most compressed pair constructors to use the
same code in C++11 and C++03.
Part of doing that is deleting the "__second_tag()" and replacing it
with a "__value_init_tag()" which has the same effect, but allows for
the removal of the special "one-arg" first element constructor.
This patch is intended to have no semantic change.
The file was modifiedlibcxx/include/__hash_table
The file was modifiedlibcxx/include/deque
The file was modifiedlibcxx/include/future
The file was modifiedlibcxx/include/memory
The file was modifiedlibcxx/include/list
The file was modifiedlibcxx/include/__split_buffer
The file was modifiedlibcxx/include/string
The file was modifiedlibcxx/include/__tree
The file was modifiedlibcxx/include/__functional_03
The file was modifiedlibcxx/include/forward_list
The file was modifiedlibcxx/include/vector
The file was modifiedlibcxx/test/libcxx/containers/unord/unord.set/missing_hash_specialization.fail.cpp
Commit 204dfabfe68a978620258baaa0bacb55cbd6859d by puyan
[NFC][llvm][MIRVRegNamerUtils] Moving some switch cases and altering
comments.
The file was modifiedllvm/lib/CodeGen/MIRVRegNamerUtils.cpp
Commit a53534a9f6404d1727fd6e9b13b6dc3089523e10 by eric
[libc++] Add __default_init_tag to basic_string constructors
This removes unneeded zero initialization of string data.
For example, given the below code:
void Init(void *mem) {
   new (mem) std::string("Hello World");
}
Assembly before:
Init(void*):
       xorps   xmm0, xmm0
       movups  xmmword ptr [rdi], xmm0
       mov     qword ptr [rdi + 16], 0
       mov     byte ptr [rdi], 22
       movabs  rax, 8022916924116329800
       mov     qword ptr [rdi + 1], rax
       mov     dword ptr [rdi + 8], 1684828783
       mov     byte ptr [rdi + 12], 0
       ret
Assembly after:
Init():
       mov     byte ptr [rdi], 22
       movabs  rax, 8022916924116329800
       mov     qword ptr [rdi + 1], rax
       mov     dword ptr [rdi + 8], 1684828783
       mov     byte ptr [rdi + 12], 0
       ret
Patch by Martijn Vels (mvels@google.com) Reviewed as
https://reviews.llvm.org/D70621
The file was modifiedlibcxx/include/string
Commit f5bbe387e88511cd0ea09bc41742bbc1159de938 by apl
[llvm] Add llvm-lipo dependency to runtimes
Summary: Currently, llvm-lipo is not specified as a dependency, but it
is needed when building Darwin-x86_64 runtimes, so I'm adding it to the
dependencies lists.
Reviewers: alexshap, beanz, phosek, compnerd, smeenai, mtrent, plotfi,
xiaobai
Reviewed By: phosek, smeenai
Subscribers: smeenai, mgorny, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D71429
The file was modifiedllvm/runtimes/CMakeLists.txt
The file was modifiedllvm/cmake/modules/LLVMExternalProjectUtils.cmake