FailedChanges

Summary

  1. [SLP] Look-ahead operand reordering heuristic. (details)
  2. [PDB] Make pdb::DbiModuleDescriptor destructor trivial (details)
  3. AMDGPU/SI: make ~SIScheduleBlockCreator trivial (details)
  4. [Support] Optimize SHA1 implementation (details)
  5. [Attributor] Use must-be-executed-context in align deduction (details)
  6. [yaml2obj/obj2yaml] - Add support for SHT_LLVM_LINKER_OPTIONS sections. (details)
Commit 6a18a9548761b266b28a49f705a568677c24b59b by vasileios.porpodas
[SLP] Look-ahead operand reordering heuristic.
Summary: This patch introduces a new heuristic for guiding operand
reordering. The new "look-ahead" heuristic can look beyond the immediate
predecessors. This helps break ties when the immediate predecessors have
identical opcodes (see lit test for examples).
Reviewers: RKSimon, ABataev, dtemirbulatov, Ayal, hfinkel, rnk
Reviewed By: RKSimon, dtemirbulatov
Subscribers: xbolva00, Carrot, hiraditya, phosek, rnk, rcorcs,
llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D60897
The file was modifiedllvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
The file was modifiedllvm/test/Transforms/SLPVectorizer/AArch64/transpose.ll
The file was modifiedllvm/test/Transforms/SLPVectorizer/X86/lookahead.ll
Commit 644de3b96e735aa91a2c0568e65f02c5b537fea0 by i
[PDB] Make pdb::DbiModuleDescriptor destructor trivial
The file was modifiedllvm/lib/DebugInfo/PDB/Native/DbiModuleDescriptor.cpp
The file was modifiedllvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptor.h
Commit 3c4f8bb108b2a362db7d723fe9646a3d236fe60e by i
AMDGPU/SI: make ~SIScheduleBlockCreator trivial
The file was modifiedllvm/lib/Target/AMDGPU/SIMachineScheduler.h
The file was modifiedllvm/lib/Target/AMDGPU/SIMachineScheduler.cpp
Commit 43ff63477256d584cf506dba0c222c28231b0ccc by maskray
[Support] Optimize SHA1 implementation
* Add inline to the helper functions because gcc-9 won't inline all of
them without the hint. I've avoided `__attribute__((always_inline))`
because gcc and clang will inline without it, and improves
compatibility.
* Replace the byte-by-byte copy in update() with endian::readbe32()
since perf reports that 1/2 of the time is spent copying into the
buffer before this patch.
When lld uses --build-id=sha1 it spends 30-45% of CPU in SHA1 depending
on the binary (not wall-time since it is parallel). This patch speeds up
SHA1 by a factor of 2 on clang-8 and 3 on gcc-6. This leads to a >10%
improvement in overall linking time.
lld-speed-test benchmarks run on an Intel i9-9900k with Turbo disabled
on CPU 0 compiled with clang-9. Stats recorded with `perf stat -r 5`.
All inputs are using `--build-id=sha1`.
| Input | Before (seconds) | After (seconds) |
| --- | --- | --- |
| chrome | 2.14 | 1.82 (-15%) |
| chrome-icf | 2.56 | 2.29 (-10%) |
| clang | 0.65 | 0.53 (-18%) |
| clang-fsds | 0.69 | 0.58 (-16%) |
| clang-gdb-index | 21.71 | 19.3 (-11%) |
| gold | 0.42 | 0.34 (-19%) |
| gold-fsds | 0.431 | 0.355 (-17%) |
| linux-kernel | 0.625 | 0.575 (-8%) |
| llvm-as | 0.045 | 0.039 (-14%) |
| llvm-as-fsds | 0.035 | 0.039 (-11%) |
| mozilla | 11.3 | 9.8  (-13%) |
| mozilla-gc | 11.84 | 10.36 (-12%) |
| mozilla-O0 | 8.2 | 5.84 (-28%) |
| scylla | 5.59 | 4.52 (-19%) |
Reviewed By: ruiu, MaskRay
Differential Revision: https://reviews.llvm.org/D69295
The file was modifiedllvm/lib/Support/SHA1.cpp
The file was modifiedllvm/unittests/Support/raw_sha1_ostream_test.cpp
Commit 88b04ef8327cdd45bd1e973ec98be5d71e7b8383 by uenoku.tokotoko
[Attributor] Use must-be-executed-context in align deduction
Summary: This patch introduces align attribute deduction for callsite
argument, function argument, function returned and floating value based
on must-be-executed-context.
Reviewers: jdoerfert, sstefan1
Reviewed By: jdoerfert
Subscribers: hiraditya, jfb, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D69797
The file was modifiedllvm/test/Transforms/FunctionAttrs/dereferenceable.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/arg_nocapture.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/internal-noalias.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/nofree-attributor.ll
The file was modifiedllvm/test/Transforms/InferFunctionAttrs/dereferenceable.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/read_write_returned_arguments_scc.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/arg_returned.ll
The file was modifiedllvm/test/Transforms/FunctionAttrs/align.ll
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
The file was modifiedllvm/test/Transforms/FunctionAttrs/nosync.ll
Commit dd101539dac5e464042c04b72090741317d48c23 by grimar
[yaml2obj/obj2yaml] - Add support for SHT_LLVM_LINKER_OPTIONS sections.
SHT_LLVM_LINKER_OPTIONS section contains pairs of null-terminated
strings. This patch adds support for them.
Differential revision: https://reviews.llvm.org/D69895
The file was modifiedllvm/include/llvm/ObjectYAML/ELFYAML.h
The file was modifiedllvm/lib/ObjectYAML/ELFYAML.cpp
The file was addedllvm/test/tools/yaml2obj/linker-options.yaml
The file was modifiedllvm/lib/ObjectYAML/ELFEmitter.cpp
The file was modifiedllvm/tools/obj2yaml/elf2yaml.cpp
The file was addedllvm/test/tools/obj2yaml/linker-options.yaml