- Oct 30, 2020
-
-
Roman Lebedev authored
And use it to model LLVM IR's `ptrtoint` cast. This is essentially an alternative to D88806, but with no chance for all the problems it caused due to having the cast as implicit there. (see rG7ee6c402) As we've established by now, there are at least two reasons why we want this: * It will allow SCEV to actually model the `ptrtoint` casts and their operands, instead of treating them as `SCEVUnknown` * It should help with initial problem of PR46786 - this should eventually allow us to not loose pointer-ness of an expression in more cases As discussed in [[ https://bugs.llvm.org/show_bug.cgi?id=46786 | PR46786 ]], in principle, we could just extend `SCEVUnknown` with a `is ptrtoint` cast, because `ScalarEvolution::getPtrToIntExpr()` should sink the cast as far down into the expression as possible, so in the end we should always end up with `SCEVPtrToIntExpr` of `SCEVUnknown`. But i think that it isn't the best solution, because it doesn't really matter from memory consumption side - there probably won't be *that* many `SCEVPtrToIntExpr`s for it to matter, and it allows for much better discoverability. Reviewed By: mkazantsev Differential Revision: https://reviews.llvm.org/D89456
-
Michael Roe authored
Differential revision: https://reviews.llvm.org/D90321
-
Vitaly Buka authored
From D89768
-
River Riddle authored
Previously they were separated into "instance" and "kind" aliases, and also required that the dialect know ahead of time all of the instances that would have a corresponding alias. This approach was very clunky and not ergonomic to interact with. The new approach is to provide the dialect with an instance of an attribute/type to provide an alias for, fully replacing the original split approach. Differential Revision: https://reviews.llvm.org/D89354
-
Vitaly Buka authored
-
Xun Li authored
The existing logic in determining whether an alloca should live on the frame only looks explicit def-use relationships. However a value defined by an alloca may be implicitly needed across suspension points, either because an alias has across-suspension-point def-use relationship, or escaped by store/call/memory intrinsics. To properly handle all these cases, we have to properly visit the alloca pointer up-front. Thie patch extends the exisiting alloca use visitor to determine whether an alloca should live on the frame. Differential Revision: https://reviews.llvm.org/D89768
-
Georgii Rymar authored
We have the `--check-prefixes` invocation for a single suffix. It is cleaner to use `--check-prefix` in this case.
-
Vitaly Buka authored
Almost any sanitizer can try to install interceptors.
-
Johannes Doerfert authored
This adds some initial content as well as structure to the new OpenMP Sphinx documentation hosted at http://openmp.llvm.org/docs/ . The content contains some useful links but most pages are still empty. This uses a "custom" theme which is a copy of the default "agogo" one with minor modifications to get a nicer table of content in the sidebar. This way we can also adjust the theme as we go. Reviewed By: jhuber6, JonChesterfield Differential Revision: https://reviews.llvm.org/D90256
-
Johannes Doerfert authored
ParseOpenMP.cpp was pretty much clang-formatted except a few minor locations. Let's make it a clang formatted file. Reviewed By: JonChesterfield Differential Revision: https://reviews.llvm.org/D90440
-
Fangrui Song authored
If MCContext has an error, MCAssembler::layout may stop early and some MCFragment's may not finalize. In the Linux kernel, arch/x86/lib/memcpy_64.S could trigger the assert before "x86_64: Change .weak to SYM_FUNC_START_WEAK for arch/x86/lib/mem*_64.S"
-
sameeran joshi authored
From below mentioned standard references OpenACC 3.0 Standards document 840 • A program may not branch into or out of an OpenACC parallel construct OpenMP 5.0 Standards document A program that branches into or out of a parallel region is non-conforming. This patch Resolves the issue of exit out of a parallel region, other branching out issues like goto statements are not handled with this patch. Moves code from D87906 to be reused by other OpenMP/OpenACC to check-directive-structure.h. Adds support in OpenMP parallel construct and a test case to verify. Reviewed By: clementval Differential Revision: https://reviews.llvm.org/D88655
-
Vitaly Buka authored
Fixes check-all with LLVM_USE_SANITIZER=Memory
-
Mehdi Amini authored
It is semantically equivalent, but the intent was really lost there. This fixes a warning/error from MSVC as well, see PR48013
-
Fangrui Song authored
-
Michael Liao authored
-
Fangrui Song authored
-
Jonas Devlieghere authored
Allow standalone builds to inherit the LLVM_LIT_ARGS.
-
Fangrui Song authored
[MC] Add SMLoc to MCStreamer::emitSymbolAttribute and report changed binding warnings/errors for ELF
-
LLVM GN Syncbot authored
-
Liu, Chen3 authored
This patch is mainly doing two things: 1. Adding support for parentheses, making the combination of target features more diverse; 2. Making the priority of ’,‘ is higher than that of '|' by default. So I need to make some change with PTX Builtin function. Differential Revision: https://reviews.llvm.org/D89184
-
Jonas Devlieghere authored
Temporarily XFAIL'ing TestTypeGetModule.py while the DWO failure is being investigated.
-
Ilya Bukonkin authored
Differential revision: https://reviews.llvm.org/D88483
-
Arthur Eubanks authored
prune-eh will not be ported to the NPM. Instead, a combination of function-attrs and simplifycfg should be used (as described in https://reviews.llvm.org/D44415). This pins most tests using -prune-eh to the legacy PM. Some of these were testing legacy PM infra (mostly the CGPassManager). Some of these can be tested in the NPM using function-attrs and simplifycfg. One interesting case is simplenoreturntest.ll. function-attrs + simplifycfg does not yet make a caller of a caller of a noreturn function end with unreachable like prune-eh does. That can be added in the future. Reviewed By: asbirlea Differential Revision: https://reviews.llvm.org/D90012
-
Alina Sbirlea authored
Pass AAQI in places where it was missed. Part of D89991. Author: haoranxu510 (Haoran Xu)
-
Jonas Devlieghere authored
Recognize the __apple_ sections as debug info sections and make sure they're included in the --show-sections-sizes output. Differential revision: https://reviews.llvm.org/D90433
-
Keith Smiley authored
This is to enable --allow-unused-duplicates=false. This prefix appears to be outdated and intentionally unused. Reviewed By: rupprecht Differential Revision: https://reviews.llvm.org/D90427
-
Stella Laurenzo authored
* Removes index based insertion. All insertion now happens through the insertion point. * Introduces thread local context managers for implicit creation relative to an insertion point. * Introduces (but does not yet use) binding the Context to the thread local context stack. Intent is to refactor all methods to take context optionally and have them use the default if available. * Adds C APIs for mlirOperationGetParentOperation(), mlirOperationGetBlock() and mlirBlockGetTerminator(). * Removes an assert in PyOperation creation that was incorrectly constraining. There is already a TODO to rework the keepAlive field that it was guarding and without the assert, it is no worse than the current state. Differential Revision: https://reviews.llvm.org/D90368
-
Wouter van Oortmerssen authored
Differential Revision: https://reviews.llvm.org/D90428
-
Nico Weber authored
Make check_clang_tidy.py not just pass -format-style=none by default but a full -config={}. Without this, with a build dir outside of the llvm root dir and a .clang-tidy config further up that contains CheckOptions: - key: modernize-use-default-member-init.UseAssignment value: 1 these tests would fail: Clang Tools :: clang-tidy/checkers/cppcoreguidelines-prefer-member-initializer-modernize-use-default-member-init.cpp Clang Tools :: clang-tidy/checkers/modernize-use-default-member-init-bitfield.cpp Clang Tools :: clang-tidy/checkers/modernize-use-default-member-init.cpp After this change, they pass fine, despite the unrelated .clang-tidy file further up. -
Krzysztof Parzyszek authored
-
https://reviews.llvm.org/D88483Jim Ingham authored
The test can be cleaned up a bit, but this should be good to see why the Debian bot is failing...
-
Aaron Puchert authored
This fixes the issue pointed out in D84604#2363134. For now we exclude static members completely, we'll take them into account later.
-
Arthur Eubanks authored
-
Scott Linder authored
Make all of the "AMDGPU Machine Code GFX*" columns in the Memory Model table a consistent width of 32-characters. Best viewed with something like --word-diff Differential Revision: https://reviews.llvm.org/D89977
-
Scott Linder authored
Mostly NFC, but some changes are "bug fixes" rather than just e.g. formatting changes or typo corrections. - Fix typo "competing" -> "completing". - Document why waintcnt is added to stores and not loads for sequentially consistent ordering. - Lowercase some mentions of `buffer_gl{0,1}_inv`. - Make mentions of `*cnt(0)` consistently include the `(0)` count. - Remove some mentions of instructions for incorrect address spaces. For example, remove mention of `flat_load` from `load atomic acquire workgroup global`. - Re-flow some text to get all the target columns to fit in a 32-character wide column. Makes a future NFC patch to make these columns both 32-character wide more straightforward. Modified cherry-pick of patch by Tony Tye Reviewed By: t-tye Differential Revision: https://reviews.llvm.org/D89596 -
Kostya Kortchinsky authored
Mitch expressed a preference to not have `#ifdef`s in platform agnostic code, this change tries to accomodate this. I am not attached to the method this CL proposes, so if anyone has a suggestion, I am open. We move the platform specific member of the mutex into its own platform specific class that the main `Mutex` class inherits from. Functions are implemented in their respective platform specific compilation units. For Fuchsia, we use the sync APIs, as those are also the ones being used in Scudo. Differential Revision: https://reviews.llvm.org/D90351
-
Joachim Meyer authored
This is very similar to 7f1e6fcf, just fixing a left-over. With this, it should be possible to use both, -x cuda and -fopenmp in the same invocation, enabling to use both OpenMP, targeting CPU, and CUDA, targeting the GPU. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D90415
-
Jim Ingham authored
-
Thomas Raoux authored
Fix semantic in the distribute integration test based on offline feedback. This exposed a bug in block distribution, we need to make sure the id is multiplied by the stride of the vector. Fix the transformation and unit test. Differential Revision: https://reviews.llvm.org/D89291
-