This project is mirrored from https://github.com/llvm/llvm-project.git.
Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
Last successful update .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
Last successful update .
- Jul 27, 2021
-
-
Leonard Chan authored
This is empty for now, but we will add a check that TBI is enabled once the tagged pointer ABI for zircon is finalized. This depends on D105667. Differential Revision: https://reviews.llvm.org/D105668
-
Reid Kleckner authored
See llvm.org/pr51221
-
Michał Górny authored
Change SetCurrentThread*() logic not to include the zero padding in PID/TID that was a side effect of 02ef0f5a. This should fix problems caused by sending 64-bit integers to 32-bit servers. Reported by Ted Woodward. Differential Revision: https://reviews.llvm.org/D106832
-
Leonard Chan authored
These are required by MemIsShadow for checking if an address actually is shadow memory. Differential Revision: https://reviews.llvm.org/D105745
-
Rahul Joshi authored
- `scf.yield` in the "after" region supplies new arguments to the "before" region. Differential Revision: https://reviews.llvm.org/D106806
-
Arthur O'Dwyer authored
Thanks to gAlfonso-bit for the patch! Differential Revision: https://reviews.llvm.org/D106691
-
Amara Emerson authored
We see some shifts of zero emitted during legalization. Differential Revision: https://reviews.llvm.org/D106816
-
Fangrui Song authored
-
Peter Steinfeld authored
Since BOZ literal arguments are typeless, we cannot know how to pass them as actual arguments to procedures with implicit interfaces. This change avoids the problem by emitting an error message in such situations. This change stemmed from the following issue -- https://github.com/flang-compiler/f18-llvm-project/issues/794 Differential Revision: https://reviews.llvm.org/D106831
-
Amara Emerson authored
Use it AArch64 post-legal combiner. These don't always get folded because when the instructions are created the constants are obscured by artifacts. Differential Revision: https://reviews.llvm.org/D106776
-
Heejin Ahn authored
Dominator trees were previously used for an optimization related to `wasm.lsda` but the optimization was removed in D97309. Currently dominators are not doing anything in this pass. Also removes some `include` lines without which it compiles. Reviewed By: tlively Differential Revision: https://reviews.llvm.org/D106811
-
Joseph Huber authored
This patch adds the always inline attribute to the outlined functions generated by OpenMP regions. Because there is only a single instance of this function and it always has internal linkage it is safe to inline in every instance it is created. This could potentially lead to performance degredation due to inflated register counts in the parallel region. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D106799
-
Omar Emara authored
This patch adds an Arch field that inputs and validates an arch spec. Differential Revision: https://reviews.llvm.org/D106564
-
Omar Emara authored
This patch expands the tree item that corresponds to the selected thread by default in the Threads window. Additionally, the tree root item is always expanded, which is the process in the Threads window. Reviewed By: clayborg Differential Revision: https://reviews.llvm.org/D100243
-
Heejin Ahn authored
When Emscripten EH mixes with Emscripten SjLj, we are not currently handling some of them correctly. There are three cases: 1. The current function calls `setjmp` and there is an `invoke` to a function that can either throw or longjmp. In this case, we have to check both for exception and longjmp. We are currently handling this case correctly: https://github.com/llvm/llvm-project/blob/0c0eb76782d5224b8d81a5afbb9a152bcf7c94c7/llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp#L1058-L1090 When inserting routines for functions that can longjmp, which we do only for setjmp-calling functions, we check if the function was previously an `invoke` and handle it correctly. 2. The current function does NOT call `setjmp` and there is an `invoke` to a function that can either throw or longjmp. Because there is no `setjmp` call, we haven't been doing any check for functions that can longjmp. But in that case, for `invoke`, we only check for an exception and if it is not an exception we reset `__THREW__` to 0, which can silently swallow the longjmp: https://github.com/llvm/llvm-project/blob/0c0eb76782d5224b8d81a5afbb9a152bcf7c94c7/llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp#L70-L80 This CL fixes this. 3. The current function calls `setjmp` and there is no `invoke`. Because it is not an `invoke`, we haven't been doing any check for functions that can throw, and only insert longjmp-checking routines for functions that can longjmp. But in that case, if a longjmpable function throws, we only check for a longjmp so if it is not a longjmp we reset `__THREW__` to 0, which can silently swallow the exception: https://github.com/llvm/llvm-project/blob/0c0eb76782d5224b8d81a5afbb9a152bcf7c94c7/llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp#L156-L169 This CL fixes this. To do that, this moves around some code, so we register necessary functions for both EH and SjLj and precompute some data (the set of functions that contains `setjmp`) before doing actual EH or SjLj transformation. This CL makes 2nd and 3rd tests in https://github.com/emscripten-core/emscripten/pull/14732 work. Reviewed By: dschuff Differential Revision: https://reviews.llvm.org/D106525
-
Arthur O'Dwyer authored
See LWG reflector thread of 2021-07-23 titled 'Question on ranges::advance and "past-the-sentinel iterators"'. Test case heavily based on one graciously provided by Casey Carter. Differential Revision: https://reviews.llvm.org/D106735
-
Arthur O'Dwyer authored
-
Louis Dionne authored
This is a NFC commit to normalize how we set target properties on the various runtime targets. A follow-up patch is going to add new properties, and I wanted that follow-up patch to be cleaner.
-
Joseph Huber authored
This patch adds a driver flag `-fopenmp-target-new-runtime` to optionally enable the new device runtime bitcode library. This allows users to enable the new experimental runtime before it becomes the default in the future. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D106793
-
Michael Kruse authored
Fix the external-io unittest under Windows. In particular, fixes the following issues: 1. When creating a temporary file, open it with read+write permissions using the _O_RDWR flag. _S_IREAD and _S_IWRITE are for the file permissions of the created file. 2. _chsize returns 0 on success (just like ftruncate). 3. To set a std::optional, use its assign-operator overload instead of getting a reference to its value and overwrite that. The latter is invalid if the std::optional has no value, and is caught by msvc's debug STL. The non-GTest unittest is currently not executed under Windows because of the added .exe extension to the output file: external-io.text.exe. llvm-lit skips the file because .exe is not in the lists of test suffixes (.test is). D105315 is going to change that by converting it to a GTest-test. Reviewed By: awarzynski Differential Revision: https://reviews.llvm.org/D106726
-
Roman Lebedev authored
The very next SimplifyCFG pass invocation will tail-merge these two ret's anyways, there is not much point in creating more work for ourselves.
-
Roman Lebedev authored
Nowadays, simplifycfg pass already tail-merges all the ret blocks together before doing anything, and it should not increase the count of ret's, so this is dead code.
-
Roman Lebedev authored
This functionality existed only under a default-off flag, and simplifycfg nowadays prefers to not increase the count of ret's.
-
Matheus Izvekov authored
This patch replaces the workaround for simpler implicit moves implemented in D105518. The Microsoft STL currently has some issues with P2266. Where before, with -fms-compatibility, we would disable simpler implicit moves globally, with this change, we disable it only when the returned expression is in a context contained by std namespace and is located within a system header. Signed-off-by:
Matheus Izvekov <mizvekov@gmail.com> Reviewed By: aaron.ballman, mibintc Differential Revision: https://reviews.llvm.org/D105951
-
Matheus Izvekov authored
This fixes an assert firing when compiling code which involves 128 bit integrals. This would trigger runtime checks similar to this: ``` Assertion failed: getMinSignedBits() <= 64 && "Too many bits for int64_t", file llvm/include/llvm/ADT/APInt.h, line 1646 ``` To get around this, we just saturate those big values. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D105320
-
Joseph Huber authored
Summary: Fixes some typos in the OpenMP documentation.
-
David Green authored
-
Lei Huang authored
Add td definitions and asm/disasm tests for the addex instruction introduced in ISA 3.0. Reviewed By: nemanjai, amyk, NeHuang Differential Revision: https://reviews.llvm.org/D106666
-
Sander de Smalen authored
Invalid costs can be used to avoid vectorization with a given VF, which is used for scalable vectors to avoid things that the code-generator cannot handle. If we override the cost using the -force-target-instruction-cost option of the LV, we would override this mechanism, rendering the flag useless. This change ensures the cost is only overriden when the original cost that was calculated is valid. That allows the flag to be used in combination with the -scalable-vectorization option. Reviewed By: david-arm Differential Revision: https://reviews.llvm.org/D106677
-
Sander de Smalen authored
This change moves most of `sve-inductions.ll` to non-AArch64 specific LV tests using the `-target-supports-scalable-vectors` flag, because they're not explicitly AArch64-specific. One test builds on AArch64-specific knowledge regarding masked loads/stores, and remains in sve-inductions.ll.
-
Alex Langford authored
I cannot find any users of these anywhere and they have been commented out for years.
-
Reid Kleckner authored
-
Reid Kleckner authored
DIEnumerator stores an APInt as of April 2020, so now we don't need to truncate the enumerator value to 64 bits. Fixes assertions during IRGen. Split from D105320, thanks to Matheus Izvekov for the test case and report. Differential Revision: https://reviews.llvm.org/D106585
-
Lei Huang authored
This is a followup patch for D105930 to add implicit-def of RM for mtfsb[01] instructions as per review comments. Reviewed By: nemanjai Differential Revision: https://reviews.llvm.org/D106603
-
Joseph Huber authored
Summary: There was an unnecessary variable assigned to the information cache when we only need it in the constructor to extract the function declaration.
-
Louis Dionne authored
Differential Revision: https://reviews.llvm.org/D106704
-
Louis Dionne authored
Even though the standalone build is deprecated, some people are still relying on it (including libc++ itself for some configurations). Setting the target triple will ensure that the build and the test suite behaves consistently in the standalone and normal builds. Differential Revision: https://reviews.llvm.org/D106800
-
Eli Friedman authored
-
Michael Liao authored
Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D106445
-
Craig Topper authored
The same condition was checked in the previous if. Maybe this was a bad merge resolution?
-