Commit Graph

464451 Commits

Author SHA1 Message Date
Nikita Popov
09d6ee7657 [Clang] Directly create opaque pointers
In CGTypes, directly create opaque pointers, without computing the
LLVM element type. This is not as straightforward as I though it
would be, because apparently computing the LLVM type also causes a
number of side effects.

In particular, we no longer produce diagnostics like -Wpacked for
typed (only) behind pointers, because we no longer depend on their
layout.

Differential Revision: https://reviews.llvm.org/D152505
2023-06-15 09:09:33 +02:00
Fangrui Song
742040a7f4 [MC] Properly report errors for .subsection
For the out-of-range error, MCConstantExpr doesn't have a location, so we
can only show "<unknown>:0:".

Also, allow subsection numbers up to 2147483647, which is the maximum value GNU
assembler supports. (GNU assembler also supports negative numbers.)
2023-06-14 23:57:03 -07:00
AdityaK
280930816f Remove small data limit for riscv64.*android triples
On Android GP register has been repurposed for SCS so there is no need to have .sdata section.

Reviewers: enh, craig.topper, pirama, kito-cheng, jrtc27

Differential Revision: https://reviews.llvm.org/D151512
2023-06-14 23:14:03 -07:00
eopXD
3f9f9e0d92 [lldb][RISCV] Replace enumeration of RVV builtin types with inclusion to RISCVVTypes.def
This approach prevents us from adding new lines into the switch case
when new types are introduced.

Reviewed By: DavidSpickett

Differential Revision: https://reviews.llvm.org/D152922
2023-06-14 23:03:09 -07:00
esmeyi
028a261350 [XCOFF] FixupOffsetInCsect should be 0 for R_REF relocation.
Summary: The FixupOffsetInCsect should be 0 for R_REF relocation since it specifies a nonrelocating reference. Otherwise liker would try to relocate the symbol through its address and an error like following occurred.
```
ld: 0711-547 SEVERE ERROR: Object /tmp/1-2a7ea1.o cannot be processed.
	RLD address 0x65 for section 2 (.data) is
	not contained in the section.
```

Reviewed By: shchenz

Differential Revision: https://reviews.llvm.org/D152777
2023-06-15 01:28:45 -04:00
Pravin Jagtap
03d92501f3 [AMDGPU] Enable Atomic Optimizer and Default to Iterative Scan Strategy.
The D147408 implemented new Iterative approach for scan computations
and  added new flag `amdgpu-atomic-optimizer-strategy` which is
defaulted to DPP.

The changeset https://github.com/GPUOpen-Drivers/llpc/pull/2506
adapts to the new changes in LLPC.

This patch enables atomic optimizer pass and selects Iterative
approach for scan computations by default for compute pipeline.

Reviewed By: foad

Differential Revision: https://reviews.llvm.org/D152649
2023-06-15 01:18:38 -04:00
Carl Ritson
0fd31b2880 [AMDGPU] Place returns on stack if they would violate VGPR limit
Check no VGPRs above configured maximum would be used by a return
when deciding if it can be lowered.

Reviewed By: sebastian-ne

Differential Revision: https://reviews.llvm.org/D152912
2023-06-15 14:05:32 +09:00
Carl Ritson
d0c0838705 [AMDGPU] Remove return VGPRs from callee save list
There is no need to generate spill/restore for registers used in
return value.  This matters for amdgpu_gfx calling convention
where CSR and Ret definitions overlap.

Reviewed By: sebastian-ne

Differential Revision: https://reviews.llvm.org/D152892
2023-06-15 14:05:32 +09:00
Kazu Hirata
03d64acd4e [mlir] Remove unused forward declaration OpAsmParserResult
The corresponding class definition was removed by:

  commit 17ef97bf7e
  Author: Chris Lattner <clattner@google.com>
  Date:   Tue Aug 7 09:12:35 2018 -0700
2023-06-14 22:04:47 -07:00
Kazu Hirata
1519ab2908 [mlir] Remove unused forward declaration FilteredValueUseIterator
The corresponding class definition was removed by:

  commit 48e9ef4320
  Author: River Riddle <riddleriver@gmail.com>
  Date:   Thu Apr 23 16:23:34 2020 -0700
2023-06-14 22:04:46 -07:00
Kazu Hirata
00e5de3e87 [mlir] Remove unused forward declaration AffineSymbolExprStorage
The corresponding struct definition was removed by:

  commit c74996d199
  Author: Alex Zinenko <zinenko@google.com>
  Date:   Tue May 21 01:34:13 2019 -0700
2023-06-14 22:04:44 -07:00
Kazu Hirata
b712061441 [lldb] Remove unused forward declaration RecordingMemoryManager
The corresponding class definition was removed by:

  commit 8dfb68e039
  Author: Sean Callanan <scallanan@apple.com>
  Date:   Tue Mar 19 00:10:07 2013 +0000
