Mehdi Amini [Sun, 2 Jan 2022 22:01:07 +0000 (22:01 +0000)]
Apply clang-tidy fixes for bugprone-argument-comment to MLIR ArithmeticOps.cpp (NFC)
Nathan Sidwell [Sat, 25 Dec 2021 18:30:42 +0000 (13:30 -0500)]
[clang] Allow using std::coroutine_traits in std::experimental
This is that diff I was aiming for. When transitioning code from
coroutines-ts to c++20, it can be useful to add a using declaration to
std::experimental pointing to std::coroutine_traits. This permits
that use by checking whether lookup in std::experimentl finds a
different decl to lookup in std. You still get a warning about
std::experimental::coroutine_traits being a thing, just not an error.
Reviewed By: ChuanqiXu
Differential Revision: https://reviews.llvm.org/D115943
Philip Reames [Sun, 2 Jan 2022 19:37:06 +0000 (11:37 -0800)]
Precommit SCEV symbolic w.overflow exit tests
Dave Lee [Sun, 2 Jan 2022 03:30:08 +0000 (19:30 -0800)]
[lldb] Remove unused AproposAllSubCommands (NFC)
Philip Reames [Sun, 2 Jan 2022 19:27:18 +0000 (11:27 -0800)]
Autogen a SCEV test for ease of update
Florian Hahn [Sun, 2 Jan 2022 19:09:30 +0000 (19:09 +0000)]
[LV] Use Builder.CreateVectorReverse directly. (NFC)
IRBuilder::CreateVectorReverse already handles all cases required by
LoopVectorize. It can be used directly instead of reverseVector.
Kazu Hirata [Sun, 2 Jan 2022 18:20:23 +0000 (10:20 -0800)]
[clang] Remove redundant member initialization (NFC)
Identified with readability-redundant-member-init.
Kazu Hirata [Sun, 2 Jan 2022 18:20:21 +0000 (10:20 -0800)]
[wasm] Use nullptr instead of NULL (NFC)
Identified with modernize-use-nullptr.
Kazu Hirata [Sun, 2 Jan 2022 18:20:19 +0000 (10:20 -0800)]
Remove redundant void arguments (NFC)
Identified by modernize-redundant-void-arg.
Kazu Hirata [Sun, 2 Jan 2022 18:20:17 +0000 (10:20 -0800)]
Remove unused "using" (NFC)
Identified by misc-unused-using-decls.
Kazu Hirata [Sun, 2 Jan 2022 18:20:15 +0000 (10:20 -0800)]
[Target] Remove unused forward declarations (NFC)
Philip Reames [Sun, 2 Jan 2022 18:15:17 +0000 (10:15 -0800)]
[SCEV] Drop unused param from new version of computeExitLimitFromICmp [NFC]
Philip Reames [Sun, 2 Jan 2022 17:49:45 +0000 (09:49 -0800)]
[SCEV] Split computeExitLimitFromICmp into two versions [NFC]
This is in advance of a following change which needs to the non-icmp API.
Arthur O'Dwyer [Sun, 2 Jan 2022 17:49:55 +0000 (12:49 -0500)]
[libc++] [test] Remove an erroneously copy-paste in the hypot() tests. NFC.
Line 1140 is a duplicate of line 1119; it tests the two-argument version
of std::hypot, whereas all the lines in this section are supposed to be
testing the C++17 three-argument version. Remove the erroneous duplicated line.
Split out of D116295.
Philip Reames [Sun, 2 Jan 2022 17:25:19 +0000 (09:25 -0800)]
autogen unroll test for ease of futre update
Nathan Sidwell [Sat, 25 Dec 2021 18:29:58 +0000 (13:29 -0500)]
[clang] More informative mixed namespace diagnostics
First, let's check we get a TemplateDecl, before complaining about
where it might have been found.
Second, if it came from an unexpected place, show where that location is.
Reviewed By: ChuanqiXu
Differential Revision: https://reviews.llvm.org/D116164
Florian Hahn [Sun, 2 Jan 2022 12:24:13 +0000 (12:24 +0000)]
[VPlan] Don't consider VPWidenCanonicalIVRecipe phi-like.
VPWidenCanonicalIVRecipe does not create PHI instructions, so it does
not need to be placed in the phi section of a VPBasicBlock.
Also tidies the code so the WidenCanonicalIV recipe and the
compare/lane-masks are created in the header.
Discussed D113223.
Reviewed By: Ayal
Differential Revision: https://reviews.llvm.org/D116473
Markus Böck [Sun, 2 Jan 2022 11:06:54 +0000 (12:06 +0100)]
[clang][MinGW] Explicitly ignore `-fPIC` & friends
GCC on Windows ignores this flag completely [0] which some build systems sadly rely on when compiling for Windows using MinGW. The current behaviour of clang however is to error out as -fPIC & friends has no effect on Windows.
This patch instead changes the behaviour for MinGW to ignore the option for the sake of compatibility
Fixes https://github.com/llvm/llvm-project/issues/52947
[0] https://gcc.gnu.org/legacy-ml/gcc-patches/2015-08/msg00836.html
Differential Revision: https://reviews.llvm.org/D116485
Markus Böck [Sat, 1 Jan 2022 23:59:23 +0000 (00:59 +0100)]
[lld][MinGW] Ignore `--[no-]as-neeed` flags in MinGW driver
These flags are specific to ELF, but are still accepted by GNU ld, even if it does not do anything. This patch adds them as ignored option for the sake of compatibility.
Part of https://github.com/llvm/llvm-project/issues/52947
Differential Revision: https://reviews.llvm.org/D116484
Kazu Hirata [Sun, 2 Jan 2022 06:50:26 +0000 (22:50 -0800)]
[DebugInfo] Remove hasInterestingContent (NFC)
hasInterestingContent was introduced without a use on Sep 15, 2015 in
commit
e5162dba49890d9d436ea99d003c792897c9b880.
Kazu Hirata [Sun, 2 Jan 2022 06:50:24 +0000 (22:50 -0800)]
[CodeGen] Remove DisconnectedComponentsRenamed (NFC)
The last use was removed on May 31, 2016 in commit
f9acacaa928d7ba9db900c42893c244fb19714c4.
Kazu Hirata [Sun, 2 Jan 2022 06:05:16 +0000 (22:05 -0800)]
[AArch64] Remove unused constant NeonBitsPerVector (NFC)
Kazu Hirata [Sun, 2 Jan 2022 06:05:14 +0000 (22:05 -0800)]
[ADT] Remove ImmutableSet::foreach and ImmutableMap::foreach (NFC)
These functions seem to be unused for at least 1 year.
Craig Topper [Sun, 2 Jan 2022 03:53:52 +0000 (19:53 -0800)]
[RISCV] Prune unnecessary vector pseudo instructions. NFC
For .vf instructions, we don't need MF8 pseudos for f16. We don't
need MF8 or MF4 pseudos for f32. Or MF8, MF4, MF2 for f64.
Reviewed By: khchen
Differential Revision: https://reviews.llvm.org/D116437
Mehdi Amini [Sun, 2 Jan 2022 01:58:56 +0000 (01:58 +0000)]
Apply clang-tidy fixes for readability-simplify-boolean-expr to MLIR (NFC)
Reviewed By: rriddle, Mogball
Differential Revision: https://reviews.llvm.org/D116253
Mehdi Amini [Sun, 2 Jan 2022 01:55:30 +0000 (01:55 +0000)]
Apply clang-tidy fixes for readability-container-size-empty for MLIR (NFC)
Reviewed By: rriddle, Mogball
Differential Revision: https://reviews.llvm.org/D116252
Mehdi Amini [Sun, 2 Jan 2022 01:53:18 +0000 (01:53 +0000)]
Remove unused applyPad function from TosaToLinalg.cpp (NFC)
Mehdi Amini [Sun, 2 Jan 2022 01:50:43 +0000 (01:50 +0000)]
Apply clang-tidy fixes for readability-const-return-type to MLIR (NFC)
Reviewed By: rriddle, Mogball
Differential Revision: https://reviews.llvm.org/D116251
Mehdi Amini [Sun, 2 Jan 2022 01:26:44 +0000 (01:26 +0000)]
Apply clang-tidy fixes for performance-unnecessary-value-param to MLIR (NFC)
Reviewed By: Mogball
Differential Revision: https://reviews.llvm.org/D116250
Mehdi Amini [Sun, 2 Jan 2022 01:24:54 +0000 (01:24 +0000)]
Apply clang-tidy fixes for modernize-use-using to MLIR (NFC)
Reviewed By: rriddle, Mogball
Differential Revision: https://reviews.llvm.org/D116357
Mehdi Amini [Sun, 2 Jan 2022 01:22:19 +0000 (01:22 +0000)]
Apply clang-tidy fixes for modernize-use-override to MLIR (NFC)
Reviewed By: rriddle, jpienaar
Differential Revision: https://reviews.llvm.org/D116356
Mehdi Amini [Sun, 2 Jan 2022 01:21:01 +0000 (01:21 +0000)]
Apply clang-tidy fixes for llvm-qualified-auto to MLIR (NFC)
Reviewed By: rriddle, Mogball
Differential Revision: https://reviews.llvm.org/D116355
Mehdi Amini [Sun, 2 Jan 2022 01:18:41 +0000 (01:18 +0000)]
Apply clang-tidy fixes for bugprone-macro-parentheses to MLIR (NFC)
Reviewed By: rriddle, Mogball
Differential Revision: https://reviews.llvm.org/D116354
Mehdi Amini [Sun, 2 Jan 2022 01:11:13 +0000 (01:11 +0000)]
Apply clang-tidy fixes for performance-move-const-arg to MLIR (NFC)
Reviewed By: rriddle, Mogball
Differential Revision: https://reviews.llvm.org/D116249
Mehdi Amini [Thu, 23 Dec 2021 22:13:06 +0000 (22:13 +0000)]
Apply clang-tidy fixes for performance-for-range-copy to MLIR (NFC)
Differential Revision: https://reviews.llvm.org/D116248
Mehdi Amini [Thu, 23 Dec 2021 22:13:00 +0000 (22:13 +0000)]
Apply clang-tidy fixes for modernize-use-equals-default to MLIR (NFC)
Differential Revision: https://reviews.llvm.org/D116247
Mehdi Amini [Sat, 1 Jan 2022 21:31:24 +0000 (21:31 +0000)]
Apply clang-tidy fixes for bugprone-copy-constructor-init to MLIR (NFC)
Reviewed By: rriddle, Mogball
Differential Revision: https://reviews.llvm.org/D116245
Mehdi Amini [Wed, 29 Dec 2021 05:12:02 +0000 (05:12 +0000)]
Apply clang-tidy fixes for bugprone-argument-comment to MLIR (NFC)
Differential Revision: https://reviews.llvm.org/D116244
Mehdi Amini [Wed, 22 Dec 2021 00:18:47 +0000 (00:18 +0000)]
Enable a few clang-tidy checks in MLIR
The dry-run of clang-tidy on the codebase with these enable were
well receive, and the codebase is "clean" (or almost) with respect
to these right now.
Kazu Hirata [Sun, 2 Jan 2022 00:18:18 +0000 (16:18 -0800)]
[llvm] Remove redundant member initialization (NFC)
Identified with readability-redundant-member-init.
Mehdi Amini [Sat, 1 Jan 2022 21:19:31 +0000 (21:19 +0000)]
Move LinalgDetensorize pass option from .cpp file to the .td declaration (NFC)
Mehdi Amini [Sat, 1 Jan 2022 02:16:11 +0000 (02:16 +0000)]
Use const reference for diagnostic in callback (NFC)
This isn't a "small" struct, flagged by Coverity.
Kazu Hirata [Sat, 1 Jan 2022 21:14:59 +0000 (13:14 -0800)]
[lldb] Add NOLINT(modernize-use-nullptr)
thread_result_t is defined as unsigned on Windows.
This patch prevents clang-tidy from replacing 0 with nullptr.
Kazu Hirata [Sat, 1 Jan 2022 20:34:11 +0000 (12:34 -0800)]
Remove redundant string initialization (NFC)
Identified by readability-redundant-string-init.
David Green [Sat, 1 Jan 2022 20:08:45 +0000 (20:08 +0000)]
[ARM] Verify addressing immediates
This adds at extra check into ARMBaseInstrInfo::verifyInstruction to
verify the offsets used in addressing mode immediates using
isLegalAddressImm. Some tests needed fixing up as a result, adjusting
the opcode created from CMSE stack adjustments.
Differential Revision: https://reviews.llvm.org/D114939
Kazu Hirata [Sat, 1 Jan 2022 19:54:25 +0000 (11:54 -0800)]
[lldb] Use nullptr instead of 0 or NULL (NFC)
This is a re-submission of
24d240558811604354a8d6080405f6bad8d15b5c
without the hunks in HostNativeThreadBase.{h,cpp}, which break builds
on Windows.
Identified with modernize-use-nullptr.
Kazu Hirata [Sat, 1 Jan 2022 19:15:14 +0000 (11:15 -0800)]
Revert "[lldb] Use nullptr instead of 0 or NULL (NFC)"
This reverts commit
913457acf07be7f22d71ac41ad1076517d7f45c6.
It again broke builds on Windows:
lldb/source/Host/common/HostNativeThreadBase.cpp(37,14): error:
assigning to 'lldb::thread_result_t' (aka 'unsigned int') from
incompatible type 'std::nullptr_t'
Kazu Hirata [Sat, 1 Jan 2022 18:48:56 +0000 (10:48 -0800)]
[lldb] Use nullptr instead of 0 or NULL (NFC)
This is a re-submission of
24d240558811604354a8d6080405f6bad8d15b5c
without the hunk in HostNativeThreadBase.h, which breaks builds on
Windows.
Identified with modernize-use-nullptr.
Kazu Hirata [Sat, 1 Jan 2022 18:36:59 +0000 (10:36 -0800)]
[llvm] Use the default constructor for SDValue (NFC)
Nico Weber [Sat, 1 Jan 2022 18:35:54 +0000 (13:35 -0500)]
Revert "[lldb] Use nullptr instead of 0 or NULL (NFC)"
This reverts commit
24d240558811604354a8d6080405f6bad8d15b5c.
Breaks building on Windows:
../../lldb/include\lldb/Host/HostNativeThreadBase.h(49,36): error:
cannot initialize a member subobject of type 'lldb::thread_result_t'
(aka 'unsigned int') with an rvalue of type 'std::nullptr_t'
lldb::thread_result_t m_result = nullptr;
^~~~~~~
1 error generated.
Kazu Hirata [Sat, 1 Jan 2022 18:14:05 +0000 (10:14 -0800)]
[Target] Use range-based for loops (NFC)
Nuno Lopes [Sat, 1 Jan 2022 18:00:52 +0000 (18:00 +0000)]
[docs] Mark @llvm.sideeffect() as willreturn
Changed by https://reviews.llvm.org/D65455
John Ericson [Sat, 1 Jan 2022 17:51:16 +0000 (17:51 +0000)]
Set the path to the shared cmake modules based on the llvm directory
It’s still possible to build parts of the main llvm build (lld, clang etc) by symlinking them into llvm/tools.
Reviewed By: Ericson2314
Differential Revision: https://reviews.llvm.org/D116472
Kazu Hirata [Sat, 1 Jan 2022 17:14:25 +0000 (09:14 -0800)]
[Aarch64] Remove redundant declaration initializeSVEIntrinsicOptsPass (NFC)
The function is declared in AArch64.h.
Identified with readability-redundant-declaration.
Kazu Hirata [Sat, 1 Jan 2022 17:14:23 +0000 (09:14 -0800)]
[CodeGen] Remove redundant string initialization (NFC)
Identified with readability-redundant-string-init.
Kazu Hirata [Sat, 1 Jan 2022 17:14:21 +0000 (09:14 -0800)]
[IR] Remove redundant return statements (NFC)
Identified by readability-redundant-control-flow.
Kazu Hirata [Sat, 1 Jan 2022 17:14:19 +0000 (09:14 -0800)]
[mlir] Remove unused "using" (NFC)
Identified by misc-unused-using-decls.
Kazu Hirata [Sat, 1 Jan 2022 16:54:05 +0000 (08:54 -0800)]
[lldb] Use nullptr instead of 0 or NULL (NFC)
Identified with modernize-use-nullptr.
Kazu Hirata [Sat, 1 Jan 2022 16:45:35 +0000 (08:45 -0800)]
[Transforms] Remove unused forward declarations (NFC)
Florian Hahn [Tue, 28 Dec 2021 17:31:41 +0000 (18:31 +0100)]
[VPlan] Remove VPWidenPHIRecipe constructor without start value (NFC).
This was suggested as a separate cleanup in recent reviews.
Markus Böck [Sat, 1 Jan 2022 13:52:32 +0000 (14:52 +0100)]
[mlir][NFC] Fully qualify use of SmallVector in generated C++ code of mlir-tblgen
LLVM GN Syncbot [Sat, 1 Jan 2022 02:17:49 +0000 (02:17 +0000)]
[gn build] Port
2edcde00cb39
Mehdi Amini [Sat, 1 Jan 2022 02:01:41 +0000 (02:01 +0000)]
Pass the LLVMTypeConverter by reference in UnrankedMemRefBuilder (NFC)
This is a fairly large structure (952B according to Coverity), it was
already passed by reference in most places but not consistently.
Mehdi Amini [Sat, 1 Jan 2022 01:56:50 +0000 (01:56 +0000)]
Pass the LLVMTypeConverter by reference in MemRefBuilder (NFC)
This is a fairly large structure (952B according to Coverity), it was
already passed by reference in most places but not consistently.
Mehdi Amini [Sat, 1 Jan 2022 01:42:26 +0000 (01:42 +0000)]
Fix possible memory leak in a MLIR unit-test
Flagged by Coverity
Mehdi Amini [Sat, 1 Jan 2022 01:39:04 +0000 (01:39 +0000)]
Fix a few unitialized class members in MLIR (NFC)
Flagged by Coverity.
Craig Topper [Sat, 1 Jan 2022 01:29:57 +0000 (17:29 -0800)]
[SelectionDAG] Use KnownBits::countMinSignBits() to simplify the end of ComputeNumSignBits.
This matches what is done in ValueTracking.cpp
Reviewed By: RKSimon, foad
Differential Revision: https://reviews.llvm.org/D116423
Craig Topper [Sat, 1 Jan 2022 01:13:36 +0000 (17:13 -0800)]
[RISCV][LegalizeIntegerTypes] Teach PromoteSetCCOperands not to sext i32 comparisons for RV64 if the promoted values are already zero extended.
This is similar to what is done for targets that prefer zero extend
where we avoid using a zero extend if the promoted values are sign
extended.
We'll also check for zero extended operands for ugt, ult, uge, and ule when the
target prefers sign extend. This is different than preferring zero extend, where
we only check for sign bits on equality comparisons.
Reviewed By: RKSimon
Differential Revision: https://reviews.llvm.org/D116421
Mehdi Amini [Sat, 1 Jan 2022 01:14:27 +0000 (01:14 +0000)]
Remove redundant return after return in CodegenStrategy (NFC)
Reported by Coverity
Markus Böck [Sat, 1 Jan 2022 01:03:00 +0000 (02:03 +0100)]
[mlir][LLVMIR] Add `llvm.eh.typeid.for` intrinsic
MLIR already exposes landingpads, the invokeop and the personality function on LLVM functions. With this intrinsic it should be possible to implement exception handling via the exception handling mechanisms provided by the Itanium ABI.
Differential Revision: https://reviews.llvm.org/D116436
Kazu Hirata [Sat, 1 Jan 2022 00:50:18 +0000 (16:50 -0800)]
[AMDGPU] Remove unused declarations fold_exp* and fold_log* (NFC)
Kazu Hirata [Sat, 1 Jan 2022 00:43:06 +0000 (16:43 -0800)]
[AMDGPU] Remove replaceWithNative (NFC)
The function was introduced without any use on Aug 11, 2017 in commit
7f37794ebd2c6c36224597800e4d1e5a99ad80e9.
Kazu Hirata [Sat, 1 Jan 2022 00:06:19 +0000 (16:06 -0800)]
[X86] Remove unused declaration getTileStoreShape (NFC)
Kazu Hirata [Fri, 31 Dec 2021 23:17:25 +0000 (15:17 -0800)]
[Hexagon] Use range-based for loops (NFC)
Nuno Lopes [Fri, 31 Dec 2021 23:04:46 +0000 (23:04 +0000)]
fix test so it doesn't use nonnull assumes on non-pointers
The IR verifier should probably catch this. Alive2 did, though.
Kazu Hirata [Fri, 31 Dec 2021 22:10:30 +0000 (14:10 -0800)]
[CodeGen] Remove unused forward declarations (NFC)
Kazu Hirata [Fri, 31 Dec 2021 22:02:29 +0000 (14:02 -0800)]
[Scalar] Remove a redundant declaration (NFC)
InitializePasses.h contains the proper declaration.
Identified with readability-redundant-declaration.
Kazu Hirata [Fri, 31 Dec 2021 21:54:34 +0000 (13:54 -0800)]
[clang-tidy] Use nullptr instead of 0 or NULL (NFC)
Identified with modernize-use-nullptr.
Sanjay Patel [Fri, 31 Dec 2021 20:10:19 +0000 (15:10 -0500)]
[InstSimplify] fold or-nand-xor
~(A & B) | (A ^ B) --> ~(A & B)
https://alive2.llvm.org/ce/z/hXQucg
Sanjay Patel [Fri, 31 Dec 2021 20:06:23 +0000 (15:06 -0500)]
[InstSimplify] add tests for or-nand-xor; NFC
John Ericson [Sun, 4 Apr 2021 17:02:18 +0000 (13:02 -0400)]
[flang] Use `GNUInstallDirs` to support custom installation dirs.
Extracted from D99484. My new plan is to start from the outside and work
inward.
Reviewed By: stephenneuendorffer
Differential Revision: https://reviews.llvm.org/D115569
John Ericson [Thu, 30 Dec 2021 06:22:48 +0000 (06:22 +0000)]
[lld][CMake] Use `GNUInstallDirs` to support custom installation dirs
Extracted from D99484. My new plan is to start from the outside and work
inward.
Reviewed By: stephenneuendorffer
Differential Revision: https://reviews.llvm.org/D115568
Kazu Hirata [Fri, 31 Dec 2021 18:51:10 +0000 (10:51 -0800)]
[clang-tools-extra] Remove unused using (NFC)
Identified by misc-unused-using-decls.
Kazu Hirata [Fri, 31 Dec 2021 18:25:16 +0000 (10:25 -0800)]
[Analysis] Remove unused forward declarations (NFC)
Simon Tatham [Thu, 11 Feb 2021 11:11:55 +0000 (11:11 +0000)]
[ARM] Introduce an empty "armv8.8-a" architecture.
This is the first commit in a series that implements support for
"armv8.8-a" architecture. This should contain all the necessary
boilerplate to make the 8.8-A architecture exist from LLVM and Clang's
point of view: it adds the new arch as a subtarget feature, a definition
in TargetParser, a name on the command line, an appropriate set of
predefined macros, and adds appropriate tests. The new architecture name
is supported in both AArch32 and AArch64.
However, in this commit, no actual _functionality_ is added as part of
the new architecture. If you specify -march=armv8.8a, the compiler
will accept it and set the right predefines, but generate no code any
differently.
Differential Revision: https://reviews.llvm.org/D115694
Paul Walker [Fri, 24 Dec 2021 18:10:58 +0000 (18:10 +0000)]
[NFC][SVE] Minor reorder of some AArch64ISD nodes and ISel patterns.
Florian Hahn [Fri, 31 Dec 2021 13:19:03 +0000 (13:19 +0000)]
[LV] Turn check for unexpected VF into assertion (NFC).
VF should always be non-zero in widenIntOrFpInduction. Turn check into
assertion.
Random [Mon, 27 Dec 2021 13:12:26 +0000 (16:12 +0300)]
[MIPS] Add -mfix4300 flag to enable vr4300 mulmul bugfix pass
Early revisions of the VR4300 have a hardware bug where two consecutive
multiplications can produce an incorrect result in the second multiply.
This revision adds the `-mfix4300` flag to llvm (and clang) which, when
passed, provides a software fix for this issue.
More precise description of the "mulmul" bug:
```
mul.[s,d] fd,fs,ft
mul.[s,d] fd,fs,ft or [D]MULT[U] rs,rt
```
When the above sequence is executed by the CPU, if at least one of the
source operands of the first mul instruction happens to be `sNaN`, `0`
or `Infinity`, then the second mul instruction may produce an incorrect
result. This can happen both if the two mul instructions are next to each
other and if the first one is in a delay slot and the second is the first
instruction of the branch target.
Description of the fix:
This fix adds a backend pass to llvm which scans for mul instructions in
each basic block and inserts a nop whenever the following conditions are
met:
- The current instruction is a single or double-precision floating-point
mul instruction.
- The next instruction is either a mul instruction (any kind) or a branch
instruction.
Differential Revision: https://reviews.llvm.org/D116238
Jay Foad [Fri, 31 Dec 2021 11:27:15 +0000 (11:27 +0000)]
[AMDGPU] Regenerate checks for waitcnt-overflow.mir
Pavel Labath [Thu, 30 Dec 2021 14:29:00 +0000 (15:29 +0100)]
[lldb/qemu] Support setting arg0 of the debugged program
Just what it says on the box.
Craig Topper [Fri, 31 Dec 2021 08:22:52 +0000 (00:22 -0800)]
[RISCV] Use MxListW instead of MxList[0-5]. NFC
Better to use the named list instead of assuming the size of MxList.
Craig Topper [Fri, 31 Dec 2021 07:47:55 +0000 (23:47 -0800)]
[RISCV] Use defvar to simplify some code. NFC
Rather than wrapping a def around a list, we can just make a defvar
of the list.
wangpc [Fri, 31 Dec 2021 06:01:53 +0000 (14:01 +0800)]
[RISCV] Use constant pool for large integers
For large integers (for example, magic numbers generated by
TargetLowering::BuildSDIV when dividing by constant), we may
need about 4~8 instructions to build them.
In the same time, it just takes two instructions to load
constants (with extra cycles to access memory), so it may be
profitable to put these integers into constant pool.
Reviewed By: asb, craig.topper
Differential Revision: https://reviews.llvm.org/D114950
jacquesguan [Fri, 31 Dec 2021 02:59:24 +0000 (10:59 +0800)]
[RISCV] Fix incorrect cases of vmv.s.f in the VSETVLI insert pass.
Fix incorrect cases of vmv.s.f and add test cases for it.
Differential Revision: https://reviews.llvm.org/D116432
Stella Laurenzo [Fri, 31 Dec 2021 04:32:49 +0000 (20:32 -0800)]
[mlir] Allow IntegerAttr to parse zero width integers.
https://reviews.llvm.org/D109555 added support to APInt for this, so the special case to disable it is no longer valid. It is in fact legal to construct these programmatically today, and they print properly but do not parse.
Justification: zero bit integers arise naturally in various bit reduction optimization problems, and having them defined for MLIR reduces special casing.
I think there is a solid case for i0 and ui0 being supported. I'm less convinced about si0 and opted to just allow the parser to round-trip values that already verify. The counter argument is that the proper singular value for an si0 is -1. But the counter to this counter is that the sign bit is N-1, which does not exist for si0 and it is not unreasonable to consider this non-existent bit to be 0. Various sources consider it having the singular value "0" to be the least surprising.
Reviewed By: lattner
Differential Revision: https://reviews.llvm.org/D116413
Alexandre Ganea [Thu, 30 Dec 2021 15:33:25 +0000 (10:33 -0500)]
[asan] Additionnal prologue decoding for WinSDK 10.0.22000
Fixes interception of atoi() entry point.
Sam McCall [Mon, 2 Aug 2021 13:56:00 +0000 (15:56 +0200)]
[Sema] a[x] has type T when a has type T* or T[], even when T is dependent
This more precise type is useful for tools, e.g.
fixes https://github.com/clangd/clangd/issues/831
Differential Revision: https://reviews.llvm.org/D107275
Fangrui Song [Fri, 31 Dec 2021 00:08:26 +0000 (16:08 -0800)]
[ELF] Switch cNamedSections to SmallVector. NFC
Make it smaller
Craig Topper [Thu, 30 Dec 2021 23:27:45 +0000 (15:27 -0800)]
[LegalizeIntegerTypes] Rename NewLHS/NewRHS arguments to DAGTypeLegalizer::PromoteSetCCOperands. NFC
The 'New' only makes sense in the context of these being
output arguments, but they are also used as inputs first.
Drop the 'New' and just call them LHS/RHS.
Factored out of D116421.
Ellis Hoag [Thu, 30 Dec 2021 22:49:50 +0000 (14:49 -0800)]
[InstrProf] Mark counters as used in debug correlation mode
In debug info correlation mode we do not emit the data globals so we
need to explicitly mark the counter globals as used so they don't get
stripped.
Reviewed By: kyulee
Differential Revision: https://reviews.llvm.org/D115981