- May 08, 2023
-
-
max authored
Useful for easier debugging (no need to regex out all of the stuff around the id). Differential Revision: https://reviews.llvm.org/D149902
-
Mehdi Amini authored
This is part of an on-going migration to adopt Properties inside MLIR. Differential Revision: https://reviews.llvm.org/D148883
-
Mehdi Amini authored
This is part of an on-going migration to adopt Properties inside MLIR. Differential Revision: https://reviews.llvm.org/D148882
-
Mehdi Amini authored
This is part of an on-going migration to adopt Properties inside MLIR. Differential Revision: https://reviews.llvm.org/D148881
-
Mehdi Amini authored
This is part of an on-going migration to adopt Properties inside MLIR. Differential Revision: https://reviews.llvm.org/D148880
-
Mehdi Amini authored
This is part of an on-going migration to adopt Properties inside MLIR. Differential Revision: https://reviews.llvm.org/D148879
-
Mehdi Amini authored
This is part of an on-going migration to adopt Properties inside MLIR. Differential Revision: https://reviews.llvm.org/D148878
-
Jonas Paulsson authored
With cb57b7a7, the kill flags are now tracked during the forward search over the instructions and the call to findRegisterUseOperandIdx() should therefore only check for killing uses. As shown with the failing test CodeGen/Hexagon/vector-sint-to-fp.ll, it could otherwise be the case that an undef use after the instruction that killed the register will be inserted into MBBKills, and the kill flag will not be cleared.
-
Teresa Johnson authored
Adds an LTO option to indicate that whether we are linking with an allocator that supports hot/cold operator new interfaces. If not, at the start of the LTO backends any existing memprof hot/cold attributes are removed from the IR, and we also remove memprof metadata so that post-LTO inlining doesn't add any new attributes. This is done via setting a new flag in the module summary index. It is important to communicate via the index to the LTO backends so that distributed ThinLTO handles this correctly, as they are invoked by separate clang processes and the combined index is how we communicate information from the LTO link. Specifically, for distributed ThinLTO the LTO related processes look like: ``` # Thin link: $ lld --thinlto-index-only obj1.o ... objN.o -llib ... # ThinLTO backends: $ clang -x ir obj1.o -fthinlto-index=obj1.o.thinlto.bc -c -O2 ... $ clang -x ir objN.o -fthinlto-index=objN.o.thinlto.bc -c -O2 ``` ...
-
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
-