- Apr 17, 2022
-
-
Nico Weber authored
-
- Apr 16, 2022
-
-
Aaron Ballman authored
This reverts commit aed923b1. It causes some buildbot test failures.
-
Aaron Ballman authored
This reverts commit 2a404cdf. It didn't address the built bot failures. https://lab.llvm.org/buildbot/#/builders/171/builds/13231 https://lab.llvm.org/buildbot/#/builders/186/builds/5520
-
Nathan James authored
Adds a flag to `ClangTidyContext` that is used to indicate to checks that fixes will only be applied one at a time. This is to indicate to checks that each fix emitted should not depend on any other fixes emitted across the translation unit. I've currently implemented the `IncludeInserter`, `LoopConvertCheck` and `PreferMemberInitializerCheck` to use these support these modes. Reasoning behind this is in use cases like `clangd` it's only possible to apply one fix at a time. For include inserter checks, the include is only added once for the first diagnostic that requires it, this will result in subsequent fixes not having the included needed. A similar issue is seen in the `PreferMemberInitializerCheck` where the `:` will only be added for the first member that needs fixing. Fixes emitted in `StandaloneDiagsMode` will likely result in malformed code if they are applied all together, conversely fixes currently emitted may result in malformed c...
-
Vitaly Buka authored
Revert "Extend support for std::move etc to also cover std::as_const and" Revert "Update test to handle opaque pointers flag flip." It crashes on libcxx tests https://lab.llvm.org/buildbot/#/builders/85/builds/8174 This reverts commit fc309010. This reverts commit a571f82a. This reverts commit 64c045e2.
-
Mehdi Amini authored
-
Mehdi Amini authored
-
River Riddle authored
This helps to prevent tsan failures when users inadvertantly mutate the context in a non-safe way. Differential Revision: https://reviews.llvm.org/D112021
-
chenglin.bi authored
X%C to the equivalent of X-X/C*C is not always fastest path if there is no SDIV pair exist. So check target have faster for srem only first. Add AArch64 faster path for SREM only pow2 case. Fix https://github.com/llvm/llvm-project/issues/54649 Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D122968
-
Fangrui Song authored
-
Peter Klausler authored
When an error occurs in a formatted sequential output statement and no output was ever emitted, don't emit a blank record. This matches the error case behavior of other Fortran compilers. Differential Revision: https://reviews.llvm.org/D123734
-
Jun Zhang authored
Signed-off-by:Jun Zhang <jun@junz.org>
-
Peter Klausler authored
The x%KIND inquiry needs to be supported when 'x' is itself a complex part reference or a type parameter inquiry. Differential Revision: https://reviews.llvm.org/D123733
-
Peter Klausler authored
A POINTER attribute statement is allowed to add the POINTER attribute to a procedure entity that has already been declared, e.g. with an INTERFACE block. Differential Revision: https://reviews.llvm.org/D123732
-
Fangrui Song authored
Clang now matches GCC in the two cases. D109981 fixed the second case though it did not call out the effect.
-
Peter Klausler authored
f18 was emitting a warning about short character actual arguments to subprograms and statement functions; every other compiler considers this case to be an error. Differential Revision: https://reviews.llvm.org/D123731
-
Fangrui Song authored
-
Weining Lu authored
-
Peter Klausler authored
A predicate expression made ENDFILE statements significant only for sequential files, but it's applicable to formatted stream output as well. Differential Revision: https://reviews.llvm.org/D123730
-
Shilei Tian authored
As suggested in D120290. Reviewed By: ABataev Differential Revision: https://reviews.llvm.org/D123862
-
Joseph Huber authored
Summary: A previous patch had some linter warnings that should've been addressed.
-
Chris Bieneman authored
*fingers crossed*
-
Mogball authored
-
Mehdi Amini authored
-
Mehdi Amini authored
-
Craig Topper authored
Most of insertelement constant folding is blocked if the vector type is scalable. I believe we can make an exception for inserting null into an all zeros vector. Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D123413
-
Mogball authored
LICM is refactored into a utility that is application on any region. The implementation is moved to Transform/Utils.
-
Joseph Huber authored
The previous patch introduced the offloading binary format so we can store some metada along with the binary image. This patch introduces using this inside the linker wrapper and Clang instead of the previous method that embedded the metadata in the section name. Differential Revision: https://reviews.llvm.org/D122683
-
Joseph Huber authored
Summary: The changes in D122987 ensures that the offloading sections always have the SHF_EXCLUDE flag. This means that we do not need to manually strip these sections for ELF or COFF targets.
-
Matt Arsenault authored
Error on some of these other fields, since tracking down test cases for all of these at once is exhausting.
-
Matt Arsenault authored
-
Craig Topper authored
Checking opcode is cheap. hasOneUse might not be if the node has multiple results. By checking the opcode we can rule out nodes with multiple results we aren't interested in.
-
Stella Stamenova authored
This reverts commit 3131f808. This commit broke the Windows mlir bot: https://lab.llvm.org/buildbot/#/builders/13/builds/19745
-
Craig Topper authored
Checking the opcode is cheap, counting the number of uses is not.
-
Chris Bieneman authored
This change is a big blob of code that isn't easy to break up. It either comes in all together as a blob, works and has tests, or it doesn't do anything. Logically you can think of this patch as three things: (1) Adding virtual interfaces so the bitcode writer can be overridden (2) Adding a new bitcode writer implementation for DXIL (3) Adding some (optional) crazy CMake goop to build the DirectXShaderCompiler's llvm-dis as dxil-dis for testing Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D122082
-
Craig Topper authored
hasOneUse is not cheap on nodes with chain results that might have many uses. By checking the opcode first, we can avoid a costly walk of the use list on nodes we aren't interested in. Found by investigating calls to hasNUsesOfValue from the example provided in D123857.
-
Johannes Doerfert authored
-
Richard Smith authored
std::addressof, plus the libstdc++-specific std::__addressof. This brings us to parity with the corresponding GCC behavior. Remove STDBUILTIN macro that ended up not being used.
-
Peter Klausler authored
For parameterized derived type component initializers whose expressions' types depend on parameter values, f18's current scheme of analyzing the initialization expression once during name resolution fails. For example, type :: pdt(k) integer, kind :: k real :: component = real(0.0, kind=k) end type To handle such cases, it is necessary to re-analyze the parse trees of these initialization expressions once for each distinct initialization of the type. This patch adds code to wipe an expression parse tree of its typed expressions, and update those of its symbol table pointers that reference type parameters, and then re-analyze that parse tree to generate the properly typed component initializers. Differential Revision: https://reviews.llvm.org/D123728 -
Johannes Doerfert authored
Instead of lengthy constructors we can now set the members of a read-only struct before the Attributor is created. Should make it clearer what is configurable and also help introducing new options in the future. This actually added IsModulePass and avoids deduction through the Function set size. No functional change was intended.
-