- Feb 28, 2022
-
-
Fangrui Song authored
-
Fangrui Song authored
Surprisingly my lld executable is 1.5KiB smaller.
-
Fangrui Song authored
-
Alexander Belyaev authored
Differential Revision: https://reviews.llvm.org/D119415
-
Fangrui Song authored
Simplify code and make the heavyweight operation to the call site so that it is clearer how to improve the inefficient scheduling in the future.
-
Ilya Nozhkin authored
SetValueFromCString and SetData methods return false if register can't be written but they don't set a error message. It sometimes confuses callers of these methods because they try to get the error message in case of failure but Status::AsCString returns nullptr. For example, lldb-vscode crashes due to this bug if some register can't be written. It invokes SBError::GetCString in case of error and doesn't check whether the result is nullptr (see request_setVariable implementation in lldb-vscode.cpp for more info). Reviewed By: labath, clayborg Differential Revision: https://reviews.llvm.org/D120319
-
eric.tang authored
According to privileged spec version-20211203 Add the following hypervisor instructions: - HLV.B HLV.BU - HLV.H HLV.HU HLVX.HU - HLV.W HLV.WU HLVX.WU - HLV.D - HSV.B HSV.H HSV.W HSV.D Signed-off-by:eric.tang <eric.tang@starfivetech.com> Differential Revision: https://reviews.llvm.org/D117733
-
eric.tang authored
According to Privileged spec version-20211203 Add Supervisor Memory-Management Instructions: - SINVAL.VMA, SFENCE.W.INVAL, SFENCE.INVAL.IR Add Hypervisor Memory-Management Instructions: - HFENCE.VVMA, HFENCE.GVMA, HINVAL.VVMA, HINVAL.GVMA Signed-off-by:eric.tang <eric.tang@starfivetech.com> Differential Revision: https://reviews.llvm.org/D117654
-
Eric Tang authored
Not only some AMO instructions but also other instructions need to process (${gpr}) or 0(${gpr}), where the 0 is be silently ignored. This patch does some changes for general usage. Signed-off-by:Eric Tang <eric.tang@starfivetech.com> Differential Revision: https://reviews.llvm.org/D120017
-
Zi Xuan Wu authored
[Support] Fix the build errors because missing CSKYTargetParser.def in module.modulemap of 21bce900 Add textual header "Support/CSKYTargetParser.def" in module.modulemap. Build Failure: https://green.lab.llvm.org/green/job/lldb-cmake/41771
-
Zi Xuan Wu authored
Construct LLVM Support module about CSKY target parser and attribute parser. It refers CSKY ABIv2 and implementation of GNU binutils and GCC. https://github.com/c-sky/csky-doc/blob/master/C-SKY_V2_CPU_Applications_Binary_Interface_Standards_Manual.pdf Now we only support CSKY 800 series cpus and newer cpus in the future undering CSKYv2 ABI specification. There are 11 archs including ck801, ck802, ck803, ck803s, ck804, ck805, ck807, ck810, ck810v, ck860, ck860v. Every arch has base extensions, the cpus of that arch family have more extended extensions than base extensions. We need specify extended extensions for every cpu. Every extension has its enum value, name and related llvm feature string with +/-. Every enum value represents a bit of uint64_t integer. Differential Revision: https://reviews.llvm.org/D119917
-
Chenbing Zheng authored
In this patch, we add a more narrower exclusion for zeroext (srl x) -> srli (slli x), so that it provides an opportunity for the selection of sraiw. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D120467
-
Kai Luo authored
Let `archive-aix-libatomic` accept additional argument to customize name of output atomic library. Reviewed By: jsji Differential Revision: https://reviews.llvm.org/D120534
-
Todd Mortimer authored
-
Mehdi Amini authored
-
Fangrui Song authored
It's ld.lld specific and by convention we enforce the double-dash form to avoid collision with the short option -e (--entry).
-
Jessica Clarke authored
By failing to lex the token we end up both parsing it as a binary operator ourselves and parsing it as a unary operator when calling parseExpression on the RHS. For plus this is harmless but for minus this parses "foo - 4" as "foo - -4", effectively treating a top-level minus as a plus. Fixes https://github.com/llvm/llvm-project/issues/54105 Reviewed By: asb, MaskRay Differential Revision: https://reviews.llvm.org/D120635
-
Fangrui Song authored
-
Fangrui Song authored
Similar to whyExtract.
-
Fangrui Song authored
So that early errors don't suppress their output.
-
Martin Storsjö authored
Windows UCRT has got a bug in older versions (present in CI), where it successfully does set a locale named `for_sure_this_is_not_an_existing_locale`. By adjusting the tested locale name to `forsurethisisnotanexistinglocale`, that test works as expected, failing to set the locale. The bug is reported upstream at https://developercommunity.visualstudio.com/t/setlocale-succeeds-for-bogus-locale-names-in-older/1652241, but as it already is working correctly in newer versions, no action was prompted there. We could of course add a bug detection in features.py like other existing `broken-*` features, but that would seem kinda pointless as it would be doing exactly what this test does. Instead just adjust the tested dummy locale name. This bit was approved to be committed on its own, in https://reviews.llvm.org/D120546 (which is left open to follow up on review of the rest of that patch).
-
Martin Storsjö authored
The zh_CN.UTF-8 locale on Glibc has got `n_sign_posn == 4` (which means having the negative sign just after the currency symbol), but has `int_n_sign_posn == 1` (which means before the string). On Windows, there's no separate `int_n_sign_posn` field, so the same `n_sign_posn` (which is 4 there too) is used for international currency formatting too. This makes the ordering for the international case on Windows be the same as for the national one right above it. On Apple platforms, the fr_FR.UTF-8 locale has got `n_sign_posn == 2` but `p_sign_posn == 1`, giving a different order for the French locale for the negative format. On Apple platforms for the zh_CN.UTF-8 locale, both `n_sign_posn` and `int_n_sign_posn` are 4, but `p_sign_posn` and `int_p_sign_posn` are 1. Differential Revision: https://reviews.llvm.org/D120550
-
Xiaodong Liu authored
The SPARC and MIPS branching operations have a branch delay slot, 4 more bytes occupied. Depends on D120381 Reviewed By: ro, MaskRay Differential Revision: https://reviews.llvm.org/D120451
-
Philip Reames authored
-
Florian Hahn authored
This reverts commit 49b23f45. This appears to break some PPC build bots. Revert while I investigate.
-
Philip Reames authored
SLP makes very heavy use of aliasing queries to construct pointer dependencies for scheduling purposes. AA internally usings pointerMayBeCaptured to prove some noalias results. In a local profile, we were spending about 4% of total O2 time in capture tracking. By using BatchAA interface - which caches capture results - this drops to 2%. Note that there is no invalidation of BatchAA here. This assumes that no transformation done by SLP invalidates alias or capture results. This is the same assumption made by the existing AliasCache, so this is not a new assumption in the code.
-
Florian Hahn authored
This patch adds a new VPScalarIVStepsRecipe to handle building scalar steps. In the first patch, it only handles the case where there is no vector induction variable needed. Reviewed By: Ayal Differential Revision: https://reviews.llvm.org/D115953
-
Arthur O'Dwyer authored
Unless/until we revert D106124, we should make sure that every newly added detail header includes this line.
-
Groverkss authored
This patch moves IntegerPolyhedron::reset to FlatAffineConstraints::reset. This function is not required in IntegerPolyhedron and creates ambiguity while shifting implementations to IntegerRelation. This patch is part of a series of patches to introduce relations in Presburger library. Reviewed By: arjunp Differential Revision: https://reviews.llvm.org/D120628
-
Sanjay Patel authored
This is the SDAG equivalent of an instcombine transform added with: fd807601 This is another step towards solving #49541 and part of an alternative set of more general transforms than what is proposed in D111530. https://alive2.llvm.org/ce/z/ToxaE8
-
Sanjay Patel authored
The tests are adapted from a similar file for instcombine: fd807601
-
- Feb 27, 2022
-
-
Simon Pilgrim authored
For i16/32/64 vectors, if the upper bits are known to be zero, then we can try to truncate to vXi8 (if its worth it) and perform this as a PSADBW to add+zext each v4i8 subvector to a i64 sum, which we can then reduce together. This addresses some of the PR42674 test cases where the source data was vXi8 but had been extended to match a wider unsigned integer accumulator. Differential Revision: https://reviews.llvm.org/D120193
-
Sanjay Patel authored
LOGIC (LOGIC (SH X0, Y), Z), (SH X1, Y) --> LOGIC (SH (LOGIC X0, X1), Y), Z https://alive2.llvm.org/ce/z/QmR9rR This is a reassociation + factoring fold. The common shift operation is moved after a bitwise logic op on 2 input operands. We get simpler cases of these patterns in IR, but I suspect we would miss all of these exact tests in IR too. We also handle the simpler form of this plus several other folds in DAGCombiner::hoistLogicOpWithSameOpcodeHands(). This is a partial implementation of a transform suggested in D111530 (only handles 'or' bitwise logic as a first step - need to stamp out more tests for other opcodes). Several of the same tests added for D111530 are altered here (but not fully optimized). I'm not sure yet if this would help/hinder that patch, but this should be an improvement for all tests added with ecf606cb since it removes a shift operation in those examples. Differential Revision: https://reviews.llvm.org/D120516
-
Yevgeny Rouban authored
This reverts commit 7fb39fb6 as clang buildbots failed.
-
Yevgeny Rouban authored
opt::setDefaultImpl() is changed to set the option value to the option type's default if the Default field is not set. This results in option value reset by Option::reset() or ResetAllOptionOccurrences() even if the cl::init() is not specified. Example: StackOption<std::string> Str("str"); // No cl::init(). Str = "some value"; cl::ResetAllOptionOccurrences(); EXPECT_EQ("", Str); // The Str is reset. Reviewed By: lattner Differential Revision: https://reviews.llvm.org/D115433 -
Florian Hahn authored
This can be used to explicitly model VPValues that depend on SCEV expansion, like the step for inductions. Reviewed By: Ayal Differential Revision: https://reviews.llvm.org/D116288
-
Simon Pilgrim authored
[lldb] BreakpointOptions::CommandData::CreateFromStructuredData - remove dead code + variable. NFCI. The found_something bool is only ever read after it has always been set to true. Looks to be a leftover debugging variable. Fixes static analyzer warning: https://llvm.org/reports/scan-build/report-BreakpointOptions.cpp-CreateFromStructuredData-8-4055b9.html#EndPath
-
Simon Pilgrim authored
As reported on D120192
-
Iain Sandoe authored
This is a small cache to avoid having to check both Exports and Imports. Differential Revision: https://reviews.llvm.org/D118589
-
Carl Ritson authored
Remove redundant isVALU call added in D120202.
-