- Feb 02, 2022
-
-
Nemanja Ivanovic authored
The commit adds a unit test that uses the facilities of libLLVMCore without adding it to link components. This causes failures with the shared libraries builds. This patch just adds the missing library to the link step.
-
Tanya Lattner authored
-
Jacob Lambert authored
Differential Revision: https://reviews.llvm.org/D117801
-
Peter Klausler authored
Some entries in the specific intrinsic function table have the wrong argument keyword names -- they should agree with the names of the arguments on their corresponding generic intrinsic function. Clean them up. Differential Revision: https://reviews.llvm.org/D118721
-
Konstantin Varlamov authored
-
Hongtao Yu authored
Cleaning up data structures that are not used after a certain point. This further brings down peak memory usage by 15% for a large benchmark. Before: note: Before parsePerfTraces note: VM: 40.73 GB RSS: 39.18 GB note: Before parseAndAggregateTrace note: VM: 40.73 GB RSS: 39.18 GB note: After parseAndAggregateTrace note: VM: 88.93 GB RSS: 87.97 GB note: Before generateUnsymbolizedProfile note: VM: 88.95 GB RSS: 87.99 GB note: After generateUnsymbolizedProfile note: VM: 93.50 GB RSS: 92.53 GB note: After computeSizeForProfiledFunctions note: VM: 101.13 GB RSS: 99.36 GB note: After generateProbeBasedProfile note: VM: 215.61 GB RSS: 210.88 GB note: After postProcessProfiles note: VM: 237.48 GB RSS: 212.50 GB After: note: Before parsePerfTraces note: VM: 40.73 GB RSS: 39.18 GB note: Before parseAndAggregateTrace note: VM: 40.73 GB RSS: 39.18 GB note: After parseAndAggregateTrace note: VM: 88.93 GB RSS: 87.96 GB note: Before generateUnsymbolizedProfile note: VM: 88.95 GB RSS: 87.97 GB note: After generateUnsymbolizedProfile note: VM: 93.50 GB RSS: 92.51 GB note: After computeSizeForProfiledFunctions note: VM: 93.50 GB RSS: 92.53 GB note: After generateProbeBasedProfile note: VM: 164.87 GB RSS: 163.55 GB note: After postProcessProfiles note: VM: 182.28 GB RSS: 179.43 GB Reviewed By: wenlei, wlei Differential Revision: https://reviews.llvm.org/D118677
-
Peter Klausler authored
A blank field in an input record that exists must be interpreted as a zero value for numeric input editing, but advancing to a next record that doesn't exist should leave an input variable unmodified (and signal END=). On internal output, blank fill the "current record" array element even if nothing has been written to it if it is the only record. Differential Revision: https://reviews.llvm.org/D118720
-
David Blaikie authored
-
David Blaikie authored
This reverts commit ab475633. Breaks some cases, including this: namespace { template <typename> struct a {}; } // namespace class c { c(); }; class b { b(); a<c> ax; }; b::b() {} c::c() {} By producing a reference to a type unit for "c" but not producing the type unit.
-
Kirill Stoimenov authored
This reverts commit cf730d8c. It turned out that D118184 is causing segfaults in some situations. Reviewed By: vitalybuka, kda Differential Revision: https://reviews.llvm.org/D118739
-
Bixia Zheng authored
Move the functions that retrieve the supporting C library, compile an MLIR module and build a JIT execution engine to mlir_pytaco_utils. Add a function to create an MLIR sparse tensor from a file and return a pointer to the MLIR sparse tensor as well as the shape of the sparse tensor. Add unit tests. Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D118496
-
Fangrui Song authored
-
Hongtao Yu authored
This reverts commit 057e784b.
-
Konstantin Varlamov authored
-
Sander de Smalen authored
For some reason we limited the epilogue VF to be fixed-width, but there is not necessarily a reason for doing so. If the main VF=vscale x 16, the epilogue VF could be either fixed-width, or a scalable VF upto vscale x 8. Reviewed By: david-arm Differential Revision: https://reviews.llvm.org/D118688
-
Jameson Nash authored
This reverts commit ab3b8985 but disables the new test if the user has disabled support for building it.
-
Konstantin Varlamov authored
-
Anna Thomas authored
The code paths analyzed (all constructor invocations of fusion candidate) pass in a non-null DT. Adding this assert as requested in D118472 before converting this to a reference argument.
-
Anna Thomas authored
Cleanup code in peelLoop API. We already have usage of DT without guarding against a null DT, so this change constant folds the remaining null DT checks. Also make the argument a reference so that it is clear the argument is a nonnull DT. Extracted from D118472.
-
Nikolas Klauser authored
There is no practical difference between `_VSTD` and `std` so we should just remove `_VSTD`. This is the first step. Reviewed By: ldionne, #libc Spies: jeroen.dobbelaere, wmaxey, EricWF, lebedev.ri, __simt__, dim, mgrang, sstefan1, wenlei, smeenai, libcxx-commits, #libc_vendors Differential Revision: https://reviews.llvm.org/D117811
-
Aaron Ballman authored
-
Rainer Orth authored
Unfortunately, the `sanitizer_common` tests are disabled on many targets that are supported by `sanitizer_common`, making it easy to miss issues with that support. This patch enables SPARC testing. Beside the enabling proper, the patch fixes (together with D91607 <https://reviews.llvm.org/D91607>) the failures of the `symbolize_pc.cpp`, `symbolize_pc_demangle.cpp`, and `symbolize_pc_inline.cpp` tests. They lack calls to `__builtin_extract_return_addr`. When those are added, they `PASS` when compiled with `gcc`. `clang` incorrectly doesn't implement a non-default `__builtin_extract_return_addr` on several targets, SPARC included. Because `__builtin_extract_return_addr(__builtin_return_addr(0))` is quite a mouthful and I'm uncertain if the code needs to compile with msvc which appparently has it's own `_ReturnAddress`, I've introduced `__sanitizer_return_addr` to hide the difference and complexity. Because on 32-bit SPARC `__builtin_extract_return_addr` differs when the calling function returns a struct, I've added a testcase for that. There are a couple more tests failing on SPARC that I will deal with separately. Tested on `sparcv9-sun-solaris2.11`, `amd64-pc-solaris2.11`, and `x86_64-pc-linux-gnu`. Differential Revision: https://reviews.llvm.org/D91608
-
Mark de Wever authored
In D117811 @Quuxplusone pointed out the friend declarations don't need to be qualified. Removing the qualification should avoid needing to add a GCC work-around when changing _VSTD to std. Reviewed By: Quuxplusone, philnik, #libc, ldionne Differential Revision: https://reviews.llvm.org/D118719
-
Fangrui Song authored
-
Florian Hahn authored
Further extend test coverage added in 216d1a72
-
Hongtao Yu authored
Cleaning up data structures that are not used after a certain point. This further brings down peak memory usage by 15% for a large benchmark. Before: note: Before parsePerfTraces note: VM: 40.73 GB RSS: 39.18 GB note: Before parseAndAggregateTrace note: VM: 40.73 GB RSS: 39.18 GB note: After parseAndAggregateTrace note: VM: 88.93 GB RSS: 87.97 GB note: Before generateUnsymbolizedProfile note: VM: 88.95 GB RSS: 87.99 GB note: After generateUnsymbolizedProfile note: VM: 93.50 GB RSS: 92.53 GB note: After computeSizeForProfiledFunctions note: VM: 101.13 GB RSS: 99.36 GB note: After generateProbeBasedProfile note: VM: 215.61 GB RSS: 210.88 GB note: After postProcessProfiles note: VM: 237.48 GB RSS: 212.50 GB After: note: Before parsePerfTraces note: VM: 40.73 GB RSS: 39.18 GB note: Before parseAndAggregateTrace note: VM: 40.73 GB RSS: 39.18 GB note: After parseAndAggregateTrace note: VM: 88.93 GB RSS: 87.96 GB note: Before generateUnsymbolizedProfile note: VM: 88.95 GB RSS: 87.97 GB note: After generateUnsymbolizedProfile note: VM: 93.50 GB RSS: 92.51 GB note: After computeSizeForProfiledFunctions note: VM: 93.50 GB RSS: 92.53 GB note: After generateProbeBasedProfile note: VM: 164.87 GB RSS: 163.55 GB note: After postProcessProfiles note: VM: 182.28 GB RSS: 179.43 GB Reviewed By: wenlei, wlei Differential Revision: https://reviews.llvm.org/D118677
-
Sanjay Patel authored
-
Sanjay Patel authored
D118644
-
Daniel Resnick authored
Exposes mlir::DialectRegistry to the C API as MlirDialectRegistry along with helper functions. A hook has been added to MlirDialectHandle that inserts the dialect into a registry. A future possible change is removing mlirDialectHandleRegisterDialect in favor of using mlirDialectHandleInsertDialect, which it is now implemented with. Differential Revision: https://reviews.llvm.org/D118293
-
Stanislav Mekhanoshin authored
MemorySSA considers any atomic a def to any operation it dominates just like a barrier or fence. That is correct from memory state perspective, but not required for the no-clobber metadata since we are not using it for reordering. Skip such atomics during the scan just like a barrier if it does not alias with the load. Differential Revision: https://reviews.llvm.org/D118661
-
Louis Dionne authored
https://bugs.chromium.org/p/llvm/issues/detail?id=19 rdar://87912416 Differential Revision: https://reviews.llvm.org/D118134
-
Louis Dionne authored
Differential Revision: https://reviews.llvm.org/D118067
-
Florian Hahn authored
-
David Green authored
This reverts commit 100763a8 as it was making incorrect assumptions about implicit zero_extends.
-
Arthur O'Dwyer authored
If this is a SFINAE context, then continuing to look up names (in particular, to treat a non-function as a function, and then do ADL) might too-eagerly complete a type that it's not safe to complete right now. We should just say "okay, that's a substitution failure" and not do any more work than absolutely required. Fixes #52970. Differential Revision: https://reviews.llvm.org/D117603
-
Arthur O'Dwyer authored
Bug #52905 was originally papered over in a different way, but I believe this is the actually proper fix, or at least closer to it. We need to detect placeholder types as close to the front-end as possible, and cause them to fail constraints, rather than letting them persist into later stages. Fixes #52905. Fixes #52909. Fixes #53075. Differential Revision: https://reviews.llvm.org/D118552
-
Arthur O'Dwyer authored
https://cplusplus.github.io/LWG/issue3589 Differential Revision: https://reviews.llvm.org/D117961
-
Florian Mayer authored
setjmp can return twice, but PostDominatorTree is unaware of this. as such, it overestimates postdominance, leaving some cases (see attached compiler-rt) where memory does not get untagged on return. this causes false positives later in the program execution. this is a crude workaround to unblock use-after-scope for now, in the longer term PostDominatorTree should bemade aware of returns_twice function, as this may cause problems elsewhere. Reviewed By: eugenis Differential Revision: https://reviews.llvm.org/D118647
-
Valentin Clement authored
This patch lowers STOP statement without arguments and ERROR STOP. STOP statement with arguments lowering will come in later patches ince it requires some expression lowering to be added. STOP statement is lowered to a runtime call. Also makes sure we are creating a constant in the MLIR arith constant. This patch is part of the upstreaming effort from fir-dev branch. Reviewed By: kiranchandramohan, schweitz Differential Revision: https://reviews.llvm.org/D118697 Co-authored-by:
Eric Schweitz <eschweitz@nvidia.com>
-
Peter Klausler authored
Apply part of a pending patch for GCC 11 warnings, and rework a piece of code, to dodge warnings on flag from GCC 11 build bots exposed by a recent patch. Applying without review to get bots working again; changes also tested against GCC 9.3.0.
-