Commit Graph

421808 Commits

Author SHA1 Message Date
wangpc 5c3ea07848 [RISCV] Do not outline CFI instructions when they are needed in EH
We saw a failure caused by unwinding with incomplete CFIs, so we
can't outline CFI instructions when they are needed in EH.

This is a recommit of 0d40688, which was reverted in ce83883 as
related precommit test 360d44e caused some errors.

Reviewed By: luismarques

Differential Revision: https://reviews.llvm.org/D122634
2022-04-22 12:28:19 +08:00
wangpc 6ee890b79e [RISCV] Precommit test for D122634
This is a recommit of 360d44e, which was reverted
in b1620d4 because it caused some errors due to no
`nounwind` attrs in `machine-outliner-cfi.mir`.

Reviewed By: luismarques

Differential Revision: https://reviews.llvm.org/D123364
2022-04-22 12:19:55 +08:00
Abinav Puthan Purayil 2147b6c89d [AMDGPU] Remove no-ret atomic ops selection in the post-isel hook
No-ret atomic ops are now selected in tblgen.

Differential Revision: https://reviews.llvm.org/D124086
2022-04-22 09:37:41 +05:30
Abinav Puthan Purayil 165ae7276c [AMDGPU] Remove atomic pattern args in FLAT_[Global_]Atomic_Pseudo defs
We already have explicit patterns for these.

Differential Revision: https://reviews.llvm.org/D124084
2022-04-22 09:37:40 +05:30
Abinav Puthan Purayil f935908d7b [AMDGPU] Select no-return DS_PK_ADD_F16 in tblgen
Differential Revision: https://reviews.llvm.org/D123584
2022-04-22 09:37:40 +05:30
Abinav Puthan Purayil 45ca94334e [AMDGPU] Select no-return atomic intrinsics in tblgen
This is to avoid relying on the post-isel hook.

This change also enable the saddr pattern selection for atomic
intrinsics in GlobalISel.

Differential Revision: https://reviews.llvm.org/D123583
2022-04-22 09:37:40 +05:30
Fangrui Song ed58a01f66 [tsan][test] Change -tsan to -passes=tsan 2022-04-21 20:44:56 -07:00
Xiang1 Zhang afa536e33e [x86] Support 3 builtin functions for 32-bits mode
_mm_cvtsi128_si64, _mm_cvtsi64_si128, _mm_extract_epi64

Reviewed By:RKSimon, Topper Craig
Differential Revision: https://reviews.llvm.org/D124067
2022-04-22 11:28:28 +08:00
Ping Deng 7493d9ffb6 [RISCV][NFC] Use defvar to simplify pattern definations.
Reviewed By: jacquesguan, frasercrmck

Differential Revision: https://reviews.llvm.org/D123839
2022-04-22 02:45:14 +00:00
Bill Wendling a7815d33bf [randstruct] Check final randomized layout ordering
This uses "llvm::shuffle" to stop differences in shuffle ordering on
different platforms.

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D124199
2022-04-21 19:41:00 -07:00
Fangrui Song 16a4d3a85c [LegacyPM] Remove AddressSanitizerLegacyPass
Using the legacy PM for the optimization pipeline was deprecated in 13.0.0.
Following recent changes to remove non-core features of the legacy
PM/optimization pipeline, remove AddressSanitizerLegacyPass,
ModuleAddressSanitizerLegacyPass, and ASanGlobalsMetadataWrapperPass.

MemorySanitizerLegacyPass was removed in D123894.

Reviewed By: #sanitizers, vitalybuka

Differential Revision: https://reviews.llvm.org/D124216
2022-04-21 19:25:57 -07:00
Fangrui Song 15cddef816 [DebugInfo][test] Delete a legacy asan test 2022-04-21 19:22:47 -07:00
Fangrui Song 7b1c977dc9 [DebugInfo][test] Delete a legacy asan test 2022-04-21 19:21:27 -07:00
Nico Weber 0e0759f441 Revert "[LegacyPM] Remove AddressSanitizerLegacyPass"
This reverts commit e68c589e53.
Breaks check-llvm, see comments on https://reviews.llvm.org/D124216
2022-04-21 22:14:36 -04:00
Nico Weber 3fdc3d63f6 [gn build] (manually) port a7691dee2d (TestAST)
This makes clang/lib/Testing the very first non-test()-target that includes
gtest headers, which means it needs an explicit dep on gtest.
2022-04-21 21:37:48 -04:00
Xiang1 Zhang 6454ff35e0 [Clang Format] emmintrin.h smmintrin.h (NFC) 2022-04-22 09:29:52 +08:00
Will Dietz bb8c8751cf [MLIR] prefer /bin/sh over /bin/bash for simple test scripts
These scripts do not appear to require bash, and while /bin/sh
is not guaranteed either it's more commonly available.

