- Jun 01, 2024
-
-
Nikolas Klauser authored
-
Schrodinger ZHU Yifan authored
-
Fangrui Song authored
When the orphan section is placed after i, incrementing then decreamenting is quite difficult to understand. Simplify the code to a single loop to make the intention clearer.
-
Pavel Samolysov authored
-
Fangrui Song authored
Simplify the loop that considers sections of the same proximity. The two involved conditions are due to: * https://reviews.llvm.org/D111717 ("[ELF] Avoid adding an orphan section to a less suitable segment") and * https://reviews.llvm.org/D112925 ("[ELF] Better resemble GNU ld when placing orphan sections into memory regions")
-
Kai Luo authored
-
Craig Topper authored
Our pattern previously checked for the merge operand being undef.
-
Fangrui Song authored
-
Craig Topper authored
These either have an explicit policy operand or use TU policy.
-
Schrodinger ZHU Yifan authored
-
gulfemsavrun authored
Reverts llvm/llvm-project#92843 because it broke some lldb tests: https://luci-milo.appspot.com/ui/p/fuchsia/builders/toolchain.ci/clang-linux-x64/b8746385730949743489/overview
-
Schrodinger ZHU Yifan authored
-
Tyler Lanphear authored
- Prevent null dereference: if the Mask given to `ShuffleInstructionBuilder::adjustExtracts()` is empty or all-poison, then `VecBase` will be `nullptr` and the call to `castToScalarTyElem(VecBase)` will dereference it. Add an assert to guard against this. - Prevent use of uninitialized scalar: in the unlikely event that `CandidateVFs` is empty, then `AnyProfitableGraph` will be uninitialized in `if` condition following the loop. (This seems like a false-positive, but I submitted this change anyways as initializing bools costs nothing and is generally good practice)
-
Nuri Amari authored
The -all_load flag is intended to force the linker to load all lazy members, but doesn't do so if the archive is specified with --start-lib, --end-lib flags. The `-all_load` flag is global, that is it can be placed anywhere in the linker invocation, and it affects the load behavior of all conventional archives listed. Unlike ELF's --whole-archive, the user need not necessarily have access to the entire linker invocation to reasonably make use of the flag. The user can supply `-all_load` to a build system without inspecting the rest of the linker invocation. To make the behavior of `--start-lib` style archives consistent with regular archives, this patch makes it so that -all_load also applies in this case.
-
Sterling-Augustine authored
Protect against nullptr after #93926
-
Fangrui Song authored
bolt/test/lit.local.cfg wants to use the system GCC installation but it specifies a wrong triple ("linux" instead of "linux-gnu") and relies on clangDriver's loose GCC installation detection to pick up "*-linux-gnu". This loose behavior may not work. Use "linux-gnu" instead. Note: neither "linux" nor "linux-gnu" detects "linux-musl" triples, so these tests currently fail on musl based systems. Other files changes are cosmetic. -
Michael Liao authored
- Fix check after cab81dd0
-
Kazu Hirata authored
-
Kazu Hirata authored
This patch introduces memprof::LinearFrameId, which is a frame version of memprof::LinearCallStackId.
-
Sayhaan Siddiqui authored
Remove double escape characters before a RUN in a test.
-
Sayhaan Siddiqui authored
Remove double escape characters before a RUN in a test.
-
Sayhaan Siddiqui authored
Adds DWARF4 and DWARF5 tests with multiple CUs.
-
Sayhaan Siddiqui authored
Added double escape characters to lines that describe a test.
-
royitaqi authored
# Changes 1. Changes to the structured transcript. 1. Add fields `commandName` and `commandArguments`. They will hold the name and the arguments string of the expanded/executed command (e.g. `breakpoint set` and `-f main.cpp -l 4`). This is not to be confused with the `command` field, which holds the user input (e.g. `br s -f main.cpp -l 4`). 2. Add field `timestampInEpochSeconds`. It will hold the timestamp when the command is executed. 3. Rename field `seconds` to `durationInSeconds`, to improve readability, especially since `timestampInEpochSeconds` is added. 2. When transcript is available and the newly added option `--transcript` is present, add the transcript to the output of `statistics dump`, as a JSON array under a new field `transcript`. 3. A few test name and comment changes.
-
Kazu Hirata authored
This patch replaces uint32_t with LinearCallStackId where appropriate. I'm replacing uint64_t with LinearCallStackId in writeMemProfCallStackArray, but that's OK because it's a value to be used as LinearCallStackId anyway.
-
Thurston Dang authored
https://github.com/llvm/llvm-project/commit/0e96eebc7f681a7ce41f35909e609c7c61a11455 accidentally turned the prior patch (https://github.com/llvm/llvm-project/commit/57a507930b50c445140feb68bffe1c21af53319e) into a no-op because this macro is always defined (as either 1 or 0). This patch changes it to correctly use #if.
-
Ahmed Bougacha authored
This adds codegen support for the "ptrauth" operand bundles, which can be used to augment indirect calls with the equivalent of an `@llvm.ptrauth.auth` intrinsic call on the call target (possibly preceded by an `@llvm.ptrauth.blend` on the auth discriminator if applicable.) This allows the generation of combined authenticating calls on AArch64 (in the BLRA* PAuth instructions), while avoiding the raw just-authenticated function pointer from being exposed to attackers. This is done by threading a PtrAuthInfo descriptor through the call lowering infrastructure, eventually selecting a BLRA pseudo. The pseudo encapsulates the safe discriminator computation, which together with the real BLRA* call get emitted in late pseudo expansion in AsmPrinter. Note that this also applies to the other forms of indirect calls, notably invokes, rvmarker, and tail calls. Tail-calls in particular bring some additional complexity, with the intersecting register constraints of BTI and PAC discriminator computation. However this doesn't currently support PAuth_LR tail-call variants. This also adopts an x8+ allocation order for GPR64noip, matching GPR64.
-
Dave Lee authored
Follow up to #93881. Updates missed tests and handles `_Dmain`.
-
Han-Chung Wang authored
According to LLVM style guide, we prefer putting the documentation comments for public APIs into the header file. See https://llvm.org/docs/CodingStandards.html#doxygen-use-in-documentation-comments for more details.
-
Ahmed Bougacha authored
This is the current key assignment defined by the arm64e architecture on Darwin platforms, and also matches the intended key assignments in the initial ELF adopters. This can be made more generic if needed, by e.g., defining these in the preprocessor instead.
-
Egor Pasko authored
Move EntryExitInstrumenter(PostInlining=true) to as late as possible and EntryExitInstrumenter(PostInlining=false) to an early pre-inlining stage (but skip for ThinLTO post-link). This should fix the issues reported in https://github.com/rust-lang/rust/issues/92109 and https://github.com/llvm/llvm-project/issues/52853. These are caused by https://reviews.llvm.org/D97608.
-
erichkeane authored
I apparently missed a few other clauses as well when doing my initial implementation, so this adds tests for all, and fixes up the few that had problems. This is something that I'll do better to keep an eye on, though shouldn't be necessary once the rest of the clauses are implemented and we can remove the 'default' case.
-
Joseph Huber authored
Summary: Currently we just print the error as seen, this makes it difficult if something goes wrong to know where it failed. This patch just adds in line numbers to all the error handling routines so you can trace it back.
-
Stanislav Mekhanoshin authored
Currently it is only supported for FLAT Global.
-
Adam Paszke authored
-
Craig Topper authored
The C intrinsics should allow a value to be specified for the upper elements. This used to work before https://reviews.llvm.org/D146752 which should have only changed the behavior for the autovectorizer. It clearly changed all reductions.
-
Kazu Hirata authored
The function has been deprecated since: commit f9306f6d Author: Kazu Hirata <kazu@google.com> Date: Tue Oct 24 23:03:13 2023 -0700
-
Jeremy Kun authored
Rebased over https://github.com/llvm/llvm-project/pull/93243 Co-authored-by:
Jeremy Kun <j2kun@users.noreply.github.com>
-
Paul Kirth authored
Currently, with PIC relocatable links, FatLTO sections are treated as orphan sections and incorrectly concatenated together. This test verifies the current behavior, but should be fixed to either merge those sections into a single llvm module, similar to what `llvm-link` would produce, or to drop them altogether.
-
shaw young authored
Removed mutability from BB::LayoutIndex, subsequently removed const from BB::SetLayout, and changed BF::dfs to track visited blocks with a set as opposed to tracking and altering LayoutIndexes for more consistent code.
-