- Dec 01, 2023
-
-
Maksim Panchenko authored
Fix off-by-one error in comment.
-
Valentin Clement (バレンタイン クレメン) authored
Early return is accepted in OpenACC loop not directly nested in a compute construct. Since acc.loop operation has a region, the `func.return` operation cannot be directly used inside the region. An early return is materialized by an `acc.yield` operation returning a `true` value. The standard end of the `acc.loop` region yield a `false` value in this case. A conditional branch operation on the `acc.loop` result will branch to the `finalBlock` or just to the continue block whether an early exit was produce in the acc.loop.
-
Aart Bik authored
Fixes a bug that appended values after insertion completed. Also slight optimization by avoiding all-Dense computation for every lexInsert call
-
Johannes Doerfert authored
-
Stephan T. Lavavej authored
Found while running libc++'s test suite with MSVC's STL. `ADDITIONAL_COMPILE_FLAGS` is a `ParserKind.LIST`: https://github.com/llvm/llvm-project/blob/3c23ed156f0151923b168bdff0c34ec73fb37f38/libcxx/utils/libcxx/test/format.py#L104-L108 With a comma-separated example: https://github.com/llvm/llvm-project/blob/3c23ed156f0151923b168bdff0c34ec73fb37f38/libcxx/utils/libcxx/test/format.py#L223-L228 And comma-separated test coverage: https://github.com/llvm/llvm-project/blob/dd3184c30ff531b8aecea280e65233337dd02815/libcxx/test/libcxx/selftest/additional_compile_flags/substitutes-in-run.sh.cpp#L12-L15 Because the machinery splits on commas: https://github.com/llvm/llvm-project/blob/dd09221a29506031415cad8a1308998358633d48/llvm/utils/lit/lit/TestRunner.py#L1882-L1883 https://github.com/llvm/llvm-project/blob/dd09221a29506031415cad8a1308998358633d48/llvm/utils/lit/lit/TestRunner.py#L1951-L1956 However, most (although not all) usage of `ADDITIONAL_COMPILE_FLAGS` is treating it as space-separated. That apparently works in the normal Clang environment, but in my exotic configuration it causes `"-DMEOW -DWOOF"` to be passed as a single argument to MSVC, which then emits "warning C5102: ignoring invalid command-line macro definition `'_LIBCPP_DISABLE_DEPRECATION_WARNINGS -D_LIBCPP_ENABLE_CXX26_REMOVED_CODECVT'`", causing test failures due to warnings-as-errors. This PR changes `ADDITIONAL_COMPILE_FLAGS` to actually be parsed as a space-separated list, and changes the few uses/examples that had commas.
-
Joseph Huber authored
Summary: Currently, the `libomp.so` and `libomptarget.so` are emitted in the `./lib` build directory generally. This logic is internal to the `add_llvm_library` function we use to build `libomptarget`. The DeviceRTl static library however is in the middle of the OpenMP runtime build, which can vary depending on if this is a runtimes or projects build. This patch changes this to install the DeviceRTL static library alongside the other OpenMP libraries so they are easier to find.
-
Johannes Doerfert authored
-
Jeffrey Byrnes authored
Using the known/unknown value of the sign bit, reason about the signedness version of the dot4 instruction.
-
Teresa Johnson authored
Removes some unnecessary testing of dump and dot file formats, to simplify updates to this test.
-
Joseph Huber authored
Summary: Previously, we determined that coarse grained memory cannot be used in the general case. That removed the buffer used to transfer the memory, however we still had this lookup. Though we do not access the symbol directly, it still conflicts with the agents apparently. Pin this as well. This resolves the problems @lntue was having with the `libc` GPU build.
-
Peter Klausler authored
…ion result) A function can't return a statement function, so an apparent attempt to define a statement function with the same name as the function's result must be a misparsed assignment statement.
-
Peter Klausler authored
When a reference to a function-like macro begins during the rescanning of the expansion of another macro but is not completed by the end of that expansion, it is necessary to abort that rescanning of that expansion and try again when more tokens can be acquired. (See the new unclosed-FLM.F90 test case.) All other Fortran preprocessors to which I have access can handle this situation.
-
Valentin Clement (バレンタイン クレメン) authored
Some clauses can be repeated on the compute construct when they are placed after `device_type`. The semantic check was reporting an error for these cases. This patch fixes this.
-
Shilei Tian authored
This reverts commit 97e16da4 because it causes build error on i386 system.
-
Peter Klausler authored
…n actual argument is contiguous When an element of a contiguous pointer array or assumed-shape array is associated as an actual argument with an assumed-size dummy array, don't flag the usage as an error.
-
Peter Klausler authored
Array element references are frequently parsed as function references due to the ambiguous syntax of Fortran, and the parse tree is repaired by semantics once the relevant symbol table entries are in hand. This patch fixes a case in which the correction takes a path that leaves the type of a symbol undetermined, leading to later spurious errors in expression analysis. Fixes https://github.com/llvm/llvm-project/issues/68652.
-
Peter Klausler authored
…ortran_binding.h ... and into the ISO_Fortran_binding_wrapper.h header, through which the compiler and runtime access its contents. This change ensures that user code that #includes ISO_Fortran_binding.h within 'extern "C" {' doesn't encounter mysterious namespace errors. -
Peter Klausler authored
As already documented in flang/docs/Extensions.md and implemented in the compilation-time format validator, we want to support at execution time the Intel (and presumably also Fujitsu) extension of allowing a missing width on an edit descriptor in a formatted I/O statement. Fixes https://github.com/llvm/llvm-project/issues/72597.
-
Michael Spencer authored
The working directory is included in the PCM, but is not currently part of the context hash. This causes problems because different builds of a PCM with exactly the same command line can end up with different binary content for a PCM. If a build system tracks tasks by both working directory and command line, it may build a given PCM multiple times, causing a "module file out of date" error when loading the PCM due to different sizes.
-
LLVM GN Syncbot authored
-
Nick Desaulniers authored
A typo was leading to getc_unlocked.cpp.o being included into libc.a twice. I only noticed because I was trying to convert libc.a to a shared object via $ ld.lld -o libc.so --whole-archive libc.a which errored since getc_unlocked was being defined twice.
-
Peter Klausler authored
A subtle bug in buffer management is being caused by a WRITE on an unformatted file with variable-length records after one or more BACKSPACEs and some READs. An attempt at a minor optimization in BACKSPACE kept the footer of the previous record in the unit's buffer, in case more BACKSPACEs were to follow. If a later WRITE takes place instead, the buffer's frame would still cover that footer, but its content would be lost when the buffer became dirty on its first modification, and the footer in the file would be overwritten with stale buffer contents. As WriteFrame() implies the intent to define all the bytes in the identified range, the trick being used in BACKSPACE with its adjustment to frameOffsetInFile_ breaks any later WRITE... and so we just can't do it. Fixes https://github.com/llvm/llvm-project/issues/72599.
-
Eduard Zingerman authored
This reverts commit cb13e928. Buildbot reports MSAN failures in tests added in this commit: https://lab.llvm.org/buildbot/#/builders/5/builds/38806 Failing tests: LLVM :: CodeGen/BPF/preserve-static-offset/load-arr-pai.ll LLVM :: CodeGen/BPF/preserve-static-offset/load-ptr-pai.ll LLVM :: CodeGen/BPF/preserve-static-offset/load-struct-pai.ll LLVM :: CodeGen/BPF/preserve-static-offset/load-union-pai.ll LLVM :: CodeGen/BPF/preserve-static-offset/store-pai.ll
-
Peter Klausler authored
…arrays When comparing dummy array extents, cope with references to symbols better (including references to other dummy arguments), and emit warnings in dubious cases that are not equivalent but not provably incompatible.
-
Natalie Chouinard authored
These tests are currently failing and their fix is being tracked in Issue #60133. Marking them as XFAIL for now will get the test suite to a passing state so we can work on adding a GitHub action to automatically run these tests on a PR bot to help keep the tree green. Also removed the no-longer supported -opaque-pointers=0 flag from the couple tests where it was remaining.
-
John Harrison authored
Previously the type of the breakpoint id in the Stopped event was a uint64_t, however thats the wrong type for a breakpoint id, which can cause encoding issues when internal breakpoints are hit.
-
Youngsuk Kim authored
Opaque ptr cleanup effort (NFC).
-
Douglas Yung authored
This reverts commit 169db80e. This change is causing many test failures on Windows bots: - https://lab.llvm.org/buildbot/#/builders/235/builds/3616 - https://lab.llvm.org/buildbot/#/builders/233/builds/4883 - https://lab.llvm.org/buildbot/#/builders/216/builds/31174
-
Peter Klausler authored
The implementation of the predicate evaluate::IsVariable() needs to recognize procedure pointers and return a false result for them.
-
Mircea Trofin authored
If a suspend happens in the resume part (this can happen in the case of chained coroutines), and that's part of a loop, the pre-split CFG has the suspend block as an exit of that loop. PGO Counter Promotion will then try to commit the temporary counter to the global in that "exit" block (it also does that in the other loop exit BBs, which also includes the "destroy" case). This interferes with symmetric transfer. We don't need to commit the counter in the suspend case - it's not a loop exit from the perspective of the behavior of the program. The regular loop exit, together with the "destroy" case, completely cover any updates that may need to happen to the global counter.
-
Joseph Huber authored
Summary: This portion of code handles mapping the RPC client memory over to the device. HSA copies need to be between two slices of memory that HSA has allocated. Previously we used coarse-grained memory to act as the host source. However, the support for this varies depending on the kernel and version and should not be relied upon. This patch changes that handling to use the `hsa_amd_memory_lock` API to explicitly pin memory to a location sufficient for a DMA transfer to the GPU.
-
Peter Klausler authored
Move the code to check the arguments of references to the intrinsic function REDUCE() into Semantics/check-calls.cpp, and add checks for several requirements from the standard that weren't yet caught.
-
Fangrui Song authored
so that we get an `error: unsupported option '-nopie' for target ...` instead of a warning.
-
Jacob Lambert authored
-
Han-Chung Wang authored
The idea is similar to vector.maskedload + vector.store emulation. What the emulation does is: 1. Get a compressed mask and load the data from destination. 2. Bitcast the data to original vector type. 3. Select values between `op.valueToStore` and the data from load using original mask. 4. Bitcast the new value and store it to destination using compressed masked.
-
Emilia Kond authored
PR #69473 introduced skipping PP directives when determining the brace kind of an lbrace. However, it did so by skipping to the end of the line when encountering a hash character. This means it also skipped to the end of line when encountering a macro stringizing operator, which, unlike PP directives, don't have effect until the end of line. This led to cases where the rbrace could be completely skipped if it was on the same line as a stringizing operator. This patch skips hash characters if we're already in a PP directive, as you can't define a macro inside of a macro Fixes https://github.com/llvm/llvm-project/issues/72662
-
Peter Klausler authored
When applying ICHAR/IACHAR to a character constant with length greater than one, resize the character constant to its first character.
-
Schrodinger ZHU Yifan authored
Implement `mincore` as specified in https://man7.org/linux/man-pages/man2/mincore.2.html
-
Ivan R. Ivanov authored
Co-authored-by:Ivan Radanov Ivanov <ivanov2@llnl.gov>
-
Youngsuk Kim authored
Clean-up towards removing method Type::getPointerTo.
-