2023-06-14 22:04:43 -07:00
Kazu Hirata
da12f05101 [lld] Remove unused forward declarations for DefinedRelative
The corresponding class definition was removed by:

  commit 502d4ce2e4
  Author: Reid Kleckner <rnk@google.com>
  Date:   Mon Jun 26 15:39:52 2017 +0000
2023-06-14 22:04:41 -07:00
Kazu Hirata
8fd80d1d13 [CodeGen] Remove unused function GetOrCreateRTTIProxyGlobalVariable
The last use was removed by:

  commit 46f366494f
  Author: Fangrui Song <i@maskray.me>
  Date:   Sat May 20 08:24:20 2023 -0700

This patch also removes RTTIProxyMap, which becomes unused once I
remove GetOrCreateRTTIProxyGlobalVariable.

Differential Revision: https://reviews.llvm.org/D152782
2023-06-14 22:04:40 -07:00
Kazu Hirata
ab95a410db [mlir] Remove unused declaration createComposedAffineApplyOp
The corresponding function definition was removed by:

  commit 362557e11c
  Author: Nicolas Vasilache <ntv@google.com>
  Date:   Fri Jan 11 16:08:16 2019 -0800
2023-06-14 22:04:38 -07:00
Kazu Hirata
56c7fba4a7 [mlir] Use DenseMapBase::lookup (NFC) 2023-06-14 22:04:37 -07:00
Martin Braenne
dfbcee286b Prevent deadlocks in death tests.
We have recently started seeing deadlocks in death tests while running in an internal test environment.

Per the documentation here, there are issues with death tests in the presence of threads:

https://github.com/google/googletest/blob/main/docs/advanced.md#death-tests-and-threads

To avoid the deadlocks, I first tried appending `DeathTest` to the relevant test suite names, which has the effect of running these test suites before all other tests. However, this did not prevent the deadlocks.

This patch therefore uses the option of setting the `death_test_style` flag to `"threadsafe"` (see description in the page linked above under "Death Test Styles"), and this prevents the deadlocks.

The documentation notes that the "threadsafe" death test style "trades increased test execution time (potentially dramatically so) for improved thread safety". This is because, to execute a death test, "threadsafe" does a "fork + exec", then re-executes the current test in the child process, whereas the default "fast" death test style does only a fork (on those platforms that support it). However, as we have relatively few death tests, the increased execution time does not make a big difference in total test execution time in my testing.

Note that other projects, such as Chromium, also choose to set the "threadsafe" death test style globally:

https://source.chromium.org/chromium/chromium/src/+/main:base/test/test_suite.cc;l=367

Reviewed By: hans

Differential Revision: https://reviews.llvm.org/D152696
2023-06-15 04:29:00 +00:00
Younan Zhang
0e08374abb [clang][NFC] Add a notice to desugarForDiagnostic
`desugarForDiagnostic` only sets ShouldAKA to true if desugaring
happens, otherwise ShouldAKA is left intact and might be uninitialized.

Victims (including me):

25bf8cb3c0

0e8384a0fe

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D152880
2023-06-15 11:55:06 +08:00
Yaxun (Sam) Liu
c42e7b8126 Fix test target_cpu_features.f90
Change-Id: Iae75abc3e4d1508f08080f687aba0ee1af74da2b
2023-06-14 23:39:35 -04:00
Yaxun (Sam) Liu
c0f0d50653 [HIP] emit macro __HIP_NO_IMAGE_SUPPORT
HIP texture/image support is optional as some devices
do not have image instructions. A macro __HIP_NO_IMAGE_SUPPORT
is defined for device not supporting images (d0448aa4c4/docs/reference/kernel_language.md (L426) )

Currently the macro is defined by HIP header based on predefined macros
for GPU, e.g __gfx*__ , which is error prone. This patch let clang
emit the predefined macro.

Reviewed by: Matt Arsenault, Artem Belevich

Differential Revision: https://reviews.llvm.org/D151349
2023-06-14 22:53:41 -04:00
Jim Lin
dc895d023e [RISCV] Remove redundant line NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py from riscv64-zknd-zkne.c 2023-06-15 10:22:06 +08:00
Craig Topper
d60c64d723 [RISCV] Remove fcvt.d.l(u) and fcvt.l(u).d instructions with _IN32X suffix.
This is the same as D152950 without depending on D152948.

_IN32X instructions are for Zdinx on RV32 where doubles are split
across 2 registers.

fcvt.d.l(u) and fcvt.l(u).d are RV64 only instructions so we don't
need _IN32X versions of them.

Reviewed By: sunshaoce

