- Aug 28, 2023
-
-
Karl-Johan Karlsson authored
When compiling the builtins with the undefined behavior sanitizer and running testcases you end up with the following warning: UBSan: negdi2.c:20:10: negation of -9223372036854775808 cannot be represented in type 'di_int' (aka 'long long'); cast to an unsigned type to negate this value to itself This can be avoided by doing negation in a matching unsigned variant of the type. The same kind of pattern is found in negti2.c This was found in an out of tree target. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D158818
-
Karl-Johan Karlsson authored
When compiling the builtins with the undefined behavior sanitizer and running testcases you end up with the following warning: UBSan: negvti2.c:22:32: left shift of 1 by 127 places cannot be represented in type 'ti_int' (aka '__int128') UBSan: absvti2.c:23:23: left shift of 1 by 127 places cannot be represented in type 'ti_int' (aka '__int128') This can be avoided by doing the shift in a matching unsigned variant of the type. This is the same kind of fixes that already was done in commit 854686f0 This was found in an out of tree target. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D158816
-
serge-sans-paille authored
As a side effect, introduce AtomicExpr::getOpAsString() to dump the AtomicOp string representation. This is a recommit with the ranges unchecked to cope with platform-specific values. Differential Revision: https://reviews.llvm.org/D158558
-
esmeyi authored
Summary: This patch handles the SectionKind of ReadOnlyWithRel on AIX. The failure was discovered during sanitizer enablement and occured with `-fsanitize-coverage` option. Reviewed By: hubert.reinterpretcast Differential Revision: https://reviews.llvm.org/D157483
-
Chuanqi Xu authored
[C++20] [Coroutines] Don't mark await_suspend as noinline if it is specified as always_inline already Address https://github.com/llvm/llvm-project/issues/64933 and partially https://github.com/llvm/llvm-project/issues/64945. After c4672454, we will add a noinline attribute to the await_suspend member function of an awaiter if the awaiter has any non static member functions. Obviously, this decision will bring some performance regressions. And people may complain about this while the long term solution may not be available soon. In such cases, it is better to provide a solution for the users who met the regression surprisingly. Also it is natural to not prevent the inlining if the function is marked as always_inline by the users already.
-
Jim Lin authored
It has more readability to show the difference or the same between Zvfh and Zvfhmin.
-
Fangrui Song authored
Otherwise -print-import-failure may use the uninitialized value.
-
Phoebe Wang authored
Fixes #64460 Reviewed By: RKSimon Differential Revision: https://reviews.llvm.org/D158950
-
Weining Lu authored
Inspired by D158384. Differential Revision: https://reviews.llvm.org/D158832
-
Weining Lu authored
Differential Revision: https://reviews.llvm.org/D158831
-
Mehdi Amini authored
Reviewed By: springerm Differential Revision: https://reviews.llvm.org/D158354
-
Mehdi Amini authored
This reverts commit ef3ab3de. The revision hasn't actually been approved yet!
-
Mehdi Amini authored
This is adopting properties as storage for attribute by default.
-
Mehdi Amini authored
This vector keeps tracks of recursive types through the recursive invocations of `convertType()`. However this is something only useful for some specific cases, in which the dedicated conversion callbacks can handle this stack privately. This allows removing a mutable member of the type converter. Reviewed By: springerm Differential Revision: https://reviews.llvm.org/D158351
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Brad Smith authored
After looking at this further I think the Ananas support should be removed. They stopped using Clang. There have never been any releases either; as in source only, and the backend is not maintained. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D158946
-
Martin Storsjö authored
Many of these options can be passed to the linker by the Clang driver based on other options passed to Clang, after a23bf178. Before commit 5c92c9f3, these were ignored by lld, but now we're erroring out on the unrecognized options. The ELF linker has even more LTO options available, but not all of these are currently settable via the lld-link option interface, and some aren't set automatically by Clang but only if the user manually passes them - and thus probably aren't in wide use so far. (Previously LLD/MinGW would have accepted them silently but ignored them though.) Differential Revision: https://reviews.llvm.org/D158887
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Rainer Orth authored
c8644b18 <https://reviews.llvm.org/rGc8644b18f570be9d26d83cdeeb2369cd3cbddaf1> broke the Solaris/amd64 <https://lab.llvm.org/staging/#/builders/101/builds/15078> and Solaris/sparcv9 <https://lab.llvm.org/staging/#/builders/50/builds/15116> buildbots: FAILED: tools/clang/tools/extra/clang-tidy/altera/CMakeFiles/obj.clangTidyAlteraModule.dir/UnrollLoopsCheck.cpp.o [...] /vol/llvm/src/llvm-project/dist/clang-tools-extra/clang-tidy/altera/UnrollLoopsCheck.cpp:217:25: error: call to 'log' is ambiguous 217 | Iterations = 1 + (log(EndValue) - log(InitValue)) / log(ConstantValue); | ^~~ /usr/include/iso/math_iso.h:60:15: note: candidate function 60 | extern double log __P((double)); | ^ /usr/include/iso/math_iso.h:158:15: note: candidate function 158 | inline float log(float __X) { return __logf(__X); } | ^ /usr/include/iso/math_iso.h:193:21: note: candidate function 193 | inline long double log(long double __X) { return __logl(__X); } | ^ Fixed by disambituating the calls with `double` casts. Tested on `amd64-pc-solaris2.11` and `x86_64-pc-linux-gnu`. Differential Revision: https://reviews.llvm.org/D158959
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Fangrui Song authored
`_MSC_VER>=1800` (Visual Studio 2013) supports atoll/strtoll. Remove the obsoleted workaround ASAN_INTERCEPT_ATOLL_AND_STRTOLL. test/asan/TestCases/atoll_strict.c passes but test/asan/TestCases/strtoll_strict.c doesn't.
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
- Aug 27, 2023
-
-
dingfei authored
-
Markus Böck authored
The alias initializer keeps a list of child indices around. When an alias is then marked as non-deferrable, all children are also marked non-deferrable. This is currently done naively which leads to an infinite recursion if using mutable types or attributes containing a cycle. This patch fixes this by adding an early return if the alias is already marked non-deferrable. Since this function is the only way to mark an alias as non-deferrable, it is guaranteed that if it is marked non-deferrable, all its children are as well, and it is not required to walk all the children. This incidentally makes the non-deferrable marking also `O(n)` instead of `O(n^2)` (although not performance sensitive obviously). Differential Revision: https://reviews.llvm.org/D158932
-
Kazu Hirata authored
-
Kazu Hirata authored
-
Kazu Hirata authored
-
AdityaK authored
Reviewers: vsk, eli.friedman, yassingh Differential Revision: https://reviews.llvm.org/D158937
-