- Apr 12, 2023
-
-
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.
-
Mircea Trofin authored
This avoids the use-after-free introduced by D147794 and fixed in 437dfa5b.
-
Alexey Bataev authored
Added ShuffleCostEstimator class and the first adjustExtracts member, which is just a copy of previous AdjustExtractCost lambda. Differential Revision: https://reviews.llvm.org/D147787
-
Congcong Cai authored
Fixed https://github.com/llvm/llvm-project/issues/56022 c++20 support namespace like `namespace a::inline b {}`. If an inline namespace is not the first, it can be concatened. Reviewed By: PiotrZSL Differential Revision: https://reviews.llvm.org/D147946
-
Vlad Serebrennikov authored
[[https://wg21.link/p1787 | P1787]]: CWG1837 is resolved by restricting `this` to referring to the innermost enclosing class. Wording: see changes to [expr.prim.this] and [expr.prim.lambda]. Reviewed By: #clang-language-wg, erichkeane Differential Revision: https://reviews.llvm.org/D148035
-
Vlad Serebrennikov authored
[[https://wg21.link/p1787 | P1787]]: CWG2007 is resolved by skipping unqualified lookup for operators that must be member functions. Wording: For the operators =, [], or ->, the set of non-member candidates is empty; otherwise, it includes the result of the unqualified lookup for operator@... ([over.match.oper]/3) Reviewed By: #clang-language-wg, shafik Differential Revision: https://reviews.llvm.org/D147839
-
Vlad Serebrennikov authored
[[https://wg21.link/p1787 | P1787]]: CWG2370 is resolved by performing a search in (only) the immediate scope of any friend, per the [[ http://wiki.edg.com/bin/view/Wg21sandiego2018/CoreWorkingGroup#Core_issue_2370_friend_declarati | CWG opinion from San Diego ]]. Wording: In a friend declaration declarator whose declarator-id is a qualified-id whose lookup context is a class or namespace S, lookup for an unqualified name that appears after the declarator-id performs a search in the scope associated with S. If that lookup finds nothing, it undergoes unqualified name lookup. ([basic.lookup.unqual]/6). Clarification for P1787 description: when applied to the test in this patch, "immediate scope" refers to `N`, and "(only)" refers to the fact that `type` is not searched in parent scope of `N`. See example after the wording if additional clarification is needed. The most relevant line there is `friend void A::f(F); // OK`. Reviewed By: #clang-language-wg, shafik Differential Revision: https://reviews.llvm.org/D147848
-
Craig Topper authored
-
Vitaly Buka authored
Use likely have tagged pointer. I see no value making user to untag it. Reviewed By: fmayer Differential Revision: https://reviews.llvm.org/D147671
-
Caslyn Tonelli authored
Per https://reviews.llvm.org/D147970#4256889, swab.cpp is moved out of the /linux subdirectory and cmake specifications are amended to reflect that swab is not OS-specific. Differential Revision: https://reviews.llvm.org/D147988
-
Nitin John Raj authored
The LMUL for data and index are not guaranteed the same so we need different LMULs appended to the sched classes for them. Differential Revision: https://reviews.llvm.org/D147814
-
Nitin John Raj authored
This read is for a gpr pointer, and doesn't need to be LMUL aware. Differential Revision: https://reviews.llvm.org/D147799
-
Alex Langford authored
There's no reason these strings need to be in the ConstString StringPool, they're already string literals with static lifetime. I plan on addressing other similar functions in follow up commits. Differential Revision: https://reviews.llvm.org/D147833
-
Valentin Clement authored
The acc.loop operation was constrained by the SingleBlockImplicitTerminator. This patch relax this constraint to allow multiple block in the loop. Reviewed By: razvanlupusoru Differential Revision: https://reviews.llvm.org/D148025
-
Craig Topper authored
Instead of rejecting the CPU outright with no information, try to diagnose that it doesn't match the triple. Differential Revision: https://reviews.llvm.org/D147986
-
Craig Topper authored
This function was used to force +64bit or -64bit into the feature string basd on -mcpu. It's not entirely clear to me why this was needed. This informationo is redundant with the triple. RISCVTargetInfo::initFeatureMap independently recomputes it from the triple for the feature map. It is ultimately needed in the backend, but that should be handled by RISCVSubtarget processing the CPU name. Differential Revision: https://reviews.llvm.org/D147978
-
Matthew Voss authored
Pass -flto-jobs to orbis-ld correctly. Differential Revision: https://reviews.llvm.org/D147660
-
OCHyams authored
In D147777 emitDbgAssign was fixed to discard assignments which touched any bits outside the bounds of a variable. This patch changes emitDbgAssign to discard assignments which touch bits only outside the variable bounds, and creates a truncated fragment expression for stores partially overlapping the variable. This is necessary because the alloca is interpreted as a store (of undef), meaning without this patch emitDbgAssign would discard the inital dbg.assign for a variable that is smaller than the alloca. Reviewed By: jmorse Differential Revision: https://reviews.llvm.org/D148018
-
OCHyams authored
Some dbg.assigns using poison become un-poisoned in SROA. The reason this happens at all is because dbg.assigns linked to memory intrinsics use poison to indicate they can't describe the stored value, but the value becomes available after some optimisations. This needs reworking eventually, but for now we need to ensure that when it does occur we don't create invalid expressions. D147312 prevented this occuring when the dbg.assign uses DIArgLists, but that wasn't a complete fix. We also need to ensure we avoid un-poisoning when the existing expression uses more than one location operand (DW_OP_arg, n). Reviewed By: jmorse Differential Revision: https://reviews.llvm.org/D148020
-
Simon Pilgrim authored
We try to use X32 just for gnux32 triples
-
Florian Hahn authored
Some compilers require std::make_optional(std::move()) to force construction of the std::optional return value. This should fix the build failure in https://lab.llvm.org/buildbot#builders/67/builds/10991
-
Mark de Wever authored
The __cpp_lib_format_ranges feature-test macro only depends on P2286R8 and P2585R0. Note since LWG3750 only affects these two C++23 papers there is nothing to do for older language versions. (The __cpp_lib_format feature-test macro depends on the incomplete formatting for chrono. So this part can't be marked as complete yet.) This completes - P2286R8 Formatting ranges - P2585R0 Improving default container formatting This partly implements - LWG3750 Too many papers bump __cpp_lib_format Reviewed By: #libc, ldionne Differential Revision: https://reviews.llvm.org/D147880
-