Fixes tests on NixOS and in certain sandbox build environments.

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D124205
2022-04-21 20:25:17 -05:00
Fangrui Song e68c589e53 [LegacyPM] Remove AddressSanitizerLegacyPass
Using the legacy PM for the optimization pipeline was deprecated in 13.0.0.
Following recent changes to remove non-core features of the legacy
PM/optimization pipeline, remove AddressSanitizerLegacyPass,
ModuleAddressSanitizerLegacyPass, and ASanGlobalsMetadataWrapperPass.

MemorySanitizerLegacyPass was removed in D123894.

Reviewed By: #sanitizers, vitalybuka

Differential Revision: https://reviews.llvm.org/D124216
2022-04-21 18:18:39 -07:00
Xiang1 Zhang caf5ad5da7 Revert "[x86] Support 3 builtin functions for 32-bits mode"
This reverts commit a69c219a8c.
2022-04-22 09:11:40 +08:00
Xiang1 Zhang a69c219a8c [x86] Support 3 builtin functions for 32-bits mode
_mm_cvtsi128_si64, _mm_cvtsi64_si128, _mm_extract_epi64
2022-04-22 09:06:25 +08:00
Matt Arsenault 667899a154 AMDGPU: Fix fneg combine test not checking full result
This wasn't accounting for the canonicalize of the input, or checking
the output fneg isn't folded as intended. Avoids test failure in
unrelated patch which happens to change register numberings.
2022-04-21 20:58:27 -04:00
Amy Zhuang 5bd4bcfc04 [mlir] Modify SuperVectorize to generate select op->combiner op
Insert the select op before the combiner op when vectorizing a
reduction loop that needs a mask, so the vectorized reduction loop
can pass isLoopParallel check and be transformed correctly in later
passes.

Reviewed By: dcaballe

Differential Revision: https://reviews.llvm.org/D124047
2022-04-21 17:09:13 -07:00
Dominic Chen fcbca197f2 [scudo] Disable memory tagging on arm64_32
arm64_32 is an ILP32 platform

Differential Revision: https://reviews.llvm.org/D124135
2022-04-21 17:22:10 -07:00
Brad Smith a0d40a579a [libcxx] Add some missing xlocale wrapper functions for OpenBSD
Reviewed By: Mordante

Differential Revision: https://reviews.llvm.org/D122861
2022-04-21 20:00:59 -04:00
Vitaly Buka 9be90748f1 Revert "[asan] Emit .size directive for global object size before redzone"
Revert "[docs] Fix underline"

Breaks a lot of asan tests in google.

This reverts commit 365c3e85bc.
This reverts commit 78a784bea4.
2022-04-21 16:21:17 -07:00
Zequan Wu 1921b19576 [LLDB][NativePDB] Make sure the number of param symbol records is the same as the number get from function type record before setting parameters. 2022-04-21 16:06:58 -07:00
Alexander Yermolovich 014cd37f51 [BOLT][DWARF] Implement monolithic DWARF5
Added implementation to support DWARF5 in monolithic mode.
Next step DWARF5 split dwarf support.

Reviewed By: maksfb

Differential Revision: https://reviews.llvm.org/D121876
2022-04-21 16:02:23 -07:00
Joseph Huber 3348991106 [OpenMP] Properly guard linker input using the new driver
Summary:
A new offloading action builder line was added that wasn't guarded with
the new driver for OpenMP. This doesn't affect anything now but could
potentially cause problems.
2022-04-21 18:50:26 -04:00
Joseph Huber f557bb8733 [OpenMP][Docs] Remove usage of deprecated flag in documentation
Summary:
This documentation used the `-fopenmp-target-new-runtime` flag which is
deprecated and has no effect. Remove it.
2022-04-21 18:50:25 -04:00
Paul Kirth b8786413d8 Revert "[clang][safestack] Remove triple from stack usage test"
This reverts commit 414f84ba29.

Requires deirectives had already been added to the test, and CC1 tests
should use a target triple.

Differential Revision: https://reviews.llvm.org/D124210
2022-04-21 22:47:56 +00:00
Mircea Trofin e4794ff5c6 [mlgo][nfc] Decouple TensorSpec from tensorflow.
The motivation is twofold:

1) Allow plugging in a different training-time evaluator, e.g.
   TFLite-based, etc.

2) Allow using TensorSpec for AOT, too, to support evolution: we start
   by extracting a superset of the features currently supported by a
   model. For the tensors the model does not support, we just return a
   valid, but useless, buffer. This makes using a 'smaller' model (less
   supported tensors) transparent to the compiler. The key is to
   dimension the buffer appropriately, and we already have TensorSpec
   modeling that info.

The only coupling was due to the reliance of a TF internal API for
getting the element size, but for the types we are interested in,
`sizeof` is sufficient.

A subsequent change will yank out TensorSpec in its own module.

Differential Revision: https://reviews.llvm.org/D124045
2022-04-21 15:37:01 -07:00
Mahesh Ravishankar 0c090dcc8a [mlir][Linalg] Deprecate legacy reshape + generic op folding patterns.
These patterns have been superceded by the fusion by collapsing patterns.

Differential Revision: https://reviews.llvm.org/D124145
2022-04-21 22:25:23 +00:00
Dominic Chen e8572aca0c [libc] Use correct mnemonic for arm64_32 architecture
arm64_32 is an ILP32 platform

