aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2024-04-04[𝘀𝗽𝗿] changes to main this commit is based onusers/ilovepi/spr/main.riscv-precommit-stack-protector-checks-for-linux-and-androidPaul Kirth1-0/+1
Created using spr 1.3.4 [skip ci]
2024-04-03[NFC] Delete unintentionally added fileChris Bieneman1-76/+0
2024-04-03[libc++][chrono] Loads leap-seconds.list in tzdb. (#82113)Mark de Wever25-23/+852
This implements the loading of the leap-seconds.list file and store its contents in the tzdb struct. This adds the required `leap_seconds` member. The class leap_seconds is fully implemented including its non-member functions. Implements parts of: - P0355 Extending <chrono> to Calendars and Time Zones - P1614 The Mothership has Landed Implements: - P1981 Rename leap to leap_second - LWG3359 <chrono> leap second support should allow for negative leap seconds - LWG3383 §[time.zone.leap.nonmembers] sys_seconds should be replaced with seconds
2024-04-03[clang-format] Lambda parameter should be passed by const reference (#87306)Owen Pan1-1/+1
Closes #87254.
2024-04-03[mlir] Enhance TimingManager Printing Flexibility (#85821)Hsiangkai Wang4-94/+297
Revise the printing functionality of TimingManager to accommodate various output formats. At present, TimingManager is limited to outputting data solely in plain text format. To overcome this limitation, I have introduced an abstract class that serves as the foundation for printing. This approach allows users to implement additional output formats by extending this abstract class. As part of this update, I have integrated support for JSON as a new output format, enhancing the ease of parsing for subsequent processing scripts.
2024-04-03[libc++] Disables -Wweak-vtables diagnostics. (#85577)Mark de Wever1-0/+3
This is a preparation to use Clang HEAD in the CI.
2024-04-03[VectorCombine][X86] Add some tests showing failure to fold ↵Simon Pilgrim1-0/+189
shuffle(cast(x),cast(y)) -> cast(shuffle(x,y)) Part of #67803
2024-04-03[AMDGPU][MC] Enables sgpr or imm src1 for float VOP3 DPP, but excludi… ↵Joe Nash19-19/+2055
(#87382) …ng VOPC. Fixes support on GFX1150 and GFX12 where src1 of e64_dpp instructions should allow sgpr and imm operands. PR #67461 added support for this with int operands, but it was missing a piece for float. Changing VOPC e64_dpp will be in a different patch because there is a bug preventing that change.
2024-04-03[NFC] Automatically generate indirect-branch-tracking-eh2.llAmaury Séchet1-48/+172
2024-04-03[SelectionDAG] Dump convergencectrl_glue DAG node (#87487)Jay Foad1-0/+1
2024-04-03[NFC] Bump DIAG_SIZE_FRONTEND (hit the limit downstream as of e05c1b46)Paul Robinson1-1/+1
2024-04-03[lldb] Correct byte order check for 128 bit integer registersDavid Spickett1-1/+1
Size was clearly not correct here. This call has been here since the initial reformat of all of lldb so it has likely always been incorrect. (although registers don't typically have an endian, they are just values, in the remote protocol register data is in target endian) This might have been a problem for Neon registers on big endian AArch64, but only if the debug server describes them as integers. lldb-server does not, they've always been vectors which doesn't take this code path. Not adding a test because the way I've mocked up a big endian target in the past is using s390x as the architecture. This apparently has some form of vector extension that may be 128 bit but lldb doesn't support it.
2024-04-03[CodeGen] Fix test after #86049Weining Lu1-0/+1
2024-04-03[DAG] visitADDLikeCommutative - convert (add x, shl(0 - y, n)) fold to ↵Simon Pilgrim1-6/+4
SDPatternMatch. NFC.
2024-04-03[mlir] Apply ClangTidy findings.Adrian Kuegel1-3/+3
modernize-use-override ClangTidy check. This warning appears on overridden virtual functions not marked with override or final keywords or marked with more than one of virtual, override, final.
2024-04-03[X86] getEffectiveX86CodeModel - take a Triple argument instead of just a ↵Simon Pilgrim1-3/+4
Is64Bit flag. NFC. (#87479) Matches what most other targets do and makes it easier to specify code model based off other triple settings in the future.
2024-04-03[DAG] SimplifyDemandedVectorElts - add ↵aniplcc3-7/+60
ISD::AVGCEILS/AVGCEILU/AVGFLOORS/AVGFLOORU nodes (#86284) Fixes #84768
2024-04-03[SLP][NFC]Simplify common analysis of instructions in ↵Alexey Bataev1-107/+78
BoUpSLP::collectValuesToDemote by outlining common code, NFC.
2024-04-03[SystemZ][z/OS] Remove COMPILER_IBMXL macro for z/OS (#87493)Fanbo Meng2-7/+4
This copies the change made in google benchmark (https://github.com/google/benchmark/commit/70916cbf71f50b9e1e6f13559e10d6dbb92beb32) to remove COMPILER_IBMXL for z/OS.
2024-04-03[VPlan] Factor out logic to check if recipe is dead (NFCI).Florian Hahn1-16/+22
In preparation to use the helper in more places.
2024-04-03[mlir][EmitC] Fix examples in op descriptions (#87478)Simon Camphausen1-6/+4
- Remove trailing type from value attributes as emitc.opaque attributes are untyped. - Replace invalid trailing * in opaque type by wrapping it into an !emitc.ptr.
2024-04-03[Flang][AMDGPU] Change default AMDHSA Code Object version to 5 (#87464)Dominik Adamski2-3/+3
This is a follow-up of PR: https://github.com/llvm/llvm-project/pull/79038
2024-04-03[clang][UBSan] Add implicit conversion check for bitfields (#75481)Axel Lundberg11-73/+493
This patch implements the implicit truncation and implicit sign change checks for bitfields using UBSan. E.g., `-fsanitize=implicit-bitfield-truncation` and `-fsanitize=implicit-bitfield-sign-change`.
2024-04-03[MLIR] Add endianness accessors to the data layout (#87347)Christian Ulmann8-0/+90
This commit extends the data layout subsystem with accessors for the endianness. The implementation follows the structure implemented for alloca, global, and program memory spaces.
2024-04-03[Flang] Support for procedure pointer component default initialization. (#87356)Daniel Chen2-3/+51
This PR is to address `TODO(loc, "procedure pointer component default initialization");`. It handles default init for procedure pointer components in a derived type that is 32 bytes or larger (Default init for smaller size type has already been handled). ``` interface subroutine sub() end end interface type dt real :: r1 = 5.0 procedure(real), pointer, nopass :: pp1 => null() real, pointer :: rp1 => null() procedure(), pointer, nopass :: pp2 => sub end type type(dt) :: dd1 end ```
2024-04-03[X86] Add vector truncation tests for nsw/nuw flagsSimon Pilgrim1-0/+2213
Based off #85592 - our truncation -> PACKSS/PACKUS folds should be able to use the nsw/nuw flags to recognise when we don't need to mask/sext_inreg prior to the PACKSS/PACKUS nodes.
2024-04-03[LV] Precommit tests with any-of reductions and epilogue vectorization.Florian Hahn1-0/+222
Test case for failures from https://lab.llvm.org/buildbot/#/builders/74/builds/26697 caused the revert of 95fef1d in 589c7ab.
2024-04-03[libc++] Update status page after the Tokyo meeting (#87395)Louis Dionne21-736/+1684
2024-04-03[libc++] Upstream ptrauth support in libc++ and libc++abi (#84573)Louis Dionne3-1/+44
This is an exact upstreaming of the downstream diff. Minor simplifications can be made in the future but upstreaming as-is will make it easier for us to deal with downstream merge conflicts. Partially fixes #83805
2024-04-03[VP][DAGCombine] Use `simplifySelect` when combining vp.select. (#87342)AinsleySnow2-0/+60
Hi all, This patch is a follow-up of #79101. It migrates logic from `visitVSELECT` to `visitVP_SELECT` to simplify `vp.select`. With this patch we can do the following combinations: ``` vp.select undef, T, F --> T (if T is a constant), F otherwise vp.select <condition>, undef, F --> F vp.select <condition>, T, undef --> T vp.select false, T, F --> F vp.select <condition>, T, T --> T ``` I'm a total newbie to llvm and I'm sure there's room for improvements in this patch. Please let me know if you have any advice. Thank you in advance!
2024-04-03[X86] Haswell/Broadwell/Skylake DPPS folded instructions use an extra port06 ↵Simon Pilgrim12-46/+54
resource This is an extension to 07151f0241d3f893cb36eb2dbc395d4098f74a87 which handled SandyBridge so we at least model the regression identified in #14640 Confirmed by Agner + uops.info/uica (SkylakeServer also had an incorrect use of Port015 instead of just Port01) I raised #86669 as a proposal for a 'x86 unfold' pass that can unfold these (if we have the free registers) driven by the scheduler model.
2024-04-03[Object][COFF][NFC] Introduce getMachineArchType helper. (#87370)Jacek Caban3-37/+38
It's a common pattern that we have a machine type, but we don't care which ARM64* platform we're dealing with. We already have isAnyArm64 for that, but it does not fit cases where we use a switch statement. With this helper, it's easy to simplify such cases by using Triple::ArchType instead of machine type.
2024-04-03Print more descriptive error message when trying to link a global with ↵Gleb Popov2-2/+2
appending linkage (#69613) This is a proper fix for https://github.com/llvm/llvm-project/issues/40308
2024-04-03[X86_32] Teach X86_32 va_arg to ignore empty structs. (#86075)Longsheng Mou2-0/+27
Empty structs are ignored for parameter passing purposes, but va_arg was incrementing the pointer anyway for that the size of empty struct in c++ is 1 byte, which could lead to va_list getting out of sync. Fix #86057.
2024-04-03[mlir][EmitC] Add support for pointer and opaque types to subscript op (#86266)Simon Camphausen9-31/+175
For pointer types the indices are restricted to one integer-like operand. For opaque types no further restrictions are made.
2024-04-03[bazel] Port for e05c1b46d0d3739cc48ad912dbe6e9affce05927.Haojian Wu1-1/+5
2024-04-03[libc++] Fix tests on musl (#85085) (#86934)Louis Dionne3-42/+47
One or two of the tests need slight tweaks to make them pass when building with musl. This patch is a re-application of b61fb18 which was reverted in 0847c90 because it broke the build. rdar://118885724 Co-authored-by: Alastair Houghton <ahoughton@apple.com>
2024-04-03[libc++] Add a static_assert for a Mandates in seed_seq (#86992)Louis Dionne2-0/+64
Fixes #84843
2024-04-03[SLP] Use isValidElementType instead of (#87469)Han-Kuan Chen1-1/+1
FixedVectorType::isValidElementType for consistency.
2024-04-03Reenable external categories (#87357)Daniel Grumberg80-8845/+3892
Reenables b31414bf4f9898f7817a9fcf8a91f62ec26f3eaf. Also adds a new warning for missing `--symbol-graph-dir` arg when `--emit-extension-symbol-graphs` is provided. This also reverts the commit that removed.
2024-04-03[AMDGPU] Remove useless aliases for FLAT instructions. NFC. (#87462)Jay Foad1-2/+2
We were generating "" (the empty string) as an alias for a bunch of FLAT instructions, which had no effect except to cause tablegen to generate some very long if-else chains in the generate AsmMatcher.
2024-04-03[PPC] [NFC] add testcase for more store forwardingChen Zheng1-0/+17
2024-04-03[VPlan] Remove VPTransformState::addMetadata with ArrayRef arg (NFCI).Florian Hahn2-18/+5
addMeadata is only over called with a single element, clean up the variant that takes multiple values.
2024-04-03[NFC] Check the nullness of pointer before dereference it in the assertionChuanqi Xu1-1/+1
This was part of https://github.com/llvm/llvm-project/pull/85050. It is suggested to split the unrelated change as much as possible. So here is the patch.
2024-04-03[C++20] [Modules] [Driver] Emit unused argument warning if we use ↵Chuanqi Xu3-3/+23
'-fmodule-output' with non-module input We required the file name of an 'importable module unit' should end with .cppm (or .ccm, .cxxm, .c++m). But the driver can accept '-fmodule-output' for files with normal suffixes (e.g., .cpp). This is somewhat inconsistency. In this patch, we only claim the option `-fmodule-output` is used if the type of the input file is modules related. Then now the compiler will emit 'unused argument' warnings if the input file is not modules related.
2024-04-03[CodeGen][ShrinkWrap] Clarify StackAddressUsedBlockInfo meaning (#80679)Elizaveta Noskova1-3/+8
2024-04-03Revert "[Win32][ELF] Make CodeView a DebugInfoFormat only for COFF format ↵Phoebe Wang2-7/+3
(#87149)" This reverts commit 4b25053ae47f50095371a663391baadfd2694eb0. There're failures in some target.
2024-04-03[AArch64][GlobalISel] Basic add_sat and sub_sat vector handling. (#80650)David Green8-427/+775
This tries to fill in the basic vector handling for sadd_sat/uadd_sat and ssub_sat/usub_sat. It just handles the basics, marking legal types and clamping illegally sized vectors to legal ones.
2024-04-03[Win32][ELF] Make CodeView a DebugInfoFormat only for COFF format (#87149)Phoebe Wang2-3/+7
We have many problems to use CodeView for a win32-elf target, e.g., #87140 and `error: .seh_* directives are not supported on this target`. Fixes: #87140
2024-04-03[NFC] Make `DeclContext::noload_lookup()` accept transparent contextChuanqi Xu1-3/+3
Now the `DeclContext::noload_lookup()` asserts that 'this' is not a transparent context. However, this is not consistent with `DeclContext::lookup()`, which will lookup into its parent context if 'this' is a transparent context. This patch makes the behavior of `DeclContext::noload_lookup()` to be consistent with `DeclContext::lookup()`, to lookup into the parent context if 'this' is a transparent context.