- Jun 01, 2024
-
-
Daniel Thornburgh authored
If built statically, `libedit` may have a private static library dependency on a provider of the `terminfo` API (e.g., `ncurses`). This means that multiple libraries would need to be provided as the value for `LibEdit_LIBRARIES`, but the current implementation of `FindLibEdit` precludes this. This PR allows a list to be passed to `LibEdit_LIBRARIES`.
-
Joseph Huber authored
Summary: The logic since the next-gen plugins was added was that every single agent would get access to a memory pool we allocated. This is necessary for things like fine-grained memory and to faciliate d2d copied. However, there are cases where an agent cannot legally access a memory pool. We have a debug check for this, but it would always be triggered in these situations because both uses of the function simply passed every agent. This patch changes the behavior by only enabling memory pool access for agents that can access the memory pool.
-
Valentin Clement authored
-
Dave Lee authored
Reduce false positive identification of C names as Dlang mangled names. This happens when a C function uses the prefix `_D`. The [Dlang ABI](https://dlang.org/spec/abi.html#name_mangling) shows that mangled names have a length immediately following the `_D` prefix. This change checks for a digit after the `_D` prefix, when identifying the mangling scheme of a symbol. This doesn't prevent false positives entirely, but does make it less likely.
-
Fangrui Song authored
The `FA < FB` check added by https://reviews.llvm.org/D153096 is slow. Compute an informal layout order to speed up computation when `AttemptToFoldSymbolOffsetDifference` is repeatedly called for the same section. Commit 9500a5d0 ("[MC] Make UseAssemblerInfoForParsing mostly true") exposed this performance pitfall, which was mitigated by `setUseAssemblerInfoForParsing(false)` workarounds (e.g. commit 245491a9). The workaround can be removed now.
-
Paul T Robinson authored
…g run" (#93988)" This reverts commit 64169580. Fix bots by using different options.
-
Erick Velez authored
Require a template argument list after an identifier prefixed by the template keyword. Introduced by [CWG 96](https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#96), but the current wording of [[temp.names]p5](https://eel.is/c++draft/temp.names#6) was introduced in [P1787R6](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1787r6.html ), and became [temp.names]p6 somewhere else. Fixes #53095 --------- Co-authored-by:
Shafik Yaghmour <shafik.yaghmour@intel.com>
-
Luke Lau authored
-
Aaron Ballman authored
That's on the CMPLX macros which Clang supports via __builtin_complex.
-
Valentin Clement (バレンタイン クレメン) authored
Prepare the argument and map them to their corresponding dummy symbol in order to lower the specification expression of the function result. Extract the preparation of arguments according to the interface to its own function to be reused. It seems there is no need to conditionally compute the length on the input since all the information comes from the CharBoxValue or the descriptor for cases where the number of element could be 0.
-
Valentin Clement (バレンタイン クレメン) authored
The BIND(C) attribute attached to a function can be lost when we do indirect call. This information might be useful for codegen that have specific ABI. This patch carry over the BIND(C) information to the fir.call operation.
-
Keith Smiley authored
-
jimingham authored
But one made in a situation where that's impossible might only have an error, and no symbol context, so that's not necessarily true. Check for the target's validity before using it. Fixes issue #93313
-
Keith Smiley authored
I missed this since it was still broken because of another patch https://github.com/llvm/llvm-project/pull/93996
-
Keith Smiley authored
-
Kazu Hirata authored
This patch switches to uint32_t for linear call stack IDs as uint32_t is sufficient to index into the call stack array.
-
David Stone authored
-
Nico Weber authored
-
RoseZhang03 authored
- In /libc/src/__support/ OSUtil, changed quick_exit to just exit, and put in namespace LIBC_NAMESPACE::internal. - In /libc/src/stdlib added quick_exit - Added test files for quick_exit
-
Paul T Robinson authored
Reverts llvm/llvm-project#93960 The change to offloading-interoperability.c broke many bots.
-
Paul T Robinson authored
-
Konstantin Zhuravlyov authored
-
Nikita Popov authored
This test currently has an explicit regex for characters that are supposedly valid inside a directory name -- however, it does not actually cover all necessary characters. For example, this test fails if the path contains a tilde. Instead, replace this with a wildcard.
-
Fangrui Song authored
Some linker scripts don't converge. https://reviews.llvm.org/D66279 ("[ELF] Make LinkerScript::assignAddresses iterative") detected convergence of symbol assignments. This patch detects convergence of output section addresses. While input sections might also have convergence issues, they are less common as expressions that could cause convergence issues typically involve output sections and symbol assignments. GNU ld has an error `non constant or forward reference address expression for section` that correctly rejects ``` SECTIONS { .text ADDR(.data)+0x1000 : { *(.text) } .data : { *(.data) } } ``` but not the following variant: ``` SECTIONS { .text foo : { *(.text) } .data : { *(.data) } foo = ADDR(.data)+0x1000; } ``` Our approach consistently rejects both cases. Link: https://discourse.llvm.org/t/lld-and-layout-convergence/79232 Pull Request: https://github.com/llvm/llvm-project/pull/93888
-
- May 31, 2024
-
-
Victor Perez authored
Define pass for GPU to LLVM conversion for SPIR-V backend tool ingest. Supported operations: - `gpu.block_id` - `gpu.global_id` - `gpu.block_dim` - `gpu.thread_id` - `gpu.grid_dim` - `gpu.barrier` - `gpu.shuffle` --------- Signed-off-by:Victor Perez <victor.perez@codeplay.com>
-
erichkeane authored
Seemingly I forgot to implement the appertainment checks when doing the original device_type implementation, so we fell through to the 'not implemented' section of the diagnostics. This patch corrects the appertainment, so that we disallow it correctly.
-
Ivan Kosarev authored
Removes ~100K instances of SIAssemblerPredicate and VIAssemblerPredicate fields from instruction records.
-
Vladislav Dzhidzhoev authored
This argument allows to set specific sysroot pass which will be used for building LLDB API test programs. It might come in handy for setting up cross-platform remote runs of API tests on Windows host. It can be useful for cross-compiling LLDB API tests. The argument can be set using `LLDB_TEST_USER_ARGS` argument: ``` cmake ... -DLLDB_TEST_USER_ARGS="...;--sysroot;C:\path\to\sysroot;..." ... ```
-
Valentin Clement (バレンタイン クレメン) authored
In some cases where we have an `hlfir.no_reassoc` operation, the bufferization pass could not earse the hlfir.destroy op during the `hlfir.associate` op conversion as show in the example below. ``` func.func @double_free(%arg0: !fir.boxchar<1>) { %c5 = arith.constant 5 : index %true = arith.constant true %0 = hlfir.as_expr %arg0 move %true : (!fir.boxchar<1>, i1) -> !hlfir.expr<!fir.char<1,?>> %1 = hlfir.no_reassoc %0 : !hlfir.expr<!fir.char<1,?>> %2:3 = hlfir.associate %1 typeparams %c5 {adapt.valuebyref} : (!hlfir.expr<!fir.char<1,?>>, index) -> (!fir.boxchar<1>, !fir.ref<!fir.char<1,?>>, i1) fir.call @noop(%2#0) : (!fir.boxchar<1>) -> () hlfir.end_associate %2#1, %2#2 : !fir.ref<!fir.char<1,?>>, i1 hlfir.destroy %0 : !hlfir.expr<!fir.char<1,?>> return } func.func private @noop(!fir.boxchar<1>) ``` The bufferization pass is looking at uses of its source `%1` that is the result of an `hlfir.no_reassoc` operation. In order to avoid double free generation, also look at the indirection in presence of `hlfir.no_reassoc`. -
Vladislav Dzhidzhoev authored
1. Use dashes (-) instead of colons (:) as time separator in a session log file name since Windows doesn't support saving files with names containing colons. 2. Temporary file creation code is changed in the test: On Windows, the temporary file should be closed before 'session save' writes session log to it. NamedTemporaryFile() can preserve the file after closing it with delete_on_close=False option. However, this option is only available since Python 3.12. Thus mkstemp() is used for temporary file creation as the more compatible option.
-
Luke Lau authored
-
Kirill Podoprigora authored
-
Craig Topper authored
We can use multiple vnclips to saturate an i32 value into an i8 value.
-
David Truby authored
The exec.f90 test sets an environment variable for a specific command directly rather than using env, which doesn't work on shells that don't support this syntax, most notably the LIT integrated shell. This patch simply adds env so that this works on the integrated shell.
-
Simon Pilgrim authored
[X86] LowerVSELECT - split v16i16/v32i8 pre-AVX2 VSELECT ops if enough of the operands are free to split. Often on AVX1 we're better off consistently using 128-bit instructions, so recognise when the operands are loads that can be freely/cheaply split - ideally this functionality needs to be moved to isFreeToSplitVector but we're using it in a few places where we don't want to split loads yet. Based off a regression reported after #92794
-
Florian Hahn authored
Now that the VPlan for the main vector loop gets cloned in the epilogue vectorization code path, there optimizeForVFAndUF can be applied unconditionally.
-
Nikita Popov authored
-
Simon Pilgrim authored
-
Elvina Yakubova authored
-
Nikita Popov authored
These constant expressions no longer exist, so don't handle them.
-