Ben Shi [Sun, 2 Apr 2023 04:35:43 +0000 (12:35 +0800)]
[LoongArch][NFC] Add tests of multiplication with immediates
Reviewed By: xen0n, SixWeining
Differential Revision: https://reviews.llvm.org/D147398
Yaxun (Sam) Liu [Mon, 6 Mar 2023 15:52:47 +0000 (10:52 -0500)]
[HIP] Supports env var HIP_PATH
Currently HIP toolchain recognize env var ROCM_PATH and option --rocm-path
but only recognize --hip-path.
Some package management tools e.g. Spack relies on env var HIP_PATH to
be able to load different version of HIP dynamically.
(https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/hip/package.py#L446)
Therefore add support of env var HIP_PATH.
Reviewed by: Artem Belevich, Fangrui Song
Differential Revision: https://reviews.llvm.org/D145391
Yaxun (Sam) Liu [Thu, 9 Mar 2023 20:41:54 +0000 (15:41 -0500)]
[HIP] clang should pass `-mno-amdgpu-ieee` to -cc1
Reviewed by: Artem Belevich
Differential Revision: https://reviews.llvm.org/D145721
Florian Hahn [Sun, 2 Apr 2023 11:33:43 +0000 (12:33 +0100)]
[Loads] Support SCEVAddExpr as start for pointer AddRec.
Extend handling to support `%base + offset` as start for AddRecs in
isDereferenceableAndAlignedInLoop. This is done by adjusting AccessSize
by the offset and effectively checking if the full object starting from
%base to %base + offset + access-size is dereferenceable.
Reviewed By: nikic
Differential Revision: https://reviews.llvm.org/D147260
Richard Smith [Sun, 2 Apr 2023 08:11:30 +0000 (01:11 -0700)]
Stop modifying trailing return types.
This change reverts the functional change from D144626 but retains its
test. Instead of dealing with the possibility that a trailing requires
clause might have been rewritten into some other incorrect form, just
stop rewriting it.
No functionality changes intended.
Reviewed By: erichkeane, ChuanqiXu
Differential Revision: https://reviews.llvm.org/D147281
Jie Fu [Sun, 2 Apr 2023 08:30:33 +0000 (16:30 +0800)]
[mlir][flang] Fix -Wunused-result after D146785 (NFC)
/data/llvm-project/mlir/examples/toy/Ch4/toyc.cpp:119:5: error: ignoring return value of function declared with 'nodiscard' attribute [-Werror,-Wunused-result]
applyPassManagerCLOptions(pm);
^~~~~~~~~~~~~~~~~~~~~~~~~ ~~
1 error generated.
/data/llvm-project/flang/lib/Frontend/FrontendActions.cpp:669:3: error: ignoring return value of function declared with 'nodiscard' attribute [-Werror,-Wunused-result]
mlir::applyPassManagerCLOptions(pm);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~
1 error generated.
Alvin Wong [Sat, 1 Apr 2023 18:16:07 +0000 (02:16 +0800)]
[asan][test][win] Make report_after_syminitialize test less brittle
Instead of relying on one of the two commands failing on MinGW target,
just use the `%if` conditional substitution feature from lit, which is
much less brittle.
Amends
5888a47914f44ffaf102fcb7afd3500706fe753f
Differential Revision: https://reviews.llvm.org/D147382
Joshua Cao [Sun, 2 Apr 2023 07:19:49 +0000 (00:19 -0700)]
[LoopInterchange] Add GEP with 3 indices test for pr57148
Motivated by https://reviews.llvm.org/D147117. Need a test with
BackedgeTakenCount=False and a 3 index GEP.
Kai Sasaki [Sun, 2 Apr 2023 06:39:27 +0000 (15:39 +0900)]
[mlir] Catch the case using ir print without disabling multithread
-mlir-print-ir-module-scope option cannot be used without disabling multithread for pass manager. For the usability, we can throw a validation error in mlir-opt instead of assertion failure.
Issue: https://github.com/llvm/llvm-project/issues/61578
Reviewed By: mehdi_amini
Differential Revision: https://reviews.llvm.org/D146785
Min-Yih Hsu [Mon, 27 Mar 2023 17:27:27 +0000 (10:27 -0700)]
[M68k] Add support for lowering atomic fence
Ideally we want to lower ATOMIC_FENCE into `__sync_synchronize`.
However, libgcc doesn't implement that builtin as GCC simply generates an
inline assembly barrier whenever there needs to be a fence.
We use a similar way to lower ATOMIC_FENCE.
Differential Revision: https://reviews.llvm.org/D146996
Jon Phillips [Sun, 2 Apr 2023 02:21:41 +0000 (19:21 -0700)]
[clang-format][NFC] Refactor unit tests for "LambdaBodyIndentation: OuterScope"
Differential Revision: https://reviews.llvm.org/D146995
Craig Topper [Sun, 2 Apr 2023 01:53:19 +0000 (18:53 -0700)]
[RISCV] Add special case for i32 uaddo X, -1 on RV64.
uaddo X, -1 over flows if X is non-zero.
Matches what we do i32 uaddo X, -1 on RV32.
Fixes #61891.
Craig Topper [Sun, 2 Apr 2023 01:49:30 +0000 (18:49 -0700)]
[RISCV] Add i32 uaddo X, -1 test case. NFC
Craig Topper [Sat, 1 Apr 2023 22:40:53 +0000 (15:40 -0700)]
[TableGen] Move some vectors into place instead of copying them.
Roy Jacobson [Sat, 11 Mar 2023 16:39:33 +0000 (18:39 +0200)]
[Clang][AST] Fix __has_unique_object_representations computation for unnamed bitfields.
As pointed out in https://github.com/llvm/llvm-project/issues/61336, objects with
unnamed bitfields aren't be uniquely representable.
Reviewed By: shafik, Endill
Differential Revision: https://reviews.llvm.org/D145852
Peter Klausler [Sat, 1 Apr 2023 21:05:06 +0000 (14:05 -0700)]
[flang][docs] Document module name extension
Add an entry to the Extensions document describing how we
don't care about conflicts between module names and non-global
items. (This is a case where it would be a nontrivial amount
of work to catch an "error" that is only a standard conformance
issue, not anything that would prevent a program from working.)
Differential Revision: https://reviews.llvm.org/D147387
Peter Klausler [Tue, 28 Mar 2023 20:38:44 +0000 (13:38 -0700)]
[flang] Fix checks for USE-associated UDDTIO & their character argument kinds
Call GetUltimate() before checking a user-defined derived type I/O specific
procedure so that the checks work on a USE-associated procedure. And
require their character arguments to have the default CHARACTER kind.
Differential Revision: https://reviews.llvm.org/D147386
Simon Pilgrim [Sat, 1 Apr 2023 20:53:03 +0000 (21:53 +0100)]
[X86] vector-compare-any_of.ll - add AVX1OR2 check-prefix and make AVX a common check-prefix
Simon Pilgrim [Sat, 1 Apr 2023 19:28:25 +0000 (20:28 +0100)]
[X86] combinePTESTCC - fold TESTC(X,~X) -> TESTC(X,-1)
Partial fix for Issue #59998
Simon Pilgrim [Sat, 1 Apr 2023 19:19:27 +0000 (20:19 +0100)]
[X86] Add test showing failure to fold testc(X,~X) -> testc(X,-1)
Carlos Galvez [Sat, 1 Apr 2023 15:14:22 +0000 (15:14 +0000)]
[clang-tidy] Disable misc-definitions-in-headers for declarations in anonymous namespaces
Anonymous namespaces are another way of providing internal linkage,
and the check already ignores other cases of internal linkage in
headers, via "static" or "const".
Anonymous namespaces in headers are definitely a source of pitfalls,
but it's not the responsibility of this check to cover that. Instead,
google-build-namespaces will specifically warn about this issue.
Fixes https://github.com/llvm/llvm-project/issues/61471
Differential Revision: https://reviews.llvm.org/D147379
Simon Pilgrim [Sat, 1 Apr 2023 17:45:53 +0000 (18:45 +0100)]
[X86] combineSetCCMOVMSK - fold PTEST(XOR(X,Y),XOR(X,Y)) instead of PTEST(SUB(X,Y),SUB(X,Y))
Consistently use the PTEST(XOR(X,Y),XOR(X,Y)) pattern for all-vector comparisons
sstwcw [Sat, 1 Apr 2023 17:10:06 +0000 (17:10 +0000)]
[clang-format] Handle Verilog struct literals
Previously `isVerilogIdentifier` was mistaking the apostrophe used in
struct literals as an identifier. It is fixed.
Reviewed By: HazardyKnusperkeks, owenpan
Differential Revision: https://reviews.llvm.org/D147329
sstwcw [Sat, 1 Apr 2023 17:08:31 +0000 (17:08 +0000)]
[clang-format] Handle enum in Verilog
Verilog has enum just like C.
Reviewed By: HazardyKnusperkeks, owenpan, MyDeveloperDay
Differential Revision: https://reviews.llvm.org/D147328
Alvin Wong [Tue, 28 Mar 2023 09:03:10 +0000 (17:03 +0800)]
[asan][test] Fix tests or mark XFAIL for MinGW target
After this change, `check-asan-dynamic` should pass on x86_64 MinGW
target, using the llvm-mingw toolchain.
The following is a list of issues fixed:
* `asan_str_test.cpp`: Exclude unintercepted functions on MinGW.
* `asan_test.cpp`: Work around regex limitation of gtest on Windows,
which only affects MinGW target because `long double` has different
size to `double`.
* `TestCases/Windows/report_after_syminitialize.cpp`: Added build
command specifically for MinGW.
* Other tests: Mark XFAIL for various reasons. Some of them need
further investigation.
Differential Revision: https://reviews.llvm.org/D147059
Alvin Wong [Thu, 30 Mar 2023 11:21:56 +0000 (19:21 +0800)]
[asan][test] Fix `TestCases/alloca_*` ptr-to-long cast on Windows
64-bit Windows uses 32-bit long so these casts fail to compile with the
error "cast from pointer to smaller type". Change to instead use
uintptr_t like other tests.
Differential Revision: https://reviews.llvm.org/D147232
Alvin Wong [Mon, 27 Mar 2023 14:48:17 +0000 (22:48 +0800)]
[compiler-rt][asan][test] Fix lit test config on MinGW
MinGW is GCC-like and does not support clang-cl, so clean up the lit cfg
to reflect that. Also mark all Windows test cases using clang-cl as
UNSUPPORTED for now. We should probably adapt most of these test cases
to use the GCC-like clang driver, but that will be for later.
Differential Revision: https://reviews.llvm.org/D147057
Simon Pilgrim [Sat, 1 Apr 2023 16:16:31 +0000 (17:16 +0100)]
[X86] LowerVectorAllEqual - handle i64 comparisons on 32-bit targets
Cyndy Ishida [Sat, 1 Apr 2023 15:28:48 +0000 (08:28 -0700)]
[llvm][TextAPI] only compare deployment version for InterfaceFile.
Simon Pilgrim [Sat, 1 Apr 2023 15:37:28 +0000 (16:37 +0100)]
[X86] MatchVectorAllEqualTest - support for sub-128-bit vector icmp(and/or(extract(X,0),extract(X,1)),-1/0) reduction patterns
LowerVectorAllEqual already has full support for this
Simon Pilgrim [Sat, 1 Apr 2023 15:29:54 +0000 (16:29 +0100)]
[X86] MatchVectorAllEqualTest - add support for icmp(and(extract(X,0),extract(X,1)),-1) allof reduction patterns
Simon Pilgrim [Sat, 1 Apr 2023 15:09:52 +0000 (16:09 +0100)]
[X86] Add vector-reduce-and-scalar.ll to test and(extract(v,0),extract(v,1)) style reduction patterns
Aaron Ballman [Sat, 1 Apr 2023 14:49:59 +0000 (10:49 -0400)]
Revert "AMDGPU: Created a subclass for the return address operand in the tail call return instruction"
This reverts commit
7a98934fadc3581ff024a77dc696b62f1a538ad5.
This appears to have broken several bots, including:
https://lab.llvm.org/buildbot/#/builders/42/builds/9472
Simon Pilgrim [Sat, 1 Apr 2023 14:38:38 +0000 (15:38 +0100)]
[X86] MatchVectorAllEqualTest - add support for icmp(reduce_and(X),-1) allof reduction patterns
Also, improve codegen in LowerVectorAllEqual for X == -1 cases to reduce over sized vector using a AND reduction
Simon Pilgrim [Sat, 1 Apr 2023 14:19:56 +0000 (15:19 +0100)]
[X86] Add AVX1OR2 common check-prefix to vector-reduce-and-cmp.ll and vector-reduce-or-cmp.ll
Emilia Dreamer [Sat, 1 Apr 2023 13:51:10 +0000 (16:51 +0300)]
[clang-format] Don't format typename template parameters as expression
bb4f6c4dca98a47054117708015bb2724256ee83 made it so that template
parameter defaults are seen akin to assignments and formatted as
expressions, however, the patch did this for all template parameters,
even for `typename` template parameters.
This patch formats `typename` and `class` template parameters as types.
Fixes https://github.com/llvm/llvm-project/issues/61841
Reviewed By: HazardyKnusperkeks, owenpan, MyDeveloperDay
Differential Revision: https://reviews.llvm.org/D147318
Simon Pilgrim [Sat, 1 Apr 2023 13:28:41 +0000 (14:28 +0100)]
[X86] Add AVX512F test coverage to vector-reduce-and-cmp.ll and vector-reduce-or-cmp.ll
Simon Pilgrim [Sat, 1 Apr 2023 12:58:14 +0000 (13:58 +0100)]
[X86] vector-reduce-and-cmp.ll - and reductions should compare against -1 not 0 for allof style comparisons
Fix tests so we actually test what was intended to complement vector-reduce-or-cmp.ll - this was a copy+paste typo from the vector-reduce-or-cmp.ll file (where we should compare against 0) - comparing reduce_and against 0 doesn't tell us much (other than no common set bits).
Sergei Barannikov [Sat, 1 Apr 2023 11:23:55 +0000 (14:23 +0300)]
[compiler-rt] Quote multiple warning flags in check_cxx_compiler_flag invocation
Without this all checks fail because CMake passes the flags
like this:
`... -nodefaultlibs -D-Warray-bounds -Werror -std=c++17 ...`
Note the `-D` before the `-W`.
Reviewed By: ahatanak
Differential Revision: https://reviews.llvm.org/D146920
Simon Pilgrim [Sat, 1 Apr 2023 12:27:11 +0000 (13:27 +0100)]
[PhaseOrdering] Add test case for Issue #61061
Ben Shi [Sat, 1 Apr 2023 02:42:09 +0000 (10:42 +0800)]
[LoongArch] Optimize multiplication with immediates
Optimize multiplication with some specific immediates to
a pair of `alsl`.
Reviewed By: xen0n, SixWeining
Differential Revision: https://reviews.llvm.org/D147305
Ben Shi [Fri, 31 Mar 2023 04:02:28 +0000 (12:02 +0800)]
[LoongArch][NFC] Add tests of multiplication with immediates (for D147305)
Reviewed By: SixWeining
Differential Revision: https://reviews.llvm.org/D147304
Simon Pilgrim [Sat, 1 Apr 2023 10:08:13 +0000 (11:08 +0100)]
[X86] Refactor MatchVectorAllZeroTest -> MatchVectorAllEqualTest
Refactor MatchVectorAllZeroTest to work with allof/anyof/noneof comparisons with -1 as well as 0, and use it handle icmp(bitcast(icmp_eq(X,Y)),-1) reduction patterns.
We're still missing test coverage for other other reduction types, so have kept these limited to icmp X,0 for now.
Shoaib Meenai [Sat, 1 Apr 2023 09:22:17 +0000 (02:22 -0700)]
[asan] Fix Darwin runtimes compilation
It was failing because of size_t being unknown. I was going to just pull
in stddef.h, but the callback using size_t is only used for Linux and
NetBSD, so limit its definition to those platforms as well.
Hristo Hristov [Sun, 26 Mar 2023 09:00:18 +0000 (12:00 +0300)]
[libc++][spaceship[NFC] P1614R2 `operator<=>` moves misplaced tests to correct location
P1614R2:
- Moved misplaced tests from `libcxx/test/libcxx` to `libcxx/test/std`
- Updated status page `SpaceshipProjects.csv`: `operator<=>` implementation status
Related docs:
- https://eel.is/c++draft/
- https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1614r2.html
Reviewed By: #libc, philnik
Differential Revision: https://reviews.llvm.org/D146902
Phoebe Wang [Sat, 1 Apr 2023 06:20:01 +0000 (14:20 +0800)]
[Windows SEH] Fix catch+return crash for Windows -EHa
This change also turns on -fasync-exceptions by default under -EHa
option due to the backend patch merged.
Reviewed By: LuoYuanke
Differential Revision: https://reviews.llvm.org/D147165
Kazu Hirata [Sat, 1 Apr 2023 06:50:17 +0000 (23:50 -0700)]
[Scalar] Use SmallPtrSet::contains (NFC)
Craig Topper [Sat, 1 Apr 2023 06:35:43 +0000 (23:35 -0700)]
[TableGen] Simplify some code. NFC
This code was creating 1 entry or 0 entry std::array to pass to
to ArrayRef arguments. ArrayRef has a constructor from a single
object and we can use std::nullopt for an empty ArrayRef.
Craig Topper [Sat, 1 Apr 2023 05:54:10 +0000 (22:54 -0700)]
[TableGen] Reduce code duplication. NFC
Yi Kong [Fri, 31 Mar 2023 08:07:47 +0000 (16:07 +0800)]
[BOLT][NFC] Simplify code using std::optional
Use std::optional instead of tracking if it is the first profile seen.
Differential Revision: https://reviews.llvm.org/D147308
Ben Shi [Fri, 31 Mar 2023 09:59:31 +0000 (17:59 +0800)]
[RISCV][NFC] Simplify PatFrag mul_const_oneuse
Reviewed By: craig.topper
Differential Revision: https://reviews.llvm.org/D147309
Sanjeet Karan Singh [Sat, 1 Apr 2023 03:36:34 +0000 (20:36 -0700)]
asan_memory_profile: Fix for deadlock in memory profiler code.
Wrapping stopTheWorld in dl_iterate_phdr acquire dl_load lock before
calling the function. Acquiring dl_load, allocator and thread registry
locks before calling stopTheWorld ensures no other threads are holding
that locks, we can safely suspend them and reenter in tracer thread.
LockStuffAndStopTheWorld's logic here is same as lsan's implementation
of this function.
Reviewed By: vitalybuka
Differential Revision: https://reviews.llvm.org/D146990
Lang Hames [Sat, 1 Apr 2023 03:31:16 +0000 (20:31 -0700)]
[ORC][MachO] __objc_imageinfo isn't a MachO "object platform section".
Commit
2666231d173 fixed a typo ("__objc_image_info" was corrected to
"__objc_imageinfo"), but this has exposed a bug where we were adding this
section to the list of platform sections to register with the ORC runtime.
The ORC runtime's MachO "object platform section" code doesn't recognize
this section (it's handled elsewhere) and errors out on it.
The solution is simply to remove __objc_imageinfo from the list of sections
to register in MachOPlatform::PlatformPlugin::registerObjectPlatformSections.
Lang Hames [Sat, 1 Apr 2023 02:27:01 +0000 (19:27 -0700)]
[ORC] Prefer SectionRange::getRange convenience method.
Lang Hames [Sat, 1 Apr 2023 01:56:20 +0000 (18:56 -0700)]
[ORC] Remove more unnecessary ExecutorAddr::getValue calls.
Lang Hames [Sat, 1 Apr 2023 00:51:01 +0000 (17:51 -0700)]
[ORC] Remove redundant ExecutorAddr temporaries.
Most ORC APIs work with ExecutorAddr by default since
8b1771bd9f3, so we don't
need to wrap these values in ExecutorAddr(...) calls any more.
Peter Rong [Tue, 13 Dec 2022 00:33:19 +0000 (16:33 -0800)]
[FuzzMutate] introduce vector operations, select and fneg into InstInjectorStrategy
Reviewed By: arsenm
Differential Revision: https://reviews.llvm.org/D139894
Brad Smith [Sat, 1 Apr 2023 00:21:12 +0000 (20:21 -0400)]
[OHOS] Remove redundant IsIntegratedAssemblerDefault. NFC
It is already enabled.
Owen Pan [Wed, 29 Mar 2023 04:59:05 +0000 (21:59 -0700)]
[clang-format] Add MinDigits suboptions to IntegerLiteralSeparator
Closes #61209.
Differential Revision: https://reviews.llvm.org/D147111
Lang Hames [Sat, 1 Apr 2023 00:07:19 +0000 (17:07 -0700)]
[ORC] Simplify some ExecutorAddr uses by removing getValue and formatv.
Nico Weber [Sat, 1 Apr 2023 00:10:48 +0000 (20:10 -0400)]
[gn] Port
a52054cfa29d more
Nico Weber [Sat, 1 Apr 2023 00:08:26 +0000 (20:08 -0400)]
Cyndy Ishida [Fri, 31 Mar 2023 23:20:40 +0000 (16:20 -0700)]
[llvm][TextAPI] compare deployment versions for equality check
V Donaldson [Fri, 31 Mar 2023 16:36:16 +0000 (09:36 -0700)]
[flang] IO condition specfier control flow
Execution of a statement such as
read(internal,*,err=666,iostat=stat) k
that terminates with an END or EOR condition must not take the ERR branch.
Jonas Devlieghere [Fri, 31 Mar 2023 23:27:04 +0000 (16:27 -0700)]
[dsymutil] Disable 'auto' verification as the default
Don't make 'auto' verification the default when assertions or expensive
checks are enabled while I investigate the test failures on the bots.
Aiden Grossman [Fri, 31 Mar 2023 23:22:15 +0000 (23:22 +0000)]
[llvm-mc] Fix line_end_with_space.test
Currently, this test doesn't test what it was originally intended to
(that lvm-mc doesn't crash when disassembling a line that ends with a
space). This patch readds the space to the input so that this
functionality is actually tested and adds a comment describing what the
test does. The space seems to have been inadvertently removed in
c8d578311473fceb50579906658b0c017ef5b193 and then never added back
in.
Reviewed By: MaskRay
Differential Revision: https://reviews.llvm.org/D147207
Owen Pan [Fri, 31 Mar 2023 03:16:52 +0000 (20:16 -0700)]
[clang-format] Don't misannotate left squares as lambda introducers
A left square can start a lambda only if it's not preceded by an
identifier other than return and co-wait/co-yield/co-return.
Fixes #54245.
Fixes #61786.
Differential Revision: https://reviews.llvm.org/D147295
Dave Lee [Thu, 8 Dec 2022 18:31:16 +0000 (10:31 -0800)]
[clang] Set ShowInSystemHeader for module-build and module-import remarks
Without this change, the use of `-Rmodule-build` and `-Rmodule-import` only
produces diagnostics for modules built or imported by non-system code.
For example, if a project source file requires the Foundation module to be
built, then `-Rmodule-build` will show a single diagnostic for Foundation, but
not in turn for any of Foundation's (direct or indirect) dependencies. This is
because the locations of those transitive module builds are initiated from
system headers, which are ignored by default. When wanting to observe module
building/importing, the system modules can represent a significant amount of
module diagnostics, and I think should be shown by default when
`-Rmodule-build` and `-Rmodule-import` are specified.
I noticed some other remarks use `ShowInSystemHeader`.
Differential Revision: https://reviews.llvm.org/D139653
Peiming Liu [Fri, 31 Mar 2023 21:17:57 +0000 (21:17 +0000)]
[mlir][sparse] support sparse bufferization.alloc_tensor with copy argument.
Reviewed By: aartbik
Differential Revision: https://reviews.llvm.org/D147358
Min-Yih Hsu [Fri, 31 Mar 2023 21:46:39 +0000 (14:46 -0700)]
[M68k] Add AssemblerPredicate to existing `AtLeast680x0` predicates
And refactor how `AtLeast680x0` are defined. This is essentially NFC.
Alex Langford [Fri, 31 Mar 2023 21:42:49 +0000 (14:42 -0700)]
[debugserver] Fix ARM64 logs
DNBArchImplARM64.cpp had a ton of logs referring to DNBArchMachARM and
one log referring to DNBArchMachX86_64. I've changed these all to ARM64.
Jonas Devlieghere [Fri, 31 Mar 2023 21:23:56 +0000 (14:23 -0700)]
[dsymutil] Remove spurious newline in warning
Remove spurious newline at the end of the warning about not being able
to open a binary.
Alexey Bataev [Fri, 31 Mar 2023 19:29:45 +0000 (12:29 -0700)]
[SLP]Fix PR61835: Assertion `I->use_empty() && "trying to erase
instruction with users."' failed.
If the externally used scalar is part of the tree and is replaced by
extractelement instruction, need to add generated extractelement
instruction to the list of the ExternallyUsedValues to avoid deletion
during vectorization.
Md Abdullah Shahneous Bari [Fri, 31 Mar 2023 21:02:25 +0000 (14:02 -0700)]
[mlir][spirv] Add OpExtension "SPV_INTEL_bfloat16_conversion"
Add Intel-specific "SPV_INTEL_bfloat16_conversion" extension and
capability (Bfloat16ConversionINTEL), and
two ops (OpConvertFToBF16INTEL, OpConvertBF16ToFINTEL)
that are introduced by this extension.
These ops allow BF16 to Float conversion and vice-versa.
Reference Specification:
https://github.com/KhronosGroup/SPIRV-Registry/blob/main/extensions/INTEL/SPV_INTEL_bfloat16_conversion.asciidoc
Reviewed By: antiagainst
Differential Revision: https://reviews.llvm.org/D147087
Florian Hahn [Fri, 31 Mar 2023 20:50:39 +0000 (21:50 +0100)]
[LV] Improve test added in
74dee4791a2.
Adjust test so it triggers a case missed in the original version
of D147260.
Alex Langford [Tue, 28 Mar 2023 21:00:13 +0000 (14:00 -0700)]
[lldb] Move ObjectFileJIT to lldbExpression
In the spirit of not having lldbExpression rely on plugins, this move
makes the most sense. ObjectFileJIT is not really a "plugin" in the
sense that without it, expression evaluation doesn't work at all. This
is different than something like ObjectFileELF where lldb can still
technically debug non-ELF targets without it. For that reason, moving
ObjectFileJIT into Expression where it will be used in conjunction with
IRExecutionUnit makes the most sense.
Differential Revision: https://reviews.llvm.org/D147084
Mingming Liu [Fri, 31 Mar 2023 04:55:41 +0000 (21:55 -0700)]
[AutoFDO]Merge called target in body samples when flattening profiles
- Body samples could have call targets, merge them as well.
Differential Revision: https://reviews.llvm.org/D147297
Florian Hahn [Fri, 31 Mar 2023 20:15:13 +0000 (21:15 +0100)]
[LV] Add test with predicated load where EltSize % Align != 0.
Craig Topper [Fri, 31 Mar 2023 20:08:10 +0000 (13:08 -0700)]
[RISCV] Add named constants for rounding mode to tablegen. NFC
Instead of hardcoding the values, uses name constants to improve
readability.
Reviewed By: asb
Differential Revision: https://reviews.llvm.org/D147352
Craig Topper [Fri, 31 Mar 2023 20:06:26 +0000 (13:06 -0700)]
[RISCV] Collapse loadfp32imm/loadfp64imm/loadfp16imm to a single Operand in tablegen
They were identical except for the type passed to Operand, but
I don't think that type is used for anything with the way its
being used today.
Simon Pilgrim [Fri, 31 Mar 2023 20:09:57 +0000 (21:09 +0100)]
[X86] vector-reduce-and-bool.ll - add AVX1OR2 check-prefix and make AVX a common check-prefix
Simon Pilgrim [Fri, 31 Mar 2023 19:54:22 +0000 (20:54 +0100)]
[X86] vector-compare-all_of.ll - add AVX1OR2 check-prefix and make AVX a common check-prefix
Joseph Huber [Fri, 31 Mar 2023 17:26:56 +0000 (12:26 -0500)]
[OpenMP] Add CMake option to disable `libarcher` support
The support for `libarcher` can sometimes cause problems when running
tests or building. We want an option to turn this off when we are not
directly testing `libarcher`.
Reviewed By: jplehr
Differential Revision: https://reviews.llvm.org/D147343
Philip Reames [Fri, 31 Mar 2023 19:41:21 +0000 (12:41 -0700)]
{tests] Rerun autogen to reduce a diff [nfc]
Siva Chandra Reddy [Fri, 31 Mar 2023 19:36:18 +0000 (19:36 +0000)]
[libc][Obvious] Add a missing dep and fix an incorrect dep.
Jun Sha (Joshua) [Fri, 31 Mar 2023 19:15:05 +0000 (12:15 -0700)]
[RISCV] Fix Zfa fceil/ffloor codegen bugs
D143982 confused ceil and floor. Ceil should use fround instructions with 'rup' and floor should use 'rdn'.
Differential Revision: https://reviews.llvm.org/D146516
Craig Topper [Fri, 31 Mar 2023 18:57:31 +0000 (11:57 -0700)]
[RISCV] Fix formatting in RISCVInstrInfoZfa.td. NFC
Extracted from D146516.
Haowei Wu [Fri, 31 Mar 2023 18:27:18 +0000 (11:27 -0700)]
Revert "[Assignment Tracking] Enable by default"
This reverts commit
aa32490bfe0b957c4f5583e14304f5e34b2b9bce, which
breaks llvm runtimes builds on armv7 linux.
Lang Hames [Fri, 31 Mar 2023 04:57:03 +0000 (21:57 -0700)]
[ORC] Fix a typo in __objc_imageinfo section name.
Lang Hames [Fri, 31 Mar 2023 04:53:35 +0000 (21:53 -0700)]
[JITLink] Fix bug in LinkGraph::createMutableContentBlock overload.
Creating zero-filled blocks should use allocateBuffer to allocate the block's
content buffer, rather than allocateContent. (allocateContent interpreted what
would have been the size argument as a single-element ArrayRef and allocated a
single byte).
Simon Pilgrim [Fri, 31 Mar 2023 17:35:31 +0000 (18:35 +0100)]
[DAG] Add SelectionDAG::SplitScalar helper
Similar to the existing SelectionDAG::SplitVector helper, this helper creates the EXTRACT_ELEMENT nodes for the LO/HI halves of the scalar source.
Differential Revision: https://reviews.llvm.org/D147264
Benjamin Kramer [Fri, 31 Mar 2023 17:31:25 +0000 (19:31 +0200)]
[bazel] Add missing dependency after
9884eb149e612
Jez Ng [Fri, 31 Mar 2023 17:19:48 +0000 (13:19 -0400)]
[lld-macho] Gate category checking behind --check-category-conflicts
@oontvoo reports that the current implementation crashes on a bunch of
their builds. Let's leave it disabled by default for now.
Reviewed By: #lld-macho, oontvoo
Differential Revision: https://reviews.llvm.org/D147341
wlei [Fri, 31 Mar 2023 17:15:51 +0000 (10:15 -0700)]
Fix a missing checksum field
Leonard Chan [Fri, 31 Mar 2023 17:03:18 +0000 (17:03 +0000)]
"Reland "[hwasan] Provide aliases for c allocation functions for Fuchsia"
This reverts commit
7b6c0ce9c6c1e2cc3076e787e0e8d9a43bc2bfcc.
See if this works on the android builder this time by keeping the
original WRAP declaration.
Guozhi Wei [Fri, 31 Mar 2023 16:58:41 +0000 (16:58 +0000)]
[AARCH64] Enable STORE of v4i8 to help more vectorization opportunities
For the attached test case, currently llvm generates instructions to load/or/store the bytes one by one. Although NEON doesn't support v4i8 natively, we can promote it to v4i16 and operate on v4i16 vectors. So this patch override getStoreMinimumVF and specify the minimum VF for i8 vector is v4i8.
Differential Revision: https://reviews.llvm.org/D145614
Jonas Devlieghere [Fri, 31 Mar 2023 16:45:06 +0000 (09:45 -0700)]
[dsymutil] Add a new automatic verification mode
This patch a new verification mode called "auto" that runs the DWARF
verifier on the input and if the input is valid, also runs the DWARF
verifier on the output. The goal is to catch cases where dsymutil turns
valid DWARF into invalid DWARF. This patch makes this verification mode
the default when assertions or expensive checks are enabled.
Differential revision: https://reviews.llvm.org/D147203
Ben Langmuir [Thu, 30 Mar 2023 22:47:53 +0000 (15:47 -0700)]
[clang][deps] Remove -coverage-data-file and -coverage-notes-file from modules
When not performing codegen, we can strip the coverage-data-file and
coverage-notes-file options to improve canonicalization.
rdar://
107443796
Differential Revision: https://reviews.llvm.org/D147282
Jonas Devlieghere [Fri, 31 Mar 2023 00:43:18 +0000 (17:43 -0700)]
[dwarfdump] Fix .debug_line verification for DWARF 5
DWARF 5 uses a 0-based index while previous versions use a 1-based
index. Fix the verifier and add a test.
Differential revision: https://reviews.llvm.org/D147202
Oleg Shyshkov [Thu, 30 Mar 2023 21:18:21 +0000 (23:18 +0200)]
[mlir][scf] Create constants for tiling in parent with isolated region.
FuncOp is IsolatedFromAbove, so this change doesn't alter current behaviour, but the current code fails if the tile op is in an op with IsolatedFromAbove trait.
An alternative would be to create constant in the same region where they're used a rely on CSE to figure out where to move them.
Differential Revision: https://reviews.llvm.org/D147273