[all-commits] [llvm/llvm-project] e42021: [Clang][-fvisibility-from-dllstorageclass] Set DSO...
Hongtao Yu via All-commits
all-commits at lists.llvm.org
Tue Nov 24 15:40:36 PST 2020
Branch: refs/heads/temp-test-main
Home: https://github.com/llvm/llvm-project
Commit: e42021d5cc25a8dc7e3efac1e7007cc0c1a7b2bd
https://github.com/llvm/llvm-project/commit/e42021d5cc25a8dc7e3efac1e7007cc0c1a7b2bd
Author: Ben Dunbobbin <Ben.Dunbobbin at sony.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGenCXX/visibility-dllstorageclass.cpp
Log Message:
-----------
[Clang][-fvisibility-from-dllstorageclass] Set DSO Locality from final visibility
Ensure that the DSO Locality of the globals in the IR is derived from
their final visibility when using -fvisibility-from-dllstorageclass.
To accomplish this we reset the DSO locality of globals (before
setting their visibility from their dllstorageclass) at the end of
IRGen in Clang. This removes any effects that visibility options or
annotations may have had on the DSO locality.
The resulting DSO locality of the globals will be pessimistic
w.r.t. to the normal compiler IRGen.
Differential Revision: https://reviews.llvm.org/D91779
Commit: 4bc88a0e9a2ee29959a9053e867ae6f051348554
https://github.com/llvm/llvm-project/commit/4bc88a0e9a2ee29959a9053e867ae6f051348554
Author: Yichao Yu <yyc1992 at gmail.com>
Date: 2020-11-23 (Mon, 23 Nov 2020)
Changed paths:
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/test/Transforms/LoopVectorize/float-reduction.ll
Log Message:
-----------
Enable support for floating-point division reductions
Similar to fsub, fdiv can also be vectorized using fmul.
Also http://llvm.org/viewvc/llvm-project?view=revision&revision=215200
Differential Revision: https://reviews.llvm.org/D34078
Co-authored-by: Jameson Nash <jameson at juliacomputing.com>
Commit: 8f1e0dcbb090243423faa4228ba58ddbae909c70
https://github.com/llvm/llvm-project/commit/8f1e0dcbb090243423faa4228ba58ddbae909c70
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2020-11-23 (Mon, 23 Nov 2020)
Changed paths:
M llvm/include/llvm/ADT/Statistic.h
M llvm/include/llvm/Config/abi-breaking.h.cmake
Log Message:
-----------
fix some Wundef warnings in public headers
Differential Revision: https://reviews.llvm.org/D91094
Commit: 97c8fba7e490db57d24a31c68ad12d7f840256d6
https://github.com/llvm/llvm-project/commit/97c8fba7e490db57d24a31c68ad12d7f840256d6
Author: Richard Smith <richard at metafoo.co.uk>
Date: 2020-11-23 (Mon, 23 Nov 2020)
Changed paths:
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
Log Message:
-----------
Fix signed integer overflow bug that's causing test failures with UBSan.
Commit: 3e6e6a2db674cd85b33c06b75685c6bce5acb154
https://github.com/llvm/llvm-project/commit/3e6e6a2db674cd85b33c06b75685c6bce5acb154
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2020-11-23 (Mon, 23 Nov 2020)
Changed paths:
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/XRefs.h
M clang-tools-extra/clangd/unittests/CMakeLists.txt
A clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
M clang-tools-extra/clangd/unittests/TestTU.cpp
Log Message:
-----------
[clangd] Call hierarchy (XRefs layer, incoming calls)
Support for outgoing calls is left for a future change.
Differential Revision: https://reviews.llvm.org/D91122
Commit: 4cb976e014db80efd20dfca45ba218c3a69aac42
https://github.com/llvm/llvm-project/commit/4cb976e014db80efd20dfca45ba218c3a69aac42
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2020-11-23 (Mon, 23 Nov 2020)
Changed paths:
M clang-tools-extra/clangd/ClangdServer.cpp
M clang-tools-extra/clangd/ClangdServer.h
Log Message:
-----------
[clangd] Call hierarchy (ClangdServer layer)
Differential Revision: https://reviews.llvm.org/D91123
Commit: 0a4f99c494d007a21652b1b3939bde4753042c33
https://github.com/llvm/llvm-project/commit/0a4f99c494d007a21652b1b3939bde4753042c33
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2020-11-23 (Mon, 23 Nov 2020)
Changed paths:
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/ClangdLSPServer.h
A clang-tools-extra/clangd/test/call-hierarchy.test
M clang-tools-extra/clangd/test/initialize-params.test
M clang-tools-extra/clangd/unittests/ClangdLSPServerTests.cpp
Log Message:
-----------
[clangd] Call hierarchy (ClangdLSPServer layer)
Differential Revision: https://reviews.llvm.org/D91124
Commit: dced150375d09df6266448342fbb066d638b59ef
https://github.com/llvm/llvm-project/commit/dced150375d09df6266448342fbb066d638b59ef
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2020-11-23 (Mon, 23 Nov 2020)
Changed paths:
M clang-tools-extra/clangd/ClangdServer.cpp
Log Message:
-----------
[clangd] Use WorkScheduler.run() in ClangdServer::resolveTypeHierarchy()
Differential Revision: https://reviews.llvm.org/D91941
Commit: 53310ae70841a771b1706dc6f7740957089a748b
https://github.com/llvm/llvm-project/commit/53310ae70841a771b1706dc6f7740957089a748b
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clangd/unittests/BUILD.gn
Log Message:
-----------
[gn build] Port 3e6e6a2db67
Commit: b20f3cc5b560ae15a8f9018eb96d65e6f5e125d1
https://github.com/llvm/llvm-project/commit/b20f3cc5b560ae15a8f9018eb96d65e6f5e125d1
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2020-11-23 (Mon, 23 Nov 2020)
Changed paths:
M lldb/test/API/functionalities/gdb_remote_client/TestProcessConnect.py
Log Message:
-----------
[lldb] Add platform select to TestProcessConnect.py
Extend TestProcessConnect to cover the scenario fixed by
6c0cd5676e0a0feaf836e0399023a6e21224467b. This replaces
command-process-connect.test which would fail if port 4321
was open.
Commit: 2bd4540f3816bb7acda31cba5351d02192d63f81
https://github.com/llvm/llvm-project/commit/2bd4540f3816bb7acda31cba5351d02192d63f81
Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_arm64.cpp
Log Message:
-----------
[LLDB] Fix typo in RegisterContextPOSIXProcessMonitor_arm64
This patch fixes a minor typo in RegisterContextPOSIXProcessMonitor_arm64
constructor where memset target was wrongly specified as m_fpr instead of
m_gpr_arm64.
Commit: 9194aa88676fbf6d215efbe461abe9ac18bc0ffc
https://github.com/llvm/llvm-project/commit/9194aa88676fbf6d215efbe461abe9ac18bc0ffc
Author: Nico Weber <thakis at chromium.org>
Date: 2020-11-23 (Mon, 23 Nov 2020)
Changed paths:
M llvm/utils/gn/build/write_library_dependencies.py
Log Message:
-----------
[gn build] modify hotfix in 17df195f705cef76a9 to work with all enabled targets
llvm-config output with the gn build is just good enough to make
tests pass, but llvm-config wants all .a files it knows about to
actually exist. So let it know about fewer .a files that don't
exist if not all targets are enabled.
Commit: bb1341161478dc589893cda9f808e5f5b859b5ae
https://github.com/llvm/llvm-project/commit/bb1341161478dc589893cda9f808e5f5b859b5ae
Author: Brandon Bergren <git at bdragon.rtk0.net>
Date: 2020-11-23 (Mon, 23 Nov 2020)
Changed paths:
M libunwind/src/Registers.hpp
M libunwind/src/UnwindRegistersRestore.S
M libunwind/src/UnwindRegistersSave.S
M libunwind/src/assembly.h
M libunwind/src/config.h
Log Message:
-----------
[libunwind] Multiple preprocessor fixes on PowerPC*
* Remove misnamed `PPC64_HAS_VMX` in preference of directly checking `defined(__VSX__)`.
libunwind was using "VMX" to mean "VSX". "VMX" is just another name for Altivec, while "VSX" is the vector-scalar extensions first used in POWER7. Exposing a "PPC64_HAS_VMX" define was misleading and incorrect.
* Add `defined(__ALTIVEC__)` guards around vector register operations to fix non-altivec CPUS such as the e5500.
When compiling for certain Book-E processors such as the e5500, we want to skip vector save/restore, as the Altivec registers are illegal on non-Altivec implementations.
* Add `!defined(__NO_FPRS__)` guards around traditional floating-point save/restore.
When compiling for powerpcspe, we cannot access floating point registers, as there aren't any. (The SPE on e500v2 is a 64-bit extension of the GPRs, and it doesn't have the normal floating-point registers at all.)
This fixes building for powerpcspe, although no actual handling for SPE save/restore is written yet.
Reviewed By: MaskRay, #libunwind, compnerd
Differential Revision: https://reviews.llvm.org/D91906
Commit: c2fb114475d15a1d39545f700b8c6d6e18367ca9
https://github.com/llvm/llvm-project/commit/c2fb114475d15a1d39545f700b8c6d6e18367ca9
Author: John Paul Adrian Glaubitz <glaubitz at physik.fu-berlin.de>
Date: 2020-11-23 (Mon, 23 Nov 2020)
Changed paths:
M clang/lib/Driver/ToolChains/Linux.cpp
R clang/test/Driver/Inputs/debian_8_sparc64_tree/lib/sparc64-linux-gnu/.keep
R clang/test/Driver/Inputs/debian_8_sparc64_tree/lib64/.keep
R clang/test/Driver/Inputs/debian_8_sparc64_tree/usr/include/c++/4.9/.keep
R clang/test/Driver/Inputs/debian_8_sparc64_tree/usr/include/sparc64-linux-gnu/c++/4.9/.keep
R clang/test/Driver/Inputs/debian_8_sparc64_tree/usr/lib/gcc/sparc64-linux-gnu/4.9/crtbegin.o
R clang/test/Driver/Inputs/debian_8_sparc64_tree/usr/lib/gcc/sparc64-linux-gnu/4.9/crtend.o
R clang/test/Driver/Inputs/debian_8_sparc64_tree/usr/lib/sparc64-linux-gnu/crt1.o
R clang/test/Driver/Inputs/debian_8_sparc64_tree/usr/lib/sparc64-linux-gnu/crti.o
R clang/test/Driver/Inputs/debian_8_sparc64_tree/usr/lib/sparc64-linux-gnu/crtn.o
R clang/test/Driver/Inputs/debian_8_sparc_multilib_tree/lib/sparc-linux-gnu/.keep
R clang/test/Driver/Inputs/debian_8_sparc_multilib_tree/lib64/.keep
R clang/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/include/c++/4.9/backward/.keep
R clang/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/include/sparc-linux-gnu/c++/4.9/64/.keep
R clang/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib/gcc/sparc-linux-gnu/4.9/64/crtbegin.o
R clang/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib/gcc/sparc-linux-gnu/4.9/64/crtend.o
R clang/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib/gcc/sparc-linux-gnu/4.9/crtbegin.o
R clang/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib/gcc/sparc-linux-gnu/4.9/crtend.o
R clang/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib/sparc-linux-gnu/crt1.o
R clang/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib/sparc-linux-gnu/crti.o
R clang/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib/sparc-linux-gnu/crtn.o
R clang/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib64/crt1.o
R clang/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib64/crti.o
R clang/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib64/crtn.o
A clang/test/Driver/Inputs/debian_multiarch_tree/lib/sparc-linux-gnu/.keep
A clang/test/Driver/Inputs/debian_multiarch_tree/lib/sparc64-linux-gnu/.keep
A clang/test/Driver/Inputs/debian_multiarch_tree/usr/include/c++/4.5/sparc-linux-gnu/.keep
A clang/test/Driver/Inputs/debian_multiarch_tree/usr/include/c++/4.5/sparc64-linux-gnu/.keep
A clang/test/Driver/Inputs/debian_multiarch_tree/usr/include/sparc-linux-gnu/.keep
A clang/test/Driver/Inputs/debian_multiarch_tree/usr/include/sparc64-linux-gnu/.keep
A clang/test/Driver/Inputs/debian_multiarch_tree/usr/lib/gcc/sparc-linux-gnu/4.5/crtbegin.o
A clang/test/Driver/Inputs/debian_multiarch_tree/usr/lib/gcc/sparc64-linux-gnu/4.5/crtbegin.o
A clang/test/Driver/Inputs/debian_multiarch_tree/usr/lib/sparc-linux-gnu/.keep
A clang/test/Driver/Inputs/debian_multiarch_tree/usr/lib/sparc64-linux-gnu/.keep
M clang/test/Driver/linux-header-search.cpp
M clang/test/Driver/linux-ld.c
Log Message:
-----------
[Driver] Enable getOSLibDir() lib32 workaround for SPARC on Linux
This fixes the Builtins-sparc-linux testsuite failures on Linux
SPARC which occur because clang cannot find the 32-bit runtime
libraries when -m32 is passed on the command line. The same
workaround is already being used on X86 and PPC.
Also, switch the CHECK-DEBIAN-SPARC tests to use debian_multiarch_tree
as both sparc and sparc64 are using the MultiArch mechanism on modern Debian
systems the same way as x86_64, powerpc64el and others. Thus, switch the
CHECK-DEBIAN-SPARC32 and CHECK-DEBIAN-SPARC64 tests to use the files from
the debian_multiarch_tree directory for the header and linker path tests.
Finally, rename CHECK-DEBIAN-SPARC32 to CHECK-DEBIAN-SPARC to match the naming
scheme of the Debian MultiArch checks for the other Debian architectures.
Reviewed By: MaskRay, phosek
Differential Revision: https://reviews.llvm.org/D90524
Commit: 51994f90b618d947427f3c95fe8168d1c848927c
https://github.com/llvm/llvm-project/commit/51994f90b618d947427f3c95fe8168d1c848927c
Author: Fangrui Song <i at maskray.me>
Date: 2020-11-23 (Mon, 23 Nov 2020)
Changed paths:
M llvm/cmake/modules/AddLLVM.cmake
Log Message:
-----------
[CMake] Unify LLVM_LINKER_IS_GOLD -Wl,--gc-sections setting with GNU ld and LLD
Commit: 1a9c72f8a8d014c2ae6408292e4f48e2e632f139
https://github.com/llvm/llvm-project/commit/1a9c72f8a8d014c2ae6408292e4f48e2e632f139
Author: Philip Reames <listmail at philipreames.com>
Date: 2020-11-23 (Mon, 23 Nov 2020)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LoopVec] Reuse a lambda [NFC]
Minor code refactor to improve readability.
Commit: 932e4f88157194986fa9624edfea9abb9fbde77f
https://github.com/llvm/llvm-project/commit/932e4f88157194986fa9624edfea9abb9fbde77f
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2020-11-23 (Mon, 23 Nov 2020)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/test/Transforms/FunctionAttrs/convergent.ll
Log Message:
-----------
[FunctionAttrs][NPM] Fix handling of convergent
The legacy pass didn't properly detect indirect calls.
We can still remove the convergent attribute when there are indirect
calls. The LangRef says:
> When it appears on a call/invoke, the convergent attribute indicates
that we should treat the call as though we’re calling a convergent
function. This is particularly useful on indirect calls; without this we
may treat such calls as though the target is non-convergent.
So don't skip handling of convergent when there are unknown calls.
Reviewed By: jdoerfert
Differential Revision: https://reviews.llvm.org/D89826
Commit: aff058b1a92dce2d08974a7d27fa7d032c87601d
https://github.com/llvm/llvm-project/commit/aff058b1a92dce2d08974a7d27fa7d032c87601d
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2020-11-23 (Mon, 23 Nov 2020)
Changed paths:
M llvm/include/llvm/Analysis/CGSCCPassManager.h
M llvm/lib/Analysis/CGSCCPassManager.cpp
M llvm/lib/Passes/PassBuilder.cpp
A llvm/test/Other/devirtualization-undef.ll
M llvm/test/Transforms/Inline/devirtualize-3.ll
A llvm/test/Transforms/Inline/devirtualize-5.ll
A llvm/test/Transforms/Inline/devirtualize-6.ll
M llvm/test/Transforms/Inline/devirtualize.ll
Log Message:
-----------
Reland [CGSCC] Detect devirtualization in more cases
The devirtualization wrapper misses cases where if it wraps a pass
manager, an individual pass may devirtualize an indirect call created by
a previous pass. For example, inlining may create a new indirect call
which is devirtualized by instcombine. Currently the devirtualization
wrapper will not see that because it only checks cgscc edges at the very
beginning and end of the pass (manager) it wraps.
This fixes some tests testing this exact behavior in the legacy PM.
Instead of checking WeakTrackingVHs for CallBases at the very beginning
and end of the pass it wraps, check every time
updateCGAndAnalysisManagerForPass() is called.
check-llvm and check-clang with -abort-on-max-devirt-iterations-reached
on by default doesn't show any failures outside of tests specifically
testing it so it doesn't needlessly rerun passes more than necessary.
(The NPM -O2/3 pipeline run the inliner/function simplification pipeline
under a devirtualization repeater pass up to 4 times by default).
http://llvm-compile-time-tracker.com/?config=O3&stat=instructions&remote=aeubanks
shows that 7zip has ~1% compile time regression. I looked at it and saw
that there indeed was devirtualization happening that was not previously
caught, so now it reruns the CGSCC pipeline on some SCCs, which is WAI.
The initial land assumed CallBase WeakTrackingVHs would always be
CallBases, but they can be RAUW'd with undef.
Reviewed By: asbirlea
Differential Revision: https://reviews.llvm.org/D89587
Commit: da3bc99bdd778ce2c22f17cab2b94eefcc285953
https://github.com/llvm/llvm-project/commit/da3bc99bdd778ce2c22f17cab2b94eefcc285953
Author: Kai Luo <lkail at cn.ibm.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M llvm/test/CodeGen/PowerPC/select.ll
Log Message:
-----------
[PowerPC] Pre-commit more tests for `select` codegen. NFC.
Commit: 5e9e335a247040a175855f99dbab5957064434ba
https://github.com/llvm/llvm-project/commit/5e9e335a247040a175855f99dbab5957064434ba
Author: Gabriel Hjort Åkerlund <gabriel.hjort.akerlund at ericsson.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
A llvm/test/TableGen/GlobalISelEmitter-zero-instr.td
M llvm/utils/TableGen/GlobalISelEmitter.cpp
Log Message:
-----------
[GlobalISel][TableGen] Fix seg fault for zero instruction
Tablegen seg faulted when parsing a Pat where the destination part has
no output (zero instruction), due to a register class lookup using
nullptr.
Reviewed By: Paul-C-Anagnostopoulos
Differential Revision: https://reviews.llvm.org/D90829
Commit: 0fb76b9035c8af48f63d965faadfb4b0e58b0a4f
https://github.com/llvm/llvm-project/commit/0fb76b9035c8af48f63d965faadfb4b0e58b0a4f
Author: Amara Emerson <amara at apple.com>
Date: 2020-11-23 (Mon, 23 Nov 2020)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-vector.mir
Log Message:
-----------
[AArch64][GlobalISel] Make <2 x p0> of G_SHUFFLE_VECTOR legal.
Commit: ca7fdf7ce098ace9ba24a94e985b24cd6801240d
https://github.com/llvm/llvm-project/commit/ca7fdf7ce098ace9ba24a94e985b24cd6801240d
Author: Amara Emerson <amara at apple.com>
Date: 2020-11-23 (Mon, 23 Nov 2020)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/select-dup.mir
Log Message:
-----------
[AArch64][GlobalISel] Add pre-isel lowering to convert p0 G_DUPs to use s64.
This uses the same reasoning as other similar conversions just before selection,
without it we miss out on selection because the importer considers s64 and p0
distinct types.
Commit: c3a331646eecf67d54e4d7ab06ed16a3bb6153b7
https://github.com/llvm/llvm-project/commit/c3a331646eecf67d54e4d7ab06ed16a3bb6153b7
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2020-11-23 (Mon, 23 Nov 2020)
Changed paths:
M llvm/test/Transforms/Inline/gvn-inline-iteration.ll
Log Message:
-----------
[test] Fix gvn-inline-iteration.ll under NPM
Commit: bce2ac9f6d3be91fc744f7efe76d52dbe1b683bf
https://github.com/llvm/llvm-project/commit/bce2ac9f6d3be91fc744f7efe76d52dbe1b683bf
Author: Pavel Labath <pavel at labath.sk>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h
R llvm/test/DebugInfo/ARM/implicit_value-_Float16.ll
Log Message:
-----------
Revert "[DebugInfo] Refactor code for emitting DWARF expressions for FP constants"
The commit introduced a crash when emitting (debug info for) complex
floats (pr48277).
Commit: 0b2d84fba84b098a2060862fcbcfccfb4ad1e3f2
https://github.com/llvm/llvm-project/commit/0b2d84fba84b098a2060862fcbcfccfb4ad1e3f2
Author: Martin Storsjö <martin at martin.st>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M lld/COFF/MinGW.cpp
A lld/test/COFF/wrap-dllimport.s
M lld/test/COFF/wrap-import.ll
Log Message:
-----------
[LLD] [COFF] Allow wrapping dllimported functions
GNU ld doesn't seem to do this though, but it looks like a reasonable
use case, is easy to implement, and was requested in
https://bugs.llvm.org/show_bug.cgi?id=47384.
Differential Revision: https://reviews.llvm.org/D91689
Commit: 029e199dbfd394c7a3c372a632a4ddac6b591648
https://github.com/llvm/llvm-project/commit/029e199dbfd394c7a3c372a632a4ddac6b591648
Author: Alex Zinenko <zinenko at google.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M mlir/lib/Bindings/Python/IRModules.cpp
A mlir/test/Bindings/CMakeLists.txt
A mlir/test/Bindings/Python/CMakeLists.txt
A mlir/test/Bindings/Python/dialects/python_test.py
M mlir/test/Bindings/Python/lit.local.cfg
A mlir/test/Bindings/Python/python_test_ops.td
M mlir/test/CMakeLists.txt
M mlir/tools/mlir-tblgen/OpPythonBindingGen.cpp
Log Message:
-----------
[mlir] Make attributes mutable in Python bindings
Attributes represent additional data about an operation and are intended to be
modifiable during the lifetime of the operation. In the dialect-specific Python
bindings, attributes are exposed as properties on the operation class. Allow
for assigning values to these properties. Also support creating new and
deleting existing attributes through the generic "attributes" property of an
operation. Any validity checking must be performed by the op verifier after the
mutation, similarly to C++. Operations are not invalidated in the process: no
dangling pointers can be created as all attributes are owned by the context and
will remain live even if they are not used in any operation.
Introduce a Python Test dialect by analogy with the Test dialect and to avoid
polluting the latter with Python-specific constructs. Use this dialect to
implement a test for the attribute access and mutation API.
Reviewed By: stellaraccident, mehdi_amini
Differential Revision: https://reviews.llvm.org/D91652
Commit: 803745b945f46d32770ee8805ef0f458660c441e
https://github.com/llvm/llvm-project/commit/803745b945f46d32770ee8805ef0f458660c441e
Author: Haowei Wu <haowei at google.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M llvm/lib/InterfaceStub/ELFObjHandler.cpp
M llvm/test/tools/llvm-elfabi/write-stub.test
Log Message:
-----------
[llvm-elfabi] Emit ELF .dynsym, .dynamic sections
This change makes llvm-elfabi tool to emit .dynsym and .dynamic
sections.
Differential Revision: https://reviews.llvm.org/D89432
Commit: ee6255d2074ccd50dfc9d993259caa0c5c4da4cd
https://github.com/llvm/llvm-project/commit/ee6255d2074ccd50dfc9d993259caa0c5c4da4cd
Author: Alex Zinenko <zinenko at google.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
A mlir/include/mlir/Bindings/Python/Attributes.td
R mlir/lib/Bindings/Python/Attributes.td
M mlir/lib/Bindings/Python/StandardOps.td
M mlir/test/Bindings/Python/python_test_ops.td
M mlir/test/mlir-tblgen/op-python-bindings.td
Log Message:
-----------
[mlir] move lib/Bindings/Python/Attributes.td to include/mlir/Bindings/Python
This file is intended to be included by other files, including
out-of-tree dialects, and makes more sense in `include` than in `lib`.
Depends On D91652
Reviewed By: mehdi_amini
Differential Revision: https://reviews.llvm.org/D91961
Commit: 5b6f47595bab686c6c3351fc1bd1f564add80dbf
https://github.com/llvm/llvm-project/commit/5b6f47595bab686c6c3351fc1bd1f564add80dbf
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/unittests/CallHierarchyTests.cpp
Log Message:
-----------
[clangd] Sort results of incomingCalls request by container name
Differential Revision: https://reviews.llvm.org/D92009
Commit: c3914bf28e3902c0e039eb31d2f36112a606dc58
https://github.com/llvm/llvm-project/commit/c3914bf28e3902c0e039eb31d2f36112a606dc58
Author: Georgii Rymar <grimar at accesssoftek.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M llvm/test/tools/llvm-readobj/ELF/groups.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[[lvm-readelf/obj] - Remove `tryGetSectionName` helper.
D91867 introduced the `tryGetSectionName` helper.
But we have `getPrintableSectionName` member with the similar
behavior which we can reuse. This patch does it.
Differential revision: https://reviews.llvm.org/D91954
Commit: 50bd686695ac2ca25996be7994808f93a2b753c5
https://github.com/llvm/llvm-project/commit/50bd686695ac2ca25996be7994808f93a2b753c5
Author: Evgeny Leviant <eleviant at accesssoftek.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M llvm/lib/Target/ARM/ARM.td
M llvm/lib/Target/ARM/ARMSchedule.td
M llvm/lib/Target/ARM/ARMScheduleA57.td
M llvm/lib/Target/ARM/ARMScheduleA57WriteRes.td
M llvm/test/tools/llvm-mca/ARM/cortex-a57-basic-instructions.s
M llvm/utils/TableGen/CodeGenSchedule.cpp
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
Add support for branch forms of ALU instructions to Cortex-A57 model
Patch fixes scheduling of ALU instructions which modify pc register. Patch
also fixes computation of mutually exclusive predicates for sequences of
variants to be properly expanded
Differential revision: https://reviews.llvm.org/D91266
Commit: 245052ac3080681915c4da59e871d43ea583debb
https://github.com/llvm/llvm-project/commit/245052ac3080681915c4da59e871d43ea583debb
Author: Georgii Rymar <grimar at accesssoftek.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M llvm/test/tools/llvm-readobj/ELF/stack-sizes.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[llvm-readelf/obj] - Improve the error reporting in printStackSize().
This stops using `RelocationRef` API in the `printStackSize` method
and starts using the "regular" API that is used in almost all other places
in ELFDumper.cpp.
This is not only makes the code to be more consistent, but helps to diagnose
issues better, because the `ELFObjectFile` API, which is used
currently to implement stack sized dumping sometimes has a behavior
that just doesn't work well for broken inputs.
E.g see how it gets the `symbol_end` iterator. It will just not work
well for a case when the `sh_size` is broken.
```
template <class ELFT>
basic_symbol_iterator ELFObjectFile<ELFT>::symbol_end() const {
...
DataRefImpl Sym = toDRI(SymTab, SymTab->sh_size / sizeof(Elf_Sym));
return basic_symbol_iterator(SymbolRef(Sym, this));
}
```
Differential revision: https://reviews.llvm.org/D91624
Commit: 6b74eabfddbc6629adbf6358f8e78893c4ee1d12
https://github.com/llvm/llvm-project/commit/6b74eabfddbc6629adbf6358f8e78893c4ee1d12
Author: Georgii Rymar <grimar at accesssoftek.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M llvm/test/tools/llvm-readobj/ELF/verdef-invalid.test
M llvm/test/tools/llvm-readobj/ELF/verneed-invalid.test
M llvm/test/tools/llvm-readobj/ELF/versym-invalid.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[llvm-readelf/obj] - Refine the implementation of `printGNUVersionSectionProlog`
This:
1) Changes its signature.
2) Refines the name of local variable (`SymTabName`->`LinkedSecName`,
because SHT_GNU_verneed/SHT_GNU_verdef are linked with the string table, not with the symbol table).
3) Stops using the `unwrapOrError` inside.
Differential revision: https://reviews.llvm.org/D91964
Commit: 5931be60b5238e5e134fcde75eb2d8121f3dca82
https://github.com/llvm/llvm-project/commit/5931be60b5238e5e134fcde75eb2d8121f3dca82
Author: Kai Luo <lkail at cn.ibm.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/neg-abs.ll
M llvm/test/CodeGen/PowerPC/neg-abs.ll
M llvm/test/CodeGen/RISCV/neg-abs.ll
Log Message:
-----------
[DAGCombine][PowerPC] Convert negated abs to trivial arithmetic ops
This patch converts `0 - abs(x)` to `Y = sra (X, size(X)-1); sub (Y, xor (X, Y))` for better codegen.
Reviewed By: RKSimon
Differential Revision: https://reviews.llvm.org/D91120
Commit: 78caf4f1bb13c4cf2af3ee9d9f8ff16f67a177c7
https://github.com/llvm/llvm-project/commit/78caf4f1bb13c4cf2af3ee9d9f8ff16f67a177c7
Author: Evgeny Leviant <eleviant at accesssoftek.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M llvm/utils/TableGen/CodeGenSchedule.cpp
Log Message:
-----------
[SchedModels] Limit set of predicates seen by mutuallyExclusive
Patch limits set of predicates seen by mutuallyExclusive to ones which belong
to current processor model. This needs to be done, because same predicate can
be used by multiple processor models which can make mutuallyExclusive over
optimistic.
Commit: 605be65c8b484c4d65bda456a0c81a45e8fd07bc
https://github.com/llvm/llvm-project/commit/605be65c8b484c4d65bda456a0c81a45e8fd07bc
Author: Marek Kurdej <marek.kurdej at gmail.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M libcxx/www/cxx1z_status.html
Log Message:
-----------
[libc++] [www] Fix HTML. NFC.
Needed for a future automatic update to RST.
Commit: 7b5254223acbf2ef9cd278070c5a84ab278d7e5f
https://github.com/llvm/llvm-project/commit/7b5254223acbf2ef9cd278070c5a84ab278d7e5f
Author: AndreyChurbanov <andrey.churbanov at intel.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M openmp/runtime/src/z_Linux_asm.S
Log Message:
-----------
[OpenMP] fix asm code for for arm64 (AARCH64) for Darwin/macOS
Adjusted external reference for Darwin/AARCH64 link compatibility.
Made size directive conditional only if __ELF__ defined.
Patch by Michael_Pique <mpique at icloud.com>
Differential Revision: https://reviews.llvm.org/D88252
Commit: fd92c5dbeeeb3c777f3a590328f8be41d856aafa
https://github.com/llvm/llvm-project/commit/fd92c5dbeeeb3c777f3a590328f8be41d856aafa
Author: Alexander Belyaev <pifon at google.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Bufferize.cpp
M mlir/test/Dialect/Linalg/bufferize.mlir
Log Message:
-----------
[mlir][linalg] Add bufferization pattern for `linalg.indexed_generic`.
Differential Revision: https://reviews.llvm.org/D92014
Commit: a2b59048d99040179c0106e86730f8a45f0e2286
https://github.com/llvm/llvm-project/commit/a2b59048d99040179c0106e86730f8a45f0e2286
Author: Evgeny Leviant <eleviant at accesssoftek.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M llvm/utils/TableGen/CodeGenSchedule.cpp
Log Message:
-----------
[SchedModels] Improve diagnostics. NFC
Commit: 02fdbc3567249471349474c70828cb5a5d4881c8
https://github.com/llvm/llvm-project/commit/02fdbc3567249471349474c70828cb5a5d4881c8
Author: Max Kazantsev <mkazantsev at azul.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M llvm/include/llvm/Analysis/ScalarEvolution.h
M llvm/lib/Analysis/ScalarEvolution.cpp
Log Message:
-----------
Revert "[NFC][SCEV] Generalize monotonicity check for full and limited iteration space"
This reverts commit 2734a9ebf4a31df0131acdfc739395a5e692c342.
This patch appeared to not be a NFC. It introduced an execution path where
monotonicity check on limited space started relying in existing nsw/nuw
flags, which is illegal. The motivating test will follow-up.
Commit: 3d95d1b477dee6c1a01f6802527b60ba74271ed5
https://github.com/llvm/llvm-project/commit/3d95d1b477dee6c1a01f6802527b60ba74271ed5
Author: Eugene Zhulenev <ezhulenev at google.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M mlir/lib/ExecutionEngine/AsyncRuntime.cpp
Log Message:
-----------
[mlir] AsyncRuntime: fix concurrency bugs + fix exports in methods definitions
1. Move ThreadPool ownership to the runtime, and wait for the async tasks completion in the destructor.
2. Remove MLIR_ASYNCRUNTIME_EXPORT from method definitions because they are unnecessary in .cpp files, as only function declarations need to be exported, not their definitions.
3. Fix concurrency bugs in group emplace and potential use-after-free in token emplace.
Tested internally 10k runs in `async.mlir` and `async-group.mlir`.
Fixed: https://bugs.llvm.org/show_bug.cgi?id=48267
Reviewed By: mehdi_amini
Differential Revision: https://reviews.llvm.org/D91988
Commit: 49e463ff803d144bec510d6c1e061aafbf3b27cf
https://github.com/llvm/llvm-project/commit/49e463ff803d144bec510d6c1e061aafbf3b27cf
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M llvm/lib/IR/Constants.cpp
M llvm/test/Transforms/InstCombine/vscale_extractelement.ll
Log Message:
-----------
[IR] Constant::getAggregateElement - early-out for ScalableVectorType
We can't call getNumElements() for ScalableVectorType types - just bail for now, although ConstantAggregateZero/UndefValue could return a reasonable value.
Fixes crash shown in OSS-Fuzz #25272 https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=25272
Commit: f726101b6240a6740b3c0926af759da5e7336f8a
https://github.com/llvm/llvm-project/commit/f726101b6240a6740b3c0926af759da5e7336f8a
Author: Kadir Cetinkaya <kadircet at google.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M clang-tools-extra/clangd/CMakeLists.txt
M clang-tools-extra/clangd/index/remote/CMakeLists.txt
M clang-tools-extra/clangd/index/remote/marshalling/CMakeLists.txt
M clang-tools-extra/clangd/index/remote/server/CMakeLists.txt
M clang-tools-extra/clangd/unittests/CMakeLists.txt
M llvm/cmake/modules/FindGRPC.cmake
Log Message:
-----------
[clangd] Fix shared-lib builds
Differential Revision: https://reviews.llvm.org/D91859
Commit: ca1f2f2716b3f9477ced8ae5bb3b0a2a767ab439
https://github.com/llvm/llvm-project/commit/ca1f2f2716b3f9477ced8ae5bb3b0a2a767ab439
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rv32Zbp.ll
M llvm/test/CodeGen/RISCV/rv64Zbp.ll
Log Message:
-----------
[RISCV] Combine GREVI sequences
This combine step performs the following type of transformation:
rev.p a0, a0 # grevi a0, a0, 0b01
rev2.n a0, a0 # grevi a0, a0, 0b10
-->
rev.n a0, a0 # grevi a0, a0, 0b11
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D91877
Commit: 1eded173a91d3bbfa283eacdabb191cd53dd49e5
https://github.com/llvm/llvm-project/commit/1eded173a91d3bbfa283eacdabb191cd53dd49e5
Author: Ulysse Beaugnon <ulysse at google.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M mlir/tools/mlir-tblgen/OpInterfacesGen.cpp
Log Message:
-----------
[MLIR] Fix TableGen generator for attribute interfaces.
Use the correct interface base type name when generating attribute interfaces
with TabeGen.
Reviewed By: ftynse
Differential Revision: https://reviews.llvm.org/D92023
Commit: 38236656ab4a4bea5e582f709929003abfa1ddcd
https://github.com/llvm/llvm-project/commit/38236656ab4a4bea5e582f709929003abfa1ddcd
Author: Hans Wennborg <hans at chromium.org>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M clang/docs/ThinLTO.rst
Log Message:
-----------
[docs] Try to make this bullet list in ThinLTO.rst actually be a bullet list
Commit: cb08558caa3bad69213b08e6361586491232c745
https://github.com/llvm/llvm-project/commit/cb08558caa3bad69213b08e6361586491232c745
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/UsersManual.rst
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/test/CodeGenCUDA/fp-contract.cu
M clang/test/Driver/autocomplete.c
Log Message:
-----------
[HIP] Fix regressions due to fp contract change
Recently HIP toolchain made a change to use clang instead of opt/llc to do compilation
(https://reviews.llvm.org/D81861). The intention is to make HIP toolchain canonical like
other toolchains.
However, this change introduced an unintentional change regarding backend fp fuse
option, which caused regressions in some HIP applications.
Basically before the change, HIP toolchain used clang to generate bitcode, then use
opt/llc to optimize bitcode and generate ISA. As such, the amdgpu backend takes
the default fp fuse mode which is 'Standard'. This mode respect contract flag of
fmul/fadd instructions and do not fuse fmul/fadd instructions without contract flag.
However, after the change, HIP toolchain now use clang to generate IR, do optimization,
and generate ISA as one process. Now amdgpu backend fp fuse option is determined
by -ffp-contract option, which is 'fast' by default. And this -ffp-contract=fast language option
is translated to 'Fast' fp fuse option in backend. Suddenly backend starts to fuse fmul/fadd
instructions without contract flag.
This causes wrong result for some device library functions, e.g. tan(-1e20), which should
return 0.8446, now returns -0.933. What is worse is that since backend with 'Fast' fp fuse
option does not respect contract flag, there is no way to use #pragma clang fp contract
directive to enforce fp contract requirements.
This patch fixes the regression by introducing a new value 'fast-honor-pragmas' for -ffp-contract
and use it for HIP by default. 'fast-honor-pragmas' is equivalent to 'fast' in frontend but
let the backend to use 'Standard' fp fuse option. 'fast-honor-pragmas' is useful since 'Fast'
fp fuse option in backend does not honor contract flag, it is of little use to HIP
applications since all code with #pragma STDC FP_CONTRACT or any IR from a
source compiled with -ffp-contract=on is broken.
Differential Revision: https://reviews.llvm.org/D90174
Commit: 32d9a386bf8f447dbbfaf55f6fef4fea4463205b
https://github.com/llvm/llvm-project/commit/32d9a386bf8f447dbbfaf55f6fef4fea4463205b
Author: Ayal Zaks <ayal.zaks at intel.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/dead_instructions.ll
Log Message:
-----------
[LV] Keep Primary Induction alive when folding tail by masking
Fix PR47390.
The primary induction should be considered alive when folding tail by masking,
because it will be used by said masking; even when it may otherwise appear
useless: feeding only its own 'bump', which is correctly considered dead, and
as the 'bump' of another induction variable, which may wrongfully want to
consider its bump = the primary induction, dead.
Differential Revision: https://reviews.llvm.org/D92017
Commit: e16c0a9a689719f379e49d0a05cb58774cce4adb
https://github.com/llvm/llvm-project/commit/e16c0a9a689719f379e49d0a05cb58774cce4adb
Author: Nico Weber <thakis at chromium.org>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M clang/include/clang/Driver/ToolChain.h
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
A clang/test/Driver/darwin-ld-demangle-lld.c
M lld/Common/Strings.cpp
M lld/MachO/Config.h
M lld/MachO/Driver.cpp
M lld/MachO/Options.td
M lld/MachO/Symbols.cpp
M lld/MachO/Writer.cpp
M lld/test/ELF/undef.s
A lld/test/MachO/demangle.s
M lld/test/MachO/silent-ignore.test
M lld/tools/lld/CMakeLists.txt
M llvm/utils/gn/secondary/lld/tools/lld/BUILD.gn
Log Message:
-----------
clang+lld: Improve clang+ld.darwinnew.lld interaction, pass -demangle
This patch:
- adds an ld64.lld.darwinnew symlink for lld, to go with f2710d4b576,
so that `clang -fuse-ld=lld.darwinnew` can be used to test new
Mach-O lld while it's in bring-up. (The expectation is that we'll
remove this again once new Mach-O lld is the defauld and only Mach-O
lld.)
- lets the clang driver know if the linker is lld (currently
only triggered if `-fuse-ld=lld` or `-fuse-ld=lld.darwinnew` is
passed). Currently only used for the next point, but could be used
to implement other features that need close coordination between
compiler and linker, e.g. having a diag for calling `clang++` instead
of `clang` when link errors are caused by a missing C++ stdlib.
- lets the clang driver pass `-demangle` to Mach-O lld (both old and
new), in addition to ld64
- implements -demangle for new Mach-O lld
- changes demangleItanium() to accept _Z, __Z, ___Z, ____Z prefixes
(and updates one test added in D68014). Mach-O has an extra
underscore for symbols, and the three (or, on Mach-O, four)
underscores are used for block names.
Differential Revision: https://reviews.llvm.org/D91884
Commit: a8de412f516c6b796aad9c3765962eca4d126a17
https://github.com/llvm/llvm-project/commit/a8de412f516c6b796aad9c3765962eca4d126a17
Author: Nicolas Vasilache <nicolas.vasilache at gmail.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M mlir/include/mlir/Dialect/StandardOps/IR/Ops.h
M mlir/include/mlir/Dialect/StandardOps/IR/Ops.td
M mlir/include/mlir/Interfaces/ViewLikeInterface.h
M mlir/include/mlir/Interfaces/ViewLikeInterface.td
M mlir/lib/Conversion/StandardToSPIRV/LegalizeStandardForSPIRV.cpp
M mlir/lib/Dialect/StandardOps/IR/Ops.cpp
M mlir/lib/Interfaces/ViewLikeInterface.cpp
M mlir/test/IR/invalid-ops.mlir
Log Message:
-----------
[mlir] NFC - Expose an OffsetSizeAndStrideOpInterface
This revision will make it easier to create new ops base on the strided memref abstraction outside of the std dialect.
OffsetSizeAndStrideOpInterface is an interface for ops that allow specifying mixed dynamic and static offsets, sizes and strides variadic operands.
Ops that implement this interface need to expose the following methods:
1. `getArrayAttrRanks` to specify the length of static integer
attributes.
2. `offsets`, `sizes` and `strides` variadic operands.
3. `static_offsets`, resp. `static_sizes` and `static_strides` integer
array attributes.
The invariants of this interface are:
1. `static_offsets`, `static_sizes` and `static_strides` have length
exactly `getArrayAttrRanks()`[0] (resp. [1], [2]).
2. `offsets`, `sizes` and `strides` have each length at most
`getArrayAttrRanks()`[0] (resp. [1], [2]).
3. if an entry of `static_offsets` (resp. `static_sizes`,
`static_strides`) is equal to a special sentinel value, namely
`ShapedType::kDynamicStrideOrOffset` (resp. `ShapedType::kDynamicSize`,
`ShapedType::kDynamicStrideOrOffset`), then the corresponding entry is
a dynamic offset (resp. size, stride).
4. a variadic `offset` (resp. `sizes`, `strides`) operand must be present
for each dynamic offset (resp. size, stride).
This interface is useful to factor out common behavior and provide support
for carrying or injecting static behavior through the use of the static
attributes.
Differential Revision: https://reviews.llvm.org/D92011
Commit: a6a6d11c7b05b5b317818246e09ededda671f0b9
https://github.com/llvm/llvm-project/commit/a6a6d11c7b05b5b317818246e09ededda671f0b9
Author: Evgeny Leviant <eleviant at accesssoftek.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
A llvm/test/MC/ARM/tMOVSr.s
Log Message:
-----------
[MC][ARM] Fix number of operands of tMOVSr
Differential revision: https://reviews.llvm.org/D92029
Commit: c80fbdf29191a698b3540d92c68aac6600e0c7a1
https://github.com/llvm/llvm-project/commit/c80fbdf29191a698b3540d92c68aac6600e0c7a1
Author: diggerlin <digger.llvm at gmail.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M llvm/include/llvm/Object/XCOFFObjectFile.h
M llvm/lib/Object/XCOFFObjectFile.cpp
M llvm/unittests/Object/XCOFFObjectFileTest.cpp
Log Message:
-----------
[NFC][AIX][XCOFF] change function name from getNumofGPRsSaved to getNumOfGPRsSaved
change function name from getNumofGPRsSaved to getNumOfGPRsSaved for class XCOFFTracebackTable
Reviewers: Jason Liu
Differential Revision: https://reviews.llvm.org/D91882
Commit: 9c3b68dc6fe1475bf49c2a878748de32cac83ede
https://github.com/llvm/llvm-project/commit/9c3b68dc6fe1475bf49c2a878748de32cac83ede
Author: Evgeny Leviant <eleviant at accesssoftek.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M llvm/lib/MCA/InstrBuilder.cpp
A llvm/test/tools/llvm-mca/ARM/cortex-a57-thumb.s
Log Message:
-----------
[llvm-mca] Fix processing thumb instruction set
Differential revision: https://reviews.llvm.org/D91704
Commit: 5ce85e66358a69e786093756c77fae2e140947c1
https://github.com/llvm/llvm-project/commit/5ce85e66358a69e786093756c77fae2e140947c1
Author: Nico Weber <thakis at chromium.org>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
A clang/test/Driver/Inputs/lld/ld64.lld
A clang/test/Driver/Inputs/lld/ld64.lld.darwinnew
M clang/test/Driver/darwin-ld-demangle-lld.c
Log Message:
-----------
Fix driver test from e16c0a9a689719
The test failed silently if lld wasn't built alongside clang.
But the test uses -###, so the "invalid linker name in -fuse-ld=lld"
diag didn't make clang fail, and something else happened to match
"-demangle", so the test passed.
To fix, pass -B to a directory with two empty +x files (which works
on non-Windows), and look for `"-demangle"` instead of just `-demangle`.
Also force linker_version to 0 and pass a darwin triple.
Differential Revision: https://reviews.llvm.org/D92028
Commit: 9e83d0bcdfe86fd13f2817c9f40c5ca0b08f1443
https://github.com/llvm/llvm-project/commit/9e83d0bcdfe86fd13f2817c9f40c5ca0b08f1443
Author: Sam McCall <sam.mccall at gmail.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M clang-tools-extra/clangd/DumpAST.cpp
M clang-tools-extra/clangd/unittests/DumpASTTests.cpp
Log Message:
-----------
[clangd] Mention when CXXThis is implicit in exposed AST.
Seeing an implicit this in the AST is pretty confusing I think.
While here, also mention when `this` is const.
Differential Revision: https://reviews.llvm.org/D91868
Commit: ee95c7020cebe4668a501f24305a76a044df5266
https://github.com/llvm/llvm-project/commit/ee95c7020cebe4668a501f24305a76a044df5266
Author: Arthur O'Dwyer <arthur.j.odwyer at gmail.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M libcxx/include/__config
M libcxx/include/__string
M libcxx/include/algorithm
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_n.pass.cpp
M libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/assign3.pass.cpp
M libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/copy.pass.cpp
M libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/move.pass.cpp
M libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/assign3.pass.cpp
M libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/copy.pass.cpp
M libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char8_t/move.pass.cpp
M libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/assign3.pass.cpp
M libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/copy.pass.cpp
M libcxx/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/move.pass.cpp
Log Message:
-----------
[libc++] Remove _LIBCPP_CONSTEXPR_AFTER_CXX17_WITH_IS_CONSTANT_EVALUATED.
Zoe Carver says: "We decided that libc++ only supports C++20 constexpr algorithms
when `is_constant_evaluated` is also supported. Here's a link to the discussion."
https://reviews.llvm.org/D65721#inline-735682
Remove _LIBCPP_HAS_NO_BUILTIN_IS_CONSTANT_EVALUATED from tests, too.
See Louis's 5911e6a8857f146fb5a8f23af1d768aba25e7c3e if needed to fix bots.
I've applied `UNSUPPORTED: clang-8` preemptively to the altered tests;
I don't know for sure that this was needed, because no clang-8 buildbots
are triggered on pull requests.
Commit: c8414fa9410841da20964758c89bf9e312941dfa
https://github.com/llvm/llvm-project/commit/c8414fa9410841da20964758c89bf9e312941dfa
Author: Nico Weber <thakis at chromium.org>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M lld/tools/lld/CMakeLists.txt
M llvm/utils/gn/secondary/lld/tools/lld/BUILD.gn
Log Message:
-----------
lld: Fix darwinnew symlink name added in e16c0a9a68971
Commit: 1b0ca81a6c358d2d52d4f84b7f42e620ead1ed26
https://github.com/llvm/llvm-project/commit/1b0ca81a6c358d2d52d4f84b7f42e620ead1ed26
Author: Sergey Dmitriev <serguei.n.dmitriev at intel.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M clang/tools/clang-offload-bundler/ClangOffloadBundler.cpp
Log Message:
-----------
[clang-offload-bundler] use std::forward_list for storing temp file names [NFC]
Use a different container that preserves existing elements on modification
for storing temporary file names. Current container can make StringRefs
returned earlier invalid on reallocation.
Reviewed By: ABataev
Differential Revision: https://reviews.llvm.org/D92010
Commit: 9a8386dba889b038c23bfc89dd0ff3cf55bbf86a
https://github.com/llvm/llvm-project/commit/9a8386dba889b038c23bfc89dd0ff3cf55bbf86a
Author: Nico Weber <thakis at chromium.org>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M clang/include/clang/Driver/ToolChain.h
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/test/Driver/darwin-ld-platform-version-ios.c
M clang/test/Driver/darwin-ld-platform-version-macos.c
M clang/test/Driver/darwin-ld-platform-version-tvos.c
M clang/test/Driver/darwin-ld-platform-version-watchos.c
Log Message:
-----------
clang: Pass -platform-version to new MachO LLD
New MachO LLD doesn't implement the old -macos_version_min (etc)
flags, but it understands the modern platform_version flag.
So make the clang driver pass that when using new MachO LLD.
Also, while here, don't pass -lto_library to LLD, since it
links in LTO libraries statically (which it can because it's
versioned alongside clang).
Differential Revision: https://reviews.llvm.org/D92037
Commit: b86a1cd2f8540b311b5b921235e612fea4134dff
https://github.com/llvm/llvm-project/commit/b86a1cd2f8540b311b5b921235e612fea4134dff
Author: Masoud Ataei <msd.ataei at gmail.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M llvm/lib/Target/PowerPC/PPCLowerMASSVEntries.cpp
M llvm/test/CodeGen/PowerPC/pow_massv_075_025exp.ll
M llvm/test/CodeGen/PowerPC/powf_massv_075_025exp.ll
Log Message:
-----------
[PowerPC] dyn_cast should be dyn_cast_or_null in MASSV pass
It is possible that we have different constants in different slots
of second vector double (float) of pow function. So, in this case
Exp->getSplatValue() will return nullptr. Here, I handle it properly.
Reviewed By: steven.zhang, PowerPC
Differential Revision: https://reviews.llvm.org/D91729
Commit: 11b76258331659daa57e15fe86c1f1234267a78d
https://github.com/llvm/llvm-project/commit/11b76258331659daa57e15fe86c1f1234267a78d
Author: Nico Weber <thakis at chromium.org>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M lld/COFF/DriverUtils.cpp
M lld/ELF/DriverUtils.cpp
M lld/MachO/DriverUtils.cpp
M lld/test/MachO/color-diagnostics.test
A lld/test/MachO/driver.test
M lld/test/MachO/silent-ignore.test
Log Message:
-----------
[lld/mac] Implement basic typo correction for flags
Also use "unknown flag 'flag'" instead of "unknown flag: flag" for
consistency with the other ports.
Differential Revision: https://reviews.llvm.org/D91970
Commit: 1a036e9cc82a7f6d6f4675d631fa5eecd8748784
https://github.com/llvm/llvm-project/commit/1a036e9cc82a7f6d6f4675d631fa5eecd8748784
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes.rst
M libcxx/include/bit
M libcxx/include/version
M libcxx/test/libcxx/numerics/bit.ops.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/bit.version.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.pass.cpp
A libcxx/test/std/numerics/bit/bit.pow.two/bit_ceil.fail.cpp
A libcxx/test/std/numerics/bit/bit.pow.two/bit_ceil.pass.cpp
A libcxx/test/std/numerics/bit/bit.pow.two/bit_floor.pass.cpp
A libcxx/test/std/numerics/bit/bit.pow.two/bit_width.pass.cpp
R libcxx/test/std/numerics/bit/bit.pow.two/ceil2.fail.cpp
R libcxx/test/std/numerics/bit/bit.pow.two/ceil2.pass.cpp
R libcxx/test/std/numerics/bit/bit.pow.two/floor2.pass.cpp
A libcxx/test/std/numerics/bit/bit.pow.two/has_single_bit.pass.cpp
R libcxx/test/std/numerics/bit/bit.pow.two/ispow2.pass.cpp
R libcxx/test/std/numerics/bit/bit.pow.two/log2p1.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
M libcxx/www/cxx2a_status.html
Log Message:
-----------
[libcxx] Implement P1956 rename low-level bit functions
Implements P1956: On the names of low-level bit manipulation functions.
Users may use older versions of libc++ or other standard libraries with the old names. In order to keep compatibility the old functions are kept, but marked as deprecated.
The patch also adds a new config macro `_LIBCPP_DEPRECATED_MSG`. Do you prefer a this is a separate patch?
Reviewed By: ldionne, #libc
Differential Revision: https://reviews.llvm.org/D90551
Commit: 9c8af93c93d0eec980cd58c194ad964e14d245ac
https://github.com/llvm/llvm-project/commit/9c8af93c93d0eec980cd58c194ad964e14d245ac
Author: Thomas Preud'homme <thomasp at graphcore.ai>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Log Message:
-----------
Add support for STRICT_FSETCC promotion
Add missing handling of STRICT_FSETCC promotion. This prevents assert
failure in llvm::TargetLoweringBase::getTypeToPromoteTo().
Reviewed By: uweigand
Differential Revision: https://reviews.llvm.org/D91962
Commit: 25777080549bb62b6e46a1809f93257969f5dd53
https://github.com/llvm/llvm-project/commit/25777080549bb62b6e46a1809f93257969f5dd53
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M llvm/test/Transforms/OpenMP/parallel_region_merging.ll
R llvm/test/Transforms/OpenMP/parallel_region_merging_legacy_pm.ll
Log Message:
-----------
[test] Merge parallel_region_merging{,_legacy_pm}.ll
These are identical except for the RUN lines.
Also pin legacy RUN line to legacy PM.
Commit: a248eca6659779116a6fb348117d74a0b8a05316
https://github.com/llvm/llvm-project/commit/a248eca6659779116a6fb348117d74a0b8a05316
Author: Yichao Yu <yyc1992 at gmail.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
Log Message:
-----------
Clear NewGEPBases after finish using them in CodeGenPrep pass
AFAICT all other set/map are correctly cleared in `runOnFunction`.
With assertion enabled this causes a crash when the module is freed and potentially if a later pass delete the instruction (not observed in real world though). Without assertion this can potentially cause confusing result when running on a new Function/Module.
Reviewed By: loladiro
Differential Revision: https://reviews.llvm.org/D84031
Commit: 44174b3d518ed70482ff5df2879523a4e26f92cc
https://github.com/llvm/llvm-project/commit/44174b3d518ed70482ff5df2879523a4e26f92cc
Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M clang/test/CodeGen/thinlto_embed_bitcode.ll
Log Message:
-----------
[NFC][tests] Replace non-portable grep with FileCheck
After commit 2482648a795afbe12774168bbbf70dc14c031267, a GNU grep option
is just passed unconditionally to `grep` in general. This patch fixes
the test for platforms where `grep` is not GNU grep.
Commit: 0ec73a61cca6cddf3255338c24fb5398fe45b74d
https://github.com/llvm/llvm-project/commit/0ec73a61cca6cddf3255338c24fb5398fe45b74d
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M libcxx/include/numeric
Log Message:
-----------
[libc++] NFC: Fix confusing indentation in <numeric>
Commit: db9713cd776ac5963efc502a5db6b315335aad9a
https://github.com/llvm/llvm-project/commit/db9713cd776ac5963efc502a5db6b315335aad9a
Author: Stella Laurenzo <stellaraccident at gmail.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
A mlir/test/Dialect/Tosa/constant_folding.mlir
Log Message:
-----------
[mlir] Add Tosa dialect const folder for tosa.const.
* Was missed in the initial submission and is required for a ConstantLike op.
* Also adds a materializeConstant hook to preserve it.
* Tightens up the argument constraint on tosa.const to match what is actually legal.
Differential Revision: https://reviews.llvm.org/D92040
Commit: 1f5c4a0d04ac0384218bf56e78e3c1d9c3c2f53f
https://github.com/llvm/llvm-project/commit/1f5c4a0d04ac0384218bf56e78e3c1d9c3c2f53f
Author: Victor Huang <wei.huang at ibm.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
M llvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp
A llvm/test/CodeGen/PowerPC/pcrel-tls_get_addr_clobbers.ll
Log Message:
-----------
[PowerPC][PCRelative] Add new pseudo instructions for PCRel TLS to fix R2 clobber issue
New pseudo instructions GETtlsADDRPCREL and GETtlsldADDRPCREL are added for properly
setting REGMASK for tls_get_addr function when using PCRelative address.
Differential Revisien: https://reviews.llvm.org/D91420
Reviewed by: bsaleil
Commit: 6e4c1cf2938842ceefc2712f0007843369dd16ca
https://github.com/llvm/llvm-project/commit/6e4c1cf2938842ceefc2712f0007843369dd16ca
Author: Teresa Johnson <tejohnson at google.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M clang/test/CodeGen/thinlto-distributed-cfi-devirt.ll
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
Log Message:
-----------
[ThinLTO/WPD] Enable -wholeprogramdevirt-skip in ThinLTO backends
Previously this option could be used to skip devirtualizations of the
given functions in regular LTO and in the ThinLTO indexing step. This
change allows them to be skipped in the backend as well, which is useful
when debugging WPD in a distributed ThinLTO backend.
Differential Revision: https://reviews.llvm.org/D91812
Commit: 760063267c462c21cfdeafb0d5fe63ecfa2f2c30
https://github.com/llvm/llvm-project/commit/760063267c462c21cfdeafb0d5fe63ecfa2f2c30
Author: Tei Jeong <taeheej at google.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M mlir/lib/Dialect/Quant/IR/TypeParser.cpp
M mlir/test/Dialect/Quant/parse-calibrated.mlir
Log Message:
-----------
Fix CalibratedQuantizedType's print function to match parser
Reviewed By: liufengdb
Differential Revision: https://reviews.llvm.org/D92034
Commit: 4926eed59c77bb452539d88a0a8ba3f3c21c4016
https://github.com/llvm/llvm-project/commit/4926eed59c77bb452539d88a0a8ba3f3c21c4016
Author: Jay Foad <jay.foad at amd.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIInstrFormats.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
Log Message:
-----------
[AMDGPU] Add a TRANS bit to TSFlags. NFC.
This is used to mark transcendental instructions that execute on a
separate pipeline from the normal VALU pipeline.
Differential Revision: https://reviews.llvm.org/D92042
Commit: f96fef89b5eca29f2dc41e97829c20bf742cdcd9
https://github.com/llvm/llvm-project/commit/f96fef89b5eca29f2dc41e97829c20bf742cdcd9
Author: Fangrui Song <i at maskray.me>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/test/Driver/aarch64-features.c
Log Message:
-----------
[Driver] Default Generic_GCC aarch64 to -fasynchronous-unwind-tables
In GCC, `aarch64-*-linux` and `aarch64-*-freebsd` made the switch in 2018
(https://gcc.gnu.org/pipermail/gcc-patches/2018-March/495549.html).
In Clang, FreeBSD/Fuchsia/NetBSD/MinGW aarch64 default to -fasynchronous-unwind-tables.
This patch defaults Generic_GCC aarch64 (which affects Linux) to use -fasynchronous-unwind-tables.
Reviewed By: nickdesaulniers
Differential Revision: https://reviews.llvm.org/D91760
Commit: 15481bba1ff2c03ff969cba8e0e7c37888f966a3
https://github.com/llvm/llvm-project/commit/15481bba1ff2c03ff969cba8e0e7c37888f966a3
Author: Stella Laurenzo <stellaraccident at gmail.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M mlir/CMakeLists.txt
M mlir/cmake/modules/MLIRDetectPythonEnv.cmake
Log Message:
-----------
[mlir][Python] Fix the last remaining instance of PYTHON_EXECUTABLE.
* Was causing auto-detect of pybind11 to fail on clean configure.
Differential Revision: https://reviews.llvm.org/D92043
Commit: f6e59294b63e1fd0b25720f24111cd17865004be
https://github.com/llvm/llvm-project/commit/f6e59294b63e1fd0b25720f24111cd17865004be
Author: Adam Czachorowski <adamcz at google.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M clang-tools-extra/clangd/refactor/tweaks/AddUsing.cpp
M clang-tools-extra/clangd/unittests/TweakTests.cpp
Log Message:
-----------
[clangd] AddUsing: Used spelled text instead of type name.
This improves the behavior related to type aliases, as well as cases of
typo correction.
Differential Revision: https://reviews.llvm.org/D91966
Commit: 42eaf4fe0adef3344adfd9fbccd49f325cb549ef
https://github.com/llvm/llvm-project/commit/42eaf4fe0adef3344adfd9fbccd49f325cb549ef
Author: Janek van Oirschot <janekvo at graphcore.ai>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/CodeGen/HardwareLoops.cpp
M llvm/test/CodeGen/PowerPC/shrink-wrap.ll
Log Message:
-----------
[HardwareLoops] Change order of SCEV expression construction for InitLoopCount.
Putting the +1 before the zero-extend will allow scalar evolution to fold the expression in some cases such as the one shown in PowerPC's `shrink-wrap.ll` test.
Reviewed By: samparker
Differential Revision: https://reviews.llvm.org/D91724
Commit: e3bb78293a13b0c85ee774615d1cf490e6f175d9
https://github.com/llvm/llvm-project/commit/e3bb78293a13b0c85ee774615d1cf490e6f175d9
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M llvm/test/Transforms/OpenMP/rtf_type_checking.ll
Log Message:
-----------
[test] Fix rtf_type_checking.ll under NPM
Commit: 785a2552550a3e2ddc83bbad95f987ad350477b6
https://github.com/llvm/llvm-project/commit/785a2552550a3e2ddc83bbad95f987ad350477b6
Author: Florian Hahn <flo at fhahn.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
A llvm/test/Transforms/DeadStoreElimination/MSSA/out-of-bounds-stores.ll
Log Message:
-----------
[DSE] Precommit test case for PR48279.
Commit: 116660257f789150e6c2f896ccc8cd605e153cd9
https://github.com/llvm/llvm-project/commit/116660257f789150e6c2f896ccc8cd605e153cd9
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M llvm/test/Transforms/OpenMP/parallel_deletion_cg_update.ll
Log Message:
-----------
[test] Pin parallel_deletion_cg_update.ll to legacy PM
This tests legacy PM-specific code.
Commit: 075468621c0f4569f4c91d4f3097b3a60812cfcc
https://github.com/llvm/llvm-project/commit/075468621c0f4569f4c91d4f3097b3a60812cfcc
Author: Philip Reames <listmail at philipreames.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LoopVec] Add a minor clarifying comment
Commit: a991d5334045d1e7f3c7e292245aecbce66184b0
https://github.com/llvm/llvm-project/commit/a991d5334045d1e7f3c7e292245aecbce66184b0
Author: Sanjay Patel <spatel at rotateright.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M llvm/test/Transforms/InstCombine/sub-gep.ll
Log Message:
-----------
[InstCombine] add tests for gep math; NFC
Commit: ccf6f15bc62b7c17c82a8cc2010eeaae470a1563
https://github.com/llvm/llvm-project/commit/ccf6f15bc62b7c17c82a8cc2010eeaae470a1563
Author: Sanjay Patel <spatel at rotateright.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M llvm/test/Transforms/InstCombine/sub.ll
Log Message:
-----------
[InstCombine] add tests for sub of muls; NFC
Commit: 678b9c5dde0d119e91f5f905c3d9101cf8c514f9
https://github.com/llvm/llvm-project/commit/678b9c5dde0d119e91f5f905c3d9101cf8c514f9
Author: Sanjay Patel <spatel at rotateright.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/test/Transforms/InstCombine/sub-gep.ll
M llvm/test/Transforms/InstCombine/sub.ll
Log Message:
-----------
[InstCombine] try difference-of-shifts factorization before negator
We need to preserve wrapping flags to allow better folds.
The cases with geps may be non-intuitive, but that appears to agree with Alive2:
https://alive2.llvm.org/ce/z/JQcqw7
We create 'nsw' ops independent from the original wrapping on the sub.
Commit: 1e821217cb3619449d536978bae7c9f05bdf0fa5
https://github.com/llvm/llvm-project/commit/1e821217cb3619449d536978bae7c9f05bdf0fa5
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M clang-tools-extra/clangd/refactor/Rename.cpp
Log Message:
-----------
[clangd] Add more trace spans for rename, NFC.
Commit: 5f0c1e380661f5a28fb8e87d70a68fa31e923436
https://github.com/llvm/llvm-project/commit/5f0c1e380661f5a28fb8e87d70a68fa31e923436
Author: zhanghb97 <hongbin2019 at iscas.ac.cn>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M mlir/lib/Bindings/Python/IRModules.cpp
M mlir/lib/Bindings/Python/PybindUtils.h
Log Message:
-----------
[mlir][Python] Sync Python bindings with C API MlirStringRef modification.
MLIR C API use the `MlirStringRef` instead of `const char *` for the string type now. This patch sync the Python bindings with the C API modification.
Differential Revision: https://reviews.llvm.org/D92007
Commit: b6c71c13a38b76942c9561575837c94215f23c9e
https://github.com/llvm/llvm-project/commit/b6c71c13a38b76942c9561575837c94215f23c9e
Author: Nicolas Vasilache <nicolas.vasilache at gmail.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M mlir/include/mlir/Interfaces/ViewLikeInterface.h
M mlir/lib/Dialect/StandardOps/IR/Ops.cpp
M mlir/lib/Interfaces/ViewLikeInterface.cpp
Log Message:
-----------
[mlir] NFC - Refactor and expose a parsing helper for OffsetSizeAndStrideInterface
Parse trailing part of an op of the form:
```
<optional-offset-prefix>`[` offset-list `]`
<optional-size-prefix>`[` size-list `]`
<optional-stride-prefix>[` stride-list `]`
```
Each entry in the offset, size and stride list either resolves to an integer
constant or an operand of index type.
Constants are added to the `result` as named integer array attributes with
name `OffsetSizeAndStrideOpInterface::getStaticOffsetsAttrName()` (resp.
`getStaticSizesAttrName()`, `getStaticStridesAttrName()`).
Append the number of offset, size and stride operands to `segmentSizes`
before adding it to `result` as the named attribute:
`OpTrait::AttrSizedOperandSegments<void>::getOperandSegmentSizeAttr()`.
Offset, size and stride operands resolution occurs after `preResolutionFn`
to give a chance to leading operands to resolve first, after parsing the
types.
```
ParseResult parseOffsetsSizesAndStrides(
OpAsmParser &parser, OperationState &result, ArrayRef<int> segmentSizes,
llvm::function_ref<ParseResult(OpAsmParser &, OperationState &)>
preResolutionFn = nullptr,
llvm::function_ref<ParseResult(OpAsmParser &)> parseOptionalOffsetPrefix =
nullptr,
llvm::function_ref<ParseResult(OpAsmParser &)> parseOptionalSizePrefix =
nullptr,
llvm::function_ref<ParseResult(OpAsmParser &)> parseOptionalStridePrefix =
nullptr);
```
Differential revision: https://reviews.llvm.org/D92030
Commit: 8f8bbf98dae1c513b70614a9640b861e6e240b5f
https://github.com/llvm/llvm-project/commit/8f8bbf98dae1c513b70614a9640b861e6e240b5f
Author: Fangrui Song <i at maskray.me>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
A clang/test/Driver/ppc-cpus.c
M clang/test/Driver/ppc-features.cpp
Log Message:
-----------
[test] Clean up ppc-features.cpp and improve tests
And add ppc-cpus.cpp for -mcpu= specific tests.
Commit: c24708102501115efae27f82c24d5991059a5770
https://github.com/llvm/llvm-project/commit/c24708102501115efae27f82c24d5991059a5770
Author: Nicolas Vasilache <nicolas.vasilache at gmail.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M mlir/include/mlir/Dialect/StandardOps/IR/Ops.td
M mlir/include/mlir/Interfaces/ViewLikeInterface.h
M mlir/include/mlir/Interfaces/ViewLikeInterface.td
M mlir/lib/Dialect/Linalg/Transforms/Fusion.cpp
M mlir/lib/Dialect/StandardOps/IR/Ops.cpp
M mlir/lib/Interfaces/ViewLikeInterface.cpp
Log Message:
-----------
[mlir] NFC - Refactor and expose a helper printOffsetSizesAndStrides helper function.
Print part of an op of the form:
```
<optional-offset-prefix>`[` offset-list `]`
<optional-size-prefix>`[` size-list `]`
<optional-stride-prefix>[` stride-list `]`
```
Also address some leftover nits.
Differential revision: https://reviews.llvm.org/D92031
Commit: 0768b0576a938b6a4832884384fcb02cd2f74e09
https://github.com/llvm/llvm-project/commit/0768b0576a938b6a4832884384fcb02cd2f74e09
Author: Teresa Johnson <tejohnson at google.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
Log Message:
-----------
Avoid redundant work when computing vtable vcall visibility
Add a Visited set to avoid repeatedly processing the same base classes
in complex class hierarchies. This cut down the compile time of one
source file from >12min to ~1min.
Differential Revision: https://reviews.llvm.org/D91676
Commit: 9c97e4ef4529ee2b518af6c1f2f68d2634946b3a
https://github.com/llvm/llvm-project/commit/9c97e4ef4529ee2b518af6c1f2f68d2634946b3a
Author: Marek Kurdej <marek at quasardb.net>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M libcxx/include/atomic
M libcxx/test/std/atomics/atomics.lockfree/isalwayslockfree.pass.cpp
M libcxx/test/std/atomics/atomics.lockfree/lockfree.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/integral.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/integral_typedefs.pass.cpp
M libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_helpers.h
M libcxx/test/std/atomics/types.pass.cpp
Log Message:
-----------
[libc++] [P0482] [C++20] Implement missing bits for atomic
Added: ATOMIC_CHAR8_T_LOCK_FREE, atomic<char8_t>, atomic_char8_t.
http://wg21.link/P0482
Reviewed By: ldionne, #libc
Differential Revision: https://reviews.llvm.org/D91706
Commit: 119545f4338efacabf99e06eeca965913f6617f2
https://github.com/llvm/llvm-project/commit/119545f4338efacabf99e06eeca965913f6617f2
Author: Alex Zinenko <zinenko at google.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M mlir/include/mlir/Conversion/Passes.h
M mlir/include/mlir/Conversion/Passes.td
A mlir/include/mlir/Conversion/SCFToOpenMP/SCFToOpenMP.h
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Conversion/CMakeLists.txt
M mlir/lib/Conversion/PassDetail.h
A mlir/lib/Conversion/SCFToOpenMP/CMakeLists.txt
A mlir/lib/Conversion/SCFToOpenMP/SCFToOpenMP.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
A mlir/test/Conversion/SCFToOpenMP/scf-to-openmp.mlir
Log Message:
-----------
[mlir] Add conversion from SCF parallel loops to OpenMP
Introduce a conversion pass from SCF parallel loops to OpenMP dialect
constructs - parallel region and workshare loop. Loops with reductions are not
supported because the OpenMP dialect cannot model them yet.
The conversion currently targets only one level of parallelism, i.e. only
one top-level `omp.parallel` operation is produced even if there are nested
`scf.parallel` operations that could be mapped to `omp.wsloop`. Nested
parallelism support is left for future work.
Reviewed By: kiranchandramohan
Differential Revision: https://reviews.llvm.org/D91982
Commit: 4f5355ee73626f8b8fe6bf0dd6d167fea7628a2c
https://github.com/llvm/llvm-project/commit/4f5355ee73626f8b8fe6bf0dd6d167fea7628a2c
Author: Sean Fertile <sd.fertile at gmail.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
A llvm/test/CodeGen/PowerPC/cvt_i64_to_fp.ll
Log Message:
-----------
[PowerPC] Don't reuse an illegal typed load for int_to_fp conversion.
When the operand to an (s/u)int_to_fp node is an illegally typed load we
cannot reuse the load address since we can not build a proper dependancy
chain. The legalized loads will use a different chain output then the
illegal load. If we reuse the load address then we will build a
conversion node that uses the chain of the illegal load and operations
which modify the memory address in the other dependancy chain can be
scheduled before the floating point load which feeds the conversion.
Differential Revision: https://reviews.llvm.org/D91265
Commit: b228e2bd92a7959b6a48ac208871ad0cb5c09ebf
https://github.com/llvm/llvm-project/commit/b228e2bd92a7959b6a48ac208871ad0cb5c09ebf
Author: Aart Bik <ajcbik at google.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Sparsification.cpp
M mlir/test/Dialect/Linalg/sparse_2d.mlir
Log Message:
-----------
[mlir][sparse] generalize invariant expression handling in sparse compiler
Generalizes invariant handling to anything defined outside the Linalg op
(parameters and SSA computations). Fixes bug that was using parameter number
as tensor number.
Reviewed By: penpornk
Differential Revision: https://reviews.llvm.org/D91985
Commit: dfbb5a087e20ea1c14300eef600e52360320b390
https://github.com/llvm/llvm-project/commit/dfbb5a087e20ea1c14300eef600e52360320b390
Author: Sean Silva <silvasean at google.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M mlir/include/mlir/Dialect/StandardOps/IR/Ops.td
M mlir/test/IR/invalid-ops.mlir
Log Message:
-----------
[mlir] Remove SameOperandsAndResultShape when redundant with ElementwiseMappable
SameOperandsAndResultShape and ElementwiseMappable have similar
verification, but in general neither is strictly redundant with the
other.
Examples:
- SameOperandsAndResultShape allows
`"foo"(%0) : tensor<2xf32> -> tensor<?xf32> but ElementwiseMappable
does not.
- ElementwiseMappable allows
`select %scalar_pred, %true_tensor, %false_tensor` but
SameOperandsAndResultShape does not.
SameOperandsAndResultShape is redundant with ElementwiseMappable when
we can prove that the mixed scalar/non-scalar case cannot happen. In
those situations, `ElementwiseMappable & SameOperandsAndResultShape ==
ElementwiseMappable`:
- Ops with 1 operand: the case of mixed scalar and non-scalar operands
cannot happen since there is only one operand.
- When SameTypeOperands is also present, the mixed scalar/non-scalar
operand case cannot happen.
Differential Revision: https://reviews.llvm.org/D91396
Commit: f8317bb256be2cd8ed81ebc567f0fa626b645f63
https://github.com/llvm/llvm-project/commit/f8317bb256be2cd8ed81ebc567f0fa626b645f63
Author: Luís Marques <luismarques at lowrisc.org>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
A llvm/test/CodeGen/RISCV/ghccc-rv32.ll
A llvm/test/CodeGen/RISCV/ghccc-rv64.ll
Log Message:
-----------
[RISCV] Add GHC calling convention
This is a special calling convention to be used by the GHC compiler.
Differential Revision: https://reviews.llvm.org/D89788
Commit: a200501bca4dc7f3292d824f249fa21a479e9873
https://github.com/llvm/llvm-project/commit/a200501bca4dc7f3292d824f249fa21a479e9873
Author: Adam Czachorowski <adamcz at google.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M clang-tools-extra/clangd/refactor/tweaks/AddUsing.cpp
M clang-tools-extra/clangd/unittests/TweakTests.cpp
Log Message:
-----------
[clangd] Addusing tweak: find insertion point after definition
When type/function is defined in the middle of the file, previuosly we
would sometimes insert a "using" line before that definition, leading to
a compilation error. With this fix, we pick a point after such
definition in translation unit.
This is not a perfect solution. For example, it still doesn't handle
"using namespace" directives. It is, however, a significant improvement.
Differential Revision: https://reviews.llvm.org/D92053
Commit: 77e98eaee2e8d4b9b297b66fda5b1e51e2a69999
https://github.com/llvm/llvm-project/commit/77e98eaee2e8d4b9b297b66fda5b1e51e2a69999
Author: cchen <chichunchen844 at gmail.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M clang/docs/OpenMPSupport.rst
Log Message:
-----------
[OpenMP50][DOCS] Mark target data non-contiguous as done, NFC.
Commit: 8d06a678a5c24e98034f6d48a19e734b2c87d22e
https://github.com/llvm/llvm-project/commit/8d06a678a5c24e98034f6d48a19e734b2c87d22e
Author: Hsiangkai Wang <kai.wang at sifive.com>
Date: 2020-11-25 (Wed, 25 Nov 2020)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp
M llvm/unittests/CodeGen/CMakeLists.txt
A llvm/unittests/CodeGen/SelectionDAGAddressAnalysisTest.cpp
Log Message:
-----------
[SelectionDAG] Avoid aliasing analysis if the object size is unknown.
If the size of memory access is unknown, do not use it to analysis. One
example of unknown size memory access is to load/store scalable vector
objects on the stack.
Differential Revision: https://reviews.llvm.org/D91833
Commit: 73c181cf3ab3dd8cfe48a97d71dffceec8e00af7
https://github.com/llvm/llvm-project/commit/73c181cf3ab3dd8cfe48a97d71dffceec8e00af7
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
Log Message:
-----------
[gn build] Port 8d06a678a5c
Commit: e4d9380245518ee8dcb765eb2e5f4f2788b53cc6
https://github.com/llvm/llvm-project/commit/e4d9380245518ee8dcb765eb2e5f4f2788b53cc6
Author: Luís Marques <luismarques at lowrisc.org>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
R llvm/test/CodeGen/RISCV/ghccc-rv32.ll
R llvm/test/CodeGen/RISCV/ghccc-rv64.ll
Log Message:
-----------
Revert "[RISCV] Add GHC calling convention"
This reverts commit f8317bb256be2cd8ed81ebc567f0fa626b645f63 due to lack of
proper attribution.
Commit: a8dc2110cd4dd69212a204bc1074729f95d5402a
https://github.com/llvm/llvm-project/commit/a8dc2110cd4dd69212a204bc1074729f95d5402a
Author: Luís Marques <luismarques at lowrisc.org>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
A llvm/test/CodeGen/RISCV/ghccc-rv32.ll
A llvm/test/CodeGen/RISCV/ghccc-rv64.ll
Log Message:
-----------
[RISCV] Add GHC calling convention
This is a special calling convention to be used by the GHC compiler.
Patch by Andreas Schwab (schwab)
Differential Revision: https://reviews.llvm.org/D89788
Commit: 0c926e6d245bec176bf2554a9f0bd48ef2276678
https://github.com/llvm/llvm-project/commit/0c926e6d245bec176bf2554a9f0bd48ef2276678
Author: Raphael Isemann <teemperor at gmail.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M clang/lib/AST/ASTImporter.cpp
M clang/unittests/AST/ASTImporterTest.cpp
Log Message:
-----------
[ASTImporter] Make the Import() return value consistent with the map of imported decls when merging ClassTemplateSpecializationDecls
When importing a `ClassTemplateSpecializationDecl` definition into a TU with a matching
`ClassTemplateSpecializationDecl` definition and a more recent forward decl, the ASTImporter
currently will call `MapImported()` for the definitions, but will return the forward declaration
from the `ASTImporter::Import()` call.
This is triggering some assertions in LLDB when we try to fully import some DeclContexts
before we delete the 'From' AST. The returned 'To' Decl before this patch is just the most recent
forward decl but that's not the Decl with the definition to which the ASTImporter will import
the child declarations.
This patch just changes that the ASTImporter returns the definition that the imported Decl was
merged with instead of the found forward declaration.
Reviewed By: martong
Differential Revision: https://reviews.llvm.org/D92016
Commit: 28de0fb4863a3cfef06c26260219089123a80c2f
https://github.com/llvm/llvm-project/commit/28de0fb4863a3cfef06c26260219089123a80c2f
Author: Luís Marques <luismarques at lowrisc.org>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M clang/lib/Basic/Targets/RISCV.cpp
Log Message:
-----------
[RISCV] Set __GCC_HAVE_SYNC_COMPARE_AND_SWAP_x defines
The RISCV target did not set the GCC atomic compare and swap defines,
unlike other targets. This broke builds for things like glib on RISCV.
Patch by Kristof Provost (kprovost)
Differential Revision: https://reviews.llvm.org/D91784
Commit: 22169e11c304780627c3ed1cc6bd0daf91e852c3
https://github.com/llvm/llvm-project/commit/22169e11c304780627c3ed1cc6bd0daf91e852c3
Author: Luís Marques <luismarques at lowrisc.org>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M llvm/test/MC/AsmParser/include.ll
Log Message:
-----------
[MC/AsmParser] Fix use of Arm calling convention in target-agnostic test
Remove target-specific calling convention specifier in target-agnostic test.
Differential Revision: https://reviews.llvm.org/D91042
Commit: 21b346bd70baa8e69d60988cc41cfd7b6ec98dfc
https://github.com/llvm/llvm-project/commit/21b346bd70baa8e69d60988cc41cfd7b6ec98dfc
Author: Alex Zinenko <zinenko at google.com>
Date: 2020-11-25 (Wed, 25 Nov 2020)
Changed paths:
M mlir/cmake/modules/MLIRDetectPythonEnv.cmake
Log Message:
-----------
[mlir] use STATUS instead of CHECK_* in MLIRDetectPythonEnv.cmake
CHECK_* directives for message() where added in Cmake 3.17, LLVM
requires 3.14 as minimum so they may not be intepreted correctly and
just print "CHECK_*" into the message stream. Replace them with STATUS.
Reviewed By: stellaraccident
Differential Revision: https://reviews.llvm.org/D91959
Commit: c92f29b05e68c251b20242daf0898af7cd4982a6
https://github.com/llvm/llvm-project/commit/c92f29b05e68c251b20242daf0898af7cd4982a6
Author: Zarko Todorovski <zarko at ca.ibm.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M clang/docs/ClangCommandLineReference.rst
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/CodeGen/altivec.c
A clang/test/Driver/aix-vec-extabi.c
A clang/test/Preprocessor/aix-vec_extabi.c
M llvm/include/llvm/CodeGen/CommandFlags.h
M llvm/include/llvm/Target/TargetOptions.h
M llvm/lib/CodeGen/CommandFlags.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
A llvm/test/CodeGen/PowerPC/aix-vec-abi.ll
Log Message:
-----------
[AIX] Add mabi=vec-extabi options to enable the AIX extended and default vector ABIs.
Added support for the options mabi=vec-extabi and mabi=vec-default which are analogous to qvecnvol and qnovecnvol when using XL on AIX.
The extended Altivec ABI on AIX is enabled using mabi=vec-extabi in clang and vec-extabi in llc.
Reviewed By: Xiangling_L, DiggerLin
Differential Revision: https://reviews.llvm.org/D89684
Commit: abbf4802bb4fb519dce436ba16d90c3eeb1135b1
https://github.com/llvm/llvm-project/commit/abbf4802bb4fb519dce436ba16d90c3eeb1135b1
Author: Hongtao Yu <hoy at fb.com>
Date: 2020-11-24 (Tue, 24 Nov 2020)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
Log Message:
-----------
[SelectionDAG] Add PseudoProbeSDNode to LargestSDNode to fix 32-bt build break.
Compare: https://github.com/llvm/llvm-project/compare/1b63177a56e8...abbf4802bb4f
More information about the All-commits
mailing list