- Apr 12, 2023
-
-
Balázs Kéri authored
Add an additional explanation of what is wrong if a constraint is not satisfied, in some cases. Additionally the bug report generation is changed to use raw_ostream. Reviewed By: Szelethus, NoQ Differential Revision: https://reviews.llvm.org/D144003
-
Nikita Popov authored
-
Corentin Jabot authored
Because the comment parser does not support slices, we emit a warning for comments that do contain a splice within their delimiter, and do not add them as documentation comment. Fixes #62054 Reviewed By: shafik, aaron.ballman Differential Revision: https://reviews.llvm.org/D148029
-
Nikita Popov authored
-
Martin Storsjö authored
This header isn't used by any public header, so there shouldn't be any need to install it or treat it as a heder. Once it's part of the src subdirectory, I guess one could consider giving it a more traditional name too. Differential Revision: https://reviews.llvm.org/D147855
-
Martin Storsjö authored
Use uintptr_t instead. On Windows, long is 32 bit even on 64 bit architectures. Differential Revision: https://reviews.llvm.org/D147639
-
Martin Storsjö authored
This test succeeds on aarch64 windows now (tested both in mingw mode and with clang-cl), most probably since commit ccd96b3e / D146667 ([builtins][test] Fix divmodti4_test.c on Windows). Differential Revision: https://reviews.llvm.org/D148000
-
Martin Storsjö authored
When the libcxx test framework is executed within libunwind, there are no standard C++ headers available (libunwind builds with -nostdinc++, but doesn't add any libcxx headers to the include path). Check that a test that includes <iostream> can be compiled before trying to build and execute a test program that includes it. Previously, the compile error here would block all libunwind tests from executing altogether. Differential Revision: https://reviews.llvm.org/D147630
-
Matthias Springer authored
No replacement ops are needed for tracked ops who's handles are all dead. Differential Revision: https://reviews.llvm.org/D147510
-
Kazu Hirata authored
This patch removes forward declarations of llvm::Any as they are not used. Removing them gets us a bit closer to the world where we use std::any instead of llvm::Any because we won't forward-declare std:: classes.
-
Wang, Xin10 authored
From line 693 in file llc.cpp, it uses new operator to creates a ModulePass and assigned to MMIWP. If the condition after take the true branch, it has chance to go in to line 702 or line 709, the function will return without cleaning the memory. The second issue existed for the same reason, the ref TPC get the pointer created from LLVMTM.createPassConfig, and will leak memory if goes into line 709. This patch uses delete in the issued branch. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D147993
-
Matthias Springer authored
This revision adds additional "expensive-checks" checks to the transform dialect that detect the most common cases of: * Missing `consumesHandle` side effects on transform ops. * Patterns that remove operations but do not notify the transform dialect. In essence, these additional checks are looking for dangling pointers to erased payload ops in the transform dialect state and crash the program execution (by dereferencing free'd memory) or triggering an assertion failure. It is recommended to run these extra checks with ASAN. Otherwise, certain failures may not be detected. The ASAN error message can also be used to find the faulty transform op/pattern. This change also fixes a few faulty transform ops. Differential Revision: https://reviews.llvm.org/D147447
-
Phoebe Wang authored
`Builder.GetInsertBlock()` may return null sometimes. https://godbolt.org/z/n1Ph47jP1 Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D147867
-
Max Kazantsev authored
-
luxufan authored
-
luxufan authored
-
Matthias Springer authored
Differential Revision: https://reviews.llvm.org/D147997
-
Ben Shi authored
Optimize (mul x, imm) to (ADD (SLLI x, s0), (SLLI x, s1)) or (SUB (SLLI x, s0), (SLLI x, s1)) if possible. Reviewed By: SixWeining Differential Revision: https://reviews.llvm.org/D147692
-
Ben Shi authored
Reviewed By: SixWeining Differential Revision: https://reviews.llvm.org/D147691
-
Ben Shi authored
We temporarily only allow post increment load/store from/to data memory, and disable post increment load from program space. Updates https://github.com/llvm/llvm-project/issues/59914 Reviewed By: mzh Differential Revision: https://reviews.llvm.org/D147761
-
wren romano authored
These functions don't need a`PatternRewriter`, they only need an `OpBuilder`. And, the builder should be the first argument, before the `Location`, to match the style used everywhere else in MLIR. Reviewed By: aartbik Differential Revision: https://reviews.llvm.org/D148059
-
Hassnaa Hamdi authored
This reverts commit 6a8d8f3e.
-
Nico Weber authored
Differential Revision: https://reviews.llvm.org/D148008
-
Rafael Auler authored
When there is a direct jump right after an indirect one, in the absence of code jumpting to this direct jump, this is obviously dead code. However, BOLT was failing to recognize that by mistakenly placing both jmp instructions in the same basic block, and creating wrong successor edges. Fix that, so we can safely run UCE on that. This bug also causes validateCFG to fail and BOLT to crash if it is running ICP on that function. Reviewed By: #bolt, Amir Differential Revision: https://reviews.llvm.org/D148055
-
Jonas Devlieghere authored
Now that we can pass Python objects to the scripted process instance, we don't need to parse the crashlog twice anymore. Differential revision: https://reviews.llvm.org/D148063
-
Lang Hames authored
In f448d446 we switched to calling _objc_map_images and _objc_load_images for MachO language metadata registration. This patch fixes some bugs arising from that change: (1) __objc_imageinfo processing was moved to a post-allocation pass, but this prevents us from discarding the redundant copies. This commit moves processing back to a pre-prune pass and inserts a symbol for the uniqued __objc_image section. Runtime objects use an edge pointing to this symbol to access the address. (2) We were assuming that _objc_map_images & _objc_load_images were available in the Objective-C runtime on 10.15, but these functions didn't become available until later. This commit bumps the macOS version requirement to 13.1 where the functions should be available. (3) The ORC-RT trivial-swift-types-section.S test was missing an __objc_unwindinfo section, which triggered an assert that should have been an error. The assert has been turned into an error, and the testcase has been updated to include an __objc_imageinfo. rdar://107846455
-
Chia-hung Duan authored
In general, a region is located from region base and has size `RegionSize`. However, some platforms may not support mapping from region base. Before we have each platform implements their specific MemMap to handle the offset. Temporarily dispatch the region from `RegionBeg` instead. Reviewed By: cferris, fabio-d Differential Revision: https://reviews.llvm.org/D147792
-
Vitaly Buka authored
-
Aart Bik authored
SM80 flag guards the test for targets that do not support A100 GPUs Reviewed By: mehdi_amini Differential Revision: https://reviews.llvm.org/D147863
-
Vitaly Buka authored
-
Caslyn Tonelli authored
Differential Revision: https://reviews.llvm.org/D148052
-
Ziqing Luo authored
[-Wunsafe-buffer-usage] Match unsafe pointers being casted to bool or participating in pointer subtractions Add two new unique cases to the Unspecified Pointer Context (UPC), under which we match unsafe operation patterns: - A pointer being casted to a boolean value is in a UPC; - A pointer participating in pointer subtraction is in a UPC. Reviewed by: NoQ (Artem Dergachev), malavikasamak (Malavika Samak) Differential revision: https://reviews.llvm.org/D144064
-
Jonas Devlieghere authored
Use the base + size to correctly populate the image high address when parsing JSON crashlogs. Differential revision: https://reviews.llvm.org/D148053
-
Fangrui Song authored
-
Emilia Dreamer authored
After clang-format has determined that an equals sign starts an expression, it will also go backwards and modify any star/amp/ampamp binary operators on the left side of the assignment to be pointers/references instead. There already exists logic to skip over contents of parentheses and square brackets, but this patch also expands that logic to apply to angle brackets. This is so that binary operators inside of template arguments would not be touched, primary arguments to non-type template parameters. Fixes https://github.com/llvm/llvm-project/issues/62055 Reviewed By: owenpan, MyDeveloperDay, HazardyKnusperkeks Differential Revision: https://reviews.llvm.org/D148024
-
OCHyams authored
This reverts commit a0525f09 which lands D146987. Buildbot: https://lab.llvm.org/buildbot/#/builders/70/builds/36214
-
Devajith V S authored
This patch introduces support for m_Op with a StringRef argument and m_Attr matchers. These matchers will be very useful for mlir-query that is being developed currently. Submitting this patch separately to reduce the final patch size and make it easier to upstream mlir-query. Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D147262
-
Caslyn Tonelli authored
Introduce the `memmem` libc string function. `memmem_implementation` performs shared logic for `strstr`, `strcasestr`, and `memmem`; essentially reconfiguring what was the `strstr_implementation` to support length parameters. Differential Revision: https://reviews.llvm.org/D147822
-
Caroline Tice authored
The function DWARFASTParserClang::ParsePointerToMemberType attempts to make two pointers and then immediately tries to dereference them, without verifying that the pointesr were successfully created. Sometimes the pointer creation fails, and the dereference then causes a segfault. This add a check that the pointers are non-null before attempting to dereference them.
-