- Mar 20, 2024
-
-
Florian Mayer authored
Also be consistent about naming SP / FP. This is to prepare for stack history buffer for memtag-stack
-
Fangrui Song authored
Many decodeULEB128/decodeSLEB128 users need to increment the pointer. Add helpers to simplify this common pattern. We don't add `end` and `error` parameters at present because many users don't need them. Pull Request: https://github.com/llvm/llvm-project/pull/85739
-
Alex MacLean authored
-
Noah Goldstein authored
If we only need the signbit `uitofp` simplified to 0, and `sitofp` simplifies to `bitcast`. Closes #85138
-
Noah Goldstein authored
-
Noah Goldstein authored
This cleans up basically all the regressions assosiated from #84688 Proof of all new cases: https://alive2.llvm.org/ce/z/5yYWLb Closes #85445
-
Noah Goldstein authored
-
Michael Jones authored
In a previous patch an "internal_includes" target was created to give access to the macro headers. This patch removes that in favor of individual targets for these headers, better matching the existing code.
-
LLVM GN Syncbot authored
-
quic-areg authored
Defines a subset of attributes and emits them to a section called .hexagon.attributes. The current attributes recorded are the attributes needed by llvm-objdump to automatically determine target features and eliminate the need to manually pass features.
-
Alfie Richards authored
This was broken by https://github.com/llvm/llvm-project/pull/83436 as in optional operands meant when the CC operand is provided the `parsePKHImm` parser is applied to register operands, which previously erroneously produced an error.
-
Paul Kirth authored
We can reenable this now that FatLTO won't be enabled for Mac platforms Pull Request: https://github.com/llvm/llvm-project/pull/85709
-
Finn Plummer authored
Add missing constant propogation folder for spirv.Select Implement additional folding when both selections are equivalent or the condition is a constant Scalar/SplatVector. Allows for constant folding in the IndexToSPIRV pass. Part of work #70704
-
Simon Pilgrim authored
Alive2: https://alive2.llvm.org/ce/z/SdESbg Fixes #85681
-
Evan Wilde authored
Clang supported header searchpaths of the form `-I =/path`, relative to the sysroot if one is passed, but did not implement that behavior for `-iquote`, `-isystem`, or `-idirafter`. This implements the `=` portion of the behavior implemented by GCC for these flags described in https://gcc.gnu.org/onlinedocs/gcc/Directory-Options.html.
-
Valentin Clement (バレンタイン クレメン) authored
`fir.cuda_kernel_launch` represents a call to a cuda kernel with the chervon syntax. Its assembly format is meant to match `fir.call`. This patch updates the format to match the syntax closer for args and their types.
-
alx32 authored
This change adds a flag to lld to enable category merging for MachoO + ObjC. It adds the '-objc_category_merging' flag for enabling this option and uses the existing '-no_objc_category_merging' flag for disabling it. In ld64, this optimization is enabled by default, but in lld, for now, we require explicitly passing the '-objc_category_merging' flag in order to enable it. Behavior: if in the same link unit, multiple categories are extending the same class, then they get merged into a single category. Ex: Cat1(method1+method2,protocol1) + Cat2(method3+method4,protocol2, property1) = Cat1_2(method1+method2+method3+method4, protocol1+protocol2, property1) Notes on implementation decisions made in this diff: There is a possibility to further improve the current implementation by directly merging the category data into the base class (if the base class is present in the link unit) - this improvement may be done as a follow-up. This improved functionality is already present in ld64. We do the merging on the raw inputSections - after dead-stripping (categories can't be dead stripped anyway). The changes are mostly self-contained to ObjC.cpp, except for adding a new flag (linkerOptimizeReason) to ConcatInputSection and StringPiece to mark that this data has been optimized away. Another way to do it would have been to just mark the pieces as not 'live' but this would cause the old symbols to show up in the linker map as being dead-stripped - even if dead-stripping is disabled. This flag allows us to match the ld64 behavior. Note: This is a re-land of https://github.com/llvm/llvm-project/pull/82928 after fixing using already freed memory in `generatedSectionData`. This issue was detected by ASAN build. --------- Co-authored-by:
Alex B <alexborcan@meta.com>
-
Stephen Tozer authored
This is the major rename patch that prior patches have built towards. The DPValue class is being renamed to DbgVariableRecord, which reflects the updated terminology for the "final" implementation of the RemoveDI feature. This is a pure string substitution + clang-format patch. The only manual component of this patch was determining where to perform these string substitutions: `DPValue` and `DPV` are almost exclusively used for DbgRecords, *except* for: - llvm/lib/target, where 'DP' is used to mean double-precision, and so appears as part of .td files and in variable names. NB: There is a single existing use of `DPValue` here that refers to debug info, which I've manually updated. - llvm/tools/gold, where 'LDPV' is used as a prefix for symbol visibility enums. Outside of these places, I've applied several basic string substitutions, with the intent that they only affect DbgRecord-related identifiers; I've checked them as I we...
-
Paul Kirth authored
FatLTO currently only supports ELF, so ensure we don't use it on non-ELF platforms.
-
LLVM GN Syncbot authored
-
LLVM GN Syncbot authored
-
OverMighty authored
See https://github.com/llvm/llvm-project/pull/85484#discussion_r1526971653. There already were entrypoints for linux/x86_64. I haven't tested on the other targets and will rely on the buildbots.
-
Joseph Huber authored
This reverts commit cd8843f8. Originally disabled to try to unstick the AMD build bot, didn't make a difference after a week so it goes back in.
-
Jonas Devlieghere authored
-
Joseph Huber authored
Summary: Currently we print `null` for the null pointer in a `%s` expression. Although it's not defined by the standard, other implementations choose to use `(null)` to indicate this. We also currently print `(nullptr)` so I think it's more consistent to use parens in both cases.
-
Balaji V. Iyer authored
-
Kazu Hirata authored
This reverts commit e4f9175d. commit 3176c157 Author: Andres Villegas <andresvi@google.com> Date: Tue Mar 19 10:58:31 2024 -0700 reverted 43a2ec48.
-
Jonas Devlieghere authored
Remove support for obfuscated bitcode in dsymutil and the DWARF linker. We no longer support bitcode submissions and the obfuscation support has been removed from the rest of the compiler. rdar://123863918
-
Yingwei Zheng authored
Alive2: https://alive2.llvm.org/ce/z/vFykcZ Address the comment https://github.com/llvm/llvm-project/pull/85772#discussion_r1530179048. Unfortunately, non-splat vector constants are not supported because we haven't implemented constant folding of fabs with vector operands.
-
Alexey Bataev authored
The instruction itself can be considered good for minbitwidth casting, even if one of the operand checks returns false. Reviewers: RKSimon Reviewed By: RKSimon Pull Request: https://github.com/llvm/llvm-project/pull/84363
-
Kazu Hirata authored
commit 43a2ec48 Author: Jonas Devlieghere <jonas@devlieghere.com> Date: Tue Mar 19 08:30:47 2024 -0700 removed parameter Translator from the constructor of DwarfStreamer. This patch fixes the build by updating the constructor of DIEStreamer accordingly.
-
Florian Hahn authored
Dropping disjoint from an OR may yield incorrect results, as some analysis may have converted it to an Add implicitly (e.g. SCEV used for dependence analysis). Instead, replace it with an equivalent Add. This is possible as all users of the disjoint OR only access lanes where the operands are disjoint or poison otherwise. Note that replacing all disjoint ORs with ADDs instead of dropping the flags is not strictly necessary. It is only needed for disjoint ORs that SCEV treated as ADDs, but those are not tracked. There are other places that may drop poison-generating flags; those likely need similar treatment. Fixes https://github.com/llvm/llvm-project/issues/81872 PR: https://github.com/llvm/llvm-project/pull/83821
-
alexfh authored
Reverts llvm/llvm-project#79158, which causes a miscompile. See https://github.com/llvm/llvm-project/pull/79158#issuecomment-2007842032
-
Piotr Zegar authored
This check identifies suspicious usages of std::string_view::data() that could lead to reading out-of-bounds data due to inadequate or incorrect string null termination. Closes #80854
-
Piotr Zegar authored
Implement proper support for lambdas and sub-functions/classes. Moved from https://reviews.llvm.org/D157285 Fixes: #59389
-
Farzon Lotfi authored
This change fixes a test case failure caused by pr #85662
-
Paul T Robinson authored
Consistently describe rounding/truncating on convert intrinsics. Add notes where an out-of-range result can raise an exception.
-
Michael Jones authored
Patch #85702 added a new iterator header for array to use, but didn't add it as a dependency in the bazel build. This patch fixes the issue.
-
Takuto Ikuta authored
To avoid issue like https://github.com/llvm/llvm-project/issues/56554 and https://github.com/llvm/llvm-project/issues/83236 due to no guarantees for nested relationships between file level span and syntax tree level span, I'd like to have a `timeTraceAsyncProfilerBegin` specific to trace handling only `Source` spans around https://github.com/llvm/llvm-project/blob/8715f256911786520bb727ce067098d7082ac45c/clang/lib/Sema/Sema.cpp#L153-L170. This is a preparation PR to do that in [following PR](https://github.com/llvm/llvm-project/pull/83961).
-
Heejin Ahn authored
`ArrayRef` is supposed to be passed by value: https://github.com/llvm/llvm-project/blob/bda05140fb758156ae35f3919e6283d94bfa3905/llvm/include/llvm/ADT/ArrayRef.h#L38-L39
-