- Jul 25, 2022
-
-
Fangrui Song authored
-
Rosie Sumpter authored
This patch recognizes f16 immediates as legal and adds the necessary patterns. This allows the fadda folding introduced in 05d424d1 to be applied to the f16 cases. Differential Revision: https://reviews.llvm.org/D129989
-
Sam McCall authored
-
Peter Waller authored
The code in this `#if 0` block appears to be a net benefit. Put it behind a switch defaulting to off to support experimentation and as a request for comment. The codegen impact of enabling this that I'm currently persuing is that it allows PRE to take place more frequently, particularly in loops with second order recurrences. Preliminary experimental data: Across LNT on AArch64, 54 benchmarks are sped up by >1%, and 42 are regressed by >1%, the geomean (exec_time_enabled / exec_time_disabled) of these 96 "1% or greater significance" benchmarks is 0.991. For the full set of 770 benchmarks it's 0.998. There are two benchmarks which experience a >30% speedup, and the worst slowdown is ~12%, and for every benchmark with a slowdown there is a benckmark which is sped up by a greater factor. Differential Revision: https://reviews.llvm.org/D130241
-
Kazu Hirata authored
Flang C++ Style Guide tells us to use *X when the reference is protected by a presense test. However, (*X).foo() is a little harder to read, especially when X is a complicated expression. This patch slightly deviates from the guide (but retains the spirit) by using X->foo() instead. Differential Revision: https://reviews.llvm.org/D130413
-
Kazu Hirata authored
Flang C++ Style Guide tells us to use x.value() when no presence test is obviously protecting the reference. Since a failure in EXPECT_TRUE doesn't terminate a given test, I don't count it as "protection" here. Differential Revision: https://reviews.llvm.org/D130410
-
Nikita Popov authored
Update the GEP FAQ to use opaque pointers. This requires more than a syntactic change in some place, because some of the concerns just don't make sense anymore (trying to index past a ptr member in a struct for example). This also fixes uses of incorrect syntax to declare or reference globals. Differential Revision: https://reviews.llvm.org/D130353
-
Nikita Popov authored
Update LangRef examples to use opaque pointers in most places. I've retained typed pointers in a few cases where opaque pointers don't make much sense, e.g. pointer to pointer bitcasts. Differential Revision: https://reviews.llvm.org/D130356
-
Fangrui Song authored
-
Balázs Kéri authored
Support for functions wmemcpy, wcslen, wcsnlen is added to the checker. Documentation and tests are updated and extended with the new functions. Reviewed By: martong Differential Revision: https://reviews.llvm.org/D130091
-
Cullen Rhodes authored
When lowering add(a, select(mask, b, splat(0))) the sel instruction can be removed by using predicated add/sub instructions. Reviewed By: paulwalker-arm Differential Revision: https://reviews.llvm.org/D129751
-
Cullen Rhodes authored
-
Fangrui Song authored
-
Max Kazantsev authored
Handle guards uniformly with assumes, rather than iterating through all block instructions in attempt to find them. Differential Revision: https://reviews.llvm.org/D129874 Reviewed By: nikic
-
Kazu Hirata authored
The last use was removed on May 3, 2017 in commit 2af5037d. This patch also removes isLateResultInstr and isEarlySourceInstr as they become dead once we remove isLateInstrFeedsEarlyInstr.
-
Kazu Hirata authored
Identified with modernize-use-override.
-
Fangrui Song authored
ch_reserved is uninitialized and the output is not deterministic. Fix it. Rewrite and improve compress-debug-sections-zlib.test.
-
Kazu Hirata authored
Identified with modernize-use-override.
-
Kazu Hirata authored
Identified with modernize-use-override.
-
Kazu Hirata authored
-
inclyc authored
report an error when encountering 'while' token parsing declarator ``` clang/test/Parser/while-loop-outside-function.c:3:1: error: while loop outside of a function while // expected-error {{while loop outside of a function}} ^ clang/test/Parser/while-loop-outside-function.c:7:1: error: while loop outside of a function while // expected-error {{while loop outside of a function}} ^ ``` Fixes: https://github.com/llvm/llvm-project/issues/34462 Differential Revision: https://reviews.llvm.org/D129573 -
Marius Hillenbrand authored
For arith.constant operations of integer type, the operation generates result names that include the value of the constant (i.e., the IntegerAttr that defines the constant's value). That code currently assumes integer widths of 64 bits or less and hits an assert with wider constants or would create truncated and potentially ambiguous names when built with assertions disabled. To enable printing arith.constant ops for arbitrarily wide integer types, change to use the IntegerAttr's function getValue() when generating result names. Also, add a regression test. Reviewed By: bondhugula Differential Revision: https://reviews.llvm.org/D129930
-
Fangrui Song authored
-
Warren Ristow authored
In D129523, it was noted that the approach to check whether a value can have FastMathFlags was done in different ways, and they should be made consistent. This patch makes minor changes to fix that. Reviewed By: spatel Differential Revision: https://reviews.llvm.org/D130408
-
Kazu Hirata authored
-
Amaury Séchet authored
The code used to cause a warning: llvm/include/llvm/Support/MathExtras.h:751:39: warning: suggest parentheses around ‘-’ in operand of ‘&’ [-Wparentheses] 751 | assert(Align != 0 && (Align & Align - 1) == 0 && | -
Kazu Hirata authored
-
Kazu Hirata authored
The declaration was introduced without a corresponding definition on Dec 12, 2011 in commit 1213a7a5.
-
Kazu Hirata authored
The corresponding definition was removed on Jan 23, 2018 in commit 3780a0e1.
-
Kazu Hirata authored
-
Sanjay Patel authored
The matching of constants assumed integers, but we can handle splat vector constants seamlessly with m_APInt.
-
Sanjay Patel authored
-
Sanjay Patel authored
This note was going to be added in D129650, but we solved the problem by reverting another patch, and I missed transferring the comment.
-
LLVM GN Syncbot authored
-
Nikolas Klauser authored
Reviewed By: ldionne, #libc Spies: libcxx-commits, mgorny Differential Revision: https://reviews.llvm.org/D128948
-
Kazu Hirata authored
Identified with modernize-redundant-void-arg.
-
Kazu Hirata authored
Identified with llvm-header-guard.
-
Kazu Hirata authored
Identified with readability-redundant-string-init.
-
Kazu Hirata authored
Identified with readability-redundant-member-init.
-
Kazu Hirata authored
Identified with modernize-use-nullptr.
-