This project is mirrored from https://github.com/llvm/llvm-project.git.
Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
Last successful update .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
Last successful update .
- Apr 05, 2022
-
-
Nikita Popov authored
-
Nikita Popov authored
There doesn't seem to be any particular reason why these tests use the driver interface rather than the cc1 interface, which is typically used in CodeGen tests.
-
Florian Hahn authored
When creating induction resume values, SCEV queries may rely on LoopInfo. Make sure vector.body gets added to the loop of the pre-header during skeleton construction. %vector.body will be moved to the vector preheader during VPlan execution. Fixes #54745.
-
Daniel Grumberg authored
This fixes the situation where a undefining a not previously defined macro resulted in a crash. Before trying to remove a definition from PendingMacros we first check to see if the macro did indeed have a previous definition. Differential Revision: https://reviews.llvm.org/D123056
-
Evgeniy Brevnov authored
Unit test for functionality going to be added by D118441 Differential Revision: https://reviews.llvm.org/D118440
-
Simon Pilgrim authored
-
Nikita Popov authored
Point people to the cc1 instead of the mllvm flag, as the mllvm flag will stop working for clang usage at some point. Update transition state to mention that support in Clang/LLVM is complete, and only the default switch is pending.
-
Simon Tatham authored
The Arm architecture reference manual (ARM DDI 0487H.a section D13.5.12) lists every field in the register as RO, and does not list an MSR instruction that writes it. So we should be defining it as an ROSysReg, not an RWSysReg. Reviewed By: vhscampos Differential Revision: https://reviews.llvm.org/D123111
-
Nikita Popov authored
-
Nikita Popov authored
This allows both explicitly enabling and explicitly disabling opaque pointers, in anticipation of the default switching at some point. This also slightly changes the rules by allowing calls if either the opaque pointer mode has not yet been set (explicitly or implicitly) or if the value remains unchanged.
-
Benjamin Kramer authored
This was added in 3ba8548c
-
Nikita Popov authored
With opaque pointers, this is not necessarily a ConstantExpr. And we don't need one here either, just Constant is sufficient.
-
Alexander Belyaev authored
-
Pavel Labath authored
These directives pollute the namespace of all files which include the header.
-
Pavel Labath authored
When opening core files (and also in some other situations) we could end up with two vdso modules. This could happen because the vdso module is very special, and over the years, we have accumulated various ways to load it. In D10800, we added one mechanism for loading it, which took the form of a generic load-from-memory capability. Unfortunately loading an elf file from memory is not possible (because the loader never loads the entire file), and our attempts to do so were causing crashes. So, in D34352, we partially reverted D10800 and implemented a custom mechanism specific to the vdso. Unfortunately, enough of D10800 remained such that, under the right circumstances, it could end up loading a second (non-functional) copy of the vdso module. This happened when the process plugin did not support the extended MemoryRegionInfo query (added in D22219, to workaround a different bug), which meant that the loader plugin was not able to recognise that the linux-vdso.so.1 module (this is how the loader calls it) is in fact the same as the [vdso] module (the name used in /proc/$PID/maps) we loaded before. This typically happened in a core file, as they don't store this kind of information. This patch fixes the issue by completing the revert of D10800 -- the memory loading code is removed completely. It also reduces the scope of the hackaround introduced in D22219 -- it isn't completely sound and is only relevant for fairly old (but still supported) versions of android. I added the memory loading logic to the wasm dynamic loader, which has since appeared and is relying on this feature (it even has a test). As far as I can tell loading wasm modules from memory is possible and reliable. MachO memory loading is not affected by this patch, as it uses a completely different code path. Since the scenarios/patches I described came without test cases, I have created two new gdb-client tests cases for them. They're not particularly readable, but right now, this is the best way we can simulate the behavior (bugs) of a particular dynamic linker. Differential Revision: https://reviews.llvm.org/D122660
-
Pavel Labath authored
This patch handles the situation where the main thread exits (through the SYS_exit syscall). In this case, the process as a whole continues running until all of the other threads exit, or one of them issues an exit_group syscall. The patch consists of two changes: - a moderate redesign of the handling of thread exit (WIFEXITED) events. Previously, we were removing (forgetting) a thread once we received the WIFEXITED (or WIFSIGNALED) event. This was problematic for the main thread, since the main thread WIFEXITED event (which is better thought of as a process-wide event) gets reported only after the entire process exits. This resulted in deadlocks, where we were waiting for the process to stop (because we still considered the main thread "live"). This patch changes the logic such that the main thread is removed as soon as its PTRACE_EVENT_EXIT (the pre-exit) event is received. At this point we can consider the thread gone (for most purposes). As a corrolary, I needed to add special logic to catch process-wide exit events in the cases where we don't have the main thread around. - The second part of the patch is the removal of the assumptions that the main thread is always available. This generally meant replacing the uses of GetThreadByID(process_id) with GetCurrentThread() in various process-wide operations (such as memory reads). Differential Revision: https://reviews.llvm.org/D122716
-
Pavel Labath authored
About half of our host platform code was implemented in the Platform class, while the rest was it RemoteAwarePlatform. Most of the time, this did not matter, as nearly all our platforms are also RemoteAwarePlatforms. It makes a difference for PlatformQemu, which descends directly from the base class (as it is local-only). This patch moves all host code paths into the base class, and marks PlatformQemu as a "host" platform so it can make use of them (it sounds slightly strange, but that is consistent with what the apple simulator platforms are doing). Not all of the host implementations make sense for this platform, but it can always override those that don't. I add some basic tests using the platform file apis to exercise this functionality. Differential Revision: https://reviews.llvm.org/D122898
-
LLVM GN Syncbot authored
-
Nikolas Klauser authored
Reviewed By: ldionne, var-const, #libc Spies: libcxx-commits, mgorny Differential Revision: https://reviews.llvm.org/D122173
-
David Carlier authored
Reviewers: vitalybuka Reviewed-By: vitalybuka Differential Revision: https://reviews.llvm.org/D122962
-
Alex Zinenko authored
Add the description textual field to the Attr ODS class to mirror an identical field in the Type ODS class. Add support for generating documentation for attribute constraints defined using this field. This ensures mlir-tblgen produces at least some documentation for dialects that only define attribute constraints, such as DLTI. Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D123024
-
LLVM GN Syncbot authored
-
Jonas Paulsson authored
getExtAttrForI32Param() is the method to be used for determining the type of extension attribute (if any) that is to be added for a signed/unsigned argument. Previously, the SExt attribute was always added to the i32 ldexp* argument as it was expected to be ignored by targets not needing it. This patch now changes this so that it is only added for the targets that need it in the first place. Putchar() argument is now also extended as required by the target (SystemZ in the test), to fix the issue below. Many more libcalls will be handled similarly in a following patch. Fixes https://github.com/llvm/llvm-project/issues/54532. Differential Revision: https://reviews.llvm.org/D123030 Review: Eli Friedman
-
Andrzej Warzynski authored
Any header or module file in the Flang source directory is of no use to the compiler unless it is copied into the build directory. Indeed, all compiler search paths are relative to the compiler executable (flang-new in our case). Hence, "omp_lib.h" should be copied into the build directory alongside other compiler-provided files that can be "included" (header files) or "used" (module files). For now, "omp_lib.h" is copied into "<build-dir>/include/flang/OpenMP". We may decide to change this in future. For example, Clang copies a bunch of runtime headers into “<build-dir>/lib/clang/<version-number>”. We could also consider using a similar header from a different sub-project. Flang's driver search path is updated accordingly. A rule for "installing" the "omp_lib.h" header is _yet to be added_ (we will also need to determine the suitable location for this). Differential Revision: https://reviews.llvm.org/D122015
-
Mehdi Amini authored
-
Nikita Popov authored
This adds cc1 options for enabling and disabling opaque pointers on the clang side. This is not super useful now (because -mllvm -opaque-pointers and -Xclang -opaque-pointers have the same visible effect) but will be important once opaque pointers are enabled by default in clang. In that case, it will only be possible to disable them using the cc1 -no-opaque-pointers option. Differential Revision: https://reviews.llvm.org/D123034
-
Alexander Belyaev authored
-
Muhammad Omair Javaid authored
This reverts commit 980c3e6d. This commit had failing tests with clang crashing across various AArch64/Linux buildots. https://lab.llvm.org/buildbot/#/builders/179/builds/3346 Differential Revision: https://reviews.llvm.org/D114545
-
Alexander Belyaev authored
Differential Revision: https://reviews.llvm.org/D122666
-
Adrian Kuegel authored
-
Max Kazantsev authored
Less computations & early exit if we know for sure that the limit will be exceeded.
-
Evgeniy Brevnov authored
Transforms/Utils/MemTransferLowerTest
-
Simon Pilgrim authored
Revert rG5adc94bb8a23eb819f6ca80e722f5b0e6e41401d "New regression test against expandMemCpyAsLoop utility" This was causing link errors on buildbots (and locally)
-
Luboš Luňák authored
Differential Revision: https://reviews.llvm.org/D123001
-
Luboš Luňák authored
Since the threads/frame view is taking only a small part on the right side of the screen, only a part of the function name of each frame is visible. It seems rather wasteful to spell out 'frame' there when it's obvious that it is a frame, it's better to use the space for more of the function name. Differential Revision: https://reviews.llvm.org/D122998
-
Luboš Luňák authored
It's rather annoying if it's there after every startup, and that 'Help (F6)' at the top should be enough to help people who don't know. Differential Revision: https://reviews.llvm.org/D122997
-
Maksim Panchenko authored
Remove header dependency from cross-platform test. Reviewed By: yota9 Differential Revision: https://reviews.llvm.org/D123107
-
Evgeniy Brevnov authored
Unit test for functionality going to be added by D118441 Differential Revision: https://reviews.llvm.org/D118440
-
Min-Yih Hsu authored
The `move` instruction has one of the most complicate sets of variants, so we're refactoring it first before finishing up rest of the data instructions in a separate patch. Note that since we're introducing more `move` variants, the codegen actually got improved in terms of code size.
-
Maksim Panchenko authored
Check for supported target architecture instead of the host arch when deciding to execute non-runtime tests. Reviewed By: Amir Differential Revision: https://reviews.llvm.org/D122498
-