[all-commits] [llvm/llvm-project] f0659c: [X86] Support modifier @PLTOFF for R_X86_64_PLTOFF64
llvmbot via All-commits
all-commits at lists.llvm.org
Tue Dec 1 12:09:22 PST 2020
Branch: refs/heads/temp-test-main
Home: https://github.com/llvm/llvm-project
Commit: f0659c0673417582038aa4a3c13edbfa0abb6b9a
https://github.com/llvm/llvm-project/commit/f0659c0673417582038aa4a3c13edbfa0abb6b9a
Author: Fangrui Song <i at maskray.me>
Date: 2020-12-01 (Tue, 01 Dec 2020)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
A llvm/test/MC/X86/pltoff.s
Log Message:
-----------
[X86] Support modifier @PLTOFF for R_X86_64_PLTOFF64
`gcc -mcmodel=large` can emit @PLTOFF.
Reviewed By: grimar
Differential Revision: https://reviews.llvm.org/D92294
Commit: a5f95887d0f8d27f1c33f19944d0c1da66aef606
https://github.com/llvm/llvm-project/commit/a5f95887d0f8d27f1c33f19944d0c1da66aef606
Author: Fangrui Song <i at maskray.me>
Date: 2020-12-01 (Tue, 01 Dec 2020)
Changed paths:
A lld/test/ELF/symver.s
Log Message:
-----------
[ELF][test] Add some tests for versioned symbols in object files
Test the symbol resolution related to
* defined foo@@v1 and foo at v1 in object files/shared objects
* undefined foo at v1
* weak foo@@v1 and foo at v1
* visibility
* interaction with --wrap.
Reviewed By: grimar
Differential Revision: https://reviews.llvm.org/D92258
Commit: 941e9336d092f0ccef35e0f425d97f7def5ed1b0
https://github.com/llvm/llvm-project/commit/941e9336d092f0ccef35e0f425d97f7def5ed1b0
Author: Fangrui Song <i at maskray.me>
Date: 2020-12-01 (Tue, 01 Dec 2020)
Changed paths:
M lld/ELF/Driver.cpp
M lld/ELF/Symbols.cpp
M lld/ELF/Symbols.h
M lld/test/ELF/symver.s
Log Message:
-----------
[ELF] Make foo@@v1 resolve undefined foo at v1
The symbol resolution rules for versioned symbols are:
* foo@@v1 (default version) resolves both undefined foo and foo at v1
* foo at v1 (non-default version) resolves undefined foo at v1
Note, foo@@v1 must be defined (the assembler errors if attempting to
create an undefined foo@@v1).
For defined foo@@v1 in a shared object, we call `SymbolTable::addSymbol` twice,
one for foo and the other for foo at v1. We don't do the same for object files, so
foo@@v1 defined in one object file incorrectly does not resolve a foo at v1
reference in another object file.
This patch fixes the issue by reusing the --wrap code to redirect symbols in
object files. This has to be done after processing input files because
foo and foo at v1 are two separate symbols if we haven't seen foo@@v1.
Add a helper `Symbol::getVersionSuffix` to retrieve the optional trailing
`@...` or `@@...` from the possibly truncated symbol name.
Depends on D92258
Reviewed By: jhenderson
Differential Revision: https://reviews.llvm.org/D92259
Commit: 624af932a808b363a888139beca49f57313d9a3b
https://github.com/llvm/llvm-project/commit/624af932a808b363a888139beca49f57313d9a3b
Author: Nikita Popov <nikita.ppv at gmail.com>
Date: 2020-12-01 (Tue, 01 Dec 2020)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/MemCpyOptimizer.h
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/test/Transforms/MemCpyOpt/callslot.ll
M llvm/test/Transforms/MemCpyOpt/invariant.start.ll
M llvm/test/Transforms/MemCpyOpt/memcpy-invoke-memcpy.ll
M llvm/test/Transforms/MemCpyOpt/memcpy.ll
M llvm/test/Transforms/MemCpyOpt/merge-into-memset.ll
M llvm/test/Transforms/MemCpyOpt/mixed-sizes.ll
M llvm/test/Transforms/MemCpyOpt/nonlocal-memcpy-memcpy.ll
M llvm/test/Transforms/MemCpyOpt/stackrestore.ll
Log Message:
-----------
[MemCpyOpt] Port to MemorySSA
This is a straightforward port of MemCpyOpt to MemorySSA following
the approach of D26739. MemDep queries are replaced with MSSA queries
without changing the overall structure of the pass. Some care has
to be taken to account for differences between these APIs
(MemDep also returns reads, MSSA doesn't).
Differential Revision: https://reviews.llvm.org/D89207
Commit: 843c2b2303004c1a7e4fa8037905fbc70601b155
https://github.com/llvm/llvm-project/commit/843c2b2303004c1a7e4fa8037905fbc70601b155
Author: Fangrui Song <i at maskray.me>
Date: 2020-12-01 (Tue, 01 Dec 2020)
Changed paths:
M lld/ELF/Relocations.cpp
M lld/ELF/Symbols.h
M lld/test/ELF/lto/version-script2.ll
M lld/test/ELF/symver.s
Log Message:
-----------
[ELF] Error for undefined foo at v1
If an object file has an undefined foo at v1, we emit a dynamic symbol foo.
This is incorrect if at runtime a shared object provides the non-default version foo at v1
(the undefined foo may bind to foo@@v2, for example).
GNU ld issues an error for this case, even if foo at v1 is undefined weak
(https://sourceware.org/bugzilla/show_bug.cgi?id=3351). This behavior makes
sense because to represent an undefined foo at v1, we have to construct a Verneed
entry. However, without knowing the defining filename, we cannot construct a
Verneed entry (Verneed::vn_file is unavailable).
This patch implements the error.
Depends on D92258
Reviewed By: grimar
Differential Revision: https://reviews.llvm.org/D92260
Commit: 9c5504adceb544d9954ddb8ff3035a414f4b1423
https://github.com/llvm/llvm-project/commit/9c5504adceb544d9954ddb8ff3035a414f4b1423
Author: Bardia Mahjour <bmahjour at ca.ibm.com>
Date: 2020-12-01 (Tue, 01 Dec 2020)
Changed paths:
M llvm/docs/Vectorizers.rst
A llvm/docs/epilogue-vectorization-cfg.png
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
A llvm/test/Transforms/LoopVectorize/PowerPC/optimal-epilog-vectorization-profitability.ll
A llvm/test/Transforms/LoopVectorize/PowerPC/optimal-epilog-vectorization.ll
M llvm/test/Transforms/LoopVectorize/X86/invariant-load-gather.ll
M llvm/test/Transforms/LoopVectorize/X86/invariant-store-vectorization.ll
M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
A llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization-limitations.ll
A llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization-liveout.ll
A llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
Log Message:
-----------
[LV] Epilogue Vectorization with Optimal Control Flow
This is yet another attempt at providing support for epilogue
vectorization following discussions raised in RFC http://llvm.1065342.n5.nabble.com/llvm-dev-Proposal-RFC-Epilog-loop-vectorization-tt106322.html#none
and reviews D30247 and D88819.
Similar to D88819, this patch achieve epilogue vectorization by
executing a single vplan twice: once on the main loop and a second
time on the epilogue loop (using a different VF). However it's able
to handle more loops, and generates more optimal control flow for
cases where the trip count is too small to execute any code in vector
form.
Reviewed By: SjoerdMeijer
Differential Revision: https://reviews.llvm.org/D89566
Commit: b99e2b8b14f4ba50f9eb80bd5a2c1824099a7f96
https://github.com/llvm/llvm-project/commit/b99e2b8b14f4ba50f9eb80bd5a2c1824099a7f96
Author: Nico Weber <thakis at chromium.org>
Date: 2020-12-01 (Tue, 01 Dec 2020)
Changed paths:
M clang/lib/Driver/ToolChains/Darwin.cpp
Log Message:
-----------
clang/darwin: Use response files with ld64.lld.darwinnew
The new MachO lld just grew support for response files in D92149, so let
the clang driver use it.
Differential Revision: https://reviews.llvm.org/D92399
Commit: ae7ec47fc655537ce82c0bfee0b587921663eaff
https://github.com/llvm/llvm-project/commit/ae7ec47fc655537ce82c0bfee0b587921663eaff
Author: Roman Lebedev <lebedev.ri at gmail.com>
Date: 2020-12-01 (Tue, 01 Dec 2020)
Changed paths:
M clang-tools-extra/clang-tidy/rename_check.py
Log Message:
-----------
[NFC][clang-tidy] Port rename_check.py to Python3
Commit: 54eab293f523956bdc4b1a98b6cf5abc0bd1ef3f
https://github.com/llvm/llvm-project/commit/54eab293f523956bdc4b1a98b6cf5abc0bd1ef3f
Author: Nikita Popov <nikita.ppv at gmail.com>
Date: 2020-12-01 (Tue, 01 Dec 2020)
Changed paths:
M llvm/test/Analysis/BasicAA/phi-aa.ll
Log Message:
-----------
[BasicAA] Add test for suboptimal result with unknown sizes (NFC)
Commit: e0bf2349303f6b40e3ddd5377ea08a5c0867ece4
https://github.com/llvm/llvm-project/commit/e0bf2349303f6b40e3ddd5377ea08a5c0867ece4
Author: Rahman Lavaee <rahmanl at google.com>
Date: 2020-12-01 (Tue, 01 Dec 2020)
Changed paths:
M llvm/lib/MC/MCObjectFileInfo.cpp
M llvm/test/CodeGen/X86/basic-block-sections-labels.ll
Log Message:
-----------
Let .llvm_bb_addr_map section use the same unique id as its associated .text section.
Currently, `llvm_bb_addr_map` sections are generated per section names because we use
the `LinkedToSymbol` argument of getELFSection. This will cause the address map tables of functions
grouped into the same section when `-function-sections=true -unique-section-names=false` which is not
the intended behaviour. This patch lets the unique id of every `.text` section propagate to the associated
`.llvm_bb_addr_map` section.
Reviewed By: MaskRay
Differential Revision: https://reviews.llvm.org/D92113
Commit: c30d5101f14f7e8a1c0f80c8663b54de2a7640fd
https://github.com/llvm/llvm-project/commit/c30d5101f14f7e8a1c0f80c8663b54de2a7640fd
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2020-12-01 (Tue, 01 Dec 2020)
Changed paths:
M libcxx/include/numeric
Log Message:
-----------
[libc++] Optimize the number of assignments in std::exclusive_scan
Reported in https://twitter.com/blelbach/status/1169807347142676480
Differential Revision: https://reviews.llvm.org/D67273
Commit: c94af03f7f3223e917b00e1c0263a3b8d90b76bc
https://github.com/llvm/llvm-project/commit/c94af03f7f3223e917b00e1c0263a3b8d90b76bc
Author: Bardia Mahjour <bmahjour at ca.ibm.com>
Date: 2020-12-01 (Tue, 01 Dec 2020)
Changed paths:
M llvm/docs/Vectorizers.rst
R llvm/docs/epilogue-vectorization-cfg.png
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
R llvm/test/Transforms/LoopVectorize/PowerPC/optimal-epilog-vectorization-profitability.ll
R llvm/test/Transforms/LoopVectorize/PowerPC/optimal-epilog-vectorization.ll
M llvm/test/Transforms/LoopVectorize/X86/invariant-load-gather.ll
M llvm/test/Transforms/LoopVectorize/X86/invariant-store-vectorization.ll
M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
R llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization-limitations.ll
R llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization-liveout.ll
R llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
Log Message:
-----------
Revert "[LV] Epilogue Vectorization with Optimal Control Flow"
This reverts commit 9c5504adceb544d9954ddb8ff3035a414f4b1423.
Reverting to investigate build failure in http://lab.llvm.org:8011/#/builders/98/builds/1461/steps/9
Commit: 26d3aaeb3aac39329dd845bd0012ad961653dbc6
https://github.com/llvm/llvm-project/commit/26d3aaeb3aac39329dd845bd0012ad961653dbc6
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2020-12-01 (Tue, 01 Dec 2020)
Changed paths:
M lld/test/ELF/lto/verify-invalid.ll
M llvm/lib/LTO/LTOBackend.cpp
Log Message:
-----------
[LTO][NewPM] Run verifier when doing LTO
This matches the legacy PM.
Reviewed By: ychen
Differential Revision: https://reviews.llvm.org/D92138
Commit: bb993b1d9de34b8e47511a746bf4422ba206123b
https://github.com/llvm/llvm-project/commit/bb993b1d9de34b8e47511a746bf4422ba206123b
Author: Fangrui Song <i at maskray.me>
Date: 2020-12-01 (Tue, 01 Dec 2020)
Changed paths:
M lld/test/ELF/lto/version-script2.ll
Log Message:
-----------
[ELF][test] Fix lto/version-script2.ll
Commit: a5309438fe8d4f1212ae645bc0aaf71fdf73d028
https://github.com/llvm/llvm-project/commit/a5309438fe8d4f1212ae645bc0aaf71fdf73d028
Author: Fangrui Song <i at maskray.me>
Date: 2020-12-01 (Tue, 01 Dec 2020)
Changed paths:
M llvm/lib/Analysis/ReleaseModeModelRunner.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/IRReader/IRReader.cpp
M llvm/lib/Object/Archive.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
M llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
M llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp
M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
static const char *const foo => const char foo[]
By default, a non-template variable of non-volatile const-qualified type
having namespace-scope has internal linkage, so no need for `static`.
Commit: 37340798ccb00b9c3a53e8a5f1b6430e85870338
https://github.com/llvm/llvm-project/commit/37340798ccb00b9c3a53e8a5f1b6430e85870338
Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
Date: 2020-12-01 (Tue, 01 Dec 2020)
Changed paths:
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaOpenMP.cpp
A clang/test/OpenMP/template-specialization.cpp
Log Message:
-----------
Argument dependent lookup with class argument is recursing into base
classes that haven't been instantiated. This is generating an assertion
in DeclTemplate.h. Fix for Bug25668.
Commit: 4eaa024863f4a86151beb7971301c6ab10a9de01
https://github.com/llvm/llvm-project/commit/4eaa024863f4a86151beb7971301c6ab10a9de01
Author: Saleem Abdulrasool <compnerd at compnerd.org>
Date: 2020-12-01 (Tue, 01 Dec 2020)
Changed paths:
M clang/include/clang/APINotes/Types.h
M clang/lib/APINotes/APINotesTypes.cpp
Log Message:
-----------
APINotes: constify `dump` methods (NFC)
This simply marks the functions as const as they do not mutate the
value. This is useful for debugging iterations during development.
NFCI.
Commit: d7fec38f053659725c94fd4580a5fb56af046820
https://github.com/llvm/llvm-project/commit/d7fec38f053659725c94fd4580a5fb56af046820
Author: Layton Kifer <laytonkifer at gmail.com>
Date: 2020-12-01 (Tue, 01 Dec 2020)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAGCombiner][NFC] Replace duplicate implementation flipBoolean with DAG.getLogicalNOT
Reviewed By: lebedev.ri
Differential Revision: https://reviews.llvm.org/D92246
Commit: cacb1a9f930e35371c885cb572823626fc90a0ee
https://github.com/llvm/llvm-project/commit/cacb1a9f930e35371c885cb572823626fc90a0ee
Author: Nico Weber <thakis at chromium.org>
Date: 2020-12-01 (Tue, 01 Dec 2020)
Changed paths:
M llvm/utils/gn/build/sync_source_lists_from_cmake.py
Log Message:
-----------
[gn build] sync script: try to make sync script even clearer
Turns out startswith() takes an optional start parameter :)
No behavior change.
Commit: a36bd4c90dcca82be9b64f65dbd22e921b6485ef
https://github.com/llvm/llvm-project/commit/a36bd4c90dcca82be9b64f65dbd22e921b6485ef
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2020-12-01 (Tue, 01 Dec 2020)
Changed paths:
M clang/CMakeLists.txt
M clang/include/clang/Config/config.h.cmake
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/CMakeLists.txt
M clang/test/lit.site.cfg.py.in
M llvm/CMakeLists.txt
M llvm/include/llvm/Config/llvm-config.h.cmake
M llvm/utils/gn/secondary/clang/include/clang/Config/BUILD.gn
M llvm/utils/gn/secondary/clang/test/BUILD.gn
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
Log Message:
-----------
[CMake][NewPM] Move ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER into llvm/
This allows us to use its value everywhere, rather than just clang. Some
other places, like opt and lld, will use its value soon.
The #define for it is now in llvm-config.h.
Reviewed By: rnk, hans
Differential Revision: https://reviews.llvm.org/D92072
Commit: 79ba7967f4813445c3ce5624170c19584bbfda72
https://github.com/llvm/llvm-project/commit/79ba7967f4813445c3ce5624170c19584bbfda72
Author: Sylvain Audi <sylvain.audi at ubisoft.com>
Date: 2020-12-01 (Tue, 01 Dec 2020)
Changed paths:
A clang/test/ClangScanDeps/Inputs/target-filename-cdb.json
A clang/test/ClangScanDeps/target-filename.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
[clang-scan-deps] Improve argument parsing to find target object file path.
Support the joined version of -o (-ofilepath), and ensure we use the last provided -o option.
Differential Revision: https://reviews.llvm.org/D92330
Compare: https://github.com/llvm/llvm-project/compare/864dda5fd504...79ba7967f481
More information about the All-commits
mailing list