- Sep 21, 2023
-
-
David Green authored
This transform has caused a few issues with operations that can naturally be extended. This patch just adds a debug option for disabling the transform, useful for testing cases where it might not be profitable.
-
Nathan Gauër authored
One big issue with DirectXShaderCompiler was test coverage: DXIL and SPIR-V backends had their own tests. When a bug was found in one, the other wasn't always checked. This lead to unequal support of HLSL for both backends. We'd like to avoid those issues here, hence the test-sharing. By default, all the tests in this folder are marked as requiring DirectX. But as SPIR-V support grows, each test drop this requirement, and check the SPIR-V behavior. I would have preferred to mark new tests as XFAIL for SPIR-V by default, so we could differentiate real unsupported tests (as SPIR-V has no equivalent), from newly added tests. But the way LIT is built, I don't think this is possible. --------- Signed-off-by:Nathan Gauër <brioche@google.com>
-
Florian Hahn authored
Now that VPInstruction can manage fast math flags via VPRecipeWithIRFlags, use them directly to model the fast-math flags of the select created for the final reduction value instead of adding them late.
-
Pierre van Houtryve authored
Code Object V2 has been deprecated for more than a year now. We can safely remove it from LLVM. - [clang] Remove support for the `-mcode-object-version=2` option. - [lld] Remove/refactor tests that were still using COV2 - [llvm] Update AMDGPUUsage.rst - Code Object V2 docs are left for informational purposes because those code objects may still be supported by the runtime/loaders for a while. - [AMDGPU] Remove COV2 emission capabilities. - [AMDGPU] Remove `MetadataStreamerYamlV2` which was only used by COV2 - [AMDGPU] Update all tests that were still using COV2 - They are either deleted or ported directly to code object v4 (as v3 is also planned to be removed soon).
-
Matthias Springer authored
Dependent interfaces have been added a while ago and these TODOs can be addressed now.
-
Piyou Chen authored
The RISCV-V-Spec[1] describes which RVV instructions are allowed to overlap between source operands and destination operands. Currently, most of these instructions are constrained with early-clobber. This patch labels these instructions with TargetOverlapConstraintType in pseudo to indicate that these instructions can overlap. The value of TargetOverlapConstraintType is: 1 -> default 2 -> narrow case 3 -> widen case This information is useful for future optimization passes. [1] https://github.com/riscv/riscv-v-spec/blob/master/v-spec.adoc#52-vector-operands Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D157588
-
LLVM GN Syncbot authored
-
David Spickett authored
This reverts commit 933ad5c8. This caused 1 test failure and an unexpected pass on AArch64 Linux: https://lab.llvm.org/buildbot/#/builders/96/builds/45765 Wasn't reported because the bot was already red at the time.
-
Brandon Wu authored
-
Igor Zhukov authored
https://cplusplus.github.io/LWG/issue3655 Differential Revision: https://reviews.llvm.org/D144645 Co-authored-by:
Louis Dionne <ldionne.2@gmail.com>
-
Mirko Brkušanin authored
-
Guillaume Chatelet authored
[libc][clang-tidy] Add llvm-header-guard to get consistant naming and prevent file copy/paste issues. (#66477)
-
Florian Hahn authored
After f108c6cd, (mul x, 1) is simplified to x, which can cause the select for the final reduction value when tail-folding to use the reduction value for both options. Relax the assertion to make sure this case is allowed. Note that the reduction is now redundant itself and could be further simplified. Fixes #66895.
-
Louis Dionne authored
This patch is a melting pot of changes picked up from https://llvm.org/D61878. It adds a few tests checking corner cases of unordered containers comparison and adds benchmarks for a few unordered_set operations.
-
Louis Dionne authored
On Apple platforms, we always support the -nostdlib++ flag. Hence, it is not necessary to manually link against system libraries. In fact, doing so causes us to link against libSystem explicitly, which messes up with the order of libraries we should use. Indeed: Before patch, using the system unwinder (LIBCXXABI_USE_LLVM_UNWINDER = OFF) =========================================================================== $ otool -L lib/{libc++.1.dylib,libc++abi.1.dylib,libunwind.1.dylib} lib/libc++.1.dylib: @rpath/libc++.1.dylib /usr/lib/libSystem.B.dylib @rpath/libc++abi.1.dylib lib/libc++abi.1.dylib: @rpath/libc++abi.1.dylib /usr/lib/libSystem.B.dylib lib/libunwind.1.dylib: @rpath/libunwind.1.dylib /usr/lib/libSystem.B.dylib After patch, using the system unwinder (LIBCXXABI_USE_LLVM_UNWINDER = OFF) ==================================... -
Matthias Springer authored
`AffineForOp::getInitOperands` is renamed to `getInits` to be consistent with MLIR operand getter naming conventions. ("get" + operand name) -
David Spickett authored
This change is https://reviews.llvm.org/D49549 ported to the monorepo layout. Patch by Arnaud Coomans. Patch title and message: ``` Change 'clang-test' to 'check-clang' on the hacking webpage The command to run tests was previously changed from 'clang-test' to 'check-clang'; with 'clang-test' remaining available as a legacy alias (see git-svn-id: https://reviews.llvm.org/rC159483 91177308-0d34-0410-b5e6-96231b3b80d8). This commit changes the www documentation accordingly. ```
-
Yingwei Zheng authored
-
Jevin Jiang authored
- make sure that the type of induction variable should be determined by the type of the lower bound type. Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D159534
-
Nikita Popov authored
When unswitching via invariant condition injection, we currently mark the condition in the old loop, so that it does not get unswitched again. However, if there are multiple branches for which conditions can be injected, then we can do that for both the old and new loop. This means that the number of unswitches increases exponentially. Change the handling to be more similar to partial unswitching, where we instead mark the whole loop, rather than a single condition. This means that we will only generate a linear number of loops. TBH I think even that is still highly undesirable, and we should probably be unswitching all candidates at the same time, so that we end up with only two loops. But at least this mitigates the worst case. The test case is a reduced variant that generates 1700 lines of IR without this patch and 290 with it. Fixes https://github.com/llvm/llvm-project/issues/66868.
-
Frederic Cambus authored
Similar to D110763.
-
Corentin Jabot authored
This is in preparation towards the move from recommonmark to myst See #65664
-
Nikita Popov authored
-
Sunrise authored
Fixed #66047 Before fix,the following testcase expected true. ```cpp TEST_F(StructuralEquivalenceStmtTest, DeclRefENoEq) { std::string Prefix = "enum Test { AAA, BBB };"; auto t = makeStmts( Prefix + "void foo(int i) {if (i > 0) {i = AAA;} else {i = BBB;}}", Prefix + "void foo(int i) {if (i > 0) {i = BBB;} else {i = AAA;}}", Lang_CXX03, ifStmt()); EXPECT_FALSE(testStructuralMatch(t)); // EXPECT_TRUE } ``` -
Job Noorman authored
`FixRISCVCallsPass` changes all different forms of calls to `PseudoCALL` instructions. However, the original call's annotations were lost in the process. This patch fixes this by moving all annotations from the old to the new call. `MCPlusBuilder::moveAnnotations` had to be made public for this.
-
Ben Barham authored
Re-applies #65683 with a fix to always run `Actions.ActOnEndOfTranslationUnit` regardless of incremental processing.
-
Congcong Cai authored
Fixed: https://github.com/llvm/llvm-project/issues/62127 https://reviews.llvm.org/D116203 introduced several compiler builtin equivalents of the unary type traits. In some cases (e.g. template) those builtin will be dependent and need to be mangle. This patch add the check for `u{builtin}I{type}E` to demangle it. Reviewed By: rjmccall Differential Revision: https://reviews.llvm.org/D148465
-
Pranav Taneja authored
-
Fangrui Song authored
Fix a18ee8b7 to use a comparator that actually works: assign an ordinal to registered section.
-
Vitaly Buka authored
-
Vitaly Buka authored
InvalidFreeReport prints invalid ptr/mem. This reverts commit 7641c220.
-
Qizhi Hu authored
improve AST comparasion on VarDecl & GotoStmt: 1. VarDecl should not be ignored, 2. GotoStmt has no children, it should be handle explicitly. Reviewed By: donat.nagy Differential Revision: https://reviews.llvm.org/D159519 Co-authored-by:
huqizhi <836744285@qq.com>
-
Jason Molenda authored
The test is expecting watchpoint hits that are valid on aarch64 systems but not on Intel. I need to update this test to match the actual behavior on Intel macs, and don't want the CI bots to stay broken while I get that figured out.
-
HaohaiWen authored
Enables the cost-benefit-analysis-based inliner by default if we have sample profile. No extra fix is required.
-
Vitaly Buka authored
-
Vitaly Buka authored
-
Vitaly Buka authored
-
Vitaly Buka authored
-
Vitaly Buka authored
-
Andrew Gozillon authored
[Flang][OpenMP][MLIR] Fix memory leak caused by D149368 causing sanitizer error and fix iterator invalidation error This patch fixes two issues introduced by the D149368 patch, one is a memory leak from using the removeFromParent rather than eraseFromParent (the erase also had to be moved to not create use after deletes). And the other is a possible iterator invalidation bug, better to be safe than sorry.
-