- Apr 07, 2022
-
-
Michael Kruse authored
In a clean build directory, `check-openmp` or `check-libomptarget` will fail because of missing device RTL .bc files. Ensure that the new targets new custom targets `omptarget.devicertl.nvptx` and `omptarget.devicertl.amdgpu` (corresponding to the plugin rtl targets `omptarget.rtl.cuda`, respectively `omptarget.rlt.amdgpu` ) are dependencies of the regression tests. Reviewed By: JonChesterfield Differential Revision: https://reviews.llvm.org/D123177
-
LLVM GN Syncbot authored
-
Matt Arsenault authored
This will allow code sharing from AtomicExpandPass. Not entirely sure why these exist as separate passes though.
-
River Riddle authored
This commit refactors the expected form of native constraint and rewrite functions, and greatly reduces the necessary user complexity required when defining a native function. Namely, this commit adds in automatic processing of the necessary PDLValue glue code, and allows for users to define constraint/rewrite functions using the C++ types that they actually want to use. As an example, lets see a simple example rewrite defined today: ``` static void rewriteFn(PatternRewriter &rewriter, PDLResultList &results, ArrayRef<PDLValue> args) { ValueRange operandValues = args[0].cast<ValueRange>(); TypeRange typeValues = args[1].cast<TypeRange>(); ... // Create an operation at some point and pass it back to PDL. Operation *op = rewriter.create<SomeOp>(...); results.push_back(op); } ``` After this commit, that same rewrite could be defined as: ``` static Operation *rewriteFn(PatternRewriter &rewriter ValueRange operandValues, TypeRange typeValues) { ... // Create an operation at some point and pass it back to PDL. return rewriter.create<SomeOp>(...); } ``` Differential Revision: https://reviews.llvm.org/D122086
-
Petr Hosek authored
This includes the missing variables as pointed out in https://reviews.llvm.org/rGb0e2ffe151c3
-
Aart Bik authored
Rationale: Allocating the temporary buffers for access pattern expansion on the stack (using alloca) is a bit too agressive, since it easily runs out of stack space for large enveloping tensor dimensions. This revision changes the dynamic allocation of these buffers with explicit alloc/dealloc pairs. Reviewed By: bixia, wrengr Differential Revision: https://reviews.llvm.org/D123253
-
Simon Dardis authored
LLVM so far has only supported the MIPS-II and above architectures. MIPS-II is pretty close to MIPS-I, the major difference being that "load" instructions always take one extra instruction slot to propogate to registers. This patch adds support for MIPS-I by adding hazard handling for load delay slots, alongside MIPSR6 forbidden slots and FPU slots, inserting a NOP instruction between a load and any instruction immediately following that reads the load's destination register. I also included a simple regression test. Since no existing tests target MIPS-I, those all still pass. Issue ref: https://github.com/simias/psx-sdk-rs/issues/1 I also tested by building a simple demo app with Clang and running it in an emulator. Patch by: @impiaaa Differential Revision: https://reviews.llvm.org/D122427
-
Stanislav Mekhanoshin authored
-
Louis Dionne authored
The underlying TLS destruction order bug has been fixed in the OS. This would technically still fail when running on top of macOS < 12, however we don't have a good way of encoding that using Lit features. Indeed, the existing target=<FOO> Lit feature encodes the deployment target, not the actual runtime system that the tests are being run on. If this test starts failing on your machine after this patch, upgrading to macOS 12 should solve the problem.
-
Alina Sbirlea authored
This makes the MemorySSA and MemorySSA Walker printers consistent. Invokation `-print<memoryssa-walker>` should also have the MemoryPhis.
-
Alina Sbirlea authored
Roll-forward 29fada4a. Issue triggered was due to UB. Differential Revision: https://reviews.llvm.org/D121987
-
Simon Dardis authored
Test commit for my current email address.
-
Blue Gaston authored
The previous check for interceptors used `pthread_create()` which is not available on DriverKit. We need an intercepted symbol that satisfies the following constraints: - Symbol is available in DriverKit - Symbol is provided by simulator runtime dylibs (`dlsym()` fails to look up host-provided symbols) `puts()` satisfies all of the above constraints. rdar://87895539 Reviewed By: yln Differential Revision: https://reviews.llvm.org/D123245
-
Peter Collingbourne authored
Should fix Windows build: http://45.33.8.238/win/55809/step_4.txt
-
Sam McCall authored
We don't use this for testing, but one of the lit python modules requires it :-\ After this, check-clang-pseudo passes with a clean build tree.
-
Craig Topper authored
[AArch64][AMDGPU][WebAssembly] Use static_cast instead of a reinterpret_cast to downcast in parseMachineFunctionInfo. NFC static_cast is a little safer here since the compiler will ensure we're casting to a class derived from yaml::MachineFunctionInfo. I believe this first appeared on AMDGPU and was copied to the other two targets. Spotted when it was being copied to RISCV in D123178. Differential Revision: https://reviews.llvm.org/D123260
-
Jonas Devlieghere authored
Remove "warning:" from the warning message itself. The default event handler is already emitting the appropriate prefix.
-
- Apr 06, 2022
-
-
Sam McCall authored
-
Nathan Sidwell authored
Add contents to the demangler node dumper's print(Prec) functions. Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D122740
-
Peter Collingbourne authored
Our support for building for baremetal was conditional on a default off arg and would have failed to build if you had somehow arranged to pass the correct --target flag; presumably nobody noticed because nobody was turning it on. A better approach is to model baremetal as a separate "OS" called "baremetal" and build it in the same way as we cross-compile for other targets. That's what this patch does. I only hooked up the arm64 target but others can be added. Relanding after fixing Mac build breakage in D123244. Differential Revision: https://reviews.llvm.org/D122862
-
Peter Collingbourne authored
When cross-compiling from Mac to non-Mac, we need to use the just-built llvm-ar instead of libtool. We're currently doing the right thing when determining which archiver command to use, but the path to ar and the toolchain dependencies were being set based on the host OS (current_os evaluated in host OS toolchain), instead of the target OS. Fix the problem by looking up current_os inside toolchain_args. Differential Revision: https://reviews.llvm.org/D123244
-
Walter Erquinigo authored
Remove an unnecessary import to silence a compiler warning.
-
John Demme authored
Adds `mlirBlockDetach` to the CAPI to remove a block from its parent region. Use it in the Python bindings to implement `Block.append_to(region)`. Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D123165
-
Nathan Sidwell authored
The demangler has a utility class 'SwapAndRestore'. That name is confusing. It's not swapping anything, and the restore part happens at the object's destruction. What it's actually doing is allowing a override of some value that is dynamically accessible within the lifetime of a lexical scope. Thus rename it to ScopedOverride, and tweak it's member variable names. Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D122606
-
Martin Storsjö authored
There are no such markings left - all of them have been fixed or analyzed. This closes llvm.org/PR32730 (github issue #32077). Differential Revision: https://reviews.llvm.org/D123145
-
Martin Storsjö authored
Use the windows-gnu assembly files on x86_64 Cygwin too. This fixes https://github.com/llvm/llvm-project/issues/54685. Differential Revision: https://reviews.llvm.org/D123187
-
Martin Storsjö authored
In COFF, the immediates in IMAGE_REL_ARM64_PAGEBASE_REL21 relocations are limited to 21 bit signed, i.e. the offset has to be less than (1 << 20). The previous limit did intend to cover for this case, but had missed that the 21 bit field was signed. This fixes issue https://github.com/llvm/llvm-project/issues/54753. Differential Revision: https://reviews.llvm.org/D123160
-
Martin Storsjö authored
This matches how another similar warning is silenced in Host/posix/ProcessLauncherPosixFork.cpp. Differential Revision: https://reviews.llvm.org/D123205
-
Martin Storsjö authored
This silences warnings like this: lldb/source/Core/DebuggerEvents.cpp: In member function ‘llvm::StringRef lldb_private::DiagnosticEventData::GetPrefix() const’: lldb/source/Core/DebuggerEvents.cpp:55:1: warning: control reaches end of non-void function [-Wreturn-type] 55 | } Differential Revision: https://reviews.llvm.org/D123203
-
Martin Storsjö authored
If testing for a warning option like -Wno-<foo> with GCC, GCC won't print any diagnostic at all, leading to the options being accepted incorrectly. However later, if compiling a file that actually prints another warning, GCC will also print warnings about these -Wno-<foo> options being unrecognized. This avoids warning spam like this, for every lldb source file that produces build warnings with GCC: At global scope: cc1plus: warning: unrecognized command line option ‘-Wno-vla-extension’ cc1plus: warning: unrecognized command line option ‘-Wno-deprecated-register’ This matches how such warning options are detected and added in llvm/cmake/modules/HandleLLVMOptions.cmake, e.g. like this: check_cxx_compiler_flag("-Wclass-memaccess" CXX_SUPPORTS_CLASS_MEMACCESS_FLAG) append_if(CXX_SUPPORTS_CLASS_MEMACCESS_FLAG "-Wno-class-memaccess" CMAKE_CXX_FLAGS) Differential Revision: https://reviews.llvm.org/D123202
-
LLVM GN Syncbot authored
-
Sam McCall authored
Addressing comment from previous review https://reviews.llvm.org/D121165?id=413636#inline-1160757
-
Congzhe Cao authored
Motivated by pr43326 (https://bugs.llvm.org/show_bug.cgi?id=43326), where a slightly modified case is as follows. void f(int e[10][10][10], int f[10][10][10]) { for (int a = 0; a < 10; a++) for (int b = 0; b < 10; b++) for (int c = 0; c < 10; c++) f[c][b][a] = e[c][b][a]; } The ideal optimal access pattern after running interchange is supposed to be the following void f(int e[10][10][10], int f[10][10][10]) { for (int c = 0; c < 10; c++) for (int b = 0; b < 10; b++) for (int a = 0; a < 10; a++) f[c][b][a] = e[c][b][a]; } Currently loop interchange is limited to picking up the innermost loop and finding an order that is locally optimal for it. However, the pass failed to produce the globally optimal loop access order. For more complex examples what we get could be quite far from the globally optimal ordering. What is proposed in this patch is to do a "bubble-sort" fashion when doing interchange. By comparing neighbors in `LoopList` in each iteration, we would be able to move each loop onto a most appropriate place, hence this is an approach that tries to achieve the globally optimal ordering. The motivating example above is added as a test case. Reviewed By: Meinersbur Differential Revision: https://reviews.llvm.org/D120386
-
Paul Robinson authored
-
Walter Erquinigo authored
In order to support quick arbitrary access to instructions in the trace, we need each instruction to have an id. It could be an index or any other value that the trace plugin defines. This will be useful for reverse debugging or for creating callstacks, as each frame will need an instruction id associated with them. I've updated the `thread trace dump instructions` command accordingly. It now prints the instruction id instead of relative offset. I've also added a new --id argument that allows starting the dump from an arbitrary position. Differential Revision: https://reviews.llvm.org/D122254
-
Craig Topper authored
-
Peter Collingbourne authored
This reverts commit b02b9b3d. Broke Mac build: http://45.33.8.238/macm1/32578/step_4.txt
-
Zixu Wang authored
Add (partial) support for Objective-C category records in ExtractAPI. The current ExtractAPI collects everything for an Objective-C category, but not fully serialized in the SymbolGraphSerializer. Categories extending external interfaces are disgarded during serialization, and categories extending known interfaces are merged (all members surfaced) into the interfaces. Differential Revision: https://reviews.llvm.org/D122774
-
David Blaikie authored
-
LLVM GN Syncbot authored
-