- Jan 25, 2024
-
-
Stanislav Mekhanoshin authored
-
Micah Weston authored
Turns out the problem with https://github.com/llvm/llvm-project/issues/60013 is due to the fact that order of operation is unspecified in C++: https://en.cppreference.com/w/cpp/language/eval_order. A small example of where this manifests with MSVC can be seen here https://ooo.godbolt.org/z/bxqKeqzqn. This patch does the following: * Removes the addition operations where we sequence more than one side-effect based expression. * Removes test guards to now run on Windows
-
lntue authored
-
arthurqiu authored
This is to fix the bug reported in https://discourse.llvm.org/t/whats-the-recommended-way-to-use-prop-dict/75921 When `prop-dict` is used in the assembly format, `attr-dict` should print discardable attributes only. Co-authored-by:
Arthurq Qiu <arthurq@nvidia.com>
-
Alexey Bataev authored
weak ordering. Try to make PHICompare to meat strict weak ordering criteria.
-
erichkeane authored
async just takes an integral value, but it has a little bit of special rules in sema, so it is implemented slightly differently than int-expr. This patch implements async parsing.
-
lntue authored
-
Jay Foad authored
-
Michael Maitland authored
…ctor CC.
-
Alexander Kornienko authored
This reverts commit 92470131. Causes compilation errors on valid code, see https://github.com/llvm/llvm-project/pull/77768#issuecomment-1908062472.
-
Tom Stellard authored
This reverts commit aaa93ce7. This commit was not properly reviewed.
-
Fangrui Song authored
-
Schrodinger ZHU Yifan authored
It is not fix-sized anymore.
-
Schrodinger ZHU Yifan authored
``` AppProperties app; ``` is marked as a weak symbol in header now. One can just use `&app != nullptr` to check if `app` is defined. There is no need to define it for overlay mode.
-
Peiming Liu authored
-
erichkeane authored
Fixes a regression from #78041 as reported in the review. The original patch failed to compare the canonical type, which this adds. A slightly modified test of the original report is added.
-
Craig Topper authored
RISC-V is mentioned elsewhere in the document it seems like it should be mentioned in the introduction.
-
Eric authored
Unconditionally change std::string's alignment to 8. This change saves memory by providing the allocator more freedom to allocate the most efficient size class by dropping the alignment requirements for std::string's pointer from 16 to 8. This changes the output of std::string::max_size, which makes it ABI breaking. That said, the discussion concluded that we don't care about this ABI break. and would like this change enabled universally. The ABI break isn't one of layout or "class size", but rather the value of "max_size()" changes, which in turn changes whether `std::bad_alloc` or `std::length_error` is thrown for large allocations. This change is the child of PR #68807, which enabled the change behind an ABI flag.
-
Joseph Huber authored
Summary: The offloading wrapper is a object file that contains code necessary to register offloading entries for the given runtime. Currently, we expected only one of these to be present when we make the final executable. However, in the case of redistributable linking with `-r` we can end up with multiple of these being generated before finally creating the executable. This patch simply changes the defintiions of these globals to be mergable. This allows multiples of these to participate in a single link job. For ELF, we just make the dummy variable internal and used so it sets up the section as expected. For COFF we make the entries weak_odr so they merge to a single symbol
-
Joseph Huber authored
Summary: A relocatable link through `clang -r` can go through the clang-linker-wrapper if offloading is enabled. This will have the effect of linking the device code and creating the wrapper module. It will then be merged into the final file. This is useful behavior on its own, but is likely not what is expected for a `-r` job. This patch makes the linker wrapper ignore the device code when doing a reloctable link. This has the effect of the linker merging the `.llvm.offloading` sections in the output object. These will then be parsed as normal when the executable is finally created. Even though this doesn't actually perform a reloctable link on the device code itself, it has a similar effect of combining multiple files into a single one.
-
Peiming Liu authored
[mlir][sparse] setup `SparseIterator` to help generating code to traverse a sparse tensor level. (#78345)
-
Alexey Bataev authored
before erasing. Before trying to erase the extractelement instruction, not enough to check for single use, need to check that it is not used in several nodes because of the preliminary nodes reordering.
-
Andy Kaylor authored
The implementation of raw_string_ostream::write_impl() was moved to raw_socket_stream.cpp when the raw_socket_ostream support was separated. This patch moves it back to facilitate disabling socket support in downstream projects.
-
Jonas Paulsson authored
Machines with vector support handle i128 in vector registers and therefore only have the small displacement available for memory accesses. Update isLegalAddressingMode() to reflect this.
-
Schrodinger ZHU Yifan authored
The faults on invalid vec range in mincore seems to be handled differently by the OS (it is an erroneous edge case after all). Remove the tests for now.
-
Reid Kleckner authored
-
Nico Weber authored
-
Wei Wang authored
When creating a new UsingType, the underlying type may change if it is a declaration. This creates an inconsistency between the type searched and type created. Update member and non-member Profile functions so that they return the same ID.
-
Mircea Trofin authored
Akin the `py_binary` rules for `lit`, these are scoped to binaries, rather than exposing the library - binary split. The latter is available to the package (pip package) users. Tested: ``` cd utils/bazel bazel build @llvm-project//llvm:extract_ir bazel-bin/external/llvm-project/llvm/extract_ir --help ``` ...and observed expected output (rather than import not found errors) (Same for the other 2 targets).
-
Nico Weber authored
-
Nico Weber authored
This reverts commit be08be5d. The build error was due to a different change, apologies!
-
Michael Maitland authored
b1ae461a renamed Cycle -> ReleaseAtCycle. 7e09239e was committed without rebasing but used the old Cycle syntax. This caused a build failure when 7e09239e was squash-and-merged. This patch fixes this problem.
-
Nico Weber authored
This reverts commit 32f79226. Doesn't build, see https://github.com/llvm/llvm-project/pull/79205#issuecomment-1908730527
-
Schrodinger ZHU Yifan authored
-
Michael Maitland authored
TargetSchedule.td explicitly allows the usage of a ProcResource for zero cycles, in order to represent that the ProcResource must be available but is not consumed by the instruction. On the other hand, ResourceSegments explicitly does not allow for a zero sized interval. In order to remedy this, this patch handles the special case of when there is an empty interval usage of a resource by not adding an empty interval. We ran into this issue downstream, but it makes sense to have this upstream since it is explicitly allowed by TargetSchedule.td.
-
William Moses authored
In Bazel, Clang current separates the clang executable into a clang-driver library, and the actual clang executable. This allows downstream users to make their own variations of clang, without having to redo/maintain separate build pipelines. This adds the same for opt for both CMake and Bazel.
-
lntue authored
[libc][NFC] Fix `-DSHOW_INTERMEDIATE_OBJECTS=DEPS` to work properly for entry points and unit tests. (#79254)
-
Nikolas Klauser authored