Differential Revision: https://reviews.llvm.org/D152952
2023-06-14 18:03:57 -07:00
Jonas Devlieghere
7371ec7629
[lldb] Have crashlog warn when remapped paths are inaccessible.
It can be tricky to troubleshoot why the crashlog script can't show
inline sources. The two most common causes are that we couldn't find the
dSYM or, if we find the dSYM, that the path remapping included in the
dSYMForUUID output isn't accessible. The former is already easy to
diagnose, but the latter is harder because you'd have to manually invoke
dsymForUUID on the UUID and check the remapped path. This patch
automates that process and prints a warning if the remapped path doesn't
exist or is not accessible.

Differential revision: https://reviews.llvm.org/D152886
2023-06-14 17:15:28 -07:00
Jonas Devlieghere
048204d610
[lldb] Remove lldbassert from DebugNamesDWARFIndex::GetGlobalVariables
34a8e6eee6 changed SymbolFileDWARF::GetDwoNum to
SymbolFileDWARF::GetFileIndex but changed the meaning from just DWO to
DWO and OSO which changed the meaning of the assert. The assert was
therefore removed from ManualDWARFIndex::GetGlobalVariables and
ManualDWARFIndex::GetGlobalVariables but was still present in
DebugNamesDWARFIndex::GetGlobalVariables. If we want to reintroduce the
assert, we need something with the old semantics for all 3.
2023-06-14 17:15:20 -07:00
Cyndy Ishida
e63e536044 [TextAPI] add osx to possible string to platform input 2023-06-14 16:31:26 -07:00
Pranav Kant
c731bdd6ca [Bazel] Another fix for 7a2fdc685f 2023-06-14 23:29:06 +00:00
Nico Weber
9c560350dd Revert "[Clang][MS] Remove assertion on BaseOffset can't be smaller than Size."
This reverts commit 5d54213ee5.

Breaks check-clang on Windows, see https://reviews.llvm.org/D152472#4422913
2023-06-14 16:19:48 -07:00
Nico Weber
dbdd6372b7 Revert "[ABI] [C++20] [Modules] Don't generate vtable if the class is defined in other module unit"
Breaks check-clang on win and mac, see comments on https://reviews.llvm.org/D150023

This reverts commit d8a36b00d1.

Also revert follow-up "[NFC] skip the test modules-vtable.cppm on windows"
This reverts commit baf0b12ca6.
2023-06-14 16:17:42 -07:00
Pranav Kant
4cfc33b8b5 [Bazel] Fix for 7a2fdc685f 2023-06-14 23:12:06 +00:00
Christopher Ferris
f95a4a2833 [scudo] Disable new/delete mismatch tests on Android.
Android does not do any checking of new/delete mismatches, so disable
this test when compiling for Android.

Reviewed By: Chia-hungDuan

Differential Revision: https://reviews.llvm.org/D152958
2023-06-14 16:07:50 -07:00
Alex Langford
623ad8a8dd [lldb] Fix SBPlatform after f4be9ff645
If you pass `nullptr` (or `None` from python) to SBPlatform::SetSDKRoot,
LLDB crashes. Let's be more resilient to `nullptr` here.

Differential Revision: https://reviews.llvm.org/D152962
2023-06-14 15:46:00 -07:00
Krzysztof Parzyszek
39ab9da920 [RDF] Create build config
- Add option to ignore reserved registers
- Add possibility to track selected registers or register classes only

Tracking is done based on register units, so the set of registers to track
is translated into a set of register units.
2023-06-14 15:34:24 -07:00
Vitaly Buka
ad1dd78793 [hwasan] Fixup mmap tagging regions
Reviewed By: thurston

Differential Revision: https://reviews.llvm.org/D152893
2023-06-14 15:32:12 -07:00
Jonas Devlieghere
fc60bf2de1
[DebugInfo] Always emit .debug_names with DWARF 5 for Apple platforms
On Apple platforms, we generate .apple_names, .apple_types,
.apple_namespaces and .apple_objc Apple accelerator tables for DWARF 4
and earlier. For DWARF 5 we should generate .debug_names, but instead we
get no accelerator tables at all.

In the backend we are correctly determining that we should be emitting
.debug_names instead of .apple_names. However, when we get to the point
of emitting the section, if the CU debug name table kind is not
"default", the accelerator table emission is skipped.

This patch sets the DebugNameTableKind to Apple in the frontend when
target an Apple target. That way we know that the CU was compiled with
the intent of emitting accelerator tables. For DWARF 4 and earlier, that
means Apple accelerator tables. For DWARF 5 and later, that means .debug
names.

