- Oct 08, 2021
-
-
Amara Emerson authored
This was using MachineFunction::createExternalSymbolName() before, which seems reasonable, but in fact this is freed before the asm emitter which tries to access the function name string. Switching it to use the string returned by the attribute seems to fix the problem.
-
Amara Emerson authored
In order to not generate an unnecessary G_CTLZ, I extended the constant folder in the CSEMIRBuilder to handle G_CTLZ. I also added some extra handing of vector constants too. It seems we don't have any support for doing constant folding of vector constants, so the tests show some other useless G_SUB instructions too. Differential Revision: https://reviews.llvm.org/D111036
-
Tobias Gysi authored
Add a loop interchange pass and integrate it with CodegenStrategy. This patch depends on https://reviews.llvm.org/D110728 and https://reviews.llvm.org/D110746. Reviewed By: nicolasvasilache Differential Revision: https://reviews.llvm.org/D110748
-
Jay Foad authored
The "coloring with register" functionality it refers to was removed ten years ago in svn r144481 "Remove the -color-ss-with-regs option".
-
Tobias Gysi authored
Add a generalization pass and integrate it with CodegenStrategy. This patch depends on https://reviews.llvm.org/D110728. Reviewed By: nicolasvasilache Differential Revision: https://reviews.llvm.org/D110746
-
Simon Moll authored
Make match patterns more permissive to be invariant to register allocation choices. Reviewed By: kaz7 Differential Revision: https://reviews.llvm.org/D111312
-
Vassil Vassilev authored
Original commit message: " Original commit message: " Original commit message:" The current infrastructure in lib/Interpreter has a tool, clang-repl, very similar to clang-interpreter which also allows incremental compilation. This patch moves clang-interpreter as a test case and drops it as conditionally built example as we already have clang-repl in place. Differential revision: https://reviews.llvm.org/D107049 " This patch also ignores ppc due to missing weak symbol for __gxx_personality_v0 which may be a feature request for the jit infrastructure. Also, adds a missing build system dependency to the orc jit. " Additionally, this patch defines a custom exception type and thus avoids the requirement to include header <exception>, making it easier to deploy across systems without standard location of the c++ headers. " This patch also works around PR49692 and finds a way to use llvm::consumeError in rtti mode. Differential revision: https://reviews.llvm.org/D107049 -
Jimmy Zhongduo Lin authored
-
Matthias Springer authored
The function now takes a Value instead of an OpOperand. Differential Revision: https://reviews.llvm.org/D111378
-
Matthias Springer authored
Differential Revision: https://reviews.llvm.org/D111377
-
Matthias Springer authored
Currently supported are: BufferRelation::None, BufferRelation::Equivalent. Differential Revision: https://reviews.llvm.org/D111376
-
Mehdi Amini authored
This reverts commit 7aebdfc4. The build is broken with errors like: GPUPasses.cpp:(.text.pybind11_object_init[pybind11_object_init]+0x118): undefined reference to `PyExc_TypeError'
-
Mike Urbach authored
After CMake 3.18, we are able to limit the scope of the find_package(Python3 ...) search to just Development.Module. Searching for Development will fail in manylinux builds, and isn't necessary since we are not embedding the Python interpreter. For more information, see: https://pybind11.readthedocs.io/en/stable/compiling.html#findpython-mode Reviewed By: stellaraccident Differential Revision: https://reviews.llvm.org/D111383
-
Mehdi Amini authored
These kind of function can behave differently on these X86 chips, there isn't really "one true answer" so we'll accept both. Also remove spurious passes and use mattr="avx" to match the instruction used here. Differential Revision: https://reviews.llvm.org/D111373
-
Arthur Eubanks authored
This reverts commit fdf4c035. Breaks macOS bots, e.g. https://crbug.com/1257863. Still figuring out if this is actually supported on macOS. Other places that include <cet.h> only do so on Linux.
-
Craig Topper authored
At this point it looks like a B extension will never exist. Instead Zba, Zbb, Zbc, and Zbs are individual extensions being ratified together as a package. Unknown at this time when or if the other Zb* extensions will be ratified. This patch removes references to the B extension. I've updated and split tests accordingly. This has been split from D110669 to make review a little easier. Differential Revision: https://reviews.llvm.org/D111338
-
Chen Zheng authored
-
Max Kazantsev authored
Added support for peeling loops with "deoptimizing" exits - such exits that it or any of its children (or any of their children, etc) either has a @llvm.experimental.deoptimize call prior to the terminating return instruction of this basic block or is terminated with unreachable. All blocks in the the sequence must have a single successor, maybe except for the last one. Previously we only checked the exit block for being deoptimizing. Now we check if the last reachable block from the exit is deoptimizing. Patch by Dmitry Makogon! Differential Revision: https://reviews.llvm.org/D110922 Reviewed By: mkazantsev
-
Chen Zheng authored
Reviewed By: jsji Differential Revision: https://reviews.llvm.org/D97184
-
Joseph Huber authored
This patch adds two flags to be supported for the new runtime. The flags are `-fopenmp-assume-threads-oversubscription` and -fopenmp-assume-teams-oversubscription`. These add global values that can be checked by the work sharing runtime functions to make better judgements about how to distribute work between the threads. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D111348
-
Shilei Tian authored
For NVPTX, `printf` can be used just with a function declaration. For AMDGCN, an function definition is added, but it simply returns. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D109728
-
Itay Bookstein authored
The shift libcalls have a shift amount parameter of MVT::i32, but sometimes ExpandIntRes_Shift may be called with a node whose second operand is a type that is larger than that. This leads to an ABI mismatch, and for example causes a spurious zeroing of a register in RV32 for 64-bit shifts. Note that at present regular shift intstructions already have their shift amount operand adapted at SelectionDAGBuilder::visitShift time, and funnelled shifts bypass that. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D110508
-
Wang, Pengfei authored
Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D110557
-
Ben Shi authored
Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D111140
-
Johannes Doerfert authored
We need to synchronize the threads *before* we destroy the RAII objects that hold the old values and not after to avoid threads executing the parallel region but seeing an inconsistent state. Reviewed By: tianshilei1992 Differential Revision: https://reviews.llvm.org/D111369
-
Vitaly Buka authored
before: 00 00 00 00 ff ff ff ff 00 00 00 00 00 00 00 00 Shadow map of [0x211000000005, 0x21100000012e), 297 bytes: now: 0x2f60d213ac10[0x7f60d213ac10] 00 00 00 00 ff ff ff ff 00 00 00 00 00 00 00 00 Shadow map [0x211000000005, 0x21100000012e) of [0x711000000005, 0x711000000135), 297 bytes: Differential Revision: https://reviews.llvm.org/D111261
-
MaheshRavishankar authored
Differential Revision: https://reviews.llvm.org/D111263
-
Volodymyr Sapsai authored
When have ObjCInterfaceDecl with the same name in 2 different modules, hitting the assertion > Assertion failed: (Index < RL->getFieldCount() && "Ivar is not inside record layout!"), > function lookupFieldBitOffset, file llvm-project/clang/lib/AST/RecordLayoutBuilder.cpp, line 3434. on accessing an ivar inside a method. The assertion happens because ivar belongs to one module while its containing interface belongs to another module and then we fail to find the ivar inside the containing interface. We already keep a single ObjCInterfaceDecl definition in redecleration chain and in this case containing interface was correct. The issue is with ObjCIvarDecl. IVar decl for IRGen is taken from ObjCIvarRefExpr that is created in `Sema::BuildIvarRefExpr` using ivar decl returned from `Sema::LookupIvarInObjCMethod`. And ivar lookup returns a wrong decl because basically we take the first ObjCIvarDecl found in `ASTReader::FindExternalVisibleDeclsByName` (called by `DeclContext::lookup`). And in `ASTReader.Lookups` lookup table for a wrong module comes first because `ASTReader::finishPendingActions` processes `PendingUpdateRecords` in reverse order and the first encountered ObjCIvarDecl will end up the last in `ASTReader.Lookups`. Fix by merging ObjCIvarDecl from different modules correctly and by using a canonical one in IRGen. rdar://82854574 Differential Revision: https://reviews.llvm.org/D110280
-
Petr Hosek authored
We want to use this tool in our build. Differential Revision: https://reviews.llvm.org/D111366
-
Amy Zhuang authored
Currently Affine LICM checks iterOperands and does not hoist out any instruction containing iterOperands. We should check iterArgs instead. Reviewed By: bondhugula Differential Revision: https://reviews.llvm.org/D111090
-
Jonas Devlieghere authored
JSON crashlogs have an optional field named reportNotes that contains any potential errors encountered by the crash reporter when generating the crashlog. Parse and display them in LLDB. Differential revision: https://reviews.llvm.org/D111339
-
Jonas Devlieghere authored
Gracefully deal with JSON crashlogs that don't have thread state available and print an error saying as much: "No thread state (register information) available". rdar://83955858 Differential revision: https://reviews.llvm.org/D111341
-
Roman Lebedev authored
-
Keith Smiley authored
This field only exists if the directory exists on the machine running the test. It likely exists for most Intel macOS users because of homebrew, but doesn't exist on some of the CI machines. This unfortunately makes this test a bit less strict. Differential Revision: https://reviews.llvm.org/D111361
-
Roman Lebedev authored
-
Qiongsi Wu authored
A [[ https://reviews.llvm.org/rGf6fa95b77f33c3690e4201e505cb8dce1433abd9 | recent commit ]] removed `<string>` from `ErrorHandling.h`. The removal caused `<string>` to be no longer included for `llvm/tools/llvm-cxxdump/Error.cpp` which uses the string type. This patch adds `<string>` to `llvm/tools/llvm-cxxdump/Error.cpp`. Reviewed By: jsji Differential Revision: https://reviews.llvm.org/D111354
-
Arthur Eubanks authored
Using uselistorders is fairly niche, it shouldn't be on by default and mostly just clutters the output. Reviewed By: jamieschmeiser Differential Revision: https://reviews.llvm.org/D111282
-
Louis Dionne authored
When we recently started using DYLD_LIBRARY_PATH to run the test suite on the Apple/System configuration of the library, the -fno-exceptions variant started failing. It started failing because under that configuration, libc++abi.dylib doesn't provide support for exceptions. For example, it doesn't provide some symbols such as ___gxx_personality_v0. Now, the problem is that when the test suite is run with DYLD_LIBRARY_PATH, /usr/lib/libobjc.dylib uses the just-built libc++abi.dylib, which doesn't support exceptions, and we end up with an unresolved reference to ___gxx_personality_v0. Previously, using -Wl,-rpath,path/to/lib, we would be loading both /usr/lib/libc++abi.dylib and <just-built>/lib/libc++abi.dylib. /usr/lib/libobjc.dylib would use the system libc++abi.dylib, which contains support for exceptions, and the tests would be using the just-built one, which doesn't. Disentangling that led me to believe that we shouldn't try to test this conf...
-
Louis Dionne authored
Differential Revision: https://reviews.llvm.org/D111329
-
Leonard Chan authored
This reverts commit a625fd26. Round 3: The scudo test was addressed in 6727832c.
-