- Nov 20, 2020
-
-
River Riddle authored
* Move ops to a BuiltinOps.h * Add file comments
-
Sam McCall authored
Differential Revision: https://reviews.llvm.org/D91299
-
AndreyChurbanov authored
Patch by tlwilmar (Terry Wilmarth) Differential Revision: https://reviews.llvm.org/D91189
-
Fraser Cormack authored
-
Louis Dionne authored
-
Artem Belevich authored
Standard libc++ headers in stdc++ mode include <new> which picks up cuda_wrappers/new before any of the CUDA macros have been defined. We can not include CUDA headers that early, so the work-around is to define __device__ in the wrapper header itself. Differential Revision: https://reviews.llvm.org/D91807
-
Stella Stamenova authored
Generate passes.h before trying to use it Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D91750
-
Leonard Chan authored
The `dso_local_equivalent` constant is a wrapper for functions that represents a value which is functionally equivalent to the global passed to this. That is, if this accepts a function, calling this constant should have the same effects as calling the function directly. This could be a direct reference to the function, the `@plt` modifier on X86/AArch64, a thunk, or anything that's equivalent to the resolved function as a call target. When lowered, the returned address must have a constant offset at link time from some other symbol defined within the same binary. The address of this value is also insignificant. The name is leveraged from `dso_local` where use of a function or variable is resolved to a symbol in the same linkage unit. In this patch: - Addition of `dso_local_equivalent` and handling it - Update Constant::needsRelocation() to strip constant inbound GEPs and take advantage of `dso_local_equivalent` for relative references This is useful for the [Relative VTables C++ ABI](https://reviews.llvm.org/D72959) which makes vtables readonly. This works by replacing the dynamic relocations for function pointers in them with static relocations that represent the offset between the vtable and virtual functions. If a function is externally defined, `dso_local_equivalent` can be used as a generic wrapper for the function to still allow for this static offset calculation to be done. See [RFC](http://lists.llvm.org/pipermail/llvm-dev/2020-August/144469.html) for more details. Differential Revision: https://reviews.llvm.org/D77248
-
ergawy authored
This commit does the renaming mentioned in the title in order to bring 'spv' dialect closer to the MLIR naming conventions. Reviewed By: antiagainst Differential Revision: https://reviews.llvm.org/D91792
-
Raphael Isemann authored
-
Teresa Johnson authored
Add an interface so that the profile can be dumped on demand. Differential Revision: https://reviews.llvm.org/D91768
-
Nathan James authored
Consider this code: ``` if (Cond) { #ifdef X_SUPPORTED X(); #else return; #endif } else { Y(); } Z();``` In this example, if `X_SUPPORTED` is not defined, currently we'll get a warning from the else-after-return check. However If we apply that fix, and then the code is recompiled with `X_SUPPORTED` defined, we have inadvertently changed the behaviour of the if statement due to the else being removed. Code flow when `Cond` is `true` will be: ``` X(); Y(); Z();``` where as before the fix it was: ``` X(); Z();``` This patch adds checks that guard against `#endif` directives appearing between the control flow interrupter and the else and not applying the fix if they are detected. Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D91485 -
Fraser Cormack authored
This moves the recognition of GREVI and GORCI from TableGen patterns into a DAGCombine. This is done primarily to match "deeper" patterns in the future, like (grevi (grevi x, 1) 2) -> (grevi x, 3). TableGen is not best suited to matching patterns such as these as the compile time of the DAG matchers quickly gets out of hand due to the expansion of commutative permutations. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D91259
-
Lei Zhang authored
This reverts commit 9b475258 and falls back to the original parallel-iterators-as-leading- dimensions convention. We can control the loop order by first converting the named op into linalg.generic and then performing interchange. Reviewed By: nicolasvasilache, asaadaldien Differential Revision: https://reviews.llvm.org/D91796
-
Adhemerval Zanella authored
On AArch64 it allows use the native FP16 ABI (although libcalls are not emitted for fptrunc/fpext lowering), while on other architectures the expected current semantic is preserved (arm for instance). Differential Revision: https://reviews.llvm.org/D91733
-
Adhemerval Zanella authored
This patch adds both extendhftf2 and trunctfhf2 to support conversion between half-precision and quad-precision floating-point values. They are enabled iff the compiler supports _Float16. Some notes on ARM plaforms: while __fp16 is supported on all architectures, _Float16 is supported only for 32-bit ARM, 64-bit ARM, and SPIR (as indicated by clang/docs/LanguageExtensions.rst). Also, __fp16 is a storage format and promoted to 'float' for argument passing and 64-bit ARM supports floating-point convert precision to half as base armv8-a instruction. It means that although extendhfsf2, truncdfhf2 __truncsfhf2 will be built for 64-bit ARM, they will be never used in practice (compiler won't emit libcall to them). This patch does not change the ABI for 32-bit ARM, it will continue to pass _Float16 as uint16. Differential Revision: https://reviews.llvm.org/D91732
-
Adhemerval Zanella authored
The compiler-rt part which adds the emitted symbols is handled in a subsequent patch. Differential Revision: https://reviews.llvm.org/D91731
-
Raphael Isemann authored
GDBRemoteCommunicationClient::SendGetSupportedTraceType is checking whether the response is `!response.IsNormalResponse()` and infers from that that it is an error response. However, it could be either "unsupported" or "error". If we get an unsupported response, the code then tries to generate an llvm::Expected from the non-error response which then asserts. Debugserver doesn't implement `jLLDBTraceSupportedType`, so we get an unsupported response whenever this function is called on macOS. This fixes the TestAproposWithProcess on macOS (where the `apropos` command will query the CommandObjectTraceStart which then sends the trace type query package). Reviewed By: wallace, shafik Differential Revision: https://reviews.llvm.org/D91801
-
Sander de Smalen authored
rGf571fe6d led to a warning of an unused variable for MaxSafeDepDist (written but not used). It seems this variable and assignment can be safely removed.
-
cchen authored
This patch is the runtime support for https://reviews.llvm.org/D84192. In order not to modify the tgt_target_data_update information but still be able to pass the extra information for non-contiguous map item (offset, count, and stride for each dimension), this patch overload arg when the maptype is set as OMP_TGT_MAPTYPE_DESCRIPTOR. The origin arg is for passing the pointer information, however, the overloaded arg is an array of descriptor_dim: ``` struct descriptor_dim { int64_t offset; int64_t count; int64_t stride }; ``` and the array size is the dimension size. In addition, since we have count and stride information in descriptor_dim, we can replace/overload the arg_size parameter by using dimension size. Reviewed By: grokos, tianshilei1992 Differential Revision: https://reviews.llvm.org/D82245
-
Teresa Johnson authored
Add a new interface __sanitizer_get_report_path which will return the full path to the report file if __sanitizer_set_report_path was previously called (otherwise it returns null). This is useful in particular for memory profiling handlers to access the path which was specified at compile time (and passed down via __memprof_profile_filename), including the pid added to the path when the file is opened. There wasn't a test for __sanitizer_set_report_path, so I added one which additionally tests the new interface. Differential Revision: https://reviews.llvm.org/D91765
-
Sam Tebbs authored
This converts the intermediate VPR use assertion to a condition in the if-statement to protect against assertion failures in case behaviuour is changed. This is a follow-up to https://reviews.llvm.org/D90935 and implements the post-approval comments. Reviewed By: dmgreen Differential Revision: https://reviews.llvm.org/D91790
-
Joseph Huber authored
Summary: Add support for passing source locations to libomptarget runtime functions using the ident_t struct present in the rest of the libomp API. This will allow the runtime system to give much more insightful error messages and debugging values. Reviewers: jdoerfert grokos Differential Revision: https://reviews.llvm.org/D87946
-
Tres Popp authored
Additionally, clear a data structure to ensure a proper state if multiple conversion attempts are needed. Differential Revision: https://reviews.llvm.org/D91791
-
Roman Lebedev authored
-
Siva Chandra Reddy authored
Reviewed By: lntue Differential Revision: https://reviews.llvm.org/D91763
-
Raphael Isemann authored
-
Raphael Isemann authored
We can handle all the types in the expression evaluator now without casting. On Linux, we have a system header declaration that is still causing issues, so I'm skipping the test there until I get around to fix this.
-
- Nov 19, 2020
-
-
Mircea Trofin authored
This is achieved through a substitution of FileCheck in lit.cfg.py, where we explicitly set -allow-unused-prefixes to false. We also introduce a %FileCheckWithUnusedPrefixes% substitution that can be used in those cases where we want to allow unused prefixes, even if the folder policy is to disallow them. Differential Revision: https://reviews.llvm.org/D91275
-
diggerlin authored
[AIX][XCOFF][Patch2] decode vector information and extent long table of the traceback table of the xcoff. SUMMARY: 1. decode the Vector extension if has_vec is set 2. decode long table fields, if longtbtable is set. There is conflict on the bit order of HasVectorInfoMask and HasExtensionTableMask between AIX os header and IBM aix compiler XLC. In the /usr/include/sys/debug.h defines static constexpr uint32_t HasVectorInfoMask = 0x0040'0000; static constexpr uint32_t HasExtensionTableMask = 0x0080'0000; but the XLC defines as static constexpr uint32_t HasVectorInfoMask = 0x0080'0000; static constexpr uint32_t HasExtensionTableMask = 0x0040'0000; we follows the definition of the IBM AIX compiler XLC here. Reviewer: Jason Liu Differential Revision: https://reviews.llvm.org/D86461
-
ergawy authored
This commit extends the functionality of the SPIR-V module combiner library by adding new deduplication capabilities. In particular, implementation of deduplication of global variables and specialization constants, and functions is introduced. For global variables, 2 variables are considered duplicate if they either have the same descriptor set + binding or the same built_in attribute. For specialization constants, 2 spec constants are considered duplicate if they have the same spec_id attribute. 2 functions are deduplicated if they are identical. 2 functions are identical if they have the same prototype, attributes, and body. Reviewed By: antiagainst Differential Revision: https://reviews.llvm.org/D90951
-
ergawy authored
This commit does the renaming mentioned in the title in order to bring 'spv' dialect closer to the MLIR naming conventions. Reviewed By: antiagainst Differential Revision: https://reviews.llvm.org/D91797
-
David Green authored
-
Haojian Wu authored
If there is a "-verify" flag in the compile command, clangd will crash (hit the assertion) inside the `~VerifyDiagnosticConsumer` (Looks like our compiler invocation doesn't setup correctly?). This patch disables the verify mode as it is rarely useful in clangd. Differential Revision: https://reviews.llvm.org/D91777
-
Jan Svoboda authored
Depends on D83691 Reviewed By: dexonsmith Original patch by Daniel Grumberg. Differential Revision: https://reviews.llvm.org/D83693
-
Mikhail Goncharov authored
This reverts commit 40267cc9. Build fails, e.g. http://lab.llvm.org:8011/#/builders/23/builds/108
-
Jan Svoboda authored
Depends on D83690 Reviewed By: dexonsmith Original patch by Daniel Grumberg. Differential Revision: https://reviews.llvm.org/D83691
-
Mikhail Goncharov authored
This reverts commit c43abf04. Test commands/register/register/register_command/TestRegisters.py fails. Buildbot http://lab.llvm.org:8011/#/changes/4149
-
Xiangling Liao authored
Support attribute((constructor)) and attribute((destructor)) on AIX Differential Revision: https://reviews.llvm.org/D90892
-
Lei Zhang authored
This commit starts a new pass and patterns for converting Linalg named ops to generic ops. This enables us to leverage the flexbility from generic ops during transformations. Right now only linalg.conv is supported; others will be added when useful. Reviewed By: nicolasvasilache Differential Revision: https://reviews.llvm.org/D91357
-