- Oct 29, 2023
-
-
Mehdi Amini authored
-
Mehdi Amini authored
-
Mehdi Amini authored
-
Mehdi Amini authored
-
Craig Topper authored
-
Craig Topper authored
-
Owen Pan authored
It's one type of TT_TrailingReturnArrow.
-
Igor Kudrin authored
`IRMover` links in referenced private global values unconditionally, see `IRLinker::shouldLink()`. If they are part of a non-prevailing comdat, this leads to duplication of the values. Full and Thin LTO avoid duplication by changing the linkage of members of non-prevailing comdat groups to `available_externally`, which was implemented in https://reviews.llvm.org/D34803 and https://reviews.llvm.org/D135427. This patch does the same for `Linker`, but limits the effect only to private members without aliases to minimize interference. Motivation example: ``` > cat foo.h inline int foo(int a) { return a + 1; } > cat bar.cpp #include "foo.h" int bar(int a) { return foo(a + 1); } > cat main.cpp #include "foo.h" int bar(int a); int main(int argc, const char* argv[]) { return bar(argc) + foo(argc); } > clang++ -c -flto -fprofile-instr-generate main.cpp -o main.o > clang++ -c -flto -fprofile-instr-generate bar.cpp -o bar.o > clang++ -fuse-ld=lld -fprofile-instr-generate main.o bar.o -o test1 > ./test1 > llvm-profdata merge --text default.profraw -o - _Z3fooi # Counter Values: 2 > llvm-link main.o bar.o -o combined.o > clang++ -fuse-ld=lld -fprofile-instr-generate combined.o -o test2 > ./test2 > llvm-profdata merge --text default.profraw -o - _Z3fooi # Counter Values: 4 ```
-
- Oct 28, 2023
-
-
Vlad Serebrennikov authored
This patch addresses some examples of bad formatting in Clang. The following commit contains only changes suggested by clang-format: https://github.com/llvm/llvm-project/pull/70349/commits/21689b56d1fc1db0b2263e8049ff656d3757ad36. I believe it's a net negative on readability, with a couple of particularly bad cases. Highlights: ```diff - [[clang::preferred_type(bool)]] - mutable unsigned CachedLocalOrUnnamed : 1; + [[clang::preferred_type(bool)]] mutable unsigned CachedLocalOrUnnamed : 1; ``` ```diff - [[clang::preferred_type(TypeDependence)]] - unsigned Dependence : llvm::BitWidth<TypeDependence>; + [[clang::preferred_type(TypeDependence)]] unsigned Dependence + : llvm::BitWidth<TypeDependence>; ``` ```diff - [[clang::preferred_type(ExceptionSpecificationType)]] - unsigned ExceptionSpecType : 4; + [[clang::preferred_type( + ExceptionSpecificationType)]] unsigned ExceptionSpecType : 4; ``` Style guides doesn't appear to have an opinion on this matter.
-
gilsaia authored
Added the simplify function to reduce the size of the constraint system, referencing the ISL implementation. Tested it on a simple Benchmark implemented by myself, calling SImplify before the operation and calling Simplify on the result after Subtract were tested, respectively. The Benchmark can be found here: [benchmark](https://github.com/gilsaia/llvm-project-test-fpl/blob/develop_benchmark/mlir/benchmark/presburger/Benchmark.cpp) For the case of calling Simplify before each operation, the overall result is shown in the following figure.  A comparison of the constraint system sizes and time for each operation is as follows             For the case of calling Simplify on the result after Subtract, the overall results are as follows  A comparison of the constraint system sizes and time for subtract is as follows  
-
Alexander Shaposhnikov authored
This is a follow-up to 910a4bf5. 1. __builtin_clz takes unsigned int, thus for uint16_t src_rep_t_clz can't use it directly but should subtract 16 (leading 16 bits of the promoted argument are zero). 2. Fix (and simplify) clz_in_sig_frac. Test plan: ninja check-compiler-rt (extendhfsf2_test.c and extenddftf2_test.c)
-
Amara Emerson authored
This reverts commit d37b283c. There was a simple logic bug in the else path. Tests codegen is different with the fix.
-
Allen authored
Base on D19403, the exact pragma of distribute is `#pragma clang loop distribute`
-
Jonas Hahnfeld authored
This requires adding a `NegDelta32` edge kind that cannot be mapped to existing relocations. Co-authored-by:Job Noorman <jnoorman@igalia.com>
-
XChy authored
Reland #67275 with #68953 resolved.
-
Endre Fülöp authored
EnumCastOutOfRange checker now reports the name of the enum in the warning message. Additionally, a note-tag is placed to highlight the location of the declaration.
-
Felix Schneider authored
This patch adds a verifier to tosa.reverse which checks the axis argument and input/output tensor ranks for validity. We allow a special case where `axis == 0 && rank == 0`.
-
Fangrui Song authored
Forgotten in commit 547a5073
-
Matteo Franciolini authored
[mlir][bytecode] Fix D155919 and enable backward-compatibility and back-deployment between version 5 and version 6 of the bytecode encoding (#70498) Before D155919, when a dialect was leveraging properties to store attributes with `usePropertiesForAttributes`, the operand segment sizes attribute was emitted in the property section in sorted order together with all the other attributes of an op. After D155919, version 5 of the bytecode was emitting and parsing operand segment sizes after all the properties of an op, breaking backward compatibility and back deployment. This patch fixes the emission ordering and allows to parse bytecode files emitted before (D155919) with version 5 of MLIR bytecode. The patch also enables to emit correctly version 5 of MLIR bytecode.
-
Rahman Lavaee authored
https://github.com/llvm/llvm-project/commit/28b912687900bc0a67cd61c374fce296b09963c4 introduced the path cloning format in the basic-block-sections profile. This PR validates and applies path clonings. A path cloning is valid if all of these conditions hold: 1. All bb ids in the path are mapped to existing blocks. 2. Each two consecutive bb ids in the path have a successor relationship in the CFG. 3. The path does not include a block with indirect branches, except possibly as the last block. Applying a path cloning involves cloning all blocks in the path (except the first one) and setting up their branches. Once all clonings are applied, the cluster information is used to guide block layout in the modified function.
-
Matthias Springer authored
The `LoopLikeOpInterface` already has interface methods to query inits and iter_args. This commit adds helper functions to query tied init/iter_arg pairs and removes the corresponding functions for `scf::ForOp`.
-
Brad Smith authored
Fixing ```#error "Unknown or unsupported OS"```
-
Brad Smith authored
-
Z572 authored
Fixes #68966
-
Youngsuk Kim authored
Opaque pointer cleanup effort. NFC.
-
Aart Bik authored
Our CODE and LIB are more unified every day!
-
Peiming Liu authored
-
Konstantinos Parasyris authored
[OpenMP] Fixes #69905
-
Sergei Barannikov authored
The corresponding definitions were removed in 7dcbe3d3 and 2a8fa2a8. Also remove a couple of variables made dead by those changes.
-
Noah Goldstein authored
- `(icmp eq/ne (and (add/sub/xor X, P2), P2), P2)` -> `(icmp eq/ne (and X, P2), 0)` - `(icmp eq/ne (and (add/sub/xor X, P2), P2), 0)` -> `(icmp eq/ne (and X, P2), P2)` Folds like this come up with reasonable regularity in odd/even loops. Proofs: https://alive2.llvm.org/ce/z/45pq2x Closes #67836 -
Noah Goldstein authored
-
Changpeng Fang authored
Some upcoming intrinsics will be using these new types
-
Aart Bik authored
Fixed typo, 80-col
-
Jonas Devlieghere authored
I have a crash when parsing the dyld trie data and I want to ask the originator to send me the (possibly corrupted) binary that's causing this. This patch adds some logging to help pinpoint that file.
-
Vitaly Buka authored
Introduced with cf0f6a14 (#70020). https://lab.llvm.org/buildbot/#/builders/237/builds/5145 https://lab.llvm.org/buildbot/#/builders/236/builds/7004 https://lab.llvm.org/buildbot/#/builders/239/builds/4269 Sometimes it passes with Asan but it's extemly slow ``` Slowest Tests: 1388.61s: llvm-libc++-shared.cfg.in :: std/experimental/simd/simd.reference/reference_assignment.pass.cpp 309.42s: llvm-libc++-shared.cfg.in :: std/containers/sequences/deque/deque.modifiers/insert_size_value.pass.cpp ```
-
Amara Emerson authored
This reverts commit a66051c6. This seems to have caused issue #70509 so reverting until I have time to investigate.
-
Yusra Syeda authored
This PR adds a function which converts the language to string. This is intended to be used by the z/OS target, see the patch here: https://github.com/llvm/llvm-project/pull/68926 --------- Co-authored-by:
Yusra Syeda <yusra.syeda@ibm.com>
-
Peiming Liu authored
-
Mircea Trofin authored
-
David Green authored
The instruction should only read the bottom 8 bits of the register, so an anyext is OK here. Update the comment from zext->anyext to clarify. Closes #70270 and #70298
-