- Aug 27, 2020
-
-
Sam Parker authored
Fix the ARM backend's analyzeBranch so it doesn't ignore predicated return instructions, and make the MachineVerifier rule more strict. Differential Revision: https://reviews.llvm.org/D40061
-
LLVM GN Syncbot authored
-
LLVM GN Syncbot authored
-
Jez Ng authored
Summary: It was passing on my local machine due to previously-written files cached in the test output folder.
-
George Mitenkov authored
This patch introduces a hook to encode descriptor set and binding number into `spv.globalVariable`'s symbolic name. This allows to preserve this information, and at the same time legalize the global variable for the conversion to LLVM dialect. This is required for `mlir-spirv-cpu-runner` to convert kernel arguments into LLVM. Also, a couple of some nits added: - removed unused comment - changed to a capital letter in the comment Reviewed By: mravishankar Differential Revision: https://reviews.llvm.org/D86515
-
Eduardo Caldas authored
Previously a NodeRole would generally be prefixed with the `NodeKind`, we remove this prefix, as it we redundant and made tests more noisy. Differential Revision: https://reviews.llvm.org/D86636
-
Brad Smith authored
-
QingShan Zhang authored
-
Mehdi Amini authored
This makes OpPassManager more of a "container" of passes and not responsible to drive the execution. As such we also make it constructible publicly, which will allow to build arbitrary pipeline decoupled from the execution. We'll make use of this facility to expose "dynamic pipeline" in the future. Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D86391
-
George Mitenkov authored
This patch updates the type conversion section of the documentation. It includes the modelling of array strides and the mapping of the naturally padded structs. Reviewed By: mravishankar Differential Revision: https://reviews.llvm.org/D86674
-
Jianzhou Zhao authored
This happens when generating a huge file by LTO, for example, with -gmlt. When BitNo is > 2^35, ByteNo is overflowed, and an incorrect output offset is overwritten. This generates ill-formed bitcodes. Reviewed-by: tejohnson, vitalybuka Differential Revision: https://reviews.llvm.org/D86645
-
George Mitenkov authored
This patch adds an optional name to SPIR-V module. This will help with lowering from GPU dialect (so that we can pass the kernel module name) and will be more naturally aligned with `GPUModuleOp`/`ModuleOp`. Reviewed By: mravishankar Differential Revision: https://reviews.llvm.org/D86386
-
Amy Kwan authored
This patch implements the function prototypes vec_mulh and vec_dive in order to utilize the vector multiply high (vmulh[s|u][w|d]) and vector divide extended (vdive[s|u][w|d]) instructions introduced in Power10. Differential Revision: https://reviews.llvm.org/D82609
-
Ni Hui authored
error message /usr/bin/ld: CMakeFiles/mlir-opt.dir/mlir-opt.cpp.o: in function `main': mlir-opt.cpp:(.text.startup.main+0xb9): undefined reference to `mlir::registerTestDialect(mlir::DialectRegistry&)' Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D86592
-
Jez Ng authored
Differential Revision: https://reviews.llvm.org/D86640
-
Jez Ng authored
Previously, we were only emitting regular bindings to weak dynamic symbols; this diff adds support for the weak bindings too, which can overwrite the regular bindings at runtime. We also treat weak defined global symbols similarly -- since they can also be interposed at runtime, they need to be treated as potentially dynamic symbols. Note that weak bindings differ from regular bindings in that they do not specify the dylib to do the lookup in (i.e. weak symbol lookup happens in a flat namespace.) Differential Revision: https://reviews.llvm.org/D86572
-
Jez Ng authored
Previously, the BindingEntry struct could only store bindings to offsets within InputSections. Since the GOTSection and TLVPointerSections are OutputSections, I handled those in a separate code path. However, this makes it awkward to support weak bindings properly without code duplication. This diff allows BindingEntries to point directly to OutputSections, simplifying the upcoming weak binding implementation. Along the way, I also converted a bunch of functions taking references to symbols to take pointers instead. Given how much casting we do for Symbol (especially in the upcoming weak binding diffs), it's cleaner this way. Differential Revision: https://reviews.llvm.org/D86571
-
Jez Ng authored
It's roughly like -force_load with some filtering. Differential Revision: https://reviews.llvm.org/D86181
-
Jez Ng authored
The re-exports list in a TAPI document can either refer to other inlined TAPI documents, or to on-disk files (which may themselves be TBD or regular files.) Similarly, the re-exports of a regular dylib can refer to a TBD file. Differential Revision: https://reviews.llvm.org/D85404
-
Jez Ng authored
Two things needed fixing for that to work: 1. getName() no longer returns null for DylibFiles constructed from TAPIs 2. markSubLibrary() now accepts .tbd as a possible extension Differential Revision: https://reviews.llvm.org/D86180
-
Jez Ng authored
This matches ld64's behavior Differential Revision: https://reviews.llvm.org/D85992
-
LLVM GN Syncbot authored
-
Ryan Prichard authored
Differential Revision: https://reviews.llvm.org/D86255
-
Ryan Prichard authored
* When _LIBUNWIND_SUPPORT_COMPACT_UNWIND is defined in config.h, define it to "1" like the other macros. These macros are still checked using "#if defined(...)", however. * Include libunwind.h in AddressSpace.hpp before using _LIBUNWIND_ARM_EHABI. * Rename ProcessFrameHeaderCache to TheFrameHeaderCache, because some configurations (e.g. Android / hermetic static libraries) can have one cache per shared object in the process. (When there are more copies, it's more important not to waste memory in the cache.) * Add 3 missing header files to LIBUNWIND_HEADERS. Differential Revision: https://reviews.llvm.org/D86254
-
Matt Arsenault authored
I forgot to squash this with 0b7f6cc7
-
Matt Arsenault authored
AArch64, X86 and Mips currently directly consumes these and custom lowering to produce a libcall, but really these should follow the normal legalization process through the libcall/lower action.
-
Lang Hames authored
This will make stateful registrars (e.g. a future TargetProcessControl based registrar) easier to deal with.
-
Joseph Huber authored
Summary: This patch changes the libomptarget runtime to always emit debug messages that occur before offloading failure. The goal is to provide users with information about why their application failed in the target region rather than a single failure message. This is only done in regions that precede offloading failure so this should not impact runtime performance. if the debug environment variable is set then the message is forwarded to the debug output as usual. A new environment variable was added for future use but does nothing in this current patch. LIBOMPTARGET_INFO will be used to report runtime information to the user if requrested, such as grid size, SPMD usage, or data mapping. It will take an integer indicating the level of information verbosity and a value of 0 will disable it. Reviewers: jdoerfort Subscribers: guansong sstefan1 yaxunl ye-luo Tags: #OpenMP Differential Revision: https://reviews.llvm.org/D86483
-
Craig Topper authored
-
Arthur Eubanks authored
Caused by https://reviews.llvm.org/D85159
-
Arthur Eubanks authored
As discussed in http://lists.llvm.org/pipermail/llvm-dev/2020-July/143801.html. Currently no users outside of unit tests. Replace all instances in tests of -constprop with -instsimplify. Notable changes in tests: * vscale.ll - @llvm.sadd.sat.nxv16i8 is evaluated by instsimplify, use a fake intrinsic instead * InsertElement.ll - insertelement undef is removed by instsimplify in @insertelement_undef llvm/test/Transforms/ConstProp moved to llvm/test/Transforms/InstSimplify/ConstProp Reviewed By: lattner, nikic Differential Revision: https://reviews.llvm.org/D85159
-
Greg Clayton authored
Breakpad creates minidump files that can a module loaded multiple times. We found that when a process mmap's the object file for a library, this can confuse breakpad into creating multiple modules in the module list. This patch fixes the GetFilteredModules() to check the linux maps for permissions and use the one that has execute permissions. Typically when people mmap a file into memory they don't map it as executable. This helps people to correctly load minidump files for post mortem analysis. Differential Revision: https://reviews.llvm.org/D86375
-
Craig Topper authored
Clang now defaults to -march=pentium4 -mtune=generic so we don't need modern tune settings on pentium4.
-
Alina Sbirlea authored
Summary: When looking for all reaching definitions, we sort basic blocks on dominance. When sorting looking for properlyDominates() handles the case A == B. Authored by: pranavb Differential Revision: https://reviews.llvm.org/D86661
-
Adrian Prantl authored
-
Craig Topper authored
[X86] Default to -mtune=generic unless -march is passed to the driver. Add TuneCPU to the AST serialization This patch defaults to -mtune=generic unless -march is present. If -march is present we'll use the empty string unless its overridden by mtune. The back should use the target cpu if the tune-cpu isn't present. It also adds AST serialization support to fix some tests that emit AST and parse it back. These tests diff the IR against the output from not going through AST. So if we don't serialize the tune CPU we fail the diff. Differential Revision: https://reviews.llvm.org/D86488
-
Juneyoung Lee authored
As discussed in D86576, noundef attribute is removed from masked store/load/gather/scatter's pointer operands. Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D86656
-
Ahmed Bougacha authored
It was added for GISel, but SDAG could use it too!
-
Juneyoung Lee authored
According to the current LangRef, Memset/memcpy/memmove can take a null/dangling pointer if the size is zero. (Relevant thread: http://lists.llvm.org/pipermail/llvm-dev/2017-July/115665.html ) This patch expands it and allows the functions to take undef/poison pointers too. This required the updates in the align attribute since it isn't specified what is the alignment of undef/poison pointers. This patch states that their alignment is 1. Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D86643
-
Thomas Raoux authored
Based on the RFC discussed here: https://llvm.discourse.group/t/rfc-vector-standard-add-bitcast-operation/1628/ Adding a vector.bitcast operation that allows casting to a vector of different element type. The most minor dimension bitwidth must stay unchanged. Differential Revision: https://reviews.llvm.org/D86580
-