- Sep 29, 2021
-
-
Krasimir Georgiev authored
-
David Spickett authored
As far as I can tell these were just missed out when the tests were first added. No specific reason they should be skipped.
-
Simon Moll authored
This patch introduces the vector-predicated version of the experimental_vector_splice intrinsic [1] at the IR level. It considers the active vector length for both vectors and and uses a vector mask to disable certain lanes in the result. [1] https://reviews.llvm.org/D94708 Change originally authored by Vineet Kumar <vineet.kumar@bsc.es> Reviewed By: simoll Differential Revision: https://reviews.llvm.org/D103898
-
Sven van Haastregt authored
With -fpreserve-vec3-type enabled, a cast was not created when converting from a non-vec3 type to a vec3 type, even though a conversion to vec3 was performed. This resulted in creation of invalid store instructions. Differential Revision: https://reviews.llvm.org/D108470
-
Eric Schweitz authored
Rename `lenParams` to `typeparams` to be in sync with fir-dev. This patch is part of the upstreaming effort from fir-dev branch. Co-authored-by:
Jean Perier <jperier@nvidia.com> Co-authored-by:
Valentin Clement <clementval@gmail.com> Reviewed By: jeanPerier Differential Revision: https://reviews.llvm.org/D110645
-
Stefan Gränitz authored
Though this is a full port of the example, it is not yet fully functional due to a threading issue in the SimpleRemoteEPC implementation. The issue was discussed in D110530, but it needs a more thorough solution. For now we are dropping the dependency to the old `OrcRPC` here (it's been the last use-case in-tree). The test for the example is under review in ... and will be re-enabled once the threading issue is solved.
-
Lang Hames authored
check-orc-rt had no cmake target dependency on orc or llvm-jitlink, which could lead to regression test failures in compiler-rt. This patch should fix the issue. Patch by Jack Andersen (jackoalan@gmail.com). Thanks Jack! Reviewed By: lhames Differential Revision: https://reviews.llvm.org/D110659
-
Lang Hames authored
Follow-up to fc734da7 to enable compact-unwind splitting on x86-64.
-
Jinsong Ji authored
On AIX, we relied on LTO to merge the csects for profiling data/counter sections. AIX binder now get the namedcsect support to support the merging, so now we can enable PGO without LTO with the new binder. Reviewed By: Whitney Differential Revision: https://reviews.llvm.org/D110671
-
hsmahesha authored
ASan device library functions (those starts with the prefix __asan_) are at the moment undergoing through undesired optimizations due to internalization. Hence, in order to avoid such undesired optimizations on ASan device library functions, do not internalize them in the first place. Reviewed By: yaxunl Differential Revision: https://reviews.llvm.org/D110468
-
LLVM GN Syncbot authored
-
Sterling Augustine authored
This reverts commit 73a196a1. Causes crashes as reported in https://reviews.llvm.org/D109963
-
Itay Bookstein authored
Comment says: // If the operand is larger than the shift count type but the shift // count type has enough bits to represent any shift value ... It clearly talks about the shifted operand, not the shift-amount operand, but the comparison is performed against Log2_32_Ceil(Op2.getValueSizeInBits()) where Op2 is the shift amount operand. This comparison also doesn't make sense in the context of the previous one (ShiftsSize > Op2Size) because Op2Size == Op2.getValueSizeInBits(). Fix to use Op1. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D110509
-
Jinsong Ji authored
We generate symbols like `profc`/`profd` for each function, and put them into csects. When there are weak functions, we generate weak symbols for the functions as well, with ELF (and some others), linker (binder) will discard and only keep one copy of the weak symbols. However, on AIX, the current binder can NOT discard the weak symbols if we put all of them into the same csect, as binder can NOT discard a subset of a csect. This creates a unique challenge for using those symbols to calculate some relative offsets. This patch changed the linkage of `profc`/`profd` symbols to be private, so that all the profc/profd for each weak symbol will be *local* to objects, and all kept in the csect, so we won't have problem. Although only one of the counters will be used, all the pointer in the profd is correct. The downside is that we won't be able to discard the duplicated counters and profile data, but those can not be discarded even if we keep the weak linkage, due to the binder limitation of not discarding a subsect of the csect either . Reviewed By: Whitney, MaskRay Differential Revision: https://reviews.llvm.org/D110422
-
Lang Hames authored
CompactUnwindSplitter splits compact-unwind sections on record boundaries and adds keep-alive edges from target functions back to their respective records. In MachO_arm64.cpp, a CompactUnwindSplitter pass is added to the pre-prune pass list when setting up the standard pipeline. This patch does not provide runtime support for compact-unwind, but is a first step towards enabling it.
-
Jessica Paquette authored
When we have code with truncates, those truncates may be changed into G_ANDs with constants. These may, in turn, feed into other G_AND instructions. Running this combine post-legalize allows us to optimize examples like this one: https://godbolt.org/z/zrGY4dfEW SDAG currently optimizes the example above so that there is only one `and`. GISel doesn't optimize it, because the G_AND we'd optimize here is translated as a G_TRUNC. Later, that G_TRUNC is turned into a G_AND during legalization. Differential Revision: https://reviews.llvm.org/D110667
-
Teresa Johnson authored
In looking at the disk space used by a ninja check-all, I found that a few of the largest files were copies of clang and lld made into temp directories by a couple of tests. These tests were added in D53021 and D74811. Clean up these copies after usage. Differential Revision: https://reviews.llvm.org/D110276
-
Arthur Eubanks authored
Tests fail on Windows otherwise.
-
Jessica Paquette authored
Similar to what SDAG does when it sees a smulo/umulo against 2 (see: `DAGCombiner::visitMULO`) This pattern is fairly common in Swift code AFAICT. Here's an example extracted from a Swift testcase: https://godbolt.org/z/6cT8Mesx7 Differential Revision: https://reviews.llvm.org/D110662
-
Michael Jones authored
Also, this adds unit tests to check that limits.h complies with the C standard. Reviewed By: sivachandra Differential Revision: https://reviews.llvm.org/D110643
-
Nico Weber authored
Differential Revision: https://reviews.llvm.org/D110635
-
Fred Grim authored
bug 51926 identified an issue where a dangling comma caused the cell count to be to off by one Differential Revision: https://reviews.llvm.org/D110481
-
Vitaly Buka authored
Differential Revision: https://reviews.llvm.org/D110644
-
Sean Silva authored
We weren't retaining the ctypes closures that the ExecutionEngine was calling back into, leading to mysterious errors. Open to feedback about how to test this. And an extra pair of eyes to make sure I caught all the places that need to be aware of this. Differential Revision: https://reviews.llvm.org/D110661
-
Arthur Eubanks authored
To avoid using the AST when emitting diagnostics, split the "dontcall" attribute into "dontcall-warn" and "dontcall-error", and also add the frontend attribute value as the LLVM attribute value. This gives us all the information to report diagnostics we need from within the IR (aside from access to the original source). One downside is we directly use LLVM's demangler rather than using the existing Clang diagnostic pretty printing of symbols. Previous revisions didn't properly declare the new dependencies. Reviewed By: nickdesaulniers Differential Revision: https://reviews.llvm.org/D110364
-
Rob Suderman authored
Quantized int type should include I32 types as its the output of a quantizd convolution or matmul operation. Reviewed By: NatashaKnk Differential Revision: https://reviews.llvm.org/D110651
-
Shoaib Meenai authored
The ARM backend was explicitly setting global binding on the personality symbol. This was added without any comment in a7ec2dce, which introduced EHABI support (back in 2011). None of the other backends do anything equivalent, as far as I can tell. This causes problems when attempting to wrap the personality symbol. Wrapped symbols are marked as weak inside LTO to inhibit IPO (see https://reviews.llvm.org/D33621). When we wrap the personality symbol, it initially gets weak binding, and then the ARM backend attempts to change the binding to global, which causes an error in MC because of attempting to change the binding of a symbol from non-global to global (the error was added in https://reviews.llvm.org/D90108). Simply drop the ARM backend's explicit global binding setting to fix this. This matches all the other backends, and a large internal application successfully linked and ran with this change, so it shouldn't cause any problems. Test via LLD, s...
-
Stuart Ellis authored
This plugin parses Fortran files and creates a YAML report with all the OpenMP constructs and clauses seen in the file. The following tests have been modified to be compatible for testing the plugin, hence why they are not reused from another directory: - omp-atomic.f90 - omp-declarative-directive.f90 - omp-device-constructs.f90 The plugin outputs a single file in the same directory as the source file in the following format: `<source-file-name>.yaml` Building the plugin: `ninja flangOmpReport` Running the plugin: `./bin/flang-new -fc1 -load lib/flangOmpReport.so -plugin flang-omp-report -fopenmp <source_file.f90>` Co-authored-by:
Kiran Chandramohan <kiran.chandramohan@arm.com> Co-authored-by:
Stuart Ellis <stuart.ellis@arm.com> Reviewed By: awarzynski, kiranchandramohan Differential Revision: https://reviews.llvm.org/D109890
-
bakhtiyar authored
Reviewed By: ezhulenev Differential Revision: https://reviews.llvm.org/D110605
-
bakhtiyar authored
Reviewed By: ezhulenev Differential Revision: https://reviews.llvm.org/D110604
-
Arthur Eubanks authored
This reverts commit 2943071e. Breaks bots
-
Arthur Eubanks authored
This reverts commit 952f030f. Causes bot failures.
-
Amy Zhuang authored
Unroll-and-jam currently doesn't work when the loop being unroll-and-jammed or any of its inner loops has iter_args. This patch modifies the unroll-and-jam utility to support loops with iter_args. Reviewed By: bondhugula Differential Revision: https://reviews.llvm.org/D110085
-
Louis Dionne authored
Instead of using a base class to store the members and the optional size, use [[no_unique_address]] to achieve the same thing without needing a base class. Also, as a fly-by: - Change subrange from struct to class (per the standard) - Improve the diagnostic for when one doesn't provide a size to the ctor of a sized subrange - Replace this->member by just member since it's not in a dependent base anymore This change would be an ABI break due to [[no_unique_address]], but we haven't shipped ranges anywhere yet, so this shouldn't affect anyone. Differential Revision: https://reviews.llvm.org/D110370
-
Arthur Eubanks authored
Some people downstream are reporting that this test fails. I've been unable to reproduce, but there is indeed something spooky going on. Pinning to the new PM suppresses the failure. I'm continuing to investigate this.
-
Arthur Eubanks authored
To avoid using the AST when emitting diagnostics, split the "dontcall" attribute into "dontcall-warn" and "dontcall-error", and also add the frontend attribute value as the LLVM attribute value. This gives us all the information to report diagnostics we need from within the IR (aside from access to the original source). One downside is we directly use LLVM's demangler rather than using the existing Clang diagnostic pretty printing of symbols. Reviewed By: nickdesaulniers Differential Revision: https://reviews.llvm.org/D110364
-
Siva Chandra Reddy authored
Reviewed By: michaelrj Differential Revision: https://reviews.llvm.org/D108948
-
Sanjay Patel authored
This is NFCI (no-functional-change-intended), but there are benign diffs possible with commutable ops as seen in the test diffs. The transforms were repeated for the commutative opcodes, but that should not be necessary if we canonicalize the patterns that we're matching. If both operands of the binop match, that should get folded eventually. The transform that starts with a mask op seems to over-constrain the use checks, so that could be a potential enhancement.
-
Sanjay Patel authored
-
Fangrui Song authored
-