- Jun 14, 2022
-
-
Guillaume Chatelet authored
-
Guillaume Chatelet authored
-
Guillaume Chatelet authored
-
Guillaume Chatelet authored
-
Guillaume Chatelet authored
-
Guillaume Chatelet authored
-
Jay Foad authored
-
Jun Zhang authored
This reverts commits: d3ddc251 d90eecff This relands below commit with asan fix: The intent of this patch is to selectively carry some states over to the Builder so we won't lose the information of the previous symbols. This used to be several downstream patches of Cling, it aims to fix errors in Clang Interpreter when trying to use inline functions. Before this patch: clang-repl> inline int foo() { return 42;} clang-repl> int x = foo(); JIT session error: Symbols not found: [ _Z3foov ] error: Failed to materialize symbols: { (main, { x, $.incr_module_1.__inits.0, __orc_init_func.incr_module_1 }) } Co-authored-by:
Axel Naumann <Axel.Naumann@cern.ch> Signed-off-by:
Jun Zhang <jun@junz.org> Differential Revision: https://reviews.llvm.org/D127730
-
Rosie Sumpter authored
This patch adds implementations for the load/store SME ACLE intrinsics: - @llvm.aarch64.sme.ld1* - @llvm.aarch64.sme.st1* Differential Revision: https://reviews.llvm.org/D127210
-
Dmitry Preobrazhensky authored
Enable offset parsing. Differential Revision: https://reviews.llvm.org/D127404
-
Alon Kom authored
Add tests combing assume on trip count divisibility (tc % vf) and minimum values (tc > N). Github issue #55645 Reviewed By: fhahn Differential Revision: https://reviews.llvm.org/D126460
-
Pavel Labath authored
NativeProcessLinux is not able to properly read libraries-svr4 data when running with ld.so as the "main" executable. Normally, this is not a big problem, as it returns an error message, and lldb can fallback to manual library loading. Unfortunately, lldb-server also does not clear cached svr4 data on exec, which means that it does *not* return an error when the application execs from the "regular" to the "ld.so" mode. Instead it returns incorrect data (it is missing the main executable) and causes TestDyldExecLinux to fail (but only when building with xml support enabled). This patch makes ensures that cached process data is cleared on exec, fixing the test. Since TestDyldExecLinux has shown to be sensitive to the way we read library info, I fork it into two (with svr4 enabled and disabled).
-
Florian Hahn authored
Remove the early exit if both constraints contain no variables. This restriction is unnecessayr for correctness and removing it simplifies handling of trivial constant conditions in follow-up changes.
-
gbreynoo authored
It appears that in the move to tablegen the description of --types was lost: https://reviews.llvm.org/D105605 This change adds the missing description. Differential revision: https://reviews.llvm.org/D127656
-
Jean Perier authored
Codegen does not support fir.addressof of functions returning derived types, arrays are descriptors inside GlobalOp region. This is because the abstract-result-opt is required to rewrite such functions (a hidden argument must be added), but this pass is meant to run in GlobalOp currently. Such fir.address_of may be created when lowering procedure pointers initial value (TODO), or when creating derived type descriptors for types with bindings. Add a TODO in lowering until abstract-result-opt is modified to run on GlobalOp too. This patch is part of the upstreaming effort from fir-dev branch. Reviewed By: jeanPerier Differential Revision: https://reviews.llvm.org/D127722
-
Balazs Benics authored
It was previously reverted by 8406839d. --- This flag was introduced by https://github.com/llvm/llvm-project/commit/6818991d7165f68fe196922d9e5c6648dd57cc47 commit 6818991d Author: Ted Kremenek <kremenek@apple.com> Date: Mon Dec 7 22:06:12 2009 +0000 Add clang-cc option '-analyzer-opt-analyze-nested-blocks' to treat block literals as an entry point for analyzer checks. The last reference was removed by this commit: https://github.com/llvm/llvm-project/commit/5c32dfc5fb1cfcff8ae3671284e17daa8da3a188 commit 5c32dfc5 Author: Anna Zaks <ganna@apple.com> Date: Fri Dec 21 01:19:15 2012 +0000 [analyzer] Add blocks and ObjC messages to the call graph. This paves the road for constructing a better function dependency graph. If we analyze a function before the functions it calls and inlines, there is more opportunity for optimization. Note, we add call edges to the called methods that correspond to function definitions (declarations with bodies). Consequently, we should remove this dead flag. However, this arises a couple of burning questions. - Should the `cc1` frontend still accept this flag - to keep tools/users passing this flag directly to `cc1` (which is unsupported, unadvertised) working. - If we should remain backward compatible, how long? - How can we get rid of deprecated and obsolete flags at some point? Reviewed By: martong Differential Revision: https://reviews.llvm.org/D126067
-
Denis Antrushin authored
When spilling CSRs, FixupStatepoint pass does simple copy propagation, trying to find COPY instruction which defines register being spilled and spill COPY source instead. I.e., if we have CSR $x and found $x = COPY $y we will spill $y instead. But we may be unable to delete COPY instruction for some reason. Then, spill will be inserted after it, adding another use of $y. If COPY instruction was last use of $y (killed it), after insertion of the spill it is not, so `isKill` flag must be cleared. We failed to do so and this patch fixes this issue. Reviewed By: skatkov Differential Revision: https://reviews.llvm.org/D127308
-
Balazs Benics authored
When I read the code I found it easier to reason about if `getUserMode` is inlined. It might be a personal preference though. Reviewed By: martong Differential Revision: https://reviews.llvm.org/D127486
-
Balazs Benics authored
I'm trying to remove unused options from the `Analyses.def` file, then merge the rest of the useful options into the `AnalyzerOptions.def`. Then make sure one can set these by an `-analyzer-config XXX=YYY` style flag. Then surface the `-analyzer-config` to the `clang` frontend; After all of this, we can pursue the tablegen approach described https://discourse.llvm.org/t/rfc-tablegen-clang-static-analyzer-engine-options-for-better-documentation/61488 In this patch, I'm proposing flag deprecations. We should support deprecated analyzer flags for exactly one release. In this case I'm planning to drop this flag in `clang-16`. In the clang frontend, now we won't pass this option to the cc1 frontend, rather emit a warning diagnostic reminding the users about this deprecated flag, which will be turned into error in clang-16. Unfortunately, I had to remove all the tests referring to this flag, causing a mass change. I've also added a test for checkin...
-
Kai Luo authored
-
Pavel Labath authored
TCPSocket::Connect() calls SocketAddress::GetAddressInfo() and tries to connect any of them (in a for loop). This used to work before commit 4f6d3a37("[LLDB] Fix setting of success in Socket::Close()") https://reviews.llvm.org/D116768. As a side effect of that commit, TCPSocket can only connect to the first address returned by SocketAddress::GetAddressInfo(). 1. If the attempt to connect to the first address fails, TCPSocket::Connect(), calls CLOSE_SOCKET(GetNativeSocket()), which closes the fd, but DOES NOT set m_socket to kInvalidSocketValue. 2. On the second attempt, TCPSocket::CreateSocket() calls Socket::Close(). 3. Socket::Close() proceeds, because IsValid() is true (m_socket was not reset on step 1). 4. Socket::Close() calls ::close(m_socket), which fails 5. Since commit 4f6d3a37("[LLDB] Fix setting of success in Socket::Close()"), this is error is detected. Socket::Close() returns an error. 6. TCPSocket::CreateSocket() therefore returns an error. 7. TCPSocket::Connect() detects the error and continues, skipping the second (and the third, fourth...) address. This commit fixes the problem by changing step 1: by calling Socket::Close, instead of directly calling close(m_socket), m_socket is also se to kInvalidSocketValue. On step 3, Socket::Close() is going to return immediately and, on step 6, TCPSocket::CreateSocket() does not fail. How to reproduce this problem: On my system, getaddrinfo() resolves "localhost" to "::1" (first) and to "127.0.0.1" (second). Start a gdbserver that only listens on 127.0.0.1: ``` gdbserver 127.0.0.1:2159 /bin/cat Process /bin/cat created; pid = 2146709 Listening on port 2159 ``` Start lldb and make it connect to "localhost:2159" ``` ./bin/lldb (lldb) gdb-remote localhost:2159 ``` Before 4f6d3a37("[LLDB] Fix setting of success in Socket::Close()"), this used to work. After that commit, it stopped working. This commit fixes the problem. Reviewed By: labath Differential Revision: https://reviews.llvm.org/D126702
-
Chuanqi Xu authored
-
Kai Luo authored
-
Chuanqi Xu authored
This is required by @nikic in https://reviews.llvm.org/D127383 to decrease the cost to check whether a function is a coroutine and this fixes a FIXME too. Reviewed By: rjmccall, ezhulenev Differential Revision: https://reviews.llvm.org/D127471
-
Kazu Hirata authored
The last uses of these functions are removed on Oct 9, 2015 in commit 14e77350.
-
Kazu Hirata authored
The last use was removed on Apr 14, 2017 in commit 4fe9d6c6.
-
zhongyunde authored
Reviewed By: dmgreen Differential Revision: https://reviews.llvm.org/D127708
-
Thomas Raoux authored
Add a pattern to do ad hoc lowering of vector.reduction to a sequence of warp shuffles. This allow distributing reduction on a warp for GPU targets. Also add an execution test for warp reduction. co-authored with @springerm Differential Revision: https://reviews.llvm.org/D127176
-
Thomas Raoux authored
Add patterns to propagate vector distribution and remove dead arguments. This handles propagation for several vector operations. recommit after minor bug fix. Differential Revision: https://reviews.llvm.org/D127167
-
Mogball authored
The generated attribute and type def accessors are changed to match the setting on the dialect. Most importantly, "prefixed" will now correctly convert snake case to camel case (e.g. `weight_zp` -> `getWeightZp`) Reviewed By: jpienaar Differential Revision: https://reviews.llvm.org/D127688
-
Sunho Kim authored
Implements R_AARCH64_MOVW_UABS_G*_NC fixup edges. These relocation entries can be generated when code is compiled without a PIC flag. With this patch, clang-repl can printf Hello World with ObjectLinkerLayer on aarch64 linux. Reviewed By: lhames Differential Revision: https://reviews.llvm.org/D127585
-
Serguei Katkov authored
This is a fix for https://github.com/llvm/llvm-project/issues/55827. When register we are trying to re-color is split the original register (we tried to recover) has no uses after the split. However in rollback actions we assign back physical register to it. Later it causes different assertions. One of them is in attached test. This CL fixes this by avoiding assigning physical register back to register which has no usage or its live interval now is empty. Reviewed By: arsenm, qcolombet Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D127281
-
Sunho Kim authored
Implements MoveWide16 generic edge kind that can be used to patch MOVZ/MOVK (imm16) instructions. Reviewed By: lhames Differential Revision: https://reviews.llvm.org/D127584
-
Nikolas Klauser authored
It's not perfect, but it's a lot better than the status quo. Reviewed By: ldionne, #libc Spies: EricWF, aheejin, libcxx-commits, dschuff, krytarowski, fedor.sergeev, mstorsjo, phosek, abrachet Differential Revision: https://reviews.llvm.org/D127644
-
Argyrios Kyrtzidis authored
[Lex] Keep track of skipped preprocessor blocks and advance the lexer directly if they are revisited This speeds up preprocessing, specifically for preprocessing the clang sources time is reduced by about -36%, using measurements on M1Pro with a release+thinLTO build. Differential Revision: https://reviews.llvm.org/D127379
-
Kai Luo authored
-
Mogball authored
-
Jacques Pienaar authored
I considered adding a new dialect top-level file with all ops, attributes & types included, but didn't see practical benefit to it.
-
Sunho Kim authored
Lift fixup functions from aarch64.cpp to aarch64.h so that they have better chance of getting inlined. Also, adds some comments documenting the purpose of functions. Reviewed By: sgraenitz Differential Revision: https://reviews.llvm.org/D127559
-
Sunho Kim authored
Unifies GOT/PLT table managers of ELF and MachO on aarch64 architecture. Additionally, it migrates table managers from PerGraphGOTAndPLTStubsBuilder to generic crtp TableManager. Reviewed By: lhames Differential Revision: https://reviews.llvm.org/D127558
-