aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2024-03-05[𝘀𝗽𝗿] initial versionusers/MaskRay/spr/drivercrosswindows-remove-isystem-afterFangrui Song4-25/+7
Created using spr 1.3.5-bogner
2024-03-05[clangd] Show argument names for function pointer struct fields (#69011)Qwinci2-0/+23
Show argument names in signature help when calling a function pointer struct field.
2024-03-06[mlir][complex] Support fast math flag in converting complex.atan2 op (#82101)Kai Sasaki2-10/+582
When converting complex.atan2 op to standard, we need to keep the fast math flag given to the op. See: https://discourse.llvm.org/t/rfc-fastmath-flags-support-in-complex-dialect/71981
2024-03-05[clangd] Remove calls to getFileLoc() in declToSym() (#83532)Nathan Ridge2-3/+10
toHalfOpenFileRange() already handles translating macro locations to file locations, and it can provide a better result by knowing about both ends of the range. Fixes https://github.com/clangd/clangd/issues/1941
2024-03-05[clangd] Make all calls to format::getStyle() go through ↵Nathan Ridge5-27/+19
getFormatStyleForFile() (#82948)
2024-03-06AMDGPU: Correct cycle counts for f64 mfma on gfx940 (#83782)Matt Arsenault4-36/+79
2024-03-05[libc] Fix standalone cross compiling build for the GPU (#84042)Joseph Huber2-4/+24
Summary: This patch fixes some issues with building the GPU target manually without the runtimes bootstrapping build. This fixes the install directory and sets the default namespace to something more sensible if not set. Also I got rid of the check on `-mcpu=native`. it was a neat trick, but CMake in its INFINITE wisdom does not allow you to set link flags on the compiler flag check. So I just went with the old tool usage.
2024-03-05[CUDA] Correctly set CUDA default architecture (#84017)Joseph Huber7-124/+123
Summary: We already had a special CUDA default that better tracked the state as of modern CUDA installations. Recently this was bumped up to `sm_52`, but there was a location that wasn't respecting this. Fix that.
2024-03-05[WebAssembly] Use RefTypeMem2Local instead of Mem2Reg (#83196)Heejin Ahn4-12/+9
When reference-types feature is enabled, forcing mem2reg unconditionally even in `-O0` has some problems described in #81575. This uses RefTypeMem2Local pass added in #81965 instead. This also removes `IsForced` parameter added in https://github.com/llvm/llvm-project/commit/890146b19206827bc48ee1ae1dc1534ff2ff18d7 given that we don't need it anymore. This may still hurt debug info related to reference type variables a little during the backend transformation given that they are not stored in memory anymore, but reference type variables are presumably rare and it would be still a lot less damage than forcing mem2reg on the whole program. Also this fixes the EH problem described in #81575. Fixes #81575.
2024-03-06[RISCV] Add TargetParser to MCA (#84109)Wang Pengcheng1-0/+1
This fixes buildbot failures: https://lab.llvm.org/buildbot/#/builders/57/builds/33206
2024-03-05[libomptarget] Fix libomptarget.rtl.amdgpu.so installationYe Luo1-1/+0
If AMD GPUs don't exist when building libomptarget, the early return causes skipping the plugin installation.
2024-03-06[gn build] Port 85388a06b602LLVM GN Syncbot2-1/+1
2024-03-05Revert "[mlir][py] better support for arith.constant construction" (#84103)Mehdi Amini2-59/+2
Reverts llvm/llvm-project#83259 This broke an integration test on Windows
2024-03-06[RISCV] Move RISCVVType namespace to TargetParser (#83222)Wang Pengcheng8-165/+173
Clang and some middle-end optimizations may need these helper functions. This can reduce some duplications.
2024-03-05AMDGPU: Define and Use HasInterpInsts for interp inst definitions (#84102)Changpeng Fang3-2/+9
2024-03-06[InstrProf][NFC] Fix -Wimplicit-fallthrough warning in InstrProf.cpp after ↵wanglei1-1/+0
#82711
2024-03-06[lldb] Fix build failure in Debugger.cpp (NFC)Jie Fu1-1/+1
llvm-project/lldb/source/Core/Debugger.cpp:107:14: error: no type named 'DefaultThreadPoolThreadPool' in namespace 'llvm' static llvm::DefaultThreadPoolThreadPool *g_thread_pool = nullptr; ~~~~~~^ 1 error generated.
2024-03-05[SCEV] Migrate a couple tests to be auto generatedPhilip Reames2-71/+221
A few notes: * pr34538.ll has bitrotten. The original test printed the analysis after transforms in some cases, but this appears to been lost during migration to new pass manager. Remove the now redundant pass invocations and simplify the test setup.
2024-03-06[Clang][LoongArch] Fix wrong return value type of __iocsrrd_h (#84100)wanglei3-9/+9
relate: https://gcc.gnu.org/pipermail/gcc-patches/2024-February/645016.html
2024-03-05Rename llvm::ThreadPool -> llvm::DefaultThreadPool (NFC) (#83702)Mehdi Amini37-66/+65
The base class llvm::ThreadPoolInterface will be renamed llvm::ThreadPool in a subsequent commit. This is a breaking change: clients who use to create a ThreadPool must now create a DefaultThreadPool instead.
2024-03-05[SCEV] Migrate some tests to be autogeneratedPhilip Reames14-149/+434
In advance of a change which needs to update these. This batch was the "easy" ones, I'll be landing the harder set a few a time for easier review.
2024-03-05[TTI] Add alignment argument to TTI for compress/expand support (#83516)Kolya Panchenko6-21/+31
Since `llvm.compressstore` and `llvm.expandload` do require memory access, it's essential for some target to check if alignment is good to be able to lower them to target-specific instructions
2024-03-06[clang-tidy] fix false negative in cppcoreguidelines-missing-std-forward ↵Qizhi Hu3-5/+18
(#83987) Try to fix https://github.com/llvm/llvm-project/issues/83845 When `std::forward` is invoked in a function, make sure it uses correct parameter by checking if the bounded `var` equals the parameter. Co-authored-by: huqizhi <836744285@qq.com>
2024-03-06[Clang][LoongArch] Precommit test for fix wrong return value type of ↵wanglei2-10/+40
__iocsrrd_h. NFC
2024-03-06[RISCV] Improve error message when the extension is not supported (#83989)Brandon Wu3-12/+33
If the "march" has some extension with version that is not supported, it returns the error message like: "error: invalid arch name 'some_arch', unsupported version number 2.0 for extension 'some_arch'", which is not precise enough, it should return the message that only tells users "the extension is not supported".
2024-03-06[RISCV][SiFive] Add RISCVUsage for SiFive Intelligence Extensions (#84010)Brandon Wu1-0/+9
2024-03-06[clang][RISCV] Reorder sema check for RVV type (#83553)Brandon Wu2-7/+7
Currently using the command `clang -cc1 -triple riscv64` to compile the code below: ``` #include <riscv_vector.h> void foo() { vfloat64m1_t f64m1; } ``` would get the error message "RISC-V type 'vfloat64m1_t' ... requires the 'zve64x' extension" which is supposed to be "RISC-V type 'vfloat64m1_t' ... requires the 'zve64d' extension".
2024-03-06[RISCV] Don't remove extends for i1 indices in mgather/mscatter (#83951)Luke Lau3-4/+36
2024-03-06[X86][AVX512BF16] Add a few missing insert/extract patternsBenjamin Kramer2-0/+33
These are really the same as the f16 (and i16) instructions, but we need them for any type that can occur.
2024-03-05Revert "[AArch64] Verify ldp/stp alignment stricter" (#84096)Florian Mayer2-81/+19
Reverts llvm/llvm-project#83948 This broke the ASan buildbot: https://lab.llvm.org/buildbot/#/builders/168/builds/19054/steps/10/logs/stdio
2024-03-05AMDGPU: Define HasExpOrExportInsts for export instruction definitions. (#84083)Changpeng Fang4-3/+12
2024-03-05[ORC][MachO] Simplify use of LC_BUILD_VERSION in JITDylib headers.Lang Hames3-1/+51
API clients can now set a MachO::HeaderOptions::BuildVersionOpts field to have MachOPlatform add an LC_BUILD_VERSION load command to the Mach header for each JITDylib. No testcase yet. In the future we'll try to add a MachO parser to the ORC runtime and extra test options to llvm-jitlink for this. This commit also incidentally fixes a bug in the MachOBuilder class that lead to a delegation cycle.
2024-03-05[RISCV] Always use signed APSInt in getExactInteger. (#84070)Craig Topper2-7/+8
We were setting based on whether the FP value is positive/negative, but we really want to know whether the resulting integer will be treated as a signed or unsigned value. Since we use SINT_TO_FP to convert the integer to FP, we should always used signed here. Without this we convert +2147483648.0 to an integer 0x80000000 and convert it using sint_to_fp which produces -2147483648.0.
2024-03-06 [InstCombine] Fix shift calculation in InstCombineCasts (#84027)Quentin Dian2-2/+17
Fixes #84025.
2024-03-05[BOLT] Add reading support for Linux kernel .parainstructions section (#83965)Maksim Panchenko2-0/+138
Read .parainstruction section and mark call instructions with ParaSite annotations.
2024-03-05[AArch64] Implement -fno-plt for SelectionDAG/GlobalISelFangrui Song9-68/+116
Clang sets the nonlazybind attribute for certain ObjC features. The AArch64 SelectionDAG implementation for non-intrinsic calls (46e36f0953aabb5e5cd00ed8d296d60f9f71b424) is behind a cl option. GCC implements -fno-plt for a few ELF targets. In Clang, -fno-plt also sets the nonlazybind attribute. For SelectionDAG, make the cl option not affect ELF so that non-intrinsic calls to a dso_preemptable function use GOT. Adjust AArch64TargetLowering::LowerCall to handle intrinsic calls. For FastISel, change `fastLowerCall` to bail out when a call is due to -fno-plt. For GlobalISel, handle non-intrinsic calls in CallLowering::lowerCall and intrinsic calls in AArch64CallLowering::lowerCall (where the target-independent CallLowering::lowerCall is not called). The GlobalISel test in `call-rv-marker.ll` is therefore updated. Note: the current -fno-plt -fpic implementation does not use GOT for a preemptable function. Link: #78275 Pull Request: https://github.com/llvm/llvm-project/pull/78890
2024-03-05AMDGPU: Copy SubtargetPredicate from pseudo for DSDIR_Real (#84057)Changpeng Fang1-0/+3
2024-03-05[flang] Added lowering and runtime for COMPLEX(16) intrinsics. (#83874)Slava Zakharin34-233/+444
For `LDBL_MANT_DIG == 113` targets the FortranFloat128Math library is just an interface library that provides sources and compilation options to be used for building FortranRuntime - there are not extra dependencies on other libraries, so it can be a part of FortranRuntime, which helps to avoid extra linking steps in the compiler driver. Targets with __float128 support in libc will also use this path. Other targets, where the math support comes from FLANG_RUNTIME_F128_MATH_LIB, FortranFloat128Math is built as a standalone static library, and the compiler driver needs to conduct the linking. Flang APIs for COMPLEX(16) are just thin C wrappers around the C math functions. Flang uses C _Complex ABI for passing/returning COMPLEX values, so the runtime is aligned to this.
2024-03-05[HLSL] implement the rcp intrinsic (#83857)Farzon Lotfi7-7/+144
This PR implements the frontend for llvm#70100 This PR is part 1 of 2. Part 2 requires an intrinsic to instructions lowering. - `Builtins.td` - add an `rcp` builtin - `CGBuiltin.cpp` - add the builtin to intrinsic lowering - `hlsl_intrinsics.h` - add the `rcp` api - `SemaChecking.cpp` - reuse frac's sema checks - `IntrinsicsDirectX.td` - add the llvm intrinsic
2024-03-05[RISCV] Add test for incorrect FP build vector lowering. NFCCraig Topper1-0/+17
The lowering is not distinquishing -2147483648.0 and 2147483648.0.
2024-03-05[SPIR-V] Memory leak fix in SPIRVEmitIntrinsics (#83015)bwlodarcz1-121/+152
The architecture of SPIRVEmitIntrinsics is build in such way that every private method is called by one main function runOnFunction which then calls private methods. Private member IRB is allocated in runOnFunction method but it's not freed. Due to that every time when IR function contains intrinsics to emit, runOnFunction is entered and memory is leaked on exit. It's especially true when there are two or more IR functions to emit. IRB is set to nullptr during construction of object and it's left without pointing resource until runOnFunction is entered. This also create possibility of simple mistake when private method is called but there is no resource pointed. Change requires passing IRBuilder by reference to private methods. The visit* functions create it's own IRBuilder thus IRB is eliminated from class scope. In addition there is a small performance improvement because IRBuilder is not allocated by heap.
2024-03-05[compiler-rt/darwin] Disable building sanitizers on platforms without ↵rohit-rao1-1/+1
fork(). (#83485) The watchOS and tvOS sanitizers do not compile with publicly-available SDKs, failing on calls such as fork() and posix_spawn(). Updating the darwin_test_archs test program to include a call to fork() allows cmake to exclude those platforms when compiling runtimes. This allows public builds to enable watchOS/tvOS and compile builtins but not sanitizers.
2024-03-05[OpenACC] Fix typo in StmtOpenACC.cpp header.erichkeane1-1/+1
2024-03-05Use the new ThreadPoolInterface base class instead of the concrete ↵Mehdi Amini6-10/+10
implementation (NFC) (#84056)
2024-03-05[SystemZ] [z/OS] Emit offset to PPA2 in separate MCSection (#84043)Neumann Hon3-0/+10
The ppa2list section isn't really part of the ppa2 section. The ppa2list section contains the offset to the ppa2, and must be created with a special section name (specifically, C_@@QPPA2). The binder searches for a section with this name, then uses this value to locate the ppa2. In GOFF terms, these are entirely separate sections; the PPA2 section isn't even really a section but rather belongs to the code section. On the other hand, the ppa2list section is a section in its own right and resides in a separate TXT record.
2024-03-05[libc++abi] Always re-export std:: exception types from libc++abi (#84031)Louis Dionne1-1/+4
We always provide the std:: exception types, even when exceptions are disabled. This is a bit counter-intuitive, but these exception types are just normal types at the end of the day so we made the decision to always provide their definition. Failure to re-export these types would cause libc++ to fail to link on Apple platforms when exceptions are disabled.
2024-03-05[mlir][sparse] migrate tests to sparse_tensor.print (#84055)Aart Bik5-234/+183
Continuing the efforts started in #83357
2024-03-05Disable clang-tidy misc-include-cleaner (#83945)Mehdi Amini1-1/+1
This does not apply well to LLVM which intentionally rely on forward declarations. Also depending on the config flags passed to CMake the result can be different.
2024-03-05Revert "[SLP]Improve minbitwidth analysis."Alexey Bataev15-451/+295
This reverts commit a730ed7c1a4a35f5219df720ffb0ba6122d64fe4 to fix compile time issue.
2024-03-05Revert "[SLP][NFC]Use TargetTransformInfo:: instead of TTI:: in BoUpSLP to ↵Alexey Bataev1-4/+2
avoid" This reverts commit 083d8aa03aca55b88098a91e41e41a8e321a5721.