- Feb 17, 2022
-
-
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
-
Jonas Devlieghere authored
- Use an early return. - Check for error.Fail() instead of !error.Success(). - Check the resolver pointer before using instead of relying on the error being set.
-
Jonas Devlieghere authored
Default initialize the DWARFDebugMacroHeader to avoid returning a header with uninitialized variables from DWARFDebugMacroHeader::ParseHeader.
-
Michał Górny authored
Remove the dependency on ounit2 and the relevant lit code. It seems that ounit2 is not used at all and all OCaml binding tests pass without it installed. Thanks for Shiwei Weng and Josh Berdine for bringing this to my attention. Differential Revision: https://reviews.llvm.org/D119884
-
Michał Górny authored
When building libcxxabi via LLVM_ENABLE_RUNTIMES=libcxxabi the CMake invocation fails because of missing "unwind" target. However, if the extraneous dependency is removed, the library builds just fine against installed libunwind and tests work fine. To fix this, add the dependency only if the target actually exists. Differential Revision: https://reviews.llvm.org/D119538
-
Arthur Eubanks authored
gnuwin32 tail does not support the `tail -c +9` syntax. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D119956
-
Kevin P. Neal authored
failures.
-
Haowei Wu authored
This patch adds an addition test to test llvm-ifs's behavior when DT_STRSZ value from .dynamic is invalid Differential Revision: https://reviews.llvm.org/D119741
-
Nico Weber authored
-
Louis Dionne authored
This is the first step towards disentangling the debug mode and assertions in libc++. This patch doesn't make any functional change: it simply moves _LIBCPP_ASSERT-related stuff to its own file so as to make it clear that libc++ assertions and the debug mode are different things. Future patches will make it possible to enable assertions without enabling the debug mode. Differential Revision: https://reviews.llvm.org/D119769
-
Fangrui Song authored
-
Kevin P. Neal authored
In a prior review I was asked to move the helper function canIgnoreSNaN() out to FPEnv.h. This wasn't possible at the time because that function needs the fast math flags, and including them includes lots of other stuff that isn't needed. This patch moves the fast math flags out into a new FMF.h file unchanged, and moves the helper function out to FPEnv.h also unchanged. This ticket only moves code around. Differential Revision: https://reviews.llvm.org/D119752
-
Rashmi Mudduluru authored
-
Craig Topper authored
Part of the shift lowering creates a (sub XLEN-1, ShAmt). When this value is used we know that ShAmt is [0..XLEN-1]. Since XLEN is a power of 2 we can replace the sub with an xor. This allows us to use XORI instead of LI+SUB. Reviewed By: asb Differential Revision: https://reviews.llvm.org/D119411
-
Craig Topper authored
Matches what is done for the int version. Reviewed By: sdesmalen Differential Revision: https://reviews.llvm.org/D119793
-