[scudo] Always zero on linux even if the memory cannot be released. (#167788)
If a caller has locked memory, then the madvise call will fail. In that
case, zero the memory so that we don't return non-zeroed memory for
calloc calls since we thought the memory had been released.
[LV] Add early-exit tests, where deref assumes are not in preheader.
Test case for vectorizing std::find_if with
builtin_assume_dereferenceable. Currently not vectorized.
https://godbolt.org/z/6jbsd4EjT
[CMake][unittests] Teach export_executable_symbols about ALIAS targets (#167932)
DynamicLibraryTests has a workaround for AIX that calls
export_executable_symbols after add_llvm_unittest, instead of just
passing the `EXPORT_SYMBOLS` switch. At this point, the
default_gtest(_main) libraries is added to the linked library set.
However, default_gtest(_main) are ALIAS libraries. This PR replaces the
ALIAS libraries with the ALIASED_TARGET before passing it to
extract_symbols.py.
Fixes failure of the clang-ppc64-aix buildbot after #164794.
[clang-tidy] Update google todo checker with style guide changes. (#165565)
The [Google style guide] now allows (and recommends) writing TODOs with
the following format:
```cpp
// TODO: bug reference - details about what needs to be done.
```
With this change the checker accepts the new style and suggests in in
the fix-it hint. The previous style is still accepted.
[Google style guide]:
https://google.github.io/styleguide/cppguide.html#TODO_Comments
[PILC][NFC] Run UTC on `good-prototype.ll` (#167741)
Prefacing PR #167742 (stacked above this), noticed that running UTC made some changes unrelated to the aforementioned PR. Factoring them out here.
[NFC][flang] Introduce FortranObjectViewOpInterface. (#166841)
This patch adds initial version of `FortranObjectViewOpInterface`
that helps walking def-use chains containing "pass-through"
operations (like `fir.convert`, etc.). The new interface is used
in FIR AliasAnalysis to demonstrate potential usage (I know we have
such walks elsewhere in Flang, but I am only changing FIR AliasAnalysis
in this patch).
This is an NFC change. I noticed that if I remove followBoxData
code there are no failing LIT tests, but I decided to keep it
in order to keep the change looking more like NFC.
This change is a follow-up on the discussion in #164020:
it is unclear if the `FortranObjectViewOpInterface` methods and their
usage, as in this patch, apply to the ViewLike operations that
use the core MLIR `ViewLikeOpInterface`. So this patch is the path
towards simplifying Flang code while also enabling a future discussion
about having such an interface in core MLIR.
[utils] support both files originating from split-file in DiffUpdater (#166679)
With this change DiffUpdater can update expected files even if both
files are created by split-files, if one of them ends with ".expected".
This is useful when a file is created and then modified during the test.
[libc] Templatize strtofloatingpoint and implement wcstof. (#167755)
This change follows the pattern of
315dfe5865962d8a3d60e21d1fffce5214fe54ef by making strtofloat also
accept wchar_t* strings
(in addition to regular char*). It uses overloads from wctype_utils or
specialized functions to ensure comparison with literal characters (or
literal strings) pick char or wchar_t variants based on the argument
type.
The wcstof implementation is added, with unit test cases copied from
strtof test suite.
[flang][OpenMP] Remove dead code left over after PR143715, NFC
In PrivatizeAssociatedLoopIndexAndCheckLoopLevel we now descend all the
way down the chain of nested OpenMPLoopDirectives ahead of time, so
innerMostNest can only be a nullptr, or a DoConstruct.
[RegAllocFast] Add helper methods for getting/setting regunit state(NFC) (#167931)
The methods will help reduce the number of static_casts after changing
MCRegUnit to a strong typedef.