- Mar 21, 2022
-
-
Evgeny Shulgin authored
The checker should ignore parentheses when looking whether the function should be marked as `const`. Fixes https://github.com/llvm/llvm-project/issues/52838 Reviewed By: mgehre-amd, njames93 Differential Revision: https://reviews.llvm.org/D122075
-
Jay Foad authored
Simplify some for loops. Don't bother checking src2 operand for writelane because it doesn't have one. Check all VALU instructions, not just VOP1/2/3/C/SDWA.
-
Shraiysh Vaishay authored
This patch adds translation from `omp.atomic.capture` to LLVM IR. Also added tests for the same. Depends on D121546 Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D121554
-
Nikita Popov authored
Rather than using a dummy void pointer type, we should specify the correct private type and perform the bitcast beforehand rather than afterwards. This way, the Address will have correct alignment information.
-
Simon Pilgrim authored
As suggested on PR35908, if we are adding/subtracting an extracted bit, attempt to use BT instead to fold the op and use a ADC/SBB op. Differential Revision: https://reviews.llvm.org/D122084
-
Shraiysh Vaishay authored
This patch fixes the condition for emitting atomic update using `atomicrmw` instruction or compare-exchange loop. Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D121546
-
Simon Pilgrim authored
-
serge-sans-paille authored
Differential Revision: https://reviews.llvm.org/D122005
-
serge-sans-paille authored
The implementation is just a generalization of the Select handler. We're no trying to be smart and compute any kind of fixed point. Differential Revision: https://reviews.llvm.org/D121897
-
Florian Hahn authored
completeLoopSkeleton only uses its loop argument only to get the pre-header, but the pre-header is already known (we created/cached it earlier). Remove the unneeded loop argument.
-
Marek Kurdej authored
-
Martin Storsjö authored
Differential Revision: https://reviews.llvm.org/D121164
-
Nikita Popov authored
Mention automatic enablement of opaque pointers mode that was recently implemented. Update wording in the transition state, because it seems like my overly cautious wording has given some people an incorrect impression of the state of opaque pointer support in clang.
-
Nikita Popov authored
-
Marek Kurdej authored
-
Thomas Symalla authored
This reverts commit 011c6419 and e725e2af. Differential Revision: https://reviews.llvm.org/D122117
-
Marek Kurdej authored
This patch adds drop_end that is analogical to drop_begin. It tries to fill the functional gap where one could drop first elements but not the last ones. The need for it came in when refactoring clang-format. Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D122009
-
Thomas Symalla authored
-
Thomas Symalla authored
On GFX10.3 targets, the following instruction sequence v_cmp_* SGPR, ... s_and_saveexec ..., SGPR leads to a fairly long stall caused by a VALU write to a SGPR and having the following SALU wait for the SGPR. An equivalent sequence is to save the exec mask manually instead of letting s_and_saveexec do the work and use a v_cmpx instruction instead to do the comparison. This patch modifies the SIOptimizeExecMasking pass as this is the last position where s_and_saveexec instructions are inserted. It does the transformation by trying to find the pattern, extracting the operands and generating the new instruction sequence. It also changes some existing lit tests and introduces a few new tests to show the changed behavior on GFX10.3 targets. Reviewed By: sebastian-ne, critson Differential Revision: https://reviews.llvm.org/D119696
-
Alisamar Husain authored
Differential Revision: https://reviews.llvm.org/D122114
-
LLVM GN Syncbot authored
-
Adrian Kuegel authored
This did not show up as build error because the build also works if the dependency is transitively available. But there should be a direct dependency anyway.
-
Chen Zheng authored
Rename file for PPCCTRLoopsVerify pass from PPCCTRLoops.cpp to PPCCTRLoopsVerify.cpp. There will be a new file PPCCTRLoops.cpp for PPC CTR loops generation later.
-
Pavel Labath authored
It removes the "wait-until-event-thread-stops" logic, which makes TestDiagnosticReporting.py flaky. This reverts commits 09ff41a0 and acdd41b4.
-
Siva Chandra Reddy authored
Reviewed By: lntue Differential Revision: https://reviews.llvm.org/D121976
-
Alisamar Husain authored
This fails currently but the basics are there Differential Revision: https://reviews.llvm.org/D122093
-
Kazu Hirata authored
-
Craig Topper authored
Instead of taking a SkipDefs parameter, rename to getCondSrcNoFromDesc and have it return the source operand number. Make getCondFromMI responsible for adding the number of Defs for MI instructions. While there remove some unneeded casts to unsigned and check for negative numbers instead of explicitly -1. Less than 0 is easier for a compiler to codegen. Differential Revision: https://reviews.llvm.org/D122113
-
Carlos Alberto Enciso authored
At Sony we are developing llvm-dva https://lists.llvm.org/pipermail/llvm-dev/2020-August/144174.html For its PDB support, it requires functionality already present in llvm-pdbutil. We intend to move that functionaly into the PDB library to be shared by both tools. That change will be done in 2 steps, that will be submitted as 2 patches: (1) Replace 'ExitOnError' with explicit error handling. (2) Move the intended shared code to the PDB library. This patch is for step (1). As 'ExitOnError' is intended to be used only in tool code, replace all occurrences in the code that will be moved to the PDB library with explicit error handling. Reviewed By: aganea, dblaikie, rnk Differential Revision: https://reviews.llvm.org/D121801
-
Andrew Litteken authored
Since the IROutliner is performing an optimization, it should not outline from functions explicitly marked with optnone. This adds an extra check and test to make sure this does not occur. Reviewers: paquette Differential Revision: https://reviews.llvm.org/D121567
-
Shengchen Kan authored
-
Shengchen Kan authored
-
jacquesguan authored
Differential Revision: https://reviews.llvm.org/D121985
-
Kazu Hirata authored
-
Florian Hahn authored
-
Philip Reames authored
The semantics of an inalloca alloca instruction requires that it not be reordered with a preceeding stacksave intrinsic call. Unfortunately, there's no def/use edge or memory dependence edge. (THe memory point is slightly subtle, but in general a new allocation can't alias with a call which executes strictly before it comes into existance.) I'd tried to tackle this same case previously in 689babdf, but the fix chosen there turned out to be incomplete. As such, this change contains a fully revert of the first fix attempt. This was noticed when investigating problems which surfaced with D118538, but this is definitely an existing bug. This time around, I managed to reduce a couple of additional cases, including one which was being actively miscompiled even without the new scheduling change. (See test diffs) Compile time wise, we only spend extra time when seeing a stacksave (rare), and even then we walk the block at most once per schedule window extension. Likely a non-issue.
-
Aaron Puchert authored
After D108936, @llvm.smul.with.overflow.i64 was lowered to __multi3 instead of __mulodi4, which also doesn't exist on PowerPC 32-bit, not even with compiler-rt. Block it as well so that we get inline code. Because libgcc doesn't have __muloti4, we block that as well. Fixes #54460. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D122090
-
Kazu Hirata authored
-
- Mar 20, 2022
-
-
Mark de Wever authored
This is no longer needed. Reviewed By: #libc, philnik Differential Revision: https://reviews.llvm.org/D122099
-
Chen Zheng authored
-