- Mar 17, 2022
-
-
Jonas Devlieghere authored
Migrate to using ReportError to report a failure to evaluate a watchpoint condition. I had already done so for the parallel code for breakpoints. In the process, I noticed that I accidentally regressed the error reporting for breakpoint conditions by dropping the call to GetDescription. This patch rectifies that and adds a test. Because the call to GetDescription expects a Stream*, I also switches from using a raw_string_ostream to a StreamString for both breakpoints and watchpoints.
-
River Riddle authored
The current dialect registry allows for attaching delayed interfaces, that are added to attrs/dialects/ops/etc. when the owning dialect gets loaded. This is clunky for quite a few reasons, e.g. each interface type has a separate tracking structure, and is also quite limiting. This commit refactors this delayed mutation of dialect constructs into a more general DialectExtension mechanism. This mechanism is essentially a registration callback that is invoked when a set of dialects have been loaded. This allows for attaching interfaces directly on the loaded constructs, and also allows for loading new dependent dialects. The latter of which is extremely useful as it will now enable dependent dialects to only apply in the contexts in which they are necessary. For example, a dialect dependency can now be conditional on if a user actually needs the interface that relies on it. Differential Revision: https://reviews.llvm.org/D120367
-
Jonas Devlieghere authored
I split up the test so we could stop redirecting stderr to stdout but I forgot to include that part in the previous commit.
-
Jacques Pienaar authored
Avoids matching R"mlir( while already inside a string.
-
Abinav Puthan Purayil authored
This change replaces the manual selection of buffer_atomic_cmpswap* instructions in SelectionDAG and GlobalISel with a tblgen based selection in BUFInstructions.td. This allows us to select the return and no-return variants in tblgen. Differential Revision: https://reviews.llvm.org/D121770
-
Jonas Devlieghere authored
-
Jonas Devlieghere authored
-
Jonas Devlieghere authored
-
wangliushuai authored
This patch adds a StatsFile option supported by gold to lld, related patch https://reviews.llvm.org/D45531. Reviewed By: tejohnson, MaskRay Differential Revision: https://reviews.llvm.org/D121809
-
Heejin Ahn authored
This fixes a reported bug that caused an infinite loop during the SelectionDAG optimization phase in ISel, by creating an overridable hook in `TargetLowering` that allows us to bail out from running `SimplifyDemandedVectorElts`. Reviewed By: tlively Differential Revision: https://reviews.llvm.org/D121869
-
Heejin Ahn authored
This includes a function name and a relevant instruction in error messages when possible, making them more helpful. Reviewed By: dschuff Differential Revision: https://reviews.llvm.org/D120678
-
William S. Moses authored
-
William S. Moses authored
This PR exposes the region-based isTopLevelValue, which is useful for other code that performs Affine transformations, but is not within AffineOps.cpp Reviewed By: bondhugula Differential Revision: https://reviews.llvm.org/D121877
-
William S. Moses authored
The getAffineScope function is currently internal to AffineOps.cpp. However, as the comment on the function itself notes, this is useful in a variety of other places externally. This PR allows other files to use the function. Reviewed By: bondhugula Differential Revision: https://reviews.llvm.org/D121827
-
Christudasan Devadasan authored
Enforced an alignment check while folding the operands.
-
Christudasan Devadasan authored
The fp32 packed math instructions are introduced in gfx90a. If their vector register operands are not properly aligned, the verifier should flag them. Currently, the verifier failed to report it and the compiler ended up emitting a broken assembly. This patch fixes that missed case in TII::verifyInstruction. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D121794
-
Lian Wang authored
Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D121783
-
Evgenii Stepanov authored
Poison trivial class members one-by-one in the reverse order of their construction, instead of all-at-once at the very end. For example, in the following code access to `x` from `~B` will produce an undefined value. struct A { struct B b; int x; }; Reviewed By: kda Differential Revision: https://reviews.llvm.org/D119600 -
Evgenii Stepanov authored
-fsanitize-memory-use-after-dtor detects memory access after a subobject is destroyed but its memory is not yet deallocated. This is done by poisoning each object memory near the end of its destructor. Subobjects (members and base classes) do this in their respective destructors, and the parent class does the same for its members with trivial destructors. Inexplicably, base classes with trivial destructors are not handled at all. This change fixes this oversight by adding the base class poisoning logic to the parent class destructor. Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D119300
-
Evgeny Shulgin authored
This is a preliminary patch ahead of D119792 (I'll rebase that one on top of this). This shows what Clang's _current_ behaviour is for calculating NRVO in various common cases. Then, in D119792 (and future patches), I'll be able to demostrate exactly how LLVM IR for each of these cases changes. Reviewed By: Quuxplusone Differential Revision: https://reviews.llvm.org/D119927
-
Zixu Wang authored
The clang/SymbolGraph/global_record.c test case explicitly diffs the clang version in use, which causes failures. Fix the issue by normalize the `generator` field before checking the output.
-
River Riddle authored
This removes any potential confusion with the `getType` accessors which correspond to SSA results of an operation, and makes it clear what the intent is (i.e. to represent the type of the function). Differential Revision: https://reviews.llvm.org/D121762
-
River Riddle authored
This commit moves FuncOp out of the builtin dialect, and into the Func dialect. This move has been planned in some capacity from the moment we made FuncOp an operation (years ago). This commit handles the functional aspects of the move, but various aspects are left untouched to ease migration: func::FuncOp is re-exported into mlir to reduce the actual API churn, the assembly format still accepts the unqualified `func`. These temporary measures will remain for a little while to simplify migration before being removed. Differential Revision: https://reviews.llvm.org/D121266
-
Martin Erhart authored
Add basic C API for the ControlFlow dialect. Follows the format of the other dialects. Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D121867
-
LLVM GN Syncbot authored
-
Eli Friedman authored
As discussed in D57915. Fixes https://github.com/llvm/llvm-project/issues/39999 . Differential Revision: https://reviews.llvm.org/D121865
-
Nico Weber authored
-
Nikolas Klauser authored
Reviewed By: ldionne, Quuxplusone, #libc Spies: libcxx-commits, arphaman Differential Revision: https://reviews.llvm.org/D121054
-
Nikolas Klauser authored
Reviewed By: ldionne, #libc, EricWF Spies: EricWF, libcxx-commits Differential Revision: https://reviews.llvm.org/D121552
-
Eric Schweitz authored
Differential Revision: https://reviews.llvm.org/D121864
-
Zixu Wang authored
-
Med Ismail Bennani authored
This patch pipes down the `-a|--load-all` crashlog command option to the Scripted Process initializer to load all the images used by crashed process instead of only loading the images related to the crashed thread. This allows us to recreate artificial frames also for the non-crashed scripted threads. rdar://90396265 Differential Revision: https://reviews.llvm.org/D121826 Signed-off-by:
Med Ismail Bennani <medismail.bennani@gmail.com>
-
Benjamin Kramer authored
-
Johannes Doerfert authored
This reverts commit 07b17664 as it broke the buildbots: https://lab.llvm.org/buildbot#builders/193/builds/8594
-
Jakob Johnson authored
- Rename IntelPTManager class and files to IntelPTCollector - Change GetTimestampCounter API to general trace counter API, GetCounter Differential Revision: https://reviews.llvm.org/D121711 -
Zixu Wang authored
Add facilities for extract-api: - Structs/classes to hold collected API information: `APIRecord`, `API` - Structs/classes for API information: - `AvailabilityInfo`: aggregated availbility information - `DeclarationFragments`: declaration fragments - `DeclarationFragmentsBuilder`: helper class to build declaration fragments for various types/declarations - `FunctionSignature`: function signature - Serialization: `Serializer` - Add output file for `ExtractAPIAction` - Refactor `clang::RawComment::getFormattedText` to provide an additional `getFormattedLines` for a more detailed view of comment lines used for the SymbolGraph format Add support for global records (global variables and functions) - Add `GlobalRecord` based on `APIRecord` to store global records' information - Implement `VisitVarDecl` and `VisitFunctionDecl` in `ExtractAPIVisitor` to collect information - Implement serialization for global records - Add test case for global records Differential Revision: https://reviews.llvm.org/D119479 -
Johannes Doerfert authored
In AMD GPU device code the globals are in AS(1). Before, we crashed if the global was a structure. Now we simply cast away the AS before we generate the code to initialize the global. Differential Revision: https://reviews.llvm.org/D121837
-
Jonas Devlieghere authored
Expose diagnostic events through the SB API. Unlike the progress events, I opted to use a SBStructuredData so that we can add fields in the future. Differential revision: https://reviews.llvm.org/D121818
-
Craig Topper authored
-
Craig Topper authored
We have a special case to skip this transform if c1 is 0xffffffff and x is sext_inreg in order to use sraiw+zext.w. But we were only checking that we have a sext_inreg opcode, not how many bits are being sign extended. This commit adds a check that it is a sext_inreg from i32 so we know for sure that an sraiw can be created.
-