- Feb 10, 2021
-
-
Jianzhou Zhao authored
To simplify the review of https://reviews.llvm.org/D95835. Reviewed-by: gbalats, morehouse Differential Revision: https://reviews.llvm.org/D96180
-
George authored
Replace MlirDialectRegistrationHooks with MlirDialectHandle, which under-the-hood is an opaque pointer to MlirDialectRegistrationHooks. Then we expose the functionality previously directly on MlirDialectRegistrationHooks, as functions which take the opaque MlirDialectHandle struct. This makes the actual structure of the registration hooks an implementation detail, and happens to avoid this issue: https://llvm.discourse.group/t/strange-swift-issues-with-dialect-registration-hooks/2759/3 Reviewed By: stellaraccident Differential Revision: https://reviews.llvm.org/D96229
-
Alex Richardson authored
The current support only printed coredump notes, but most binaries also contain notes. This change adds names for four FreeBSD-specific notes and pretty-prints three of them: NT_FREEBSD_ABI_TAG: This note holds a 32-bit (decimal) integer containing the value of the __FreeBSD_version macro, which is defined in crt1.o and will hold a value such as 1300076 for a binary build on a FreeBSD 13 system. NT_FREEBSD_ARCH_TAG: A string containing the value of the build-time MACHINE_ARCH NT_FREEBSD_FEATURE_CTL: A 32-bit flag that indicates to the kernel that the binary wants certain bevahiour. Examples include setting NT_FREEBSD_FCTL_ASLR_DISABLE which tells the kernel to disable ASLR. After this change llvm-readobj also no longer decodes coredump-only FreeBSD notes in non-coredump files. I've also converted the note-freebsd.s test to use yaml2obj instead of llvm-mc. Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D74393
-
Alex Richardson authored
Currently, if the note name is known, but the value isn't we don't print the contents. Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D74367
-
Alex Richardson authored
This is required for D74393. Reviewed By: jhenderson Differential Revision: https://reviews.llvm.org/D95953
-
Alex Richardson authored
This matches GNU binutils. Reviewed By: rupprecht, jhenderson, MaskRay Differential Revision: https://reviews.llvm.org/D96010
-
Sam McCall authored
These allow (function-) local variables to be distinguished, but also a bunch more cases. It's not quite independent with existing information (e.g. the field/variable distinction is redundant if you have class-scope + static attributes) but I don't think this is terribly important. Depends on D77811 Differential Revision: https://reviews.llvm.org/D95701
-
Eric Schweitz authored
Adding the FIR types used to describe the Fortran semantics of indexing FIR arrays. https://github.com/flang-compiler/f18-llvm-project/pull/267 Differential Revision: https://reviews.llvm.org/D96172
-
Tobias Gysi authored
The patch extends the runner utils by verification methods that compare two memrefs. The methods compare the content of the two memrefs and print success if the data is identical up to a small numerical error. The methods are meant to simplify the development of integration tests that for example compare optimized and unoptimized code paths (cf. the updates to the linalg matmul integration tests). Reviewed By: nicolasvasilache Differential Revision: https://reviews.llvm.org/D96326
-
Jon Chesterfield authored
[libomptarget][amdgcn] Tolerate deadstripped device_state variable The device_state variable may have been deadstripped. Similar to device_environment, leave detection of missing but used symbol to loader. Reviewed By: pdhaliwal Differential Revision: https://reviews.llvm.org/D96330
-
Nico Weber authored
This reverts commit 4a64d8fe. Makes clang crash when buildling trivial iOS programs, see comment after https://reviews.llvm.org/D92808#2551401
-
Dave Lee authored
These two `AppleThreadPlanStepThrough` thread plans have parameterized behavior that is unutilized. To make their interface and implementation simpler, this change inlines those outside parameters. Differential Revision: https://reviews.llvm.org/D96276
-
- Feb 09, 2021
-
-
Jan Svoboda authored
This patch implements generation of remaining frontend options and tests it by performing parse-generate-parse round trip. Depends on D96269. Reviewed By: dexonsmith Differential Revision: https://reviews.llvm.org/D96155
-
Sam McCall authored
- Infrastructure to support modifiers (protocol etc) - standard modifiers: - declaration (but no definition, yet) - deprecated - readonly (based on a fairly fuzzy const checking) - static (for class members and locals, but *not* file-scope things!) - abstract (for C++ classes, and pure-virtual methods) - nonstandard modifier: - deduced (on "auto" whose Kind is Class etc) Happy to drop this if it's controversial at all. - While here, update sample tweak to use our internal names, in anticipation of theia TM scopes going away. This addresses some of the goals of D77702, but leaves some things undone. Mostly because I think these will want some discussion. - no split between dependent type/name. (We may want to model this as a modifier, type+dependent vs ???+dependent) - no split between primitive/typedef. (Is introducing a nonstandard kind is worth this distinction?) - no nonstandard local attribute This probably makes sense, I'm wondering if we want others and how they fit together. There's one minor regression in explicit template specialization declarations due to a latent bug in findExplicitReferences, but fixing it after seems OK. Differential Revision: https://reviews.llvm.org/D77811 -
Anastasia Stulova authored
Signed prefix is removed and the single word spelling is printed for the scalar types. Tags: #clang Differential Revision: https://reviews.llvm.org/D96161
-
Lei Zhang authored
The assembly mnemonic includes information about input/filter data format. The C++ symbol should be consistent.
-
Thomas Raoux authored
Differential Revision: https://reviews.llvm.org/D96314
-
Jan Svoboda authored
This fixes some buildbot failures with ambiguous call to OptSpecifier constructor.
-
Jan Svoboda authored
This patch extracts the mapping between command line option and frontend::ActionKind into a table. The table can be reused when parsing and also generating command line options. Reviewed By: dexonsmith Differential Revision: https://reviews.llvm.org/D96269
-
Nico Weber authored
These tests use `--check-prefix=CHECK-%os` but then didn't have a CHECK line for every os. In most tests, the linux expectations were sufficient (they match the "wrap_" prefix with .*), so just remove the check-prefix there. In the places where this didn't easily work, make sure there are at least CHECK-Windows and CHECK-Darwin lines.
-
Jan Svoboda authored
This patch stores the `InputKind` (parsed mainly from `-x`) to `FrontendOptions`. This is necessary for command line generation. Reviewed By: dexonsmith Differential Revision: https://reviews.llvm.org/D96149
-
Simon Pilgrim authored
Fold shufps(hop(x,y),hop(z,w)) -> permute(hop(x,z)) - this is very similar to the equivalent unpack fold. I did start trying to convert foldShuffleOfHorizOp to handle generic shuffle masks but we're relying on a lot of special cases at the moment.
-
Denys Shabalin authored
Reviewed By: ftynse Differential Revision: https://reviews.llvm.org/D96333
-
poelmanc authored
`clang-tidy -std=c++20` with `modernize-use-nullptr` mistakenly inserts `nullptr` in place of the comparison operator if the comparison internally expands in the AST to a rewritten spaceship operator. This can be reproduced by running the new `modernize-use-nullptr-cxx20.cpp` test without applying the supplied patch to `UseNullptrCheck.cpp`; the current clang-tidy will mistakenly replace: ```result = (a1 < a2);``` with ```result = (a1 nullptr a2);``` Reviewed By: njames93 Differential Revision: https://reviews.llvm.org/D95714
-
Lei Zhang authored
This commit defines linalg.depthwise_conv_2d_nhwc for depthwise 2-D convolution with NHWC input/output data format. This op right now only support channel multiplier == 1, which is the most common case. Reviewed By: nicolasvasilache Differential Revision: https://reviews.llvm.org/D94966
-
Lei Zhang authored
Indexing maps for named ops can reference attributes so that we can synthesize the indexing map dynamically. This supports cases like strides for convolution ops. However, it does cause an issue: now the indexing_maps() function call is dependent on those attributes. Linalg ops inherit LinalgOpInterfaceTraits, which calls verifyStructuredOpInterface() to verify the interface. verifyStructuredOpInterface() further calls indexing_maps(). Note that trait verification is done before the op itself, where ODS generates the verification for those attributes. So we can have indexing_maps() referencing non-existing or invalid attribute, before the ODS-generated verification kick in. There isn't a dependency handling mechansim for traits. This commit adds new interface methods to query whether an op hasDynamicIndexingMaps() and then perform verifyIndexingMapRequiredAttributes() in verifyStructuredOpInterface() to handle the dependency issue. Reviewed By: nicolasvasilache Differential Revision: https://reviews.llvm.org/D96297
-
Nico Weber authored
Since we emit diagnostics for undefineds in Writer::scanRelocations() and symbols referenced by -u flags aren't referenced by any relocations, this needs some manual code (similar to the entry point). Differential Revision: https://reviews.llvm.org/D94371
-
Wang, Pengfei authored
Intrinsics *reduce_add/mul_ps/pd have assumption that the elements in the vector are reassociable. So we need to always assign the reassoc flag when we call _mm_reduce_* intrinsics. Reviewed By: spatel Differential Revision: https://reviews.llvm.org/D96231
-
Nemanja Ivanovic authored
As of commit 284f2bff, the DAG Combiner gets rid of the masking of the input to this node if the mask only keeps the bottom 16 bits. This is because the underlying library function does not use the high order bits. However, on PowerPC's ELFv2 ABI, it is the caller that is responsible for clearing the bits from the register. Therefore, the library implementation of __gnu_h2f_ieee will return an incorrect result if the bits aren't cleared. This combine is desired for ARM (and possibly other targets) so this patch adds a query to Target Lowering to check if this zeroing needs to be kept. Fixes: https://bugs.llvm.org/show_bug.cgi?id=49092 Differential revision: https://reviews.llvm.org/D96283
-
Nemanja Ivanovic authored
Commit a2d19bad introduced a dependency in the RISCV disassembler on two additional libraries (MC, RISCVDesc) which wasn't added to the CMakeLists.txt. This causes shared library builds to break. This patch just adds them to fix failures seen on some bots, such as the PPC64LE Multistage.
-
Jon Chesterfield authored
[libomptarget][amdgcn] Tolerate deadstripped env variable Discovered by Pushpinder. If the device_environment variable is unused it can be deadstripped, in which case we should not abort due to it missing. This change is safe in that a missing symbol which is actually used can be reported by both linker and loader, and a missing unused symbol is better deadstripped than left in the image. Reviewed By: pdhaliwal Differential Revision: https://reviews.llvm.org/D96329
-
Dylan McKay authored
References to functions are in program memory and need a `pm()` fixup. This should fix trait objects for Rust on AVR. Differential Revision: https://reviews.llvm.org/D87631 Patch by Alex Mikhalev.
-
Thomas Preud'homme authored
Summary: This reverts commit b7b61a7b which fails on some of the builders: http://lab.llvm.org:8011/#/builders/14/builds/5806 Reviewers: Subscribers:
-
Thomas Preud'homme authored
As for SETCC, use a less expensive condition code when generating STRICT_FSETCC if the node is known not to have Nan. Reviewed By: SjoerdMeijer Differential Revision: https://reviews.llvm.org/D91972
-
Vitaly Buka authored
-
Vitaly Buka authored
-
Vitaly Buka authored
-
Vitaly Buka authored
-
Vitaly Buka authored
-
Kirill Bobyrev authored
Fixes https://github.com/clangd/clangd/issues/685 Reviewed By: hokein Differential Revision: https://reviews.llvm.org/D96247
-