aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
8 daysadd CoroAnnotationElidePassusers/yuxuanchen1997/coro-transform-attr-must-elideYuxuan Chen11-2/+261
Summary: Test Plan: Reviewers: Subscribers: Tasks: Tags: Differential Revision: https://phabricator.intern.facebook.com/D60250514
8 daysImplement noalloc in CoroSplitusers/yuxuanchen1997/coro-split-noallocYuxuan Chen9-33/+153
9 days[Clang] Introduce [[clang::coro_await_elidable]]users/yuxuanchen1997/coro-inplace-task-feYuxuan Chen25-110/+335
9 days[gn build] Port cb5dc1faa8b3LLVM GN Syncbot1-0/+1
9 days[gSYM] Add support merged functions in gSYM format (#101604)alx3212-12/+1014
This patch introduces support for storing debug info for merged functions in the GSYM debug info. It allows GSYM to represent multiple functions that share the same address range, which occur when multiple functions are merged during linker ICF. The core of this functionality is the new `MergedFunctionsInfo` class, which is integrated into the existing `FunctionInfo` structure. During GSYM creation, functions with identical address ranges are now grouped together, with one function serving as the "master" and the others becoming "merged" functions. This organization is preserved in the GSYM format and can be read back and displayed when dumping GSYM information. Old readers will only see the master function, and ther "merged" functions will not be processed. Note: This patch just adds the functionality to the gSYM format - additional changes to the gsym format and algorithmic changes to logic existing tooling are needed to take advantage of this data. Exact output of `llvm-gsymutil --verify --verbose` for the included test: [gist](https://gist.github.com/alx32/b9c104d7f87c0b3e7b4171399fc2dca3)
9 days[MachO] using std::size_t to fix build errors on arm-ubuntuPeter Rong1-2/+2
Fix build failure introduced by commit 6a3604ef8592edf39fedd6af8100aefafd6d931d Signed-off-by: Peter Rong <PeterRong@meta.com>
9 days[libc][math] updated functionspec subf128 (#102372)aaryanshukla1-1/+1
9 dayslibc: remove trailing whitespacesSylvestre Ledru11-50/+50
9 daysworkflows: Fix permissions for release-sources job (#100750)Tom Stellard1-0/+1
For reusable workflows, the called workflow cannot upgrade it's permissions, and since the default permission is none, we need to explicitly declare 'contents: read' when calling the release-sources workflow. Fixes the error: The workflow is requesting 'contents: read', but is only allowed 'contents: none'.
9 days[InstCombine] Canonicalize more saturated-add variants (#100008)Rose2-32/+49
LLVM is not evaluating X u > C, a, b the same way it evaluates X <= C, b, a. To fix this, let's move the folds to after the canonicalization of -1 to TrueVal. Let's allow splat vectors with poison elements to be recognized too! Finally, for completion, handle the one case that isn't caught by the above checks because it is canonicalized to eq: X == -1 ? -1 : X + 1 -> uadd.sat(X, 1) Alive2 Proof: https://alive2.llvm.org/ce/z/WEcgYH
9 days[InstCombine] Pre-commit tests for #100008 (NFC)Rose1-0/+250
9 days[libc] math fuzzing MPFR include statement (#102358)RoseZhang033-3/+3
Updated the include statement for MPFR
9 days[LLD, MachO] Default objc_relative_method_lists on MacOS11+/iOS14+ (#101360)Peter Rong6-64/+96
This patch makes `objc_relative_method_lists` default on MacOS 11+ / iOS 14+. Manual override still work if command line argument is provided. To test this change, many explicit arguments are removed from the test files. Some explicit `no_objc_relative...` are also added for tests that don't support this yet. Signed-off-by: Peter Rong <PeterRong@meta.com>
9 days[libc][math] fixing build broke for remainderf128 (#102362)aaryanshukla1-1/+1
9 days[Driver] Fix a warningKazu Hirata1-6/+4
This patch fixes: clang/lib/Driver/ToolChains/Darwin.cpp:2937:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
9 days[libc][math][c23] Add fsub{,l,f128} and remainderf128 C23 math functions ↵aaryanshukla28-6/+413
(#101576) Co-authored-by: OverMighty <its.overmighty@gmail.com>
9 days[clang][docs] Update Include Options Help (#101192)Sam Elliott2-3/+9
This adds HelpTexts for some clang options that relate to include directory handling, to sync them up with what's in clang.rst (and therefore the man page).
9 days[Mips] Add test for AND optimization (#102278)yingopq1-0/+28
See https://github.com/llvm/llvm-project/issues/42826
9 days[mlir][memref] Rename `MemRef` directories and files. NFC. (#102337)Angel Zhang9-2/+2
This PR renames the `MemRef` integration test directory for and the `DecomposeMemref.s.cpp` so that they can be found when doing a case-sensitive search on file paths.
9 daysRevert "demangle function names in trace files (#87626)"Fangrui Song5-21/+5
This reverts commit 0fa20c55b58deb94090985a5c5ffda4d5ceb3cd1. Storing raw symbol names is generally preferred in profile files. Demangling might lose information. Language frontends might use demangling schemes not supported by LLVMDemangle (https://github.com/llvm/llvm-project/issues/45901#issuecomment-2008686663). In addition, calling `demangle` for each function has a significant performance overhead (#102222). I believe that even if we decide to provide a producer-side demangling, it would not be on by default. Pull Request: https://github.com/llvm/llvm-project/pull/102274
9 daysTargetSelectionDAG: Add missing atomic fp opd classes (#102269)Jinsong Ji1-0/+2
The defs are missing after 5c9352eb0258d .
9 days[SLP] Enable optimization of freeze instructions (#102217)John McIver3-49/+40
Allow SLP optimization to progress in the presence of freeze instructions. Prior to this commit, freeze instructions blocked SLP optimization. The following URL shows correctness of the addsub_freeze test: https://alive2.llvm.org/ce/z/qm38oh
9 days[Support] [Windows] Stop redefining _WIN32_IE (#102307)Martin Storsjö1-2/+0
This was added in 181fd8cd89ff97fe654fabbb2032e0ad6607b4d0, where the shlobj.h header was taken into use. The shlobj.h header does have some APIs conditionally visible based on the _WIN32_IE define, but none of the calls added in that commit seem to need any specific version. fd6cb64c4891301648e5ab814afdafa118977c3d and 6b129bd464831194da957b3462d7ddd27a0b2a08 further bumped the version it is set to, while the latter also added a FIXME to check whether it still is needed. It doesn't seem to be needed currently; the code currently builds fine without this define, both with mingw-w64 and MSVC. Additionally, to show that the value of _WIN32_IE doesn't seem to be relevant to our builds these days - if the current define is changed to hardcode _WIN32_IE to an ancient value like 0x0400, our code still builds fine, both with mingw-w64 and MSVC. Therefore, overriding this define no longer seem to be relevant.
9 daysFix post #102084: restrict to linux to avoid formatting diffs.Mircea Trofin1-0/+2
9 days[scudo][NFC] Add a default unmap() to unmap all pages (#102234)ChiaHungDuan11-19/+16
9 days[gn build] Port dbbf0762b6eeLLVM GN Syncbot1-0/+1
9 days[ctx_prof] CtxProfAnalysis (#102084)Mircea Trofin7-1/+228
This is an immutable analysis that loads and makes the contextual profile available to other passes. This patch introduces the analysis and an analysis printer pass. Subsequent patches will introduce the APIs that IPO passes will call to modify the profile as result of their changes.
9 days[lldb/API] Fix SBStructuredData support any JSON type (#101929)Med Ismail Bennani2-1/+37
This patch loosen the parsing requirement to allow parsing not only JSON dictionaries but also valid JSON type (integer, float, string, bool, array, null). Signed-off-by: Med Ismail Bennani <ismail@bennani.ma>
9 daysAMDGPU: Add more baseline tests for eliminateFrameIndexMatt Arsenault2-78/+2740
9 days[openmp][WebAssembly] Allow openmp to compile and run under emscripten ↵arsnyder164-24/+10
toolchain (#95169) * Separate wasi and emscripten as they have different constraints and abilities * Emscripten mimics Linux/POSIX by statically linking the musl runtime. This allow nearly all KMP_OS_LINUX code paths to work correctly. There are only a few places that need to be adjusted related to dynamic linking (dl_open) * Internally link openmp globals * With CommonLinkage it is needed to emit them in an assembly file, now they are defined and used within each compilation unit * With ExternalLinkage they suffer from duplicate symbols during linking for unnamed globals like reduction/critical * Interestingly this aligns with the TODO comment above this code
9 days[TargetLowering] Fix the problem of emulated-TLS implementation witho… ↵cceerczw2-3/+23
(#101490) For a __thread variable x, when emulated TLS is enabled and there is an access to x, the compiler first looks up the symbol __emutls_v.x within the module. However, the issue arises with an alias y of x, the compiler still tries to look up __emutls_v.y instead of __emutls_v.x. As a result, the lookup returns a nullptr, causing the compiler to crash. The purpose of this MR (Merge Request) is to ensure that in emulated TLS, before checking __emutls_v.y, the compiler first identifies which global value y is an alias of.
9 days[PPC] Implement BCD assist builtins (#101390)Lei Huang10-8/+364
Implement BCD assist builtins for XL and GCC compatibility. GCC compat: ``` unsigned int __builtin_cdtbcd (unsigned int); unsigned int __builtin_cbcdtd (unsigned int); unsigned int __builtin_addg6s (unsigned int, unsigned int); ``` 64BIT XL compat: ``` long long __cdtbcd (long long); long long __cbcdtd (long long); long long __addg6s (long long source1, long long source2) ```
9 days[AMDGPU] Set register bank for i1 register copies (#96155)Jun Wang2-5/+314
Set register bank in copies between a physical register and a virtual register of s1 type. --------- Co-authored-by: Jun Wang <jun.wang7@amd.com>
9 days[clang][modules] Enable built-in modules for the upcoming Apple releases ↵Ian Anderson4-9/+36
(#102239) The upcoming Apple SDK releases will support the clang built-in headers being in the clang built-in modules: stop passing -fbuiltin-headers-in-system-modules for those SDK versions.
9 daysRevert "[BOLT] Move ADRRelaxationPass (#101371)" (#102333)Vladislav Khmelevsky1-2/+2
This reverts commit 750b12f06badc4cdf767139c70090db62358bb44. The pass should run after splitting phase, but before nop removal
9 days[BOLT][DWARF][NFC] Move Arch assignment out of createBinaryContext (#102054)Sayhaan Siddiqui5-1/+4
Moves the assignment of Arch out of createBinaryContext to prevent data races when parallelized.
9 days[AArch64] Add updated FEAT_SVE_B16B16 and begin replacement of 'b16b16' flag ↵SpencerAbson82-480/+644
(#101480) This patch adds FeatureSVEB16B16 to the AArch64 backend in order to represent the new behavior of FEAT_SVE_B16B16 (as described in the latest [Armv9.4 extensions documentation](https://developer.arm.com/documentation/109697/0100/Feature-descriptions/The-Armv9-4-architecture-extension?lang=en#md461-the-armv94-architecture-extension__FEAT_SVE_B16B16)) as well as a 'sve-b16b16' flag to enable it. The predication of non-widening SVE BFloat16 instructions has changed to require this feature, instead of the previously required and soon-to-be-removed FeatureB16B16 which is enabled by the 'b16b16' flag. Therefore, this change weakens the 'b16b16' flag in favour of 'sve-b16b16'. Existing tests that are effected by this have been modified to use and/or expect 'sve-b16b16', and new tests have been added to verify the behavior and implementation of 'sve-b16b16'. This patch is in response to the response to the following changes. The architecture features previously enabled by FEAT_SVE_B16B16 have been relaxed such that it now implements:       - With FEAT_SVE2 : SVE non-widening BFloat16 instructions in Non-streaming SVE mode       - With FEAT_SME2: SVE non-widening BFloat16 instructions when the PE is in Streaming SVE mode and SME        Z-targeting multi-vector non-widening BFloat16 instructions.       - **It no longer implements** SME ZA-targeting non-widening BFloat16 instructions.    The SME ZA-targeting non-widening BFloat16 instructions are implemented by the new FEAT_SME_B16B16, **this patch does not change how this architecture feature is enabled** ('+b16b16+sme2'). Only those that are implemented by FEAT_SVE_B16B16 have been changed to require 'sve-b16b16' instead of 'b16b16'. New flags must be created to represent FEAT_SVE_B16B16 and FEAT_SME_B16B16:       - 'sve-b16b16' enables the updated FEAT_SVE_B16B16 (described here)       - 'sme-b16b16' will enable the new FEAT_SME_B16B16       - **This patch includes 'sve-b16b16' only**     A future patch will add 'sme-b16b16', SME ZA-targeting non-widening BFloat16 instructions would then be guarded by '+sme-b16b16+sme2', and 'b16b16' can be removed.
9 days[SLP][NFC] Add freeze instruction tests for upcoming support (#102215)John McIver2-20/+132
9 daysReapply "[CMake] Fold export_executable_symbols_* into function args. ↵Steven Wu58-125/+70
(#101741)" (#102138) Fix the builds with LLVM_TOOL_LLVM_DRIVER_BUILD enabled. LLVM_ENABLE_EXPORTED_SYMBOLS_IN_EXECUTABLES is not completely compatible with export_executable_symbols as the later will be ignored if the previous is set to NO. Fix the issue by passing if symbols need to be exported to llvm_add_exectuable so the link flag can be determined directly without calling export_executable_symbols_* later.
9 daysRevert b1234ddbe2652aa7948242a57107ca7ab12fd2f8. "[DAG] Add legalization ↵Simon Pilgrim28-3198/+4078
handling for ABDS/ABDU (#92576)" Reverting #92576 while we identify a reported regression
9 days[SLP][REVEC] Make ShuffleCostEstimator and ShuffleInstructionBuilder support ↵Han-Kuan Chen2-19/+148
vector instructions. (#99499) 1. When REVEC is enabled, we need to expand vector types into scalar types. 2. When REVEC is enabled, CreateInsertVector (and CreateExtractVector) is used because the scalar type may be a FixedVectorType. 3. Since the mask indices which are used by processBuildVector expect the source is scalar type, we need to transform the mask indices into a form which can be used when REVEC is enabled. The transform is only called when the mask is really used.
9 days[Clang][NFC] Restore "Non-comprehensive list of changes in this release" in ↵Mital Ashok1-0/+3
ReleaseNotes (#102134) This was removed in 10c6d6349e51bb245b9deec4aafca9885971135b
9 daysFix gcc Wparentheses warning. NFC.Simon Pilgrim1-3/+2
9 daysFix gcc Wparentheses warning. NFC.Simon Pilgrim1-3/+3
9 days[mlir] [python] Update PyYAML minimum version to 5.4 and limit ml_dtypes to ↵Nhat Nguyen1-2/+2
0.4.0 (#102178) PyYAML 5.3.1 has a security vulnerability as described here: https://nvd.nist.gov/vuln/detail/CVE-2020-14343. Update the minimum PyYAML version to 5.4. Also limit ml_dtypes version to 0.4.0.
9 days[libc] Fix conflict values from internal `limits.h` when used externallyJoseph Huber1-0/+3
9 days[flang][acc] Improve lowering of Fortran optional in data clause (#102224)Razvan Lupusoru3-50/+87
Fortran optional arguments are effectively null references. To deal with this possibility, flang lowering of OpenACC data clauses creates three if-else regions when preparing the data pointer for the data clause: 1) Load box value from box reference 2) Load box addr from box value 3) Load box dims from box value However, this pattern makes it more complicated to find the original box reference. Effectively, the first if-else region to get the box value is not needed - since the value can be loaded before the corresponding `fir.box_addr` and `fir.box_dims` operations. Thus, reduce the number of if-else regions by deferring the box load to the use sites. For non-optional cases, the old functionality is left alone - which preloads the box value.
9 days[lldb] Make sure that a `Progress` "completed" update is always reported at ↵royitaqi2-2/+76
destruction (#102097) Make all `Progress` destructions to cause `progressEnd` events, regardless of the value of `m_completed` before the destruction. Currently, a `Progress` instance with `m_completed != 0 && m_complete != m_total` will cause a `progressUpdate` event (not `progressEnd`) at destruction and. This contradicts with the classdoc: "a progress completed update is reported even if the user doesn't explicitly cause one to be sent."
9 days[LLVM][NVPTX] Add NVPTX codegen support for fence.proxy.tensormap (#100748)Pradeep Kumar5-0/+135
This commit adds LLVM Intrinsics and NVPTX codegen support for `fence.proxy.tensormap` with lit tests under fence-proxy-tensormap.ll. Also, added Intrinsics documentation in NVPTXUsage.rst --------- Co-authored-by: gonzalobg <65027571+gonzalobg@users.noreply.github.com>
9 days[SimplifyCFG] Add tests for sinking of load/store + gep (NFC)Nikita Popov1-0/+187