- Mar 23, 2022
-
-
Nathan Chancellor authored
This reverts commit 9e9bda2e. This causes a backend error when building the Linux kernel for arm64. See https://reviews.llvm.org/D122166 for a simplified reproducer.
-
Vasileios Porpodas authored
Recommit "[SLP] Fix lookahead operand reordering for splat loads." attempt 2, fixed assertion crash. Original review: https://reviews.llvm.org/D121354 This reverts commit f7d7d2a0.
-
Fabian Wolff authored
Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D122111
-
Arthur Eubanks authored
-
Jez Ng authored
Update DataInCode's calculation of `endAddr` to use `getSize()` instead of `getFileSize()` -- while in practice they're the same for non-zerofill sections (which code sections are), we still should treat address sizes / offsets as distinct from file sizes / offsets.
-
Snehasish Kumar authored
This reverts commit f4b79442. Reland with underlying msan issue fixed in D122260.
-
Snehasish Kumar authored
This patch updates the existing default no-arg constructor for MemInfoBlock to explicitly initialize all members. Also add missing DataTypeId initialization to the other constructor. These issues were exposed by msan on patch D121179. With this patch D121179 builds cleanly on msan. Reviewed By: tejohnson Differential Revision: https://reviews.llvm.org/D122260
-
Craig Topper authored
MMX_MOVD64from64rr moves an MMX register to a 64-bit GPR. MMX_MOVD64from64mr is the memory version of moving a MMX register to a 64-bit GPR. It requires the REX.W bit to be set. There are no isel patterns that use this instruction. MMX_MOVQ64mr is the MMX register store instruction. It doesn't require a REX.W prefix. This makes it one byte shorter to encode than MMX_MOVD64from64mr in many cases. Both store instructions output the same mnemonic string. The assembler would choose MMX_MOVQ64mr if it was to parse the output. Which is another reason using it is the correct thing to do. Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D122241
-
Zixu Wang authored
Change the Symbol Graph serializer for ExtractAPI to use `objective-c` for the language name string for Objective-C, to align with clang frontend standards.
-
Craig Topper authored
Differential Revision: https://reviews.llvm.org/D122262
-
wren romano authored
I'm using "shape" to mean the compile-time object, where zeros indicate sizes which are compile-time dynamic; and using "sizes" to mean the run-time object, where zeros indicate a dimension with no coordinates (hence resulting in trivial storage). Because their semantics differ on zeros, it's important to keep them distinguished. Although we do not define separate C++ types to capture the distinction, we can at least use variable names to do so. This is (tangential) work towards fixing: https://github.com/llvm/llvm-project/issues/51652 Depends On D122057 Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D122058
-
Mike Rice authored
Adds basic parsing/sema/serialization support for the #pragma omp parallel loop directive. Differential Revision: https://reviews.llvm.org/D122247
-
Stanislav Mekhanoshin authored
This is undocumented, but it should work. Differential Revision: https://reviews.llvm.org/D122252
-
Philip Reames authored
The motivation for this is that while both memcpyopt and dse will catch this case, both are limited by MSSA's walk back threshold when finding clobbers. As such, if you have a memcpy of an otherwise dead alloca placed towards the end of a long basic block with lots of other memory instructions, it would be missed. This is a bit undesirable for such an "obviously" useless bit of code. As noted in comments, we should probably generalize instcombine's escape analysis peephole (see visitAllocInst) to allow read xor write. Doing that would subsume this code in a more general way, but is also a more involved change. For the moment, I went with the easiest fix.
-
Louis Dionne authored
-
wren romano authored
This is work towards: https://github.com/llvm/llvm-project/issues/51652 This differential doesn't yet make use of the new kSparseToSparse, just introduces it. The differential that finally makes use of them is D122061, which is the final differential in the chain that fixes bug 51652. Depends On D122054 Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D122055
-
Valentin Clement authored
This patch adds some lowering tests for the `forall` construct. This patch is part of the upstreaming effort from fir-dev branch. Reviewed By: PeteSteinfeld Differential Revision: https://reviews.llvm.org/D122253 Co-authored-by:
Jean Perier <jperier@nvidia.com> Co-authored-by:
Eric Schweitz <eschweitz@nvidia.com>
-
Arthur Eubanks authored
This reverts commit 79613185. Causes crashes, see comments in https://reviews.llvm.org/D121973.
-
Sanjay Patel authored
The affected code can be updated to solve #54364, so make some cosmetic diffs before real changes.
-
Zixu Wang authored
- The name SymbolGraph is inappropriate and confusing for the new library for clang-extract-api. Refactor and rename things to make it clear that ExtractAPI is the core functionality and SymbolGraph is one serializer for the API information. - Add documentation comments to ExtractAPI classes and methods to improve readability and clearness of the ExtractAPI work. Differential Revision: https://reviews.llvm.org/D122160
-
Philip Reames authored
-
wren romano authored
This is work towards: https://github.com/llvm/llvm-project/issues/51652 This differential sets up the options and threads them through everywhere, but doesn't actually use them yet. The differential that finally makes use of them is D122061, which is the final differential in the chain that fixes bug 51652. Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D122054
-
wren romano authored
This is the more logical place for the function to live. If/when we factor out a separate class for just the `Coordinates` themselves, then the definition should be moved to `Coordinates::lexOrder` (and `Element::lexOrder` would become a thin wrapper delegating to that function). This is (tangentially) work towards fixing: https://github.com/llvm/llvm-project/issues/51652 Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D122057
-
Valentin Clement authored
This patch adds test for calls with POINTER dummy arguments on the caller side. It also fixes some formatting error that was introduced when upstreaming the other pointer tests. This patch is part of the upstreaming effort from fir-dev branch. Reviewed By: PeteSteinfeld Differential Revision: https://reviews.llvm.org/D122238 Co-authored-by:
Jean Perier <jperier@nvidia.com>
-
Stanislav Mekhanoshin authored
-
spupyrev authored
It seems the earlier implementation does not follow the description in LoopRotationPass.h: It rotates loops even if they are already laid out correctly. The diff adjusts the behaviour. Given that the impact of LoopInversionPass is minor, this change won't yield significant perf differences. Tested on clang-10: there seems to be a 0.1%-0.3% cpu win and a small reduction of branch misses. **Before:** BOLT-INFO: 120 Functions were reordered by LoopInversionPass **After:** BOLT-INFO: 79 Functions were reordered by LoopInversionPass Reviewed By: yota9 Differential Revision: https://reviews.llvm.org/D121921
-
Philip Reames authored
-
Louis Dionne authored
Sometimes, we could be building for a platform where we don't link compiler-rt, so being able to figure out the right compiler-rt suffix isn't necessary, but we shouldn't fail the build.
-
Louis Dionne authored
This is consistent with what we do elsewhere.
-
David Blaikie authored
-
David Blaikie authored
-
Corentin Jabot authored
In CheckConstexprFunctionStmt, as discussed in D111400.
-
Aaron Ballman authored
This reverts commit c3460689. It broke at least one of the builders: https://lab.llvm.org/buildbot#builders/100/builds/13947
-
Corentin Jabot authored
Allow goto, labelled statements as well as `static`, `thread_local`, and non-literal variables in `constexpr` functions. As specified. for all of the above (except labelled statements) constant evaluation of the construct still fails. For `constexpr` bodies, the proposal is implemented with diagnostics as a language extension in older language modes. For determination of whether a lambda body satisfies the requirements for a constexpr function, the proposal is implemented only in C++2b mode to retain the semantics of older modes for programs conforming to them. Reviewed By: aaron.ballman, hubert.reinterpretcast, erichkeane Differential Revision: https://reviews.llvm.org/D111400
-
Peter Klausler authored
Implements UTF-8 encoding and decoding for external units with OPEN(ENCODING='UTF-8'). This encoding applies to default CHARACTER values that are not 7-bit ASCII as well as to the wide CHARACTER kinds 2 and 4. Basic testing is in place via direct calls to the runtime I/O APIs, but serious checkout awaits lowering support of the wide CHARACTER kinds. Differential Revision: https://reviews.llvm.org/D122038
-
Peter Klausler authored
Name resolution was crashing while processing the ENTRY statement due to a lack of special-case code necessary to handle the indirection needed when the generic has the same name as the ENTRY. Differential Revision: https://reviews.llvm.org/D122050
-
Jacques Pienaar authored
Add method to tag classes/defs as deprecated. Previously deprecations were only verbally communicated and folks didn't have an active warning while building about impending removal. Add mechanism to tag defs as deprecated to allow warning users. This doesn't change any policy, it just moves deprecation warnings from comments to something more user visible. Differential Revision: https://reviews.llvm.org/D122164
-
Jonas Devlieghere authored
Avoid "TERM environment variable not set" by either propagating the TERM environment variable or defaulting to vt100. All of our CI is already doing this explicitly through the --env dotest arg, but it's easy to forget when setting up a new job. I don't see any downside in making it the default.
-
Cynthia Shen authored
Reviewed By: arjunp Differential Revision: https://reviews.llvm.org/D122197
-
Marcus Johnson authored
This is anticipated to be used in new format specifier checking code.
-