- Mar 28, 2024
-
-
Vitaly Buka authored
Created using spr 1.3.4
-
Vitaly Buka authored
Created using spr 1.3.4 [skip ci]
-
Vitaly Buka authored
This will be used by #86775
-
Vitaly Buka authored
HWASAN does not behave as expected yet. Reviewers: fmayer, thurstond Reviewed By: fmayer, thurstond Pull Request: https://github.com/llvm/llvm-project/pull/86771
-
Justin Fargnoli authored
Reorder the template operands of `declarePromisedInterface()` to match `declarePromisedInterfaces()`.
-
Simon Pilgrim authored
-
Simon Pilgrim authored
[X86] combineExtractFromVectorLoad support extraction from vector of different types to the extraction type/index combineExtractFromVectorLoad no longer uses the vector we're extracting from to determine the pointer offset calculation, allowing us to extract from types that have been bitcast to work with specific target shuffles. Fixes #85419
-
Fangrui Song authored
Current Bionic processes relocations in this order: * DT_ANDROID_REL[A] * DT_RELR * DT_REL[A] * DT_JMPREL If an IRELATIVE relocation is in DT_ANDROID_REL[A], it would read unrelocated (incorrect) global variables associated with RELR when --pack-dyn-relocs=android+relr is enabled. Work around this by placing IRELATIVE in .rel[a].plt (DT_JMPREL). Link: https://r.android.com/3014185
-
Craig Topper authored
[LegalizeDAG] Merge PerformInsertVectorEltInMemory into ExpandInsertToVectorThroughStack. NFC (#86755) These functions are very similar. We can share them like we do for EXTRACT_VECTOR_ELT and EXTRACT_SUBVECTOR.
-
Krzysztof Parzyszek authored
Reserve `makeList` to create a list given an explicit converter function.
-
Simon Pilgrim authored
-
Keith Smiley authored
Bazel links this library by default which leads to this linker warning on macOS: ``` ld: warning: ignoring duplicate libraries: '-lm' ```
-
Cyndy Ishida authored
Umbrella headers are a concept for Darwin-based libraries. They allow framework authors to control the order in which their headers should be parsed and allow clients to access available headers by including a single header. InstallAPI will attempt to find the umbrella based on the name of the framework. Users can also specify this explicitly by using command line options specifying the umbrella header by file path. There can be an umbrella header per access level.
-
AtariDreams authored
This removes the r7 exception because otherwise, LiveRegUnits will try to use that register.
-
Simon Pilgrim authored
Help identify EXPENSIVE_CHECKS regressions identified in #84114
-
Simon Pilgrim authored
-
Jason Molenda authored
In commit 2f63718f Author: Jason Molenda <jmolenda@apple.com> Date: Tue Mar 26 09:07:15 2024 -0700 [lldb] Don't clear a Module's UnwindTable when adding a SymbolFile (#86603) I stopped clearing a Module's UnwindTable when we add a SymbolFile to avoid the memory management problems with adding a symbol file asynchronously while the UnwindTable is being accessed on another thread. This broke the target-symbols-add-unwind.test shell test on Linux which removes the DWARF debub_frame section from a binary, loads it, then loads the unstripped binary with the DWARF debug_frame section and checks that the UnwindPlans for a function include debug_frame. I originally decided that I was willing to sacrifice the possiblity of additional unwind sources from a symbol file because we rely on assembly emulation so heavily, they're rarely critical. But there are targets where we we don't have emluation and rely on things like DWARF debug_frame a lot more, so this probably wasn't a good choice. This patch adds a new UnwindTable::Update method which looks for any new sources of unwind information and adds it to the UnwindTable, and calls that after a new SymbolFile has been added to a Module. -
Marc Auberer authored
Fixes #86546 and removes the macro `LIBC_HAS_BUILTIN`. This was necessary to support older compilers that did not support `__has_builtin`. All of the compilers we support already have this builtin. See: https://libc.llvm.org/compiler_support.html All uses now use `__has_builtin` directly cc @nickdesaulniers
-
Simon Pilgrim authored
Revert rG58de1e2c "Fix stack layout for frames larger than 2gb (#84114)" This is failing on some EXPENSIVE_CHECKS buildbots
-
David Green authored
The vpr register may no longer be killed where it was, so we should be removing the kill flags.
-
- Mar 27, 2024
-
-
Nikolas Klauser authored
We've introduced `__constexpr_memmove` a while ago, which simplified the implementation of the copy and move lowering a bit. This allows us to remove some of the boilerplate.
-
Vitaly Buka authored
Created using spr 1.3.4
-
Vitaly Buka authored
Created using spr 1.3.4 [skip ci]
-
Yusra Syeda authored
This PR adds handling for TXT records in the GOFF reader. --------- Authored-by:Yusra Syeda <yusra.syeda@ibm.com>
-
Terry Wilmarth authored
The SHM or /tmp files that might be created during library registration don't need to have such open permissions, so this change fixes that.
-
Nick Desaulniers authored
Flush out the remaining UInt<128> support and add test coverage. We could have used cpp::popcount in the implementation of UInt::has_single_bit, but has_single_bit has a perhaps useful early return.
-
Brandon Wu authored
It is currently not possible to use "RVV type" and "RVV intrinsics" if the "zve32x" is not enabled globally. However in some cases we may want to use them only in some functions, for instance: ``` #include <riscv_vector.h> __attribute__((target("+zve32x"))) vint32m1_t rvv_add(vint32m1_t v1, vint32m1_t v2, size_t vl) { return __riscv_vadd(v1, v2, vl); } int other_add(int i1, int i2) { return i1 + i2; } ``` , it is supposed to be compilable even the vector is not specified, e.g. `clang -target riscv64 -march=rv64gc -S test.c`. -
Wesley Wiser authored
For very large stack frames, the offset from the stack pointer to a local can be more than 2^31 which overflows various `int` offsets in the frame lowering code. This patch updates the frame lowering code to calculate the offsets as 64-bit values and resolves the overflows, resulting in the correct codegen for very large frames. Fixes #48911
-
Brandon Wu authored
[RISCV] RISCV vector calling convention (1/2) This is the vector calling convention based on https://github.com/riscv-non-isa/riscv-elf-psabi-doc, the idea is to split between "scalar" callee-saved registers and "vector" callee-saved registers. "scalar" ones remain the original strategy, however, "vector" ones are handled together with RVV objects. The stack layout would be: |--------------------------| <-- FP | callee-allocated save | | area for register varargs| |--------------------------| | callee-saved registers | <-- scalar callee-saved | (scalar) | |--------------------------| | RVV alignment padding | |--------------------------| | callee-saved registers | <-- vector callee-saved | (vector) | |--------------------------| | RVV objects | |--------------------------| | padding before RVV | |--------------------------| | scalar local variables | |--------------------------| <-- BP | variable size objects | |--------------------------| <-- SP Note: This patch doesn't contain "tuple" type, e.g. vint32m1x2. It will be handled in https://github.com/riscv-non-isa/riscv-elf-psabi-doc (2/2). Differential Revision: https://reviews.llvm.org/D154576 -
Simon Pilgrim authored
[X86] combineExtractWithShuffle - use combineExtractFromVectorLoad to extract scalar load from shuffled vector load Improves #85419
-
Zequan Wu authored
The time spent on parsing `.debug_abbrev` is also part of debug info parsing time.
-
Haojian Wu authored
I found this issue (a separate one) during the investigation of #86757, the crash is similar in substituteParameterMappings, but at different inner places. This was an out-of-bound issue where we access front element in an empty written template argument list to get the instantiation source range. This patch fixes it by adding a proper guard.
-
Alexey Bataev authored
If the phi node is trunced, but not its operand(s), need to handle this situation in the assertion, code already does the right transformation.
-
Kevin P. Neal authored
The AMDGPUSimplifyLibCalls pass was lowering function calls with the strictfp attribute to sequences that included function calls incorrectly lacking the attribute. This patch corrects that. The pass now also emits the correct constrained fp call instead of normal FP instructions when in a function with the strictfp attribute. Replacing non-constrained calls with constrained calls when required is still on the IRBuilder's TODO list.
-
Felipe de Azevedo Piovezan authored
This was made unused by d9ec4b24.
-
zibi2 authored
On z/OS int128 is disabled causing one of the cases in `saturate_cast.pass.cpp` to fail. The failure is only in 64-bit mode. In this case `the std::numeric_limits<long long int>::max()` is within `std::numeric_limits<unsigned long int>::min()` and `std::numeric_limits<unsigned long int>::max()` therefore, saturate_cast<unsigned long int>( sBigMax) == LONG_MAX and not ULONG_MAX as original test. In 32-bit, `saturate_cast<unsigned long int>( sBigMax) == ULONG_MAX` like on other platforms where int128 is enabled. This PR is required to pass this test case on z/OS and possibly on other platforms where int128 is not supported/enabled. --------- Co-authored-by:Sean Perry <perry@ca.ibm.com>
-
Tom Stellard authored
I'm hoping this will fix the errors we've been seeing the last few days: 2024-03-19T20:44:07.4841482Z 2024/03/19 20:44:07 error signing scorecard json results: error signing payload: getting key from Fulcio: verifying SCT: updating local metadata and targets: error updating to TUF remote mirror: invalid key
-
LLVM GN Syncbot authored
-
Egor Zhdan authored
This upstreams the last bits of Clang API Notes functionality that is currently implemented in the Apple fork: https://github.com/apple/llvm-project/tree/next/clang/lib/APINotes
-
Justin Cady authored
Adjust logic of 1cb9f37a to match freebsd/freebsd-src@9a4d48a645a7a. D113443 is the original attempt to bring this FreeBSD patch to llvm-project, but it never landed. This change is required to build FreeBSD kernel modules with -fstack-protector using a standard LLVM toolchain. The FreeBSD kernel loader does not handle R_X86_64_REX_GOTPCRELX relocations. Fixes #50932.
-