Differential Revision: https://reviews.llvm.org/D124134
2022-04-21 15:13:07 -07:00
Shafik Yaghmour 5ff992bca2 [DEBUG-INFO] Change how we handle auto return types for lambda operator() to be consistent with gcc
D70524 added support for auto return types for C++ member functions. I was
implementing support on the LLDB side for looking up the deduced type.

I ran into trouble with some cases with respect to lambdas. I looked into
how gcc was handling these cases and it appears gcc emits the deduced return type for lambdas.

So I am changing out behavior to match that.

Differential Revision: https://reviews.llvm.org/D123319
2022-04-21 14:58:50 -07:00
Paul Kirth 414f84ba29 [clang][safestack] Remove triple from stack usage test
Supplying the target triple caused breakeages for compilers that don't support
the supplied triple.

Reviewed By: mysterymath

Differential Revision: https://reviews.llvm.org/D124203
2022-04-21 21:58:24 +00:00
owenca 221c2b68dd [clang-format] Fix a crash on AllowShortFunctionsOnASingleLine
Fixes #55008.

Differential Revision: https://reviews.llvm.org/D124152
2022-04-21 14:56:30 -07:00
Vasileios Porpodas e83ad23daf [TTI] Pre-commit cost model tests splat-loads. 2022-04-21 14:45:51 -07:00
Roy Sundahl d179627ef0 Fix sanitizer stack traces on aarch64.
Fixes llvm-project/compiler-rt/test/asan/TestCases/null_deref.cpp on
macOS/aarch64.

The bp (base pointer) variable was being loaded from register LR and
not FP on aarch64 (except for this narrow case):
defined(__IPHONE_8_0) && __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_8_0

Without a valid bp from the FP register, it is not possible to traverse
previous frames for a complete stack trace. The rationale for fetching
the LR as the bp for all cases except above is not clear but since the
FP register is the canonical register for use as the frame pointer, this
commit removes the restriction above for unconditional use all aarch64.

rdar://91587039

Differential Revision: https://reviews.llvm.org/D124140
2022-04-21 14:27:59 -07:00
Sam McCall 713800d331 [Testing] Fix standalone builds after a7691dee2d 2022-04-21 23:22:46 +02:00
Richard Smith f6a5ab6c8c Use builtin recognition to detect std::move / std::forward.
Replaces some prior ad-hoc detection strategies and generally cleans up
a little. No functional change intended.
2022-04-21 14:21:07 -07:00
owenca 7343f768d1 [clang-format][NFC] Clean up code in token annotator
Differential Revision: https://reviews.llvm.org/D123741
2022-04-21 14:17:38 -07:00
Alexander Yermolovich c87d405b22 [DWARF] Add API to get data from MCDwarfLineStr
This API will be used in D121876, to get finalized string data for
.debug_line_str.

Reviewed By: dblaikie, rafauler

Differential Revision: https://reviews.llvm.org/D124052
2022-04-21 14:08:20 -07:00
Alex Brachet 365c3e85bc [docs] Fix underline 2022-04-21 21:05:49 +00:00
Sam McCall 5287237a74 [clangd] Fix CLANGD_TIDY_CHECKS=Off tests after b859c39c40 2022-04-21 23:02:41 +02:00
Vitaly Buka b580c0e019 [msan] Update Use-after-destruction documentation
Reviewed By: kda, eugenis

Differential Revision: https://reviews.llvm.org/D124058
2022-04-21 14:02:02 -07:00
Douglas Yung 311929267d Mark test stack-usage-safestack.c as requiring x86.
This should fix buildbots that don't build the x86 target.
2022-04-21 13:58:39 -07:00
Sam McCall 480c59c11a [Testing] fix shared lib build after a7691dee2d
We still want clang_target_link_libraries for the clang deps.
2022-04-21 22:50:33 +02:00
Alex Brachet 78a784bea4 [asan] Emit .size directive for global object size before redzone
This emits an `st_size` that represents the actual useable size of an object before the redzone is added.

Reviewed By: vitalybuka, MaskRay, hctim

Differential Revision: https://reviews.llvm.org/D123010
2022-04-21 20:46:38 +00:00
Sam McCall 0d43614df1 [bazel] try to adapt a7691dee2d, again 2022-04-21 22:33:40 +02:00
Sanjay Patel 664ae7bbcc [InstCombine] C0 <<{nsw, nuw} (X - C1) --> (C0 >> C1) << X (2nd try)
The first attempt at this missed a check to make sure the offset
constant was in range and caused many bot failures.

That was missed in the Alive2 proof because on overshift creates
poison rather than the assert from APInt. Here's an alternate
attempt at a proof using count-trailing-zeros:
https://alive2.llvm.org/ce/z/pnXQYR

Original commit message:

This is similar to an existing pre-shift-of-constant fold:
8a9c70fc01
...but in this case, we need no-wrap on the shl and a negative
offset:
https://alive2.llvm.org/ce/z/_RVz99
2022-04-21 16:18:46 -04:00