- Feb 21, 2024
-
-
LLVM GN Syncbot authored
-
kadir çetinkaya authored
-
Clement Courbet authored
…table. All data is derived from a single table rather than being spread out over an enum, a table and the main entry point. This is intended as a replacement for #82092.
-
Yingwei Zheng authored
This patch lowers select of constants if `TrueV == ~FalseV`. Address the comment in https://github.com/llvm/llvm-project/pull/82456#discussion_r1496881603.
-
Balázs Kéri authored
Function 'fileno' fails only if invalid pointer is passed, this is a case that is often ignored in source code. The failure case leads to many "false positive" reports when `fileno` returns -1 and this is not checked in the program. Because this, the function is now assumed to not fail (this is assumption that the passed file pointer is correct). The change affects `StdCLibraryFunctionsChecker` and `StreamChecker`.
-
Nikita Popov authored
Fold `iv = phi(start, iv.next = iv2.next + start)` where `iv2 = phi(iv2.start, iv2.next = iv2 + iv2.step)` to `iv = iv2 + start` removing one induction variable from the loop. Proof: https://alive2.llvm.org/ce/z/hfmwgf Fixes https://github.com/llvm/llvm-project/issues/77108.
-
Francesco Petrogalli authored
-
cor3ntin authored
When a pack in a pack indexing specifier cannot be immediately expanded, we were creating an incomplete TypeLoc (causing assertion failure). As we do not keep track of typelocs of expanded elements, we create a trivial typeloc Fixes #81697
-
Wang Pengcheng authored
And use `getTargetConstant` to create operands. This PR addresses comments after committing #82322.
-
Ryosuke Niwa authored
This PR adds the support for WebKit's RefAllowingPartiallyDestroyed and RefPtrAllowingPartiallyDestroyed, which are smart pointer types which may be used after the destructor had started running.
-
LLVM GN Syncbot authored
-
Owen Pan authored
Fixes #79833.
-
Jooyung Han authored
Allow pre-release APIs on pre-release devices. The current implementation requires __ANDROID_API_FUTURE__ to use new APIs on pre-release system. This makes it hard to maintain the codebase because it should be switched a concrete version (e.g. __ANDROID_API_X__ on release of X). Instead, we can just allow pre-release APIs on pre-release system without mandating the major version of __ANDROID_API_FUTURE__. Note that this doesn't make API guards just no-op in pre-release builds. We can still rely on its compile-time checks and it still works as expected with release builds. Even with pre-release builds, it's the same as before because we would pass __ANDROID_API_FUTURE__ to make the calls anyway.
-
Owen Anderson authored
[GlobalISel] Clamp out-of-range G_EXTRACT_VECTOR_ELT constant indices when converting them into loads. (#82460) This avoid turning a poison value into a segfault, and fixes https://github.com/llvm/llvm-project/issues/78383
-
Matteo Franciolini authored
If an op was not contained in a region when was written to bytecode, we don't have an initialized valueScope with forward references to define.
-
Sameer Sahasrabuddhe authored
This reverts commit 79889734. Encountered multiple buildbot failures.
-
Wang Pengcheng authored
This intrinsic was introduced by #81331, which is a lot like `llvm.readcyclecounter`. For the RISCV implementation, we rename `ReadCycleWide` pseudo to `ReadCounterWide` and make it accept two operands (the low and high parts of the counter). As for legalization and lowering parts, we reuse the code of `ISD::READCYCLECOUNTER` (make it able to handle both intrinsics), and we use `time` CSR for `ISD::READSTEADYCOUNTER`. Tests using Clang builtins are runned on real hardware and it works as excepted. Reviewers: asb, MaskRay, dtcxzyw, preames, topperc, jhuber6 Reviewed By: jhuber6, asb, MaskRay, dtcxzyw Pull Request: https://github.com/llvm/llvm-project/pull/82322
-
Craig Topper authored
If the passes aren't registered, they don't show up in print-after-all.
-
Jie Fu authored
ld.lld: error: undefined symbol: llvm::MachineOperand::dump() const >>> referenced by SIISelLowering.cpp
-
LLVM GN Syncbot authored
-
Sameer Sahasrabuddhe authored
LLVM function calls carry convergence control tokens as operand bundles, where the tokens themselves are produced by convergence control intrinsics. This patch implements convergence control tokens in MIR as follows: 1. Introduce target-independent ISD opcodes and MIR opcodes for convergence control intrinsics. 2. Model token values as untyped virtual registers in MIR. The change also introduces an additional ISD opcode CONVERGENCECTRL_GLUE and a corresponding machine opcode with the same spelling. This glues the convergence control token to SDNodes that represent calls to intrinsics. The glued token is later translated to an implicit argument in the MIR. The lowering of calls to user-defined functions is target-specific. On AMDGPU, the convergence control operand bundle at a non-intrinsic call is translated to an explicit argument to the SI_CALL_ISEL instruction. Post-selection adjustment converts this explicit argument to an implicit argument on the SI_CALL instruction.
-
Michal Paszkowski authored
This pull request fixes an issue with missing vector element count immediate in OpExtInst calls and adds a case for generating bitcasts before GEPs for kernel arguments of non-matching pointer type. The new LITs are based on basic/vload_local and basic/vload_global OpenCL CTS tests. The tests after this change pass SPIR-V validation.
-
Owen Anderson authored
[GlobalISel] Make sure to check for load barriers when merging G_EXTRACT_VECTOR_ELT into G_LOAD. (#82306) Fixes https://github.com/llvm/llvm-project/issues/78477
-
Peiming Liu authored
-
Greg Clayton authored
When using split DWARF we can run into many different ways to store debug info: - lldb loads `<exe>` which contains skeleton DWARF and needs to find `<exe>.dwp` - lldb loads `<exe>` which is stripped but has .gnu_debuglink pointing to `<exe>.debug` with skeleton DWARF and needs to find `<exe>.dwp` - lldb loads `<exe>` which is stripped but has .gnu_debuglink pointing to `<exe>.debug` with skeleton DWARF and needs to find `<exe>.debug.dwp` - lldb loads `<exe>.debug` and needs to find `<exe>.dwp` Previously we only handled the first two cases. This patch adds support for the latter two.
-
Tom Stellard authored
The default GitHub token does not have read permissions on the org, so we need to use a custom token in order to read the members of the llvm-release-managers team.
-
Diego Caballero authored
This PR adds folders for linalg transpose ops with only one dimension or an identity permutation. The folding removes the `linalg.transpose` and just propagates the input tensor.
-
Philip Reames authored
We've now got enough of these in tree that we can see which patterns appear to be idiomatic. As such, extract a helper for checking if we know the exact VLEN.
-
Nico Weber authored
This reverts commit 3ff80554. Test is failing on bots, see https://github.com/llvm/llvm-project/pull/82298#issuecomment-1955664462
-
Ryosuke Niwa authored
This PR makes the checker ignore / skip calls to methods of Web Template Platform's container types such as HashMap, HashSet, WeakHashSet, WeakHashMap, Vector, etc...
-
Nico Weber authored
-
Peiming Liu authored
*NOTE*: the `SoA` property only makes a difference on codegen path, and is ignored in libgen path at the moment (only SoA COO is supported).
-
Fangrui Song authored
The generic `tools::AddRunTimeLibs` uses an absolute path. Change BareMetal to match. I believe users are not supposed to place other files under the directory containing `libclang_rt.builtins-$arch.a`. If they rely on the implicit -L, they now need to explicitly specify -L.
-
Boian Petkantchin authored
Implement OpAsmOpInterface for most ops to increase IR readability. For example `mesh.process_linear_index` would produce a value with name `proc_linear_idx`.
-
Stanislav Mekhanoshin authored
src0 and src1 are packed f16/bf16, we are printing literals like 0x40002000, but we cannot parse it.
-
Tom Stellard authored
This was broken by 91a38462.
-
Nick Desaulniers authored
stdbit.h isn't complete yet, but looking to turn these on on more targets for earlier feedback.
-
jimingham authored
For reasons that are not clear to me, on arm64, the alias registers are listed in list of register info's we do completion against, but for x86_64 they are not. Maybe this is a difference in how the dynamic register builders work for the two systems. Anyway, it doesn't look possible to make a generic one.
-
Joseph Huber authored
Summary: The PTX target supports the f16 type natively and we alreaqdy have a few LLVM backend tests that support the LLVM-IR. We should be able to enable this for generic use. This is done prior the f16 math functions being written in the GPU libc case.
-
Changpeng Fang authored
The corresponding fp8 conversion instructions are available for a subtarget when and only when the subtarget "HasFP8ConversionInsts". We should not assume all the future subtargets (gfx12+) have FP8ConversionInsts. In this patch, we use OtherPredicates to carry HasFP8ConversionInsts feature. This is because SubtargetPredicate is not copied from pseudos to reals for DPP16 and DPP6. To avoid overriding OtherPredicates in a few places, we use the newly introduced True16Predicate to hold UseRealTrue16Insts instead. This work repalces the inadvertently closed pull request: https://github.com/llvm/llvm-project/pull/82024
-