- Oct 08, 2021
-
-
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 configuration where libc++/libc++abi are built as system libraries, but where they don't support exceptions, since that just doesn't make any sense. Doing so is like trying to build libc++/libc++abi and test it as a system library after performing an ABI break -- of course nothing is going to work. For that reason, I am removing this configuration. Note that we could still test the library on macOS without exceptions if we wanted, only we wouldn't be building it as a system library. This patch doesn't add that because we already have a -fno-exceptions CI job on Linux. Differential Revision: https://reviews.llvm.org/D111349
-
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.
-
wlei authored
For some transformations like hot-cold split or coro split, it can outline its part of function ranges. Since sample loader is the early stage of backend and no split happens at that time, compiler can't recognize those function, so in llvm-profgen we should attribute the sample to the original function. This is already done for the body range samples since we use the symbols from dwarf which is created before the split. But for branch samples, the call from master function to its outlined function is actually not a call to the original function, we shouldn't add head/callsie samples for it. So instead of dwarf symbol, we use the symbols from symbol table and ignore those functions with special suffixes(like `.cold` ,`.resume`) for accumulating the callsite/head samples. Reviewed By: hoy, wenlei Differential Revision: https://reviews.llvm.org/D110864
-
Kostya Kortchinsky authored
`ScudoWrappersCppTest.AllocAfterFork` was failing obscurely sometimes. Someone pointed us to Linux's `vm.max_map_count` that can be significantly lower on some machines than others. It turned out that on a machine with that setting set to 65530, some `ENOMEM` errors would occur with `mmap` & `mprotect` during that specific test. Reducing the number of times we fork, and the maximum size allocated during that test makes it pass on those machines. Differential Revision: https://reviews.llvm.org/D111342
-
Adrian Prantl authored
This change fixes a bug where the compiler generates a prologue_end for line 0 locs. That is because line 0 is not associated with any source location, so there should not be a prolgoue_end at a location that doesn't correspond to a source location. There were some LLVM tests that were explicitly checking for line 0 prologue_end's as well since I believe that to be incorrect, I had to change those tests as well. Patch by Shubham Rastogi! Differential Revision: https://reviews.llvm.org/D110740
-
Adrian Prantl authored
This patch adds support for Swift compiler producer strings to DWARFUnit. Differential Revision: https://reviews.llvm.org/D111278
-
Vitaly Buka authored
-