- Nov 22, 2022
-
-
chenglin.bi authored
-
esmeyi authored
Summary: -xcoff-traceback-table is a default option on AIX regardless of optimization and debug levels. An error of relocation for paired relocatable term is not yet supported in XCOFFObjectWriter::recordRelocation occurred when both of the -xcoff-traceback-table and -function-sections are enabled. The root cause is that we missed to calculate the symbols difference as absolute value before adding fixups when symbol_A without the fragment set is the csect itself and symbol_B is in it. This patch only sets the fragment for XMC_PR csects because we don't have other cases that hit this problem yet. Reviewed By: DiggerLin, hubert.reinterpretcast Differential Revision: https://reviews.llvm.org/D137230
-
Manuel Brito authored
Differential Revision: https://reviews.llvm.org/D138483
-
Stefan Gränitz authored
Pushing the `CatchRetScope` early causes cleanups for catch parameters to be emitted in the basic block of the catch handler instead of the `catchret.dest` block. This is important because the latter is not part of the catchpad and this caused code truncations due to ARC PreISel intrinsics in WinEHPrepare. Reviewed By: rnk Differential Revision: https://reviews.llvm.org/D137939
-
Piotr Sobczak authored
Add missing assembler/disassembler tests for INSTID_SALU_CYCLE_2 and INSTID_SALU_CYCLE_3 which are possible arguments in S_DELAY_ALU. Differential Revision: https://reviews.llvm.org/D138482
-
Lorenzo Chelini authored
Avoid duplicate code by using an existing helper function to interchange a vector based on a permutation. Address comments emerged after landing D138119. Reviewed By: nicolasvasilache Differential Revision: https://reviews.llvm.org/D138480
-
Matthias Springer authored
Dim sizes of `scf.foreach_thread` op results match the dim sizes of their respective tied shared_outs operands. Differential Revision: https://reviews.llvm.org/D138484
-
Alexander Belyaev authored
-
Alexander Belyaev authored
Differential Revision: https://reviews.llvm.org/D138478
-
Benjamin Kramer authored
-
zhanghb97 authored
This patch adds the initial VP intrinsic integration test on the host backend and RVV emulator. Please see more detailed [discussion on the discourse](https://discourse.llvm.org/t/mlir-vp-ops-on-rvv-backend-integration-test-and-issues-report/66343). - Run the test cases on the host by configuring the CMake option: `-DMLIR_INCLUDE_INTEGRATION_TESTS=ON` - Build the RVV environment and run the test cases on RVV QEMU by [this doc](https://gist.github.com/zhanghb97/ad44407e169de298911b8a4235e68497). Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D137816
-
Han-Kuan Chen authored
Differential Revision: https://reviews.llvm.org/D137688
-
WuXinlong authored
This patch add the support of RISCV Zca ext `Zca` is a subset of C extension instructions that are compatible with the Zc extension. So this patch implements Zca code generation with reference to the C extension and sets the 2-byte alignment for the Zca extension, just like C extension does. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D130483
-
Pierre van Houtryve authored
Makes the SRC_(SHARED|PRIVATE)_(BASE|LIMIT) registers 64 bit instead of 32. They're still usable as 32 bit operands by using the _LO suffix. Preparation for D137542 Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D137767
-
Valentin Clement authored
This reverts commit 97e8eeb7.
-
Max Kazantsev authored
Currently, it just returns exact exit count. This is a refectoring step before it is actually implemented.
-
gonglingqin authored
Add missing dependency for loongarch-resource-headers. This patch refers to D126892 to repair same error. Differential Revision: https://reviews.llvm.org/D138403
-
Valentin Clement authored
As suggested on D138129, switching rteurn of CollectBindings function to SymbolVector. Reviewed By: jeanPerier Differential Revision: https://reviews.llvm.org/D138419
-
Valentin Clement authored
When the rhs is non-polymorphic the type descriptor should not be propagated. An error in the EmboxOp verifier was raised in that case. This patch propagate the type descriptor only if the result type of the EmboxOp operation is polymorphic. Reviewed By: PeteSteinfeld Differential Revision: https://reviews.llvm.org/D138442
-
Alvin Wong authored
Fixes https://github.com/llvm/llvm-project/issues/59021 Reviewed By: #libc, philnik Differential Revision: https://reviews.llvm.org/D138268
-
Max Kazantsev authored
Currently this is NFC, because SymbolicMaximum for BB is not implemented and just reuses exact result. However, from code purity perspective, it's a necessary step to do. Plans to implement symbolic max for blocks are underway.
-
Pierre van Houtryve authored
Add missing logic to select i16 variants and enable GISel testing. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D136448
-
Lorenzo Chelini authored
Pack and Unpack return new tensors within which the individual elements are reshuffled according to the packing specification. This has the consequence of modifying the canonical order in which a given operator (i.e., Matmul) accesses the individual elements. After bufferization, this typically translates to increased access locality and cache behavior improvement, e.g., eliminating cache line splitting. Co-authored-by:
Mahesh Ravishankar <ravishankarm@google.com> Co-authored-by:
Han-Chung Wang <hanchung@google.com> RFC: https://discourse.llvm.org/t/rfc-tensor-pack-and-tensor-unpack/66408/1 Reviewed By: nicolasvasilache, rengolin, hanchung Differential Revision: https://reviews.llvm.org/D138119
-
Chen Zheng authored
Add global isel support for G_FADD, G_FSUB, G_FMUL, G_FDIV. Reviewed By: Kai, nemanjai, arsenm, amyk Differential Revision: https://reviews.llvm.org/D132942
-
gonglingqin authored
As discussed in D137541, it supports processing when the depth of __builtin_frame_address is greater than 0 instead of reporting an error. Unsafe calls rely on the '-Wframe-address' option for diagnosis. Differential Revision: https://reviews.llvm.org/D138084
-
Chen Zheng authored
For case that LROffset + FrameSize can not be encoded to the LR store instruction, we have to store the LR before the stack update.
-
Chen Zheng authored
-
David Green authored
The add from the IV in the inner loop was always checking for 2 uses, the phi and the compare. The compare could be based on the phi though, leaving one valid use of the compare. In the testcase we could be left with the phi and a lcssa phi as the two users, invalidly allowing flattening where we shouldn't. Fixes 58441 Differential Revision: https://reviews.llvm.org/D138404
-
Mahesh Ravishankar authored
Elementwise op fusion conserves the result of the producer in the fused op, relying on later clean up patterns to drop unused results of the fused op. Instead, if the producer result has no other use apart from the consumer op, avoid making the producer result available in the fused node. This saves some unnecessary IR manipulations. Differential Revision: https://reviews.llvm.org/D138096
-
Max Kazantsev authored
These limitations are too strict, and their only purpose is to avoid code size explosion. These restrictions seem obsolete, and the size problem is solved in other places through cheap expansion limits. The motivation is that the old code cannot deal with comparisons against induction variant's increment. Differential Revision: https://reviews.llvm.org/D138412 Reviewed By: lebedev.ri, reames
-
KAWASHIMA Takahiro authored
`-fapprox-func` should be disabled by `-fp-model={strict|precise}`, as well as other fast-math flags. See the last changes in `clang/test/Driver/fp-model.c`. Probably this route (`case options::OPT_ffp_model_EQ`) was forgot to update in D106191 and D114564. There is no appropriate reason not to disable the flag. This commit also updates other regression tests, which are not directly related to this bug, for consistency with other fast-math flags. Differential Revision: https://reviews.llvm.org/D138109 -
Craig Topper authored
After D137970, we do the fixable instruction conversion in place so we don't need to worry about iterator invalidation. This lets us to conversion and updates in a single loop. Reviewed By: reames Differential Revision: https://reviews.llvm.org/D138043
-
Craig Topper authored
Instead of creating a new instruction and copying operands, we can use setDesc to convert in place. Reviewed By: reames Differential Revision: https://reviews.llvm.org/D137970
-
Craig Topper authored
If the immediate is a shifted mask, we will use a pair of shifts and never materialize the immediate. Consider the immediate free. Reviewed By: reames, luismarques Differential Revision: https://reviews.llvm.org/D138260
-
Kazu Hirata authored
This patch replaces: return Optional<T>(); with: return None; to make the migration from llvm::Optional to std::optional easier. Specifically, I can deprecate None (in my source tree, that is) to identify all the instances of None that should be replaced with std::nullopt. Note that "return None" far outnumbers "return Optional<T>();". There are more than 2000 instances of "return None" in our source tree. All of the instances in this patch come from functions that return Optional<T> except Archive::findSym and ASTNodeImporter::import, where we return Expected<Optional<T>>. Note that we can construct Expected<Optional<T>> from any parameter convertible to Optional<T>, which None certainly is. This is part of an effort to migrate from llvm::Optional to std::optional: https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716 Differential Revision: https://reviews.llvm.org/D138464
-
Kazu Hirata authored
Since std::optional does not offer getPointer(), this patch replaces X.getPointer() with &*X to make the migration from llvm::Optional to std::optional easier. This is part of an effort to migrate from llvm::Optional to std::optional: https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716 Differential Revision: https://reviews.llvm.org/D138466
-
Phoebe Wang authored
This patch is an alternative of D100091. It solved the problems in `f80` type lowering. Reviewed By: LuoYuanke Differential Revision: https://reviews.llvm.org/D137946
-
Vitaly Buka authored
Update pattern on Linux and Darwin for consistency.
-
Stephen Neuendorffer authored
This tool only parsed options after creating the LLVMContext. Unfortunately, this means that some options, such as --opaque-pointers, which are read when the LLVMContext is created are impossible to set from the command line. This patch moves the LLVMContext creation after the option parsing.
-