- Apr 19, 2022
-
-
Arthur Eubanks authored
Port the legacy CallGraphViewer and CallGraphDOTPrinter to work with the new pass manager. Addresses issue https://github.com/llvm/llvm-project/issues/54323 Adds back related tests that were removed in commits d53a4e7b and 9e9d9aba Reviewed By: aeubanks Differential Revision: https://reviews.llvm.org/D122989
-
Wenlei He authored
For profile generation, we need to filter raw perf samples for binary of interest. Sometimes binary name along isn't enough as we can have binary of the same name running in the system. This change adds a process id filter to allow users to further disambiguiate the input raw samples. Differential Revision: https://reviews.llvm.org/D123869
-
Jacques Pienaar authored
Reproducers that resulted in triggering the following asserts mlir::NamedAttribute::NamedAttribute(mlir::StringAttr, mlir::Attribute) mlir/lib/IR/Attributes.cpp:29:3 consumeToken mlir/lib/Parser/Parser.h:126 Differential Revision: https://reviews.llvm.org/D122240
-
Blue Gaston authored
-
- Apr 18, 2022
-
-
Zarko Todorovski authored
[llvm][IPO] Inclusive language: Rename mergefunc-sanity to mergefunc-verify and remove other instances of sanity in MergeFunctions.cpp This patch renames the mergefunc-sanity to mergefunc-verify and renames the related functions to use more inclusive language Reviewed By: cebowleratibm Differential Revision: https://reviews.llvm.org/D114374
-
Eli Friedman authored
Otherwise, with recent versions of libstdc++, clang can't tell that the atomic operations are properly aligned, and generates calls to libatomic. (Actually, because of the use of reinterpret_cast, it wasn't guaranteed to be aligned, but I think it ended up being aligned in practice.) Fixes https://github.com/llvm/llvm-project/issues/54790 , the part where LLVM failed to build. Differential Revision: https://reviews.llvm.org/D123872
-
Corentin Jabot authored
Partially implement the proposed resolution to CWG2569. D119136 broke some libstdc++ code, as P2036R3, implemented as a DR to C++11 made ill-formed some previously valid and innocuous code. We resolve this issue to allow decltype(x) - but not decltype((x) to appear in the parameter list of a lambda that capture x by copy. Unlike CWG2569, we do not extend that special treatment to sizeof/noexcept yet, as the resolution has not been approved yet and keeping the review small allows a quicker fix of impacted code. Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D123909
-
Aaron Ballman authored
-
Simon Pilgrim authored
More basic test coverage for the fold: (A & 2^C1) + A => A & (2^C1 - 1) iff bit C1 in A is a sign bit
-
Piotr Kubaj authored
1. Add correct pc, sp and bp for FreeBSD. 2. Since there's no personality.h header on FreeBSD, move SANITIZER_PPC64V2 case below FREEBSD case. 3. __ppc_get_timebase_freq() is glibc-specific. Add a shim for FreeBSD that does the same.
-
Momchil Velikov authored
[Re-commit after fixing a dereference of "end" iterator] The AArch64LoadStoreOptimnizer pass may merge a register increment/decrement with a following memory operation. In doing so, it may break CFI by moving a stack pointer adjustment past the CFI instruction that described *that* adjustment. This patch fixes this issue by moving said CFI instruction after the merged instruction, where the SP increment/decrement actually takes place. Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D114547
-
Dmitry Makogon authored
-
Siva Chandra Reddy authored
We plan to use the "docs" directory as the home for our "www" pages, similar to how it is for the libcxx project.
-
Siva Chandra Reddy authored
A section briefly mentioning the planned future enhancements has also been included. Reviewed By: lntue Differential Revision: https://reviews.llvm.org/D123761
-
Qiu Chaofan authored
This fixes CVE-2019-15847, preventing random number generation from being merged. Reviewed By: lkail Differential Revision: https://reviews.llvm.org/D122783
-
Groverkss authored
This patch modifies mergeLocalIds to not delete duplicate local ids in `this` relation. This allows the ordering of the final local ids for `this` to be determined more easily, which is generally required when other objects refer to these local ids. Reviewed By: arjunp Differential Revision: https://reviews.llvm.org/D123866
-
luxufan authored
In the past, `clang --target=riscv64-unknown-linux-gnu -mno-relax -c hello.s` will assemble hello.s without relaxation, but `clang --target=riscv64-unknown-linux-gnu -mno-relax -fno-integrated-as -c hello.s` doesn't pass the `-mno-relax` option to assembler, and assemble with relaxation This patch pass the -mno-relax option to assembler when -fno-integrated-as is specified. Differential Revision: https://reviews.llvm.org/D120639
-
jacquesguan authored
This revision folds transpose splat to a new splat with the transposed vector type. For a splat, there is no need to actually do transpose for it, it would be more effective to just build a new splat as the result. Reviewed By: ThomasRaoux Differential Revision: https://reviews.llvm.org/D123765
-
Richard Smith authored
functions are not treated as [[nodiscard]]. The compiler might choose to treat them as [[nodiscard]] without the involvement of libc++ if we allow it to recognize them as builtins.
-
chenglin.bi authored
This reverts commit 9d9eddd3.
-
Richard Smith authored
-
Chris Lattner authored
This was review feedback that I missed in the phab review: https://reviews.llvm.org/D123760
-
Chris Lattner authored
This class is a helper for 'parser-like' use cases of LogicalResult where the implicit conversion to bool is tolerable. It is used by the operation asmparsers, but is more generic functionality that is closely aligned with LogicalResult. Hoist it up to LogicalResult.h to make it more accessible. This is part of Issue #54884 Differential Revision: https://reviews.llvm.org/D123760
-
Richard Smith authored
This is extended to all `std::` functions that take a reference to a value and return a reference (or pointer) to that same value: `move`, `forward`, `move_if_noexcept`, `as_const`, `addressof`, and the libstdc++-specific function `__addressof`. We still require these functions to be declared before they can be used, but don't instantiate their definitions unless their addresses are taken. Instead, code generation, constant evaluation, and static analysis are given direct knowledge of their effect. This change aims to reduce various costs associated with these functions -- per-instantiation memory costs, compile time and memory costs due to creating out-of-line copies and inlining them, code size at -O0, and so on -- so that they are not substantially more expensive than a cast. Most of these improvements are very small, but I measured a 3% decrease in -O0 object file size for a simple C++ source file using the standard library after this change. We now a...
-
Lang Hames authored
-
Lang Hames authored
-
Lang Hames authored
This patch makes printing of FailedToMaterialize errors in llvm-jitlink conditional on the -show-err-failed-to-materialize option, which defaults to false. FailedToMaterialize errors are not root-cause errors: they're generated when a symbol is requested but cannot be provided because of a failure that was reported on some other error path. They typically don't convey actionable information, and tend to flood error logs making root cause errors harder to spot. Hiding FailedToMaterialize errors by default addresses these issues.
-
Mehdi Amini authored
This reverts commit daabcf5f. This patch still had on-going discussion that should be closed before committing.
-
Johannes Doerfert authored
When we run the CGSCC pass we should only invest time on the SCC. We can initialize AAs with information from the module slice but we should not update those AAs. We make an exception for are call site of the SCC as they are helpful providing information for the SCC. Minor modifications to pointer privatization allow us to perform it even in the CGSCC pass, similar to ArgumentPromotion.
-
Daniil Kovalev authored
Opaque pointers are enabled by default since D123300, so test IR should be regenerated correspondingly. Differential Revision: https://reviews.llvm.org/D123842
-
- Apr 17, 2022
-
-
Lang Hames authored
On some platforms _ZTIi may not be present (see discussion at https://reviews.llvm.org/rG43acef48d38e). We don't need this symbol for the test to work, so just add -phony-externals to the testcase to suppress the error.
-
Andrew Savonichev authored
ptxas fails to parse such syntax: mov.u64 %rd1, ($str); fatal : Parsing error near '$str': syntax error A new MCAsmInfo option was added because InParens parameter of MCExpr::print is not sufficient to disable parens completely. MCExpr::print resets it to false for a recursive call in case of unary or binary expressions. Targets that require parens around identifiers that start with '$' should always pass MCAsmInfo to MCExpr::print. Therefore 'operator<<(raw_ostream &, MCExpr&)' should be avoided because it calls MCExpr::print with nullptr MAI. Differential Revision: https://reviews.llvm.org/D123702 -
Uday Bondhugula authored
The generic form of the op is too verbose and in some cases not readable. On pass failure, ops have been so far printed in generic form to provide a (stronger) guarantee that the IR print succeeds. However, in a large number of pass failure cases, the IR is still valid and the custom printers for the ops will succeed. In fact, readability is highly desirable post pass failure. This revision provides an option to print ops in their custom/pretty-printed form on IR failure -- this option is unsafe and there is no guarantee it will succeed. It's disabled by default and can be turned on only if needed. Differential Revision: https://reviews.llvm.org/D123893
-
Christudasan Devadasan authored
Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D123666
-
Bill Wendling authored
A randomized structure needs to use a designated or default initializer. Using a non-designated initializer will result in values being assigned to the wrong fields. Differential Revision: https://reviews.llvm.org/D123763
-
hsmahesha authored
Fix indentation within the lit test - agpr-copy-no-free-registers.ll. Reviewed By: rampitec Differential Revision: https://reviews.llvm.org/D123809
-
Jacques Pienaar authored
-
Lang Hames authored
It's idiomatic to require that plugins (especially platform plugins) be installed to handle special edge kinds. If the plugins are not installed and an object is loaded that uses one of the special edge kinds then we want to error out rather than asserting.
-
Saleem Abdulrasool authored
This adjusts the path iteration - `paths` is a null-terminated sequence of C strings, creating an array from a single contiguous buffer. We would previously continue to iterate indefinitely as we did not check if we had encountered the terminator. Found by inspection.
-
Jonathan Wakely authored
This makes it a little easier to reuse the libc++ tests for another std::lib (specifically libstdc++). The regex_error::what() strings are different in other implementations, so should be tested with LIBCPP_ASSERT so that those checks are skipped for other implementations. The value of ECMAScript constant is non-zero in other implementations, and conditionally for libc++, so adjust the preprocessor condition for that too. Reviewed By: ldionne, #libc, philnik, Mordante Spies: Mordante, philnik, libcxx-commits Differential Revision: https://reviews.llvm.org/D122574
-