- Nov 29, 2022
-
-
Joseph Huber authored
-
Joseph Huber authored
Summary: The linker wrapper uses this metadata to determine which registration code to emit, e.g. CUDA, HIP or OpenMP. If we encounter an OFK_None we should just ignore it.
-
Dmitry Preobrazhensky authored
Differential Revision: https://reviews.llvm.org/D137969
-
Michael Francis authored
On AIX, profiled system libraries are stored at `/lib/profiled` and `/usr/lib/profiled`. When compiling with `-pg`, we want to link against libraries in those directories. This PR modifies the AIX toolchain to add those directories to the linker search paths. Differential Review: https://reviews.llvm.org/D137375
-
Filipp Zhinkin authored
Use CHECK-DAG to check module names that printed in order depending on full file path. Related issue: https://github.com/llvm/llvm-project/issues/59248 Reviewed By: sgraenitz Differential Revision: https://reviews.llvm.org/D138913
-
Matt Arsenault authored
-
Viktoriia Bakalova authored
Implement support for begin_keep/end_keep pragmas. Differential Revision: https://reviews.llvm.org/D138797
-
Vlad Serebrennikov authored
A follow-up to D136133. It was mentioned in #58382 that there is a need to test for DRs that have not been officially resolved yet. This patch aims to replace original "hackery" with proper handling for such cases. Highlights: - Availability can be suffixed (further) with "open", "drafting", or "review", e.g. // dr2565: 16 open, // drXXXX: 16 c++17 drafting - Checks are implemented to ensure that this suffix corresponds to actual issue status - Non-resolved DRs are counted (stdout of make_cxx_dr_status) - No changes made to cxx_dr_status.html - 'c++20' availability suffix added - Remove 'concurrency' status since it's no longer on the list of statuses in CWG Active Issues Differential Revision: https://reviews.llvm.org/D138901
-
Alexey Bataev authored
When we sort entries for attempting to reorder scalars, need to use actual vectorization factor, not the number of scalars. Otherwise the compiler crashes, if the scalars has to be reordered. Differential Revision: https://reviews.llvm.org/D138819
-
chenglin.bi authored
!(X || Y) && X --> false https://alive2.llvm.org/ce/z/693Jgv Fix: [56654](https://github.com/llvm/llvm-project/issues/56654) Fix: [56780](https://github.com/llvm/llvm-project/issues/56780) Reviewed By: spatel Differential Revision: https://reviews.llvm.org/D138853
-
Dmitry Preobrazhensky authored
Differential Revision: https://reviews.llvm.org/D138494
-
Ivan Butygin authored
Relax linalg elementwise fusion check to allow mixed consumers. Producer is still required to be fully tensor to avoid potential memref aliasing. Differential Revision: https://reviews.llvm.org/D138759
-
Haojian Wu authored
-
chenglin.bi authored
(X || Y) ? false : X --> false https://alive2.llvm.org/ce/z/y93yUm Reviewed By: spatel Differential Revision: https://reviews.llvm.org/D138700
-
Ivan Butygin authored
Also, gen_spirv_dialect script was broken was broken due to SPV->SPIRV renamings. Differential Revision: https://reviews.llvm.org/D138756
-
Vlad Serebrennikov authored
A follow-up to D138852. Apparently cxx_dr_status.html was changed manually there, since make_cxx_dr_status script doesn't generate the same HTML after that patch landed. Differential Revision: https://reviews.llvm.org/D138895
-
Sven van Haastregt authored
This extension only adds builtin functions and thus doesn't need to be included as an extension. Instead of a pragma, the builtin functions of the extension can be exposed through enabling preprocessor defines.
-
Florian Hahn authored
This reverts commit 18244321. The change triggers an assertion when building clang on macOS: FAILED: tools/clang/include/clang/Tooling/Syntax/Nodes.inc cd /Users/florianhahn/projects/llvm-project/builds/release-with-assertions/ccache-stage1 && /Users/florianhahn/projects/llvm-project/builds/release-with-assertions/ccache-stage1/bin/clang-tblgen -gen-clang-syntax-node-list -I /Users/florianhahn/projects/llvm-project/clang/include/clang/Tooling/Syntax -I/Users/florianhahn/projects/llvm-project/clang/include -I/Users/florianhahn/projects/llvm-project/builds/release-with-assertions/ccache-stage1/tools/clang/include -I/Users/florianhahn/projects/llvm-project/builds/release-with-assertions/ccache-stage1/include -I/Users/florianhahn/projects/llvm-project/llvm/include /Users/florianhahn/projects/llvm-project/clang/include/clang/Tooling/Syntax/Nodes.td --write-if-changed -o tools/clang/include/clang/Tooling/Syntax/Nodes.inc -d tools/clang/include/clang/Tooling/Syntax/Nodes.inc.d Assertion failed: ((!RequiresNullTerminator || BufEnd[0] == 0) && "Buffer is not null terminated!"), function init, file MemoryBuffer.cpp, line 52. Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it): 0 clang-tblgen 0x000000010466b68c llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 56 1 clang-tblgen 0x000000010466a808 llvm::sys::RunSignalHandlers() + 64 2 clang-tblgen 0x000000010466bd60 SignalHandler(int) + 344 3 libsystem_platform.dylib 0x00000001877a92a4 _sigtramp + 56 4 libsystem_pthread.dylib 0x000000018777acec pthread_kill + 288 5 libsystem_c.dylib 0x00000001876b42c8 abort + 180 6 libsystem_c.dylib 0x00000001876b3620 err + 0 7 clang-tblgen 0x00000001046ce150 llvm::ErrorOr<std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>> getOpenFileImpl<llvm::MemoryBuffer>(int, llvm::Twine const&, unsigned long long, unsigned long long, long long, bool, bool, llvm::Optional<llvm::Align>) (.cold.1) + 0 8 clang-tblgen 0x000000010464a548 llvm::WritableMemoryBuffer::getNewUninitMemBuffer(unsigned long, llvm::Twine const&, llvm::Optional<llvm::Align>) + 496 9 clang-tblgen 0x000000010464a7a0 llvm::ErrorOr<std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>> getOpenFileImpl<llvm::MemoryBuffer>(int, llvm::Twine const&, unsigned long long, unsigned long long, long long, bool, bool, llvm::Optional<llvm::Align>) + 528 10 clang-tblgen 0x000000010464a254 llvm::ErrorOr<std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>> getFileAux<llvm::MemoryBuffer>(llvm::Twine const&, unsigned long long, unsigned long long, bool, bool, bool, llvm::Optional<llvm::Align>) + 176 11 clang-tblgen 0x000000010466fbbc llvm::TableGenMain(char const*, bool (*)(llvm::raw_ostream&, llvm::RecordKeeper&)) + 1428 12 clang-tblgen 0x0000000104626114 main + 156 13 dyld 0x0000000187453e50 start + 2544
-
Archibald Elliott authored
This change is focussed on simplifying `Support/Host.h` to only do target detection. In this case, this function is close in usage to existing functions in `Support/Threading.h`, so I moved it into there. The function is also renamed to `llvm::get_physical_cores()` to match the style of threading's functions. The big change here is that now if you have threading disabled, `llvm::get_physical_cores()` will return -1, as if it had not been able to work out the right info. This is due to how Threading.cpp includes OS-specific code/headers. This seems ok, as if threading is disabled, LLVM should not need to know the number of physical cores. Differential Revision: https://reviews.llvm.org/D137836
-
John Brawn authored
When generating __clang_call_terminate use SetLLVMFunctionAttributes to set the default function attributes, like we do for all the other functions generated by clang. This fixes a problem where target features from the command line weren't being applied to this function. Differential Revision: https://reviews.llvm.org/D138679
-
serge-sans-paille authored
This avoids repeated calls to strlen while we already know its value. When preprocessing sqlite3.c, this gives a surprising 2% speedup. Full benchmark available here: https://llvm-compile-time-tracker.com/compare.php?from=5279e6a7d677cdf4488883b77aacab911318100c&to=389601b0dbdf23cf25167ddfc49b3af5742ebd9a&stat=instructions:u Differential Revision: https://reviews.llvm.org/D138555
-
Roy Jacobson authored
-
Roy Jacobson authored
LWG3823 says that arrays of incomplete types are aggregates. Fix the clang builtin to match that. Closes https://github.com/llvm/llvm-project/issues/59002 Reviewed By: cjdb Differential Revision: https://reviews.llvm.org/D138603
-
Roy Jacobson authored
As noticed in GH58962, we should only diagnose illegal overloads of member functions when the ref qualifiers don't match if the trailing constraints are the same. The fix is to move the existing constraints check earlier in Sema::IsOverload. Closes https://github.com/llvm/llvm-project/issues/58962 Reviewed By: erichkeane Differential Revision: https://reviews.llvm.org/D138749
-
Jay Foad authored
Checking for : before @LINE avoids the unlikely possibility that the expected error line number happens to be a suffix of the actual one.
-
Simon Pilgrim authored
As discussed on Issue #59217, under certain circumstances the DAG can generate duplicate MUL and MUL_LOHI nodes, often during MULO legalization. This patch attempts to replace MUL nodes with additional uses of the LO result from the MUL_LOHI node Differential Revision: https://reviews.llvm.org/D138790
-
Hassnaa Hamdi authored
To generate code compatible to streaming mode: - enable custome lowering for TruncStore to avoid crashing during legalizing TruncStore for non Integer vector. Reviewed By: sdesmalen Differential Revision: https://reviews.llvm.org/D138720
-
Juan Manuel MARTINEZ CAAMAÑO authored
Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D138706
-
Jordan Rupprecht authored
The libc++ data formatter for `std::shared_ptr` allows any namespace, but the test asserts that it must be the default `__1` namespace. Relax the regex to allow anything that looks like `__.*` (although we use `__[^:]*` so we don't match arbitrarily long text). Reviewed By: labath Differential Revision: https://reviews.llvm.org/D129898
-
Bjorn Pettersson authored
Should cover most of the tests for GVN, GVNHoist, GVNSink, GlobalOpt, GlobalSplit, InstCombine, Reassociate, SROA and TailCallElim that had not been updated earlier.
-
Guillaume Chatelet authored
-
Hassnaa Hamdi authored
To generate code compatible to streaming mode: - enable custom-lowering ISD::CTLZ and ISD::CTPOP. - disable combining OR into BSL. - Testing files: - bit-counting.ll - bitselect.ll Reviewed By: david-arm, sdesmalen Differential Revision: https://reviews.llvm.org/D138682
-
Hassnaa Hamdi authored
Add testing files: - bit-counting.ll - bitselect.ll
-
Jordan Rupprecht authored
The layout is essentially just reversed from the stable std::string layout. Reviewed By: labath Differential Revision: https://reviews.llvm.org/D138850
-
Valentin Clement authored
Change how the binding tables are retrived. Use the newly lowered fir.dispatch_table operations instead of the fir.global type infos. Reviewed By: jeanPerier Differential Revision: https://reviews.llvm.org/D138903
-
Sam McCall authored
As strange as it seems to our files-are-strings view of the world, some editors that treat files as arrays of lines can get confused about whether the last line has a newline or not. The consequences of failing to handle a bad incremental update are catastrophic. If an update would be valid except for a missing newline at end of file, pretend one exists. This fixes problems still present in neovim where deleting all text often leads to a desync shortly afterwards: https://github.com/neovim/neovim/issues/17085 Differential Revision: https://reviews.llvm.org/D135508
-
Jordan Rupprecht authored
Some headers in LLDB work only when considered as textual inclusion, but not if one attempts to use them on their own or with a different context. - python-typemaps.h: uses Python definitions without using "Python.h". - RISCVCInstructions.h uses RISC-V register enums without including the enums header. - RISCVInstructions.h includes EmulateInstructionRISCV.h, but is unnecessary since we forward-declare EmulateInstructionRISCV anyway. Including the header is problematic because EmulateInstructionRISCV.h uses DecodeResult which isn't defined until later in RISCVInstructions.h. This makes LLDB build cleanly with the "parse_headers" feature [1]. I'm not sure what the analagous CMake option is. [1] I didn't find public documentation but @MaskRay wrote this up: https://maskray.me/blog/2022-09-25-layering-check-with-clang#parse_headers Reviewed By: labath, MaskRay Differential Revision: https://reviews.llvm.org/D138310
-
Tobias Gysi authored
The revision makes additional integer debug info parameters such as line or column numbers optional (e.g. the line and column numbers 0 are elided when printing, which is in line with the LLVM implementation). Depends on D138405 Reviewed By: rriddle Differential Revision: https://reviews.llvm.org/D138437
-
Thomas Symalla authored
-
Jens Massberg authored
The zero-as-null-pointer-constant check should not fire if it is inside a defaulted function, e.g. defaulted spaceship operators. Add C++20 tests with spaceship operators. Fixes #50221 Differential Revision: https://reviews.llvm.org/D138727
-