- Feb 19, 2022
-
-
Whitney Tsang authored
The problem can be shown from the newly added test case. There are two invocations to MemorySSAUpdater::moveToPlace, and the internal data structure VisitedBlocks is changed in the first invocation, and reused in the second invocation. In between the two invocations, there is a change to the CFG, and MemorySSAUpdater is notified about the change. Reviewed By: asbirlea Differential Revision: https://reviews.llvm.org/D119898
-
Fangrui Song authored
-
David Goldman authored
This removes clangd's existing workaround in favor of proper support via the newly added `ObjCProtocolLoc`. This improves support by allowing clangd to properly identify which protocol is selected now that `ObjCProtocolLoc` gets its own ASTNode. Differential Revision: https://reviews.llvm.org/D119366
-
David Goldman authored
Add `ObjCProtocolLoc` which behaves like `TypeLoc` but for `ObjCProtocolDecl` references. RecursiveASTVisitor now synthesizes `ObjCProtocolLoc` during traversal and the `ObjCProtocolLoc` can be stored in a `DynTypedNode`. In a follow up patch, I'll update clangd to make use of this to properly support protocol references for hover + goto definition. Differential Revision: https://reviews.llvm.org/D119363
-
Jez Ng authored
The allocated memory itself is mutable, so let's expose that to the caller. LLD has a use case for this. Reviewed By: MaskRay, #lld-macho Differential Revision: https://reviews.llvm.org/D120144
-
Shraiysh Vaishay authored
This patch removes custom parser/printer for `omp.target` and adds assemblyformat. Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D120138
-
Shraiysh Vaishay authored
This patch removes the following clauses from OpenMP Dialect: - private - firstprivate - lastprivate - shared - default - copyin - copyprivate The privatization clauses are being handled in the flang frontend. The data copying clauses are not being handled anywhere for now. Once we have a better picture of how to handle these clauses in OpenMP Dialect, we can add these. For the time being, removing unneeded clauses. For detailed discussion about this refer to [[ https://discourse.llvm.org/t/rfc-privatisation-in-openmp-dialect/3526 | Privatisation in OpenMP dialect ]] Reviewed By: kiranchandramohan, clementval Differential Revision: https://reviews.llvm.org/D120029
-
Philip Reames authored
-
Fangrui Song authored
Making a (NOLOAD) section SHT_PROGBITS is fishy (the user may expect all-zero content, but the linker does not check that), but some projects (e.g. Linux kernel https://github.com/ClangBuiltLinux/linux/issues/1597) traditionally rely on the behavior. Issue a warning to not break them.
-
Alex Brachet authored
Use to remove certain symbols which match the glob pattern. Can be used with --strip-undefined Reviewed By: haowei, mcgrathr Differential Revision: https://reviews.llvm.org/D119962
-
Philip Reames authored
This allows us to discharge many pointer comparisons based on byval arguments. Differential Revision: https://reviews.llvm.org/D120133
-
Groverkss authored
This patch introducing seperating dimensions into two types: Domain and Range. This allows building relations over PresburgerSpace. This patch is part of a series of patches to introduce relations in Presburger library. Reviewed By: arjunp Differential Revision: https://reviews.llvm.org/D119709
-
Philip Reames authored
-
Arthur Eubanks authored
With D113210 we're already using the default AA pipeline by default.
-
Simon Pilgrim authored
-
Simon Pilgrim authored
Reported by coverity
-
Simon Pilgrim authored
-
Nikolas Klauser authored
-
Jez Ng authored
Symbols for which `canBeOmittedFromSymbolTable()` is true should be treated as private externs. This diff tries to do that by unsetting the ExportDynamic bit. It seems to mostly work with the FullLTO backend, but with the ThinLTO backend, the `local_unnamed_addr` symbols still fail to be properly hidden. Nonetheless, this is a step in the right direction. I've documented all the remaining differences between our behavior and LD64's in the lto-internalized-unnamed-addr.ll test. See also https://discourse.llvm.org/t/mach-o-lto-handling-of-linkonce-odr-unnamed-addr/60015 Reviewed By: #lld-macho, thevinster Differential Revision: https://reviews.llvm.org/D119767
-
Jonas Devlieghere authored
I didn't mean the checks for QUIET-OUTPUT-FAIL, QUIET-INPUT-FAIL and VERBOSE-INPUT-FAIL to have any specific ordering.
-
Jonas Devlieghere authored
Make sure all fields are default initialized to the same values.
-
Sam McCall authored
See https://github.com/clangd/clangd/issues/1022 Differential Revision: https://reviews.llvm.org/D120115
-
Nathan Sidwell authored
The linter complains about the formatting in subsequent changes. Fixing that now. Reviewed By: iains Differential Revision: https://reviews.llvm.org/D120117
-
Sanjay Patel authored
This fold is done in IR: https://alive2.llvm.org/ce/z/jWyFrP There is an x86 test that shows an improvement from the added flexibility of using add (commutative). The other diffs are presumed neutral. Note that this could also be folded to an 'xor', but I'm not sure if that would be universally better (eg, x86 can convert adds more easily into LEA). This helps prevent regressions from a potential fold for issue #53829.
-
Philip Reames authored
-
Philip Reames authored
-
Dave Lee authored
Add `llvm_unreachable` to prevent warnings/errors in gcc and msvc. Differential Revision: https://reviews.llvm.org/D119737
-
Philip Reames authored
-
Jay Foad authored
Take advantage of D117117 to simplify all {{\[}} to [ and {{\]}} to ]. Differential Revision: https://reviews.llvm.org/D117298 -
Carlo Bertolli authored
[OpenMP][libomptarget] Delay restore of shadow pointers in structs to after H2D memory copies are completed When using asynchronous plugin calls, shadow pointer restore could happen before the D2H copy for the entire struct has completed, effectively leaving a device pointer in a host struct. This patch fixes the problem by delaying restore's to after a synchronization happens (target regions) and by calling early synchronization (target update). Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D119968
-
William S. Moses authored
MLIR has the notion of allocation scopes which specify that stack allocations (e.g. memref.alloca, llvm.alloca) should be freed or equivalently aren't available at the end of the corresponding region. Currently neither OpenMP parallel nor SCF parallel regions have the notion of such a scope. This clearly makes sense for an OpenMP parallel as this is implemented in with a new function which outlines the region, and clearly any allocations in that newly outlined function have a lifetime that ends at the return of the function, by definition. While SCF.parallel doesn't have a guaranteed runtime which it is implemented with, this similarly makes sense for SCF.parallel since otherwise an allocation within an SCF.parallel will needlessly continue to allocate stack memory that isn't cleaned up until the function (or other allocation scope op) which contains the SCF.parallel returns. This means that it is impossible to represent thread or iteration-local memory without causing a stack blow-up. In the case that this stack-blow-up behavior is intended, this can be equivalently represented with an allocation outside of the SCF.parallel with a size equal to the number of iterations. Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D119743
-
- Feb 18, 2022
-
-
Philip Reames authored
-
Philip Reames authored
At the moment, this just groups comments with a reasonably named predicate, but I plan to add other cases to this in the near future.
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Shilei Tian authored
This is a follow-up patch of D119378. Reviewed By: ABataev Differential Revision: https://reviews.llvm.org/D119392
-
Guillaume Chatelet authored
The benchmark framework synthesizes fake "aggregate" Samples representing mean, median and cv. We're only interested in "iteration" samples. Differential Revision: https://reviews.llvm.org/D120062
-
Shilei Tian authored
This patch adds the support for `atomic compare capture` in parser and part of sema. We don't create an AST node for this because the spec doesn't say `compare` and `capture` clauses should be used tightly, so we cannot look one more token ahead in the parser. Reviewed By: ABataev Differential Revision: https://reviews.llvm.org/D116261
-
LLVM GN Syncbot authored
-