Differential revision: https://reviews.llvm.org/D118754
2023-06-14 15:28:33 -07:00
Amaury Séchet
e879fded2a [NFC] Autogenerate several Mips test. 2023-06-14 22:27:15 +00:00
Andreu Carminati
e4118a7ac0 [ELF] Fix early overflow check in finalizeAddressDependentContent
LLD terminates with errors when it detects overflows in the
finalizeAddressDependentContent calculation. Although, sometimes, those errors
are not really errors, but an intermediate result of an ongoing address
calculation.  If we continue the fixed-point algorithm we can converge to the
correct result.

This patch

* Removes the verification inside the fixed point algorithm.
* Calls checkMemoryRegions at the end.

Reviewed By: peter.smith, MaskRay

Differential Revision: https://reviews.llvm.org/D152170
2023-06-14 15:26:31 -07:00
Andreu Carminati
58789ed62a [ELF] Refine warning condition for memory region assignment for non-allocatable section
The warning "ignoring memory region assignment for non-allocatable section"  should be generated under the following conditions:

* sections without SHF_ALLOC attribute and,
* presence of input sections or data commands (ByteCommand)

The goal of the change is to reduce spurious warnings that are generated for some output sections that have no input section.

Reviewed By: MaskRay, peter.smith

Differential Revision: https://reviews.llvm.org/D151802
2023-06-14 15:23:14 -07:00
Vitaly Buka
aeb13a4459 [test][hwasan] Use perror and abort in test 2023-06-14 15:22:12 -07:00
Valentin Clement
208fdcb07f
[flang][openacc] Add lowering for max operator
Add support for the max operator in the reduction
clause.

Depdns on D151671

Reviewed By: jeanPerier

Differential Revision: https://reviews.llvm.org/D151672
2023-06-14 15:21:23 -07:00
Nico Weber
d76b37e695 Revert "[gn build] Port 2700da5fe2 (lld/unittests etc)"
2700da5fe2 got reverted in aa495214b3.

This reverts commit 9239cde390.

Also revert follow-up "[gn] Fix case of directory I added in 9239cde390e"
This reverts commit 4de67143ba.
2023-06-14 15:08:03 -07:00
Hristo Hristov
e7e36d56d6 [libc++][ranges][NFC] Status page: Adds views::enumerate 2023-06-15 00:53:15 +03:00
Chia-hung Duan
163f8e1b01 Revert "[scudo] Temporariy dispatch region from RegionBeg"
This reverts commit 9d9a7732e1.

This was a workaround for some platform and it has been fixed in
bfa02523b2

Differential Revision: https://reviews.llvm.org/D152964
2023-06-14 21:48:59 +00:00
Amaury Séchet
0a76f7d9d8 [NFC] Autogenerate numerous SystemZ tests 2023-06-14 21:47:31 +00:00
Alex Langford
f6ca15cfb2 [lldb][NFCI] Remove unused method ProcessStructReader::GetOffsetOf
Completely unused here, AFAICT. It's also not used in the swift
downstream forks.
2023-06-14 14:45:21 -07:00
Alex Langford
a9ddf45b8a [lldb][NFCI] Remove ProcessStructReader header where unused 2023-06-14 14:38:18 -07:00
Hristo Hristov
9838dd7f76 [libc++][spaceship][NFC] P1614R2: Status page - mark header synopsis sections as "Complete"
Header synospis sections of P1614R2 are implemented by other items usually. For completeness, let's mark some of them as "Complete".

Reviewed By: #libc, Mordante

Differential Revision: https://reviews.llvm.org/D152775
2023-06-15 00:28:10 +03:00
Kazu Hirata
a39adc00db [mlir] Fix warnings in release builds
This patch fixes:

  mlir/lib/Dialect/SparseTensor/Transforms/LoopEmitter.cpp:846:16:
  error: unused variable 'lvlTp' [-Werror,-Wunused-variable]

  mlir/lib/Dialect/SparseTensor/Transforms/LoopEmitter.cpp:1059:13:
  error: unused variable '[t, l]' [-Werror,-Wunused-variable]
2023-06-14 14:22:17 -07:00
Piotr Zegar
cf1c6dae84 [clang-tidy][NFC] Update ReleaseNotes to mention some performance changes in checks
Included a note in the release documentation about the improved
performance of certain checks, allowing users who had previously
disabled them due to slowness to reconsider their decision.
2023-06-14 21:20:37 +00:00
Muhammad Asif Manzoor
5bb9bf52cb [SampleFDO] Remove 'using namespace' (NFC)
Remove 'using namespace' statement from header file to avoid propagating it to
other locations unnecessarily and avoid potential name collisions.

Reviewed By: wenlei

Differential Revision: https://reviews.llvm.org/D152727
2023-06-14 17:19:30 -04:00
Amaury Séchet
7a50e78621 [NFC] Autogenerate various Thumb2 tests. 2023-06-14 21:18:39 +00:00