- Nov 14, 2020
-
-
Mehdi Amini authored
The code has a few sequence that looked like: Ops.push_back(Ops[0]); Ops.erase(Ops.begin()); And are equivalent to: std::rotate(Ops.begin(), Ops.begin() + 1, Ops.end()); The latter has the advantage of never reallocating the vector, which would be a bug in the original code as push_back would read from the memory it deallocated. -
Sean Silva authored
That way, it runs in parallel across functions.
-
Peter Steinfeld authored
When comparing arrays whose shapes do not conform, the contant folding code ran into problems trying to get the value of an extent that did not exist. There were actually two problems. First, the routine "CheckConformance()" was returning "true" when the compiler was unable to get the extent of an array. Second, the function "ApplyElementwise()" was calling "CheckConformance()" prior to folding the elements of two arrays, but it was ignoring the return value. Differential Revision: https://reviews.llvm.org/D91440
-
Arthur Eubanks authored
Just like other sanitizers. Fixes check-memprof under NPM. Reviewed By: leonardchan Differential Revision: https://reviews.llvm.org/D91389
-
Stanislav Mekhanoshin authored
When the load value is folded into the sin/cos operation, the AMDGPU library calls simplifier could still mark the function as unmodified. Instead ensure if there is an early return, return whether the load was folded into the sin/cos call. Authored by MJDSys Differential Revision: https://reviews.llvm.org/D91401
-
Duncan P. N. Exon Smith authored
Drop `IncludeBriefCommentsInCodeCompletion` since it is always `false`. Differential Revision: https://reviews.llvm.org/D91295
-
Sam Clegg authored
I'm not why it was added to DAGToDAG oringally but it seems to make sense alongside the non-TLS version: LowerGlobalAddress Differential Revision: https://reviews.llvm.org/D91432
-
Vladimir Vereschaka authored
Since RPATH initialization was disabled for the runtime libraries to avoid overwriting RPATH unconditionally we need to explicity set up it for the Win to Arm Linux cross builds. See some details here: https://reviews.llvm.org/D91099
-
Lang Hames authored
-
Sanjay Patel authored
See discussion in D90554.
-
Akira Hatanaka authored
dependency. NFC Use findSingleDependency in place of FindDependencies and stop passing a set of Instructions around. Modify FindDependencies to return a boolean flag which indicates whether the dependencies it has found are all valid.
-
Akira Hatanaka authored
-
Jessica Paquette authored
Add a convenience matcher which handles ``` G_XOR %not_reg, -1 ``` And a convenience matcher which returns true if an integer constant is all-ones. Differential Revision: https://reviews.llvm.org/D91459
-
Arthur Eubanks authored
Make it required. Since it's a module pass, optnone won't test it, so extend the clang test to also use opt-bisect now that it's supported. 14/16 check-dfsan tests failed with NPM enabled, now all pass. Reviewed By: leonardchan Differential Revision: https://reviews.llvm.org/D91385
-
Nikita Popov authored
ValueTracking was using a more powerful abs() implementation. Roll it into KnownBits::abs(). Also add an exhaustive test for abs(), in both the poisoning and non-poisoning variants.
-
Duncan P. N. Exon Smith authored
Clean up the logic for `err_fe_{pch,module,ast}_file_modified` to use a `select` like other ASTReader diagnostics. There should be no functionality change here, just a cleanup. Differential Revision: https://reviews.llvm.org/D91367 -
Rahul Joshi authored
- Extract repeated code into helper function/lambdas. Differential Revision: https://reviews.llvm.org/D91453
-
Craig Topper authored
[RISCV] Add test case showing failure to use GREVIW for i32 bitreverse if result is not sign extended. NFC
-
Thomas Raoux authored
Support multi-dimension vector for InsertMap/ExtractMap op and update the transformations. Currently the relation between IDs and dimension is implicitly deduced from the types. We can then calculate an AffineMap based on it. In the future the AffineMap could be part of the operation itself. Differential Revision: https://reviews.llvm.org/D90995
-
Nawrin Sultana authored
This patch adds omp_calloc implementation according to OpenMP 5.1 specification. Differential Revision: https://reviews.llvm.org/D90967
-
MaheshRavishankar authored
Using LinalgOp will reduce the repeated conversion from Operation <-> LinalgOp. Differential Revision: https://reviews.llvm.org/D91101
-
Matt Arsenault authored
-
Matt Arsenault authored
-
Heejin Ahn authored
- atomic.notify -> memory.atomic.notify - i32.atomic.wait -> memory.atomic.wait32 - i64.atomic.wait -> memory.atomic.wait64 See https://github.com/WebAssembly/threads/pull/149. Reviewed By: tlively Differential Revision: https://reviews.llvm.org/D91447
-
Guozhi Wei authored
Like inlineCallIfPossible and InlinerPass, after inlining mergeAttributesForInlining should be called to merge callee's attributes to caller. But it is not called in AlwaysInliner, causes caller's attributes inconsistent with inlined code. Attached test case demonstrates that attribute "min-legal-vector-width"="512" is not merged into caller without this patch, and it causes failure in SelectionDAG when lowering the inlined AVX512 intrinsic. Differential Revision: https://reviews.llvm.org/D91446
-
Craig Topper authored
-
Heejin Ahn authored
This RUN line was added as a temporary measure to undo the damage done by D79655. Everyone's build system should be fine by now. Reviewed By: tlively Differential Revision: https://reviews.llvm.org/D91448
-
Jianzhou Zhao authored
This helped debugging. Reviewed-by: morehouse Differential Revision: https://reviews.llvm.org/D91236
-
Jim Ingham authored
I only have a crash report for this. I could reproduce it with a slightly older lldb by running an expression that called pthread_kill, but we started making modules for our expression JIT code, so that no longer triggers the bug. I can't think of another good way to test it but the fix is obvious.
-
Duncan P. N. Exon Smith authored
All three diagnostics have a select between "PCH", "module", and "AST" in the text. The most generic of these is "AST", so rename them from `err_module_...` to `err_ast_...`. Differential Revision: https://reviews.llvm.org/D91436
-
Craig Topper authored
This shows that we currently fail to select RORIW/ROLIW.
-
Baptiste Saleil authored
This patch adds the Clang builtins and LLVM intrinsics to load and store vector pairs. Differential Revision: https://reviews.llvm.org/D90799
-
Aaron Ballman authored
This way, the whole attribute gets highlighted with diagnostics instead of just the scope name in an attribute like [[clang::unknown]].
-
Duncan P. N. Exon Smith authored
This logic seems easier to follow without the `Error()` helper, and checking `DiagnosticsEngine::isDiagnosticInFlight` just once up front. Differential Revision: https://reviews.llvm.org/D91366
-
Jessica Paquette authored
When we see ``` %sub = G_SUB 0, %x %select = G_SELECT %cc, %t, %sub ``` Fold away the G_SUB by producing ``` %select = CSNEG %t, %x, cc ``` Simple IR example: https://godbolt.org/z/K8TEnh This is valid on both sides of the select, but for now, just handle one side. It may make more sense to handle swapping sides during post-legalizer lowering. Differential Revision: https://reviews.llvm.org/D90723
-
Nikita Popov authored
In line with D90708, we can use nsw for the inbounds offset calculation -- the muls were already using nsw, but the adds were not.
-
Jessica Paquette authored
Reducing some code duplication. We had a helper for checking if a predicate is unsigned. Remove that and use the existing function in Instructions.cpp. Differential Revision: https://reviews.llvm.org/D91288
-
Wouter van Oortmerssen authored
Needed for wasm64, see discussion in https://reviews.llvm.org/D91203 Differential Revision: https://reviews.llvm.org/D91395
-
Simon Pilgrim authored
Allows us to remove the "CHECK: {{^}}" hack and help simplify D91275 -
Nikita Popov authored
Handle the emission of the add in a single place, instead of three different ones. Don't emit an unnecessary add with zero to start with. It will get dropped by InstCombine, but we may as well not create it in the first place. This also means that InstCombine does not need to specially handle this extra add. This is conceptually NFC, but can affect worklist order etc.
-