- Feb 17, 2022
-
-
Arthur Eubanks authored
-
Eugene Zhulenev authored
Reviewed By: cota Differential Revision: https://reviews.llvm.org/D119959
-
Sam Clegg authored
Since the code for apply data relocations can sometimes use the values stored in he globals, they need to be relocated before the data relocations can be run. Fixes: https://github.com/emscripten-core/emscripten/issues/13398 Differential Revision: https://reviews.llvm.org/D119666
-
Marek Kurdej authored
-
Johannes Doerfert authored
When we move an allocation from the heap to the stack we need to allocate it in the alloca AS and then cast the result. This also prevents us from inserting the alloca after the allocation call but rather right before. Fixes https://github.com/llvm/llvm-project/issues/53858
-
Johannes Doerfert authored
When we use liveness for edges during the `genericValueTraversal` we need to make sure to use the AAIsDead of the correct function. This patch adds the proper logic and some simple caching scheme. We also add an assertion to the `isEdgeDead` call to make sure future misuse is detected earlier. Fixes https://github.com/llvm/llvm-project/issues/53872
-
Marek Kurdej authored
-
Nico Weber authored
llvm-config wants all libraries referenced in llvm/lib/CMakeLists.txt to exist on disk. But WindowsDriver is only referenced in clang and lld and hence wasn't built as a dependency of check-llvm. Add it as an explicit dependency to make llvm-config happy.
-
Med Ismail Bennani authored
This patch adds requirement for the `scripted_crashlog_json` test to make sure it only runs on apple silicon systems. This should fix the following green dragon failure: https://green.lab.llvm.org/green/view/LLDB/job/lldb-cmake/41454 Signed-off-by:
Med Ismail Bennani <medismail.bennani@gmail.com>
-
Andrzej Warzynski authored
This patch adds Win32 to the list of supported triples in `fir::CodeGenSpecifics`. This change means that we can use the "native" triple, even when running tests on Windows. Currently this affects only 1 test, but it will change once we start adding more tests for lowering and code-generation. Differential Revision: https://reviews.llvm.org/D119332
-
Joseph Huber authored
This patch passes in the AMDPGU math libraries to the linker wrapper. The wrapper already handles linking OpenMP bitcode libraries via the `--target-library` option. This should be sufficient to link in math libraries for the accompanying architecture. Fixes #53526. Reviewed By: jdoerfert Differential Revision: https://reviews.llvm.org/D119841
-
Joseph Huber authored
Summary: We were not previously saving strings when saving symbol names during LTO symbol resolution. This caused a crash inside the dense set when some of the strings would rarely be moved internally by the object file class.
-
Marek Kurdej authored
Fixes https://github.com/llvm/llvm-project/issues/24781. Fixes https://github.com/llvm/llvm-project/issues/38160. This patch splits `TT_RecordLBrace` for classes/enums/structs/unions (and other records, e.g. interfaces) and uses the brace type to avoid the error-prone scanning for record token. The mentioned bugs were provoked by the scanning being too limited (and so not considering `const` or `constexpr`, or other qualifiers, on an anonymous struct variable declaration). Moreover, the proposed solution is more efficient as we parse tokens once only (scanning being parsing too). Reviewed By: MyDeveloperDay, HazardyKnusperkeks Differential Revision: https://reviews.llvm.org/D119785
-
Florian Mayer authored
I added posix_madvise out of order before.
-
Louis Dionne authored
This patch upstreams some changes we've made internally to how we're building the libc++ dylib on Apple platforms. The goal is still to eventually get rid of `apple-install-libcxx.sh` entirely and have a proper way to mirror what we do internally with just the normal CMake configuration. Differential Revision: https://reviews.llvm.org/D118912
-
Louis Dionne authored
Differential Revision: https://reviews.llvm.org/D119947
-
Roman Lebedev authored
-
William S. Moses authored
-
Aaron Ballman authored
A significant number of our tests in C accidentally use functions without prototypes. This patch converts the function signatures to have a prototype for the situations where the test is not specific to K&R C declarations. e.g., void func(); becomes void func(void); This is the twelfth batch of tests being updated (the end may be in sight soon though).
-
Marek Kurdej authored
-
Florian Mayer authored
We now use posix_madvise, so we need to allow this symbol. Differential Revision: https://reviews.llvm.org/D119970
-
Johannes Doerfert authored
The `IsSPMD` global can only be read by threads other than the main thread *after* initialization is complete. To allow usage of `mapping::getBlockSize` before initialization is done, we can pass the `IsSPMD` state explicitly. This is similar to other APIs that take `IsSPMD` explicitly to avoid such a race, e.g., `mapping::isInitialThreadInLevel0(IsSPMD)` Fixes https://github.com/llvm/llvm-project/issues/53857
-
Johannes Doerfert authored
`UsedAssumedInformation` is a return argument utilized to determine what information is known. Most APIs used it already but `genericValueTraversal` did not. This adds it to `genericValueTraversal` and replaces `AllCallSitesKnown` of `checkForAllCallSites` with the commonly used `UsedAssumedInformation`. This was supposed to be a NFC commit, then the test change appeared. Turns out, we had one user of `AllCallSitesKnown` (AANoReturn) and the way we set `AllCallSitesKnown` was wrong as we ignored the fact some call sites were optimistically assumed dead. Included a dedicated test for this as well now. Fixes https://github.com/llvm/llvm-project/issues/53884
-
Jessica Paquette authored
I missed it in my grep. Fixes broken buildbot.`
-
Shafik Yaghmour authored
Identifiers with __ anywhere are reserved. I picked this up via the bugprone-reserved-identifier clang-tidy check but -Wreserved-identifier will also flag these uses as well. Differential Revision: https://reviews.llvm.org/D119915
-
Med Ismail Bennani authored
In some cases, it can happen that crashlogs don't have any signal in the exception, which causes the parser to crash. This fixes the parsing by checking if the `signal` field is in the `exception` dictionary before trying to access it. rdar://84552251 Differential Revision: https://reviews.llvm.org/D119504 Signed-off-by:
Med Ismail Bennani <medismail.bennani@gmail.com>
-
Med Ismail Bennani authored
This patch introduces a new type of ScriptedProcess: CrashLogScriptedProcess. It takes advantage of lldb's crashlog parsers and Scripted Processes to reconstruct a static debugging session with symbolicated stackframes, instead of just dumping out everything in the user's terminal. The crashlog command also has an interactive mode that only provide a very limited experience. This is why this patch removes all the logic for this interactive mode and creates CrashLogScriptedProcess instead. This will fetch and load all the libraries that were used by the crashed thread and re-create all the frames artificially. rdar://88721117 Differential Revision: https://reviews.llvm.org/D119501 Signed-off-by:
Med Ismail Bennani <medismail.bennani@gmail.com>
-
Med Ismail Bennani authored
This patch adds the ability for the user to check if the command interpreter's IOHandler is interactive. Differential Revision: https://reviews.llvm.org/D119499 Signed-off-by:
Med Ismail Bennani <medismail.bennani@gmail.com>
-
Med Ismail Bennani authored
This patch adds the ability for ScriptedThread to load artificial stack frames. To do so, the interpreter instance can create a list that will contain the frame index and its pc address. Then, when the Scripted Process plugin stops, it will refresh its Scripted Threads state by invalidating their register context and load to list from the interpreter object and reconstruct each frame. This patch also removes all of the default implementation for `get_stackframes` from the derived ScriptedThread classes, and add the interface code for the Scripted Thread Interface. rdar://88721095 Differential Revision: https://reviews.llvm.org/D119388 Signed-off-by:
Med Ismail Bennani <medismail.bennani@gmail.com>
-
Med Ismail Bennani authored
This patch removes the `my_scripted_process.py` blueprint since it's not used anymore. The patch also updates the base ScriptedProcess and ScriptedThread initializers to automatically initialize convinience variables, to access debugger from the ScriptedProcess, access the SBProcess and ScriptedProcess object from a ScriptedThread instance. Differential Revision: https://reviews.llvm.org/D119386 Signed-off-by:
Med Ismail Bennani <medismail.bennani@gmail.com>
-
Jessica Paquette authored
It's not particularly user-friendly to have to call `initLRU` everywhere. Also, it wasn't particularly great that the LRU for registers used in a sequence was also initialized by `initLRU`. This patch hides this stuff behind some helper functions: * `isAvailableAcrossAndOutOfSeq` * `isAnyUnavailableAcrossOrOutOfSeq` * `isAvailableInsideSeq` This allows the user to avoid calling `initLRU` explicitly. Also, it allows us to separate initializing the used-in-sequence LRU from the main LRU. Since both ARM and AArch64 check LR liveness in `insertOutlinedCall`, this refactor requires that we de-const the Candidate there. Some other quality-of-code improvements: * LRUs in outliner::Candidate now have more descriptive names * Use `Register` instead of `unsigned` in some places * Improve readability in some places by using ranges rather than `std::for_each` This is a preparatory commit for a larger compile time related change for the AArch64 outliner.
-
David Blaikie authored
-
Valentin Clement authored
This patch adds infrsatrcutrue to be able to lower arguments in functions and subroutines. This patch is part of the upstreaming effort from fir-dev branch. Reviewed By: PeteSteinfeld Differential Revision: https://reviews.llvm.org/D119957 Co-authored-by:
Eric Schweitz <eschweitz@nvidia.com> Co-authored-by:
Jean Perier <jperier@nvidia.com>
-
Roman Lebedev authored
zext(umin(x,y)) == umin(zext(x),zext(y)) zext(x) == 0 -> x == 0 While it is not a very likely scenario, we probably should not expect that instcombine already dropped such a redundant zext, but handle directly. Moreover, perhaps there was no ZExtInst, and SCEV somehow managed to pull out said zext out of the SCEV expression.
-
Roman Lebedev authored
zext(umin(x,y)) == umin(zext(x),zext(y)) zext(x) == 0 -> x == 0 Extra leading zeros do not affect the result of comparison with zero, nor do they matter for the unsigned min/max, so we should not be dissuaded when we find a zero-extensions, but instead we should just skip it.
-
Roman Lebedev authored
-
Jacob Lambert authored
Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D119912
-
Florian Mayer authored
Reviewed By: hctim Differential Revision: https://reviews.llvm.org/D119961
-
Michael Kruse authored
Ensure that function definitions match their declrations in header files, even if they have no effect on linking. This includes 1. Both have the same __isl_* annotations 2. Both use the same type alias 3. Remove unused declarations that have no definition 4. Use explicit polly namespace qualifier for definitions; generally, the .cpp file should use at most an anon namespace region since only symbols declared in the header file can be accessed from other translation units anyway. For defintions that have been declared in the header file, the explicit namespace qualifier ensures that both match. -
Lei Zhang authored
This commit adds a pattern to wrap a tensor.pad op with an scf.if op to separate the cases where we don't need padding (all pad sizes are actually zeros) and where we indeed need padding. This pattern is meant to handle padding inside tiled loops. Under such cases the padding sizes typically depend on the loop induction variables. Splitting them would allow treating perfect tiles and edge tiles separately. Reviewed By: nicolasvasilache Differential Revision: https://reviews.llvm.org/D117018
-