- Jul 24, 2022
-
-
Craig Topper authored
-
NAKAMURA Takumi authored
Fixes llvmorg-15-init-917-g46a6f5ae
-
Kazu Hirata authored
-
Kazu Hirata authored
Switching to std:array allow us to use fill. While I am at it, this patch also converts one for loop to a range-based one.
-
Augusto Noronha authored
-
Fangrui Song authored
Following recent changes removing non-core features of the legacy PM/optimization pipeline.
-
Amaury Séchet authored
-
Nuno Lopes authored
-
Nuno Lopes authored
-
Kazu Hirata authored
The last use was removed on Jan 4, 2022 in commit 95a93722.
-
Kazu Hirata authored
ArrayRef has operator[], so we don't need to access the contents via data().
-
Kazu Hirata authored
-
Kazu Hirata authored
Identified with readability-redundant-control-flow.
-
Fangrui Song authored
to match all other *ISelDAGToDAG.cpp
-
Kazu Hirata authored
This patch also drops "&" that binds to a temporary. Identified with readability-const-return-type.
-
Kazu Hirata authored
Identified with modernize-use-default-member-init.
-
Peter Klausler authored
The predicate IsHostAssocited() was implemented in a way that would return true only for cases of host association into a module or inner subprogram. Technically, the use of a name in a BLOCK construct that is not declared therein is considered in the Fortran standard to also be a form of host association, and this matters when doing error checking on DATA statements. Differential Revision: https://reviews.llvm.org/D130388
-
Simon Pilgrim authored
We still haven't found a solution that correctly handles 'don't care' sub elements properly - given how close it is to the next release branch, I'm making this fail safe change and we can revisit this later if we can't find alternatives. NOTE: This isn't a reversion of D128570 - it's the removal of undef handling across bitcasts entirely Fixes #56520
-
Simon Pilgrim authored
-
Peter Klausler authored
When a procedure pointer with no interface is associated with an EXTERNAL name with no interface information, but it is later inferred that the procedure pointer must be a subroutine because it appears in a CALL statement, don't complain that the EXTERNAL name is not also known to be a subroutine. Subroutine vs. function errors are still caught in procedure pointer assignment compatibility checking; this fix simply ensures that those more nuanced tests are not overridded by the attribute set equality test. Also, leave in some code for dumping the differing attributes in legitimate error cases that was added in the coures of debugging the specific problem. Differential Revision: https://reviews.llvm.org/D130385
-
Jez Ng authored
-
Peter Klausler authored
In some contexts the code looks cleaner if we fold zero-length substring references into empty character constants, but those don't work in variable definition contexts and can lead to bogus semantic error messages. Differential Revision: https://reviews.llvm.org/D130383
-
Nico Weber authored
Revert "[NFC] Improve FileSpec internal APIs and usage in preparation for adding caching of resolved/absolute." and follow-ups This reverts commit 9429b67b. It broke the build on Windows, see comments on https://reviews.llvm.org/D130309 It also reverts these follow-ups: Revert "Fix buildbot breakage after https://reviews.llvm.org/D130309." This reverts commit f959d815. Revert "Fix buildbot breakage after https://reviews.llvm.org/D130309." This reverts commit 0bbce7a4. Revert "Cache the value for absolute path in FileSpec." This reverts commit dabe8772.
-
Peter Klausler authored
It should be A= but I misspelled it in the intrinsics table as X=. Differential Revision: https://reviews.llvm.org/D130382
-
John Ericson authored
Follow up to D117977, where I missed this new usage after one rebase. Thanks @tsteller in https://reviews.llvm.org/D117977#3670919 for noticing. Reviewed By: mstorsjo Differential Revision: https://reviews.llvm.org/D130362
-
Kazu Hirata authored
Identified with misc-static-assert.
-
Jez Ng authored
Previously, we treated it as a regular ConcatInputSection. However, ld64 actually parses its contents and uses that to synthesize a single image info struct, generating one 8-byte section instead of `8 * number of object files with ObjC code`. I'm not entirely sure what impact this section has on the runtime, so I just tried to follow ld64's semantics as closely as possible in this diff. My main motivation though was to reduce binary size. No significant perf change on chromium_framework on my 16-core Mac Pro: base diff difference (95% CI) sys_time 1.764 ± 0.062 1.748 ± 0.032 [ -2.4% .. +0.5%] user_time 5.112 ± 0.104 5.106 ± 0.046 [ -0.9% .. +0.7%] wall_time 6.111 ± 0.184 6.085 ± 0.076 [ -1.6% .. +0.8%] samples 30 32 Reviewed By: #lld-macho, thakis Differential Revision: https://reviews.llvm.org/D130125
-
- Jul 23, 2022
-
-
Simon Pilgrim authored
[X86] matchBinaryShuffle - limit SHUFFLE(X,Y) -> OR(X,Y) cases to where X + Y are the same width as the result Minor bit of prep work toward not unnecessarily widening shuffle operands in combineX86ShufflesRecursively, instead only widening in combineX86ShuffleChain if we actual find a match - see Issue #45319
-
Jez Ng authored
which occurs when there are EH frames present in the object file's weak def. Reviewed By: abrachet Differential Revision: https://reviews.llvm.org/D130409
-
Dmitry Vassiliev authored
This patch fixes the following error with MSVC 16.9.2: llvm/lib/IR/GCStrategy.cpp(35): error C2668: 'llvm::report_fatal_error': ambiguous call to overloaded function llvm/include/llvm/Support/ErrorHandling.h(75): note: could be 'void llvm::report_fatal_error(const llvm::Twine &,bool)' llvm/include/llvm/Support/ErrorHandling.h(73): note: or 'void llvm::report_fatal_error(llvm::StringRef,bool)' llvm/lib/IR/GCStrategy.cpp(35): note: while trying to match the argument list '(const std::string)' Reviewed By: RKSimon, barannikov88 Differential Revision: https://reviews.llvm.org/D130407
-
Dmitri Gribenko authored
llvm::sort is beneficial even when we use the iterator-based overload, since it can optionally shuffle the elements (to detect non-determinism). However llvm::sort is not usable everywhere, for example, in compiler-rt. Reviewed By: nhaehnle Differential Revision: https://reviews.llvm.org/D130406
-
Corentin Jabot authored
-
Dmitri Gribenko authored
Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D130403
-
Simon Pilgrim authored
[DAG] Move OR(AND(X,C1),AND(OR(X,Y),C2)) -> OR(AND(X,OR(C1,C2)),AND(Y,C2)) fold to SimplifyDemandedBits This will fix the SystemZ v3i31 memcpy regression in D77804 (with the help of D129765 as well....). It should also allow us to /bend/ the oneuse limitation for cases where we can use demanded bits to safely peek though multiple uses of the AND ops.
-
Corentin Jabot authored
The #warning directive is standard in C++2b and C2x, this adjusts the pedantic and extensions warning accordingly. Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D130415
-
Corentin Jabot authored
This implements N2836 Identifier Syntax using Unicode Standard Annex 31. The feature was already implemented for C++, and the semantics are the same. Unlike C++ there was, afaict, no decision to backport the feature in older languages mode, so C17 and earlier are not modified and the code point tables for these language modes are conserved. Reviewed By: aaron.ballman Differential Revision: https://reviews.llvm.org/D130416
-
Benjamin Kramer authored
-
Simon Pilgrim authored
-
Simon Pilgrim authored
[DAG] ExpandIntRes_ADDSUB - create UADDO/USUBO instead of ADDCARRY/SUBCARRY if overflow is known to be zero As noticed on D127115, when splitting ADD/SUB nodes we often end up with cases where overflow from the lower bits is impossible - in such cases we're better off breaking the carry chain dependency as soon as possible. This path is being exercised by llvm/test/CodeGen/ARM/dsp-mlal.ll, although I haven't been able to get any codegen diff without a topological worklist.
-
Dimitrije Milosevic authored
Add the MIPS O32 ABI value for the stat struct's size. Differential Revision: https://reviews.llvm.org/D129749.
-