- Nov 14, 2023
-
-
Diana authored
Switch to using immediate offsets instead of the SP register to access objects on the current stack frame in chain functions. This means we no longer need to reserve a SP register just for accesing stack objects and it also allows us to set the SP (when one is actually needed) to the stack size from the very beginning. This only works if we use a FixedObject for the ScavengeFI, which is what we do for entry functions anyway (and we generally want to keep chain functions close to amdgpu_cs behaviour where we don't have a good reason to diverge).
-
Anatoly Trosinenko authored
Refactor Pointer Authentication pass in preparation for adding more PAUTH_* pseudo instructions: * dropped early return from runOnMachineFunction() as other PAUTH_* instructions need expansion even when pac-ret is disabled * refactored runOnMachineFunction() to first collect all the instructions of interest without modifying anything and then performing changes in the later loops. There are two types of relevant instructions: PAUTH_* pseudos that should definitely be replaced by this pass and tail call instructions that may require attention if pac-ret is enabled * made the loop iterating over all of the instructions handle instruction bundles by itself: even though this pass still does not support bundled TCRETURN* instructions (such as produced by KCFI) it does not crash anymore when no support is actually required
-
QuietMisdreavus authored
Other implementations of the symbol graph format use zero-based indices for source locations, which causes problems when combined with clang's current one-based indices. This commit sets ExtractAPI's symbol graph output to use zero-based indices to align with other implementations. rdar://107639783
-
Matthew Devereau authored
Adds the builtins: void svldr_zt(uint64_t zt, const void *rn) void svstr_zt(uint64_t zt, void *rn) And the intrinsics: call void @llvm.aarch64.sme.ldr.zt(i32, ptr) tail call void @llvm.aarch64.sme.str.zt(i32, ptr) Patch by: Kerry McLaughlin <kerry.mclaughlin@arm.com>
-
S. B. Tam authored
-
Momchil Velikov authored
Precommit test for https://github.com/llvm/llvm-project/pull/68984
-
Michael Buch authored
`638a8393` removed the `dsym` condition for older compiler versions which caused the `dwarf` variants tests to XPASS. This patch reverts to only XFAIL-ing the `dsym` variant. `15c80852` added `test_shadowed_static_inline_members` which isn't supported on older compiler versions.
-
Endre Fülöp authored
The given glob needed to be fixed; static analyzer-related PRs were also assigned this label erroneously.
-
Balázs Kéri authored
The functions 'readlink' and 'readlinkat' do return 0 only if the 'bufsize' argument is 0.
-
Jie Fu authored
/llvm-project/llvm/lib/IR/ConstantFold.cpp:137:12: error: unused variable 'CSize' [-Werror,-Wunused-variable] unsigned CSize = cast<IntegerType>(C->getType())->getBitWidth()/8; ^ 1 error generated. -
Fangrui Song authored
For -fno-pic, if an extern variable is defined in a DSO, a copy relocation will be needed. However, loongarch*-linux does not and will not support copy relocations. Change Driver to default to -fno-direct-access-external-data for LoongArch && non-PIC. Keep Frontend conditions unchanged (-fdirect-access-external-data || -fno-direct-access-external-data && PIC>0 => direct access). Fix #71645
-
Fangrui Song authored
Similar to https://reviews.llvm.org/D157550
-
Nikita Popov authored
Remove support for the lshr and ashr constant expressions. All places creating them have been removed beforehand, so this just removes the APIs and uses of these constant expressions in tests. This is part of https://discourse.llvm.org/t/rfc-remove-most-constant-expressions/63179.
-
David Spickett authored
This file and uses of it were removed in 64d5da60.
-
Mike Hommey authored
Cc: @kazutakahirata
-
Haojian Wu authored
See the discussion in #69309.
-
Nikita Popov authored
For `{{regex}}` we don't really need a capturing group, and only add it to properly handle cases like `{{foo|bar}}`. This is problematic, because the use of capturing groups makes our regex implementation slower (we have to go through the "dissect" stage, which can have quadratic complexity). Unfortunately, our regex implementation does not support non-capturing groups like `(?:regex)`. So instead, avoid adding the group entirely if the regex doesn't contain any alternations. This causes a slight difference in escaping behavior, where previously it was possible to write `{{{{}}` and get the same behavior as `{{\{\{}}`. This will no longer work. I don't think this is a problem, especially as we recently taught update_analyze_test_checks.py to emit `{{\{\{}}`, so this shouldn't get introduced in any new tests. For CodeGen/X86/vector-interleaved-store-i16-stride-7.ll (our slowest X86 test) this drops FileCheck time from 6s to 5s (the remainder is spent in a different regex issue). I expect similar speedups in other tests using a lot of `{{}}`. -
Nikita Popov authored
Fix the issue by not reusing the zext at all. The code already handles creation of new zexts if more than one is needed. Always use that code-path instead of trying to reuse the old zext in some case. (Alternatively we could also drop poison-generating flags on the old zext, but it seems cleaner to not reuse it at all, especially if it's not always possible anyway.) Fixes https://github.com/llvm/llvm-project/issues/72046.
-
Phoebe Wang authored
Fixes #72106
-
Phoebe Wang authored
This reverts commit 451c594b. Revert due to buildbot fails.
-
Phoebe Wang authored
#71318 failed to clear EVEX512 feature for intended intrinsics. Fixes #72106
-
pvanhout authored
-
Paulo Matos authored
Removed as part of 7b9d73c2 .
-
Craig Topper authored
These can be treated simlarly to PseudoCCADDW/SUBW.
-
Pierre van Houtryve authored
Should avoid issues on big-endian hosts. Note that we use aligned types because primitive integers are also aligned. If we don't use aligned types, `HSAILProperties` ends up being 11 bytes instead of 12 (1 byte padding at the end of the struct added by the compiler). Technically only the first type needs to be aligned, but I just used aligned types everywhere to be consistent. Fixes #65280
-
Kai Luo authored
-
Z572 authored
Fixes #72119 https://alive2.llvm.org/ce/z/5f_QuC
-
long.chen authored
detail see the docment: https://mlir.llvm.org/deprecation/ Not all changes are made manually, most of them are made through a clang tool I wrote https://github.com/lipracer/cpp-refactor.
-
Craig Topper authored
-
HaohaiWen authored
-
Jeremy Kun authored
-
Gedare Bloom authored
Function and variable names are not detected when there is a __attribute__((x)) preceding the name. Fixes #64137. Differential Revision: https://reviews.llvm.org/D156370
-
Craig Topper authored
Add helper that creates a lambda similar to typeIs, but containing the predicate check for hasStdExtF and hasStdD. We can use this with legalIf and all to reduce the number of manual lambdas we need to write.
-
Renaud Kauffmann authored
Fixing fir::unwrapSeqOrBoxedSeqType check for fir::BaseBoxType to add support for fir::BoxType and fir::ClassType
-
Akira Hatanaka authored
[ARC][Documentation] Explicitly state that messaging weak objects keeps a strong reference during call lifetime (#72169) rdar://113636046
-
Maksim Levental authored
-
Yingwei Zheng authored
This patch infers `nneg` flags for existing zext instructions in SCCP. Similar patch: https://github.com/llvm/llvm-project/pull/72052
-
Maksim Panchenko authored
Use MCAsmBackend::writeNopData() interface to emit NOP instructions on x86. There are multiple forms of NOP instruction on x86 with different sizes. Currently, LLVM's assembly/disassembly does not support all forms correctly which can lead to a breakage of input code semantics, e.g. if the program relies on NOP instructions for reserving a patch space. Add "--keep-nops" option to preserve NOP instructions.
-
LLVM GN Syncbot authored
-
Walter Erquinigo authored
When this option gets enabled, descriptions of stack frames will be generated using the format provided in the launch configuration instead of simply calling `SBFrame::GetDisplayFunctionName`. This allows lldb-dap to show an output similar to the one in the CLI.
-