- Feb 20, 2021
-
-
Dávid Bolvanský authored
Revert "[BuildLibcalls] Mark some libcalls with inaccessiblememonly and inaccessiblemem_or_argmemonly" This reverts commit 05d891a1.
-
Dávid Bolvanský authored
Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D94850
-
Pan, Tao authored
There is a trailing dot in text section name if it has prefix, don't add repeated dot when connect text section name and symbol name. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D96327
-
Vitaly Buka authored
D95913 passes null pointer into memcpy This reverts commit 1a0afcf5.
-
Craig Topper authored
[ValueTypes] Assert if changeVectorElementType is called on a simple type with an extended element type. Previously we would use the extended implementation, but the extended implementation requires the vector type to be extended so that we can access the LLVMContext. In theory we could detect this case and use the context from the element type instead, but since I know of no cases hitting this in practice today I've done the simplest thing. Also add asserts to several extended EVT functions that assume LLVMTy is non-null. Follow from discussion in D97036 Reviewed By: pengfei Differential Revision: https://reviews.llvm.org/D97070
-
Jianzhou Zhao authored
This is a part of https://reviews.llvm.org/D95835. Reviewed-by: morehouse Differential Revision: https://reviews.llvm.org/D97087
-
Jacques Pienaar authored
Was still running into from definition of 'template<class T> struct llvm::DenseMapInfo' [-fpermissive] template <typename T> struct DenseMapInfo; ^ -
Eric Schweitz authored
This updates the various classes that support the compliation of Fortran. These classes are shared by the test tools. Authors: Eric Schweitz, Sameeran Joshi, et.al. Differential Revision: https://reviews.llvm.org/D97073
-
Mehdi Amini authored
This reverts commit f3606041 and reapply commit ae15b1e7. JIT test must be annotated to not run on Windows.
-
Yusra Syeda authored
This commit adds the initial changes to the SystemZ target description for the XPLINK 64-bit calling convention on z/OS. Additions include: - a new predicate IsTargetXPLINK64 - different register allocation order - generaton of nopr after a call Reviewed-by: uweigand Differential Revision: https://reviews.llvm.org/D96887
-
Petr Hosek authored
This matches debug info behavior. Differential Revision: https://reviews.llvm.org/D97001
-
Martin Storsjö authored
This feature can be built successfully for windows now. However, the helper functions for __int128_t aren't available in MSVC configurations, so don't enable it by default there yet. (See https://reviews.llvm.org/D91139 for discussion on how to proceed with things in MSVC environments.) Differential Revision: https://reviews.llvm.org/D97075
-
Philip Reames authored
The existing implementation was relying on order of evaluation to achieve a particular result. This got really confusing when wanting to change the handling for arguments in a later patch.
-
Christopher Tetreault authored
This patch adds the following intrinsics: vadd_p8 vadd_p16 vadd_p64 vaddq_p8 vaddq_p16 vaddq_p64 vaddq_p128 Reviewed By: t.p.northover, DavidSpickett, ctetreau Differential Revision: https://reviews.llvm.org/D96825 -
Amara Emerson authored
-
Stella Stamenova authored
This reverts commit ae15b1e7. This commit caused failures on the mlir windows buildbot
-
Jianzhou Zhao authored
This is a part of https://reviews.llvm.org/D95835. Reviewed-by: morehouse Differential Revision: https://reviews.llvm.org/D97065
-
zoecarver authored
This patch ensures that SFINAE is used to delete assignment operators in pair and tuple based on issue 2729. Differential Review: https://reviews.llvm.org/D62454
-
Craig Topper authored
-
Philip Reames authored
Realized after pushing this would probably fail on bots for other than x86-64.
-
Dave Lee authored
Rename `stop_vote` and `run_vote` to `report_stop_vote` and `report_run_vote` respectively. These variables are limited to logic involving (event) reporting only. This naming is intended to make their context more clear. Differential Revision: https://reviews.llvm.org/D96917
-
Philip Reames authored
-
Tim Shen authored
The current getFoldedSizeOf() implementation uses naive recursion, which could be really slow when the input structure type is too complex. This issue was first brought up in http://llvm.org/bugs/show_bug.cgi?id=8281; this change fixes it by adding memoization. Differential Revision: https://reviews.llvm.org/D6594
-
Eugene Zhulenev authored
This gives ~30x speedup compared to expanding Tanh into exp operations: ``` name old cpu/op new cpu/op delta BM_mlir_Tanh_f32/10 253ns ± 3% 55ns ± 7% -78.35% (p=0.000 n=44+41) BM_mlir_Tanh_f32/100 2.21µs ± 4% 0.14µs ± 8% -93.85% (p=0.000 n=48+49) BM_mlir_Tanh_f32/1k 22.6µs ± 4% 0.7µs ± 5% -96.68% (p=0.000 n=32+42) BM_mlir_Tanh_f32/10k 225µs ± 5% 7µs ± 6% -96.88% (p=0.000 n=49+55) name old time/op new time/op delta BM_mlir_Tanh_f32/10 259ns ± 1% 56ns ± 2% -78.31% (p=0.000 n=41+39) BM_mlir_Tanh_f32/100 2.27µs ± 1% 0.14µs ± 5% -93.89% (p=0.000 n=46+49) BM_mlir_Tanh_f32/1k 22.9µs ± 1% 0.8µs ± 4% -96.67% (p=0.000 n=30+42) BM_mlir_Tanh_f32/10k 230µs ± 0% 7µs ± 3% -96.88% (p=0.000 n=37+55) ``` This approximations is based on Eigen::generic_fast_tanh function Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D96739
-
Teresa Johnson authored
When WPD is enabled, via WholeProgramVTables, emit type metadata for available_externally vtables. Additionally, add the vtables to the llvm.compiler.used global so that they are not prematurely eliminated (before *LTO analysis). This is needed to avoid devirtualizing calls to a function overriding a class defined in a header file but with a strong definition in a shared library. Without type metadata on the available_externally vtables from the header, the WPD analysis never sees what a derived class is overriding. Even if the available_externally base class functions are pure virtual, because shared library definitions are already treated conservatively (committed patches D91583, D96721, and D96722) we will not devirtualize, which would be unsafe since the library might contain overrides that aren't visible to the LTO unit. An example is std::error_category, which is overridden in LLVM and causing failures after a self build with WPD enabled, because libstdc++ contains hidden overrides of the virtual base class methods. Differential Revision: https://reviews.llvm.org/D96919
-
Jianzhou Zhao authored
In terms of https://llvm.org/docs/LangRef.html#cmpxchg-instruction, the return type of chmpxchg is a pair {ty, i1}, while I think we only wanted to set the shadow for the address 0th op, and it has type ty. Reviewed-by: eugenis Differential Revision: https://reviews.llvm.org/D97029
-
Philip Reames authored
-
Eric Schweitz authored
cleanup post-merge
-
Sanjay Patel authored
Test coverage shows that we assert with the string from the tablegen defs file for these intrinsics, so these cases should never be live.
-
Sanjay Patel authored
As noted in D96904, we don't have direct tests for these malformed ops.
-
Martin Storsjö authored
This matches what MS STL returns; in std::filesystem, forward slashes are considered generic dir separators that are valid on all platforms. Differential Revision: https://reviews.llvm.org/D91181
-
Haowei Wu authored
This patch fixed a bug when elbabi was supplied with a tbe file contains no non-local symbol. Before this patch, it wrote 0 to sh_info of the .dynsym section, making the ELF stub file invalid. This patch fixed this issue. Differential Revision: https://reviews.llvm.org/D96930
-
zoecarver authored
Fixes LWG issue 2875. Differential Revision: https://reviews.llvm.org/D81414
-
Martin Storsjö authored
Differential Revision: https://reviews.llvm.org/D91179
-
Sanjay Patel authored
This is a fix for https://llvm.org/PR49215 either before/after we make a verifier enhancement for vector reductions with D96904. I'm not sure what the current thinking is for pointer math/logic in IR. We allow icmp on pointer values. Therefore, we match min/max patterns, so without this patch, the vectorizer could form a vector reduction from that sequence. But the LangRef definitions for min/max and vector reduction intrinsics do not allow pointer types: https://llvm.org/docs/LangRef.html#llvm-smax-intrinsic https://llvm.org/docs/LangRef.html#llvm-vector-reduce-umax-intrinsic So we would crash/assert at some point - either in IR verification, in the cost model, or in codegen. If we do want to allow this kind of transform, we will need to update the LangRef and all of those parts of the compiler. Differential Revision: https://reviews.llvm.org/D97047
-
Michael Kruse authored
-
Craig Topper authored
The VLX and VSX searchable tables, share the same format so we can have a common base class for them.
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-