- May 08, 2023
-
-
Jake Egan authored
This test was originally unsupported for `LIBCXX-AIX-FIXME` feature because we lacked `-fvisibility=hidden` support. AIX now has visibility support and the test passes in debug mode. Reviewed By: #libc, Mordante Differential Revision: https://reviews.llvm.org/D149255
-
Yonghong Song authored
When running bcc tool execsnoop ([1]) which is built with latest llvm, I hit the following error: $ sudo ./execsnoop.py /virtual/main.c:99:157: error: expected ')' data.ppid = ({ typeof(pid_t) _val; __builtin_memset(&_val, 0, sizeof(_val)); bpf_probe_read(&_val, sizeof(_val), (void *)&({ typeof(struct task_struct btf_type_tag(rcu)*) _val; __builtin_memset(&_val, 0, sizeof(_val)); ^ bpf_probe_read(&_val, sizeof(_val), (void *)&task->real_parent); _val; })->tgid); _val; }); The failure reason is due to that the bcc rewriter printed type like struct task_struct btf_type_tag(rcu)* where the compiler cannot recognize what 'btf_type_tag(rcu)' is. The above type is printed in [2] by UnaryOperator->getType().getAsString() (from clang) in function ProbeVisitor::VisitUnaryOperator. The original source type looks like ([3]) struct task_struct { ... struct task_struct __rcu *real_parent; ... } where '__rcu' is a macro expanding to '__attribute__((btf_type_tag("rcu")))'. Let us print btf_type_tag properly in clang so bcc tools and broader type printing will work properly. With this patch, the above rewrited source code looks like data.ppid = ({ typeof(pid_t) _val; __builtin_memset(&_val, 0, sizeof(_val)); bpf_probe_read(&_val, sizeof(_val), (void *)&({ typeof(struct task_struct __attribute__((btf_type_tag("rcu")))*) _val; __builtin_memset(&_val, 0, sizeof(_val)); bpf_probe_read(&_val, sizeof(_val), (void *)&task->real_parent); _val; })->tgid); _val; }); and execsnoop.py tool can run properly. [1] https://github.com/iovisor/bcc/blob/master/tools/exitsnoop.py [2] https://github.com/iovisor/bcc/blob/master/src/cc/frontends/clang/b_frontend_action.cc [3] https://github.com/torvalds/linux/blob/master/include/linux/sched.h Differential Revision: https://reviews.llvm.org/D150017 -
Simon Pilgrim authored
Share with AVX512 to reduce duplication
-
Corentin Jabot authored
Fixes #62462 Reviewed By: #clang-language-wg, erichkeane Differential Revision: https://reviews.llvm.org/D150036
-
Dhruv Chawla authored
In the SimplifyDemandedBits function, there is a fallthrough to the default case in the case of ISD::ADD, ISD::MUL and ISD::SUB. This leads to a call to computeKnownBits which is unnecessary as the calls to SimplifyDemandedBits in the cases themselves handle the calculation of the known bits. This information is discarded through the Known2 variables. By keeping this information around and calling KnownBits::mul or KnownBits::computeForAddSub directly, the unnecessary computation can be avoided. For now, the NSW bit is not passed through to KnownBits as this is something that computeKnownBits does not handle either. This requires updating computeForAddCarry to handle the flag as well. Differential Revision: https://reviews.llvm.org/D150110
-
Hristo Hristov authored
Implements part of P1614R2 "The Mothership has Landed" Reviewed By: Mordante, #libc, philnik Differential Revision: https://reviews.llvm.org/D132265
-
Samira Bazuzi authored
These were recently deprecated in https://reviews.llvm.org/D149464. Reviewed By: ymandel, gribozavr2, xazax.hun Differential Revision: https://reviews.llvm.org/D149869
-
Quentin Colombet authored
Don't choke on `outs` arguments that are not produced by `tensor.empty` or `tensor.extract_slice`. When the `outs` argument has a static shape we have all the necessary information to proceed with the padding. This makes the `transform.structured.pad` a little bit more resilient. Differential Revision: https://reviews.llvm.org/D150112
-
Tobias Gysi authored
The commit causes build bot failures due to a missing dependencies: https://buildkite.com/llvm-project/llvm-main/builds/7036#0187fb40-e4b6-4471-a2a0-2820b71c727b This reverts commit 91cff8a7.
-
Akshay Khadse authored
This change fixes static code analysis errors Reviewed By: skan Differential Revision: https://reviews.llvm.org/D149506
-
Simon Pilgrim authored
-
Whitney Tsang authored
Currently `CallOpInterface` has a method `getCallableForCallee` to have a consistent way to get the callee from an operation with `CallOpInterface`, but missing a consistent way to set a callee for an operation with `CallOpInterface`. A set callee method is useful for transformations that operate on `CallOpInterface`, and change the callee, e.g., a pass that specialize function, which clone the callee, and change the `CallOpInterface`'s callee to the cloned version. Without such method, transformation would need to understand the implementation for every operations with `CallOpInterface`, and have a type switch to handle them. This review adds a method to set callee for operation with `CallOpInterface`. Reviewed By: gysit, zero9178o Differential Revision: https://reviews.llvm.org/D149763
-
Louis Dionne authored
-
Théo Degioanni authored
This patch refactors the Mem2Reg infrastructure. It decouples analysis from promotion, allowing for more control over the execution of the logic. It also adjusts the interfaces to be less coupled to mem2reg and more general. This will be useful for an upcoming revision introducing generic SROA. Reviewed By: gysit Differential Revision: https://reviews.llvm.org/D149825
-
Jacques Pienaar authored
Was incorrectly marked as DenseIntElementsAttr (only used for SparseElementsAttr).
-
Oleksandr "Alex" Zinenko authored
This mechanism has never been intended for anything but prototyping.
-
Mehdi Amini authored
This is part of an on-going migration to adopt Properties inside MLIR. Differential Revision: https://reviews.llvm.org/D148300
-
Sam McCall authored
This reverts commit 5326c9e4. The problem that caused the revert was downstream (missing dep in user of clang).
-
Wang, Xin10 authored
In DIEValue's operator assignment constructor, it didn't identify if the two obj is the same. I add code to identify them so that it will work correctly when we do self assign here. Reviewed By: skan Differential Revision: https://reviews.llvm.org/D150020
-
Qiu Chaofan authored
Clang has mechanism to specify required target features of a built-in function. This patch adds such definitions to Altivec, VSX, HTM, PairedVec and MMA builtins. This will help frontend to detect incompatible target features of bulitin when using target attribute syntax. Reviewed By: nemanjai, kamaub Differential Revision: https://reviews.llvm.org/D143467
-
Vassil Vassilev authored
Non-incremental Clang can also exit with the WeakRefReferences not empty upon such example. This patch makes clang-repl consistent to what Clang does. Differential revision: https://reviews.llvm.org/D148435
-
Job Noorman authored
R_RISCV_CALL has been deprecated. [1] Both GCC and LLVM seem to not generate it anymore and always use R_RISCV_CALL_PLT (even for calls that do not need a PLT entry). Generating PLT entries based on relocation type is not recommended and a better heuristic is to only generate them when the target symbol is preemptable [2]. This patch implements this by only generating PLT entries for undefined symbols. [1] https://github.com/riscv-non-isa/riscv-elf-psabi-doc/pull/340 [2] https://github.com/riscv-non-isa/riscv-elf-psabi-doc/issues/98 Reviewed By: lhames Differential Revision: https://reviews.llvm.org/D149525
-
eopXD authored
-
Lorenzo Chelini authored
Commit b4563ee1 enabled propagation for pack and unpack through non-elementwise operations, update comments and methods names to reflect the changes made. Rework some tests where the `linalg.generic` was reading from `tensor.empty`, which is undefined behaviour. Reviewed By: hanchung, qedawkins Differential Revision: https://reviews.llvm.org/D149952
-
Vitaly Buka authored
-
Vitaly Buka authored
-
sgokhale authored
Try to reland D42600 Differential Revision: https://reviews.llvm.org/D42600
-
Vitaly Buka authored
-
Vitaly Buka authored
Now we can fix sanitizers for the test one by one.
-
Vitaly Buka authored
-
Vitaly Buka authored
-
Vitaly Buka authored
-
Martin Braenne authored
This parameter was already a no-op, so removing it doesn't change behavior. Depends On D149144 Reviewed By: ymandel, xazax.hun, gribozavr2 Differential Revision: https://reviews.llvm.org/D149151
-
Jonas Paulsson authored
It was discovered that this pass could be slow on huge functions, meaning 20% compile time instead of the usual ~0.5% (with a test case spending ~19 mins just in the backend). The problem related to the necessary clearing of earlier kill flags when a redundant instruction is removed. With this patch, the handling of kill flags is now done by maintaining a map instead of scanning backwards in the function. This remedies the compile time on the huge file fully. Reviewed By: vpykhtin, arsenm Differential Revision: https://reviews.llvm.org/D147532 Resolves https://github.com/llvm/llvm-project/issues/61397
-
sgokhale authored
Autogenerating tests as suggested in D42600
-
WuXinlong authored
This patch add the instructions of zcmp extension. Instructions in zcmp extension try to optimise `mv` inst and the prologue & epilogue in functions co-author: @Scott Egerton, @ZirconLiu, @Lukacma, @Heda Chen, @luxufan, @heyiliang, @liaochunyu Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D132819
-
Vitaly Buka authored
-
Noah Goldstein authored
The generic cast to `BinaryOperator` can break if `V` is not a `BinaryOperator` (i.e a `ConstantExpr`). This occurs in things like PPC linux build. This reverts commit fe733f54.
-
LLVM GN Syncbot authored
-
Shengchen Kan authored
1. Share code `optimizeInstFromVEX3ToVEX2` with MCInstLower 2. Move the code of optimization for shift/rotate to a separate file Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D150068
-