-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[AutoBump] Merge with 83891777 (May 16) (48) #307
Commits on May 14, 2024
-
Fix incorrect codegen with respect to GEPs llvm#85333 (llvm#92047)
As mentioned in llvm#68882 and https://discourse.llvm.org/t/rfc-replacing-getelementptr-with-ptradd/68699 Gep arithmetic isn't consistent with different types. GVNSink didn't realize this and sank all geps as long as their operands can be wired via PHIs in a post-dominator. Fixes: llvm#85333 Reapply: llvm#88440 after fixing the non-determinism issues in llvm#90995
Configuration menu - View commit details
-
Copy full SHA for bf7a0f9 - Browse repository at this point
Copy the full SHA bf7a0f9View commit details -
[mlir][llvm] Add llvm.vector.deinterleave2 intrinsic (llvm#91986)
Adds the LLVM vector.deinterleave2 intrinsic to the MLIR LLVM dialect. The deinterleave2 intrinsic takes a vector and returns two vectors with the first having even elements and the second with odd elements from the input vector. The inverse of vector.interleave2.
Configuration menu - View commit details
-
Copy full SHA for e1685eb - Browse repository at this point
Copy the full SHA e1685ebView commit details -
Cope with MCOperand null Insts (llvm#91794)
MCOperand has a constructor that permits a nullptr MCInst, and BOLT makes use of that. Adjust MCOperand's dumper to permit such use.
Configuration menu - View commit details
-
Copy full SHA for cfa0947 - Browse repository at this point
Copy the full SHA cfa0947View commit details -
[BOLT][NFC] Simplify CFG validation (llvm#91977)
Remove 'Valid' local boolean that has a single use, and return directly instead.
Configuration menu - View commit details
-
Copy full SHA for 725014d - Browse repository at this point
Copy the full SHA 725014dView commit details -
[Clang] Fix dependency computation for pack indexing expression (llvm…
…#91933) Given `foo...[idx]` if idx is value dependent, the expression is type dependent. Fixes llvm#91885 Fixes llvm#91884
Configuration menu - View commit details
-
Copy full SHA for 312f83f - Browse repository at this point
Copy the full SHA 312f83fView commit details -
[BOLT][NFC] Simplify successor check (llvm#91980)
Remove excess parentheses and use `boolean ? true-case : false-case` idiom.
Configuration menu - View commit details
-
Copy full SHA for 1aff294 - Browse repository at this point
Copy the full SHA 1aff294View commit details -
[OpenACC] Fix ast-print of device_type clause
When writing the test for this I seemingly forgot to put 'CHECK' on the lines, so I didn't notice that I was printing the identifiers as pointers rather than their names. This patch corrects the tests and the print behavior.
Configuration menu - View commit details
-
Copy full SHA for 03eba20 - Browse repository at this point
Copy the full SHA 03eba20View commit details -
Configuration menu - View commit details
-
Copy full SHA for e60b83a - Browse repository at this point
Copy the full SHA e60b83aView commit details -
Configuration menu - View commit details
-
Copy full SHA for d422e90 - Browse repository at this point
Copy the full SHA d422e90View commit details -
[mlir][ArmSME] Use liveness information in the tile allocator (llvm#9…
…0448) This patch rewrites the ArmSME tile allocator to use liveness information to make better tile allocation decisions and improve the correctness of the ArmSME dialect. This algorithm used here is a linear scan over live ranges, where live ranges are assigned to tiles as they appear in the program (chronologically). Live ranges release their assigned tile ID when the current program point is passed their end. This is a greedy algorithm (which is mainly to keep the implementation relatively straightforward), and because it seems to be sufficient for most kernels (e.g. matmuls) that use ArmSME. The general steps of this are roughly from https://link.springer.com/content/pdf/10.1007/3-540-45937-5_17.pdf, though there have been a few simplifications and assumptions made for our use case. Hopefully, the only changes needed for a user of the ArmSME dialect is that: - `-allocate-arm-sme-tiles` will no longer be a standalone pass - `-test-arm-sme-tile-allocation` is only for unit tests - `-convert-arm-sme-to-llvm` must happen after `-convert-scf-to-cf` - SME tile allocation is now part of the LLVM conversion By integrating this into the `ArmSME -> LLVM` conversion we can allow high-level (value-based) ArmSME operations to be side-effect-free, as we can guarantee nothing will rearrange ArmSME operations before we emit intrinsics (which could invalidate the tile allocation). The hope is for ArmSME operations to have no hidden state/side effects and allow easily lowering dialects such as `vector` and `arith` to SME, without making assumptions about how the input IR looks, as the semantics of the operations will be the same. That is no (new) side effects and the IR follows the rules of SSA (a value will never change). The aim is correctness, so we have a base for working on optimizations.
Configuration menu - View commit details
-
Copy full SHA for 041baf2 - Browse repository at this point
Copy the full SHA 041baf2View commit details -
[AArch64] Postcommit fixes for histogram intrinsic (llvm#92095)
A buildbot with expensive checks enabled flagged some problems with my patch. There was also a post-commit nit on the langref changes.
Configuration menu - View commit details
-
Copy full SHA for 2b15c4a - Browse repository at this point
Copy the full SHA 2b15c4aView commit details -
[PowerPC][test] Catch any exception when retrieving git revision (llv…
…m#92004) This makes the `vc-rev-enabled` feature unsupported if we fail to retrieve the git revision for any reason, such as if git is not installed.
Configuration menu - View commit details
-
Copy full SHA for d9db266 - Browse repository at this point
Copy the full SHA d9db266View commit details -
[Clang] Retain the angle loci for invented template parameters of con…
…straints (llvm#92104) Clangd uses it to determine whether the argument is within the selection range. Fixes clangd/clangd#2033
Configuration menu - View commit details
-
Copy full SHA for 8070b2d - Browse repository at this point
Copy the full SHA 8070b2dView commit details -
[Support] Add option to print SMDiagnostic into a buffer without the …
…filename and location info (llvm#92050)
Configuration menu - View commit details
-
Copy full SHA for a4accdf - Browse repository at this point
Copy the full SHA a4accdfView commit details -
[clang][SPIR-V] Always add convergence intrinsics (llvm#88918)
PR llvm#80680 added bits in the codegen to lazily add convergence intrinsics when required. This logic relied on the LoopStack. The issue is when parsing the condition, the loopstack doesn't yet reflect the correct values, as expected since we are not yet in the loop. However, convergence tokens should sometimes already be available. The solution which seemed the simplest is to greedily generate the tokens when we generate SPIR-V. Fixes llvm#88144 --------- Signed-off-by: Nathan Gauër <brioche@google.com>
Configuration menu - View commit details
-
Copy full SHA for e08f1fd - Browse repository at this point
Copy the full SHA e08f1fdView commit details -
Update documentation for buffer fat pointers (llvm#92034)
Now that we've got (minus some issues around datatypes and invariant loads) working lowerings for address space 7, update the table in the AMDGPU usage guide to properly indicate the nature of these address spaces.
Configuration menu - View commit details
-
Copy full SHA for ac0d415 - Browse repository at this point
Copy the full SHA ac0d415View commit details -
[RISCV] Add X27 to SavedRegs when X26 is in SavedRegs for cm.push/pop (…
…llvm#92067) cm.push can't save X26 without also saving X27. This removes two other checks for this case. This causes CFI to be emitted since X27 is now explicitly a callee saved register. The affected tests use inline assembly to clobber X26 rather than the whole range of s0-s10.
Configuration menu - View commit details
-
Copy full SHA for 736ffdc - Browse repository at this point
Copy the full SHA 736ffdcView commit details -
[ORC] Loosen __objc_imageinfo flag merging to match ld (llvm#91767)
Allow mixing objects with/without signed class ro data and category class properties as long as it happens before we register the metadata. These combinations are a warning in ld, not a hard error. The only case that is ABI-breaking is if we already registered with the feature enabled but later try to load an object that doesn't support it. rdar://127336061
Configuration menu - View commit details
-
Copy full SHA for 2766f21 - Browse repository at this point
Copy the full SHA 2766f21View commit details -
[LoongArch] Add test cases for div/mod to cover various extended comb…
…inations of 32-bit integers. NFC
Configuration menu - View commit details
-
Copy full SHA for 82434c7 - Browse repository at this point
Copy the full SHA 82434c7View commit details -
[LAA] refactor tryToCreateDiffCheck (NFC) (llvm#92110)
tryToCreateDiffCheck has one caller, and exits early if CanUseDiffCheck is false. Hence, we can get/set CanUseDiffCheck in the caller to avoid wastefully calling tryToCreateDiffCheck. This patch is an NFC simplification of program logic.
Configuration menu - View commit details
-
Copy full SHA for 08536b0 - Browse repository at this point
Copy the full SHA 08536b0View commit details -
[AArch64] Remove redundant FDIV Combine. (llvm#91924)
The target combine is no longer required because InstCombine will transform the DIV by a power of 2 into a multiply, so in practice this case will never trigger. Additionally, the generated code would have been incorrect for streaming(-compatible) functions, because it assumed NEON was available.
Configuration menu - View commit details
-
Copy full SHA for 3d6f18d - Browse repository at this point
Copy the full SHA 3d6f18dView commit details -
Configuration menu - View commit details
-
Copy full SHA for b2c5e9b - Browse repository at this point
Copy the full SHA b2c5e9bView commit details -
[lldb] Fixed the test TestThreadStates when run with a remote target (l…
…lvm#92086) self.wait_for_running_event(process) is always called after self.runCmd("continue"). It is strange to expect eStateConnected here. This test failed in case of a remote target. The correct state is eStateRunning. Removed incorrect checking.
Configuration menu - View commit details
-
Copy full SHA for 0f17d9a - Browse repository at this point
Copy the full SHA 0f17d9aView commit details -
[RISCV][CostModel] Add cost model for experimental.cttz.elts (llvm#91778
Configuration menu - View commit details
-
Copy full SHA for 4c68de5 - Browse repository at this point
Copy the full SHA 4c68de5View commit details -
[Clang][Sema] Earlier type checking for builtin unary operators (llvm…
…#90500) Currently, clang postpones all semantic analysis of unary operators with operands of pointer/pointer to member/array/function type until instantiation whenever that type is dependent (e.g. `T*` where `T` is a type template parameter). Consequently, the uninstantiated AST nodes all have the type `ASTContext::DependentTy` (which, for the purposes of llvm#90152, is undesirable as that type may be the current instantiation! (e.g. `*this`)) This patch moves the point at which we perform semantic analysis for such expression to be prior to instantiation.
Configuration menu - View commit details
-
Copy full SHA for 8019cbb - Browse repository at this point
Copy the full SHA 8019cbbView commit details -
Restore llvm#91137 (llvm#92003)
llvm#91137 reverted in llvm#92001 A build error fix added in 28d5ece --------- Co-authored-by: Jeremy Kun <j2kun@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 2ff43ce - Browse repository at this point
Copy the full SHA 2ff43ceView commit details -
Configuration menu - View commit details
-
Copy full SHA for 344c73e - Browse repository at this point
Copy the full SHA 344c73eView commit details -
RISCVAsmParser: Make diagnostics more conventional
Most diagnostics obey https://llvm.org/docs/CodingStandards.html#error-and-warning-messages but some diverge. Fix them. While here, adjust some diagnostics. Pull Request: llvm#92024
Configuration menu - View commit details
-
Copy full SHA for 5f7477a - Browse repository at this point
Copy the full SHA 5f7477aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1355dcb - Browse repository at this point
Copy the full SHA 1355dcbView commit details -
[mlir][flang] Improve handling of fortran module variables. (llvm#91604)
Currently, only those global variables which are at compile unit scope are added to the 'globals' list of the DICompileUnit. This does not work for languages which support modules (e.g. Fortran) where hierarchy can be variable -> module -> compile unit. To fix this, if a variable scope points to a module, we walk one level up and see if module is in the compile unit scope. This was initially part of llvm#91582 which adds debug information for Fortran module variables. @kiranchandramohan pointed out that MLIR changes should go in separate PRs.
Configuration menu - View commit details
-
Copy full SHA for 77b80bd - Browse repository at this point
Copy the full SHA 77b80bdView commit details -
[RISCV] Only allow up to e64 in vsetvli (llvm#92010)
These larger SEWs aren't in the ratified V spec. Thanks to dzaima and sorear on IRC for pointing this one out. Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
Configuration menu - View commit details
-
Copy full SHA for b04c07b - Browse repository at this point
Copy the full SHA b04c07bView commit details -
[NFC][CallPromotionUtils]Extract a helper function versionCallSiteWit…
…hCond from versionCallSite (llvm#81181) * This is to be used by llvm#81378 to implement a variant of versionCallSite that compares vtables. * The parent patch is llvm#81051
Configuration menu - View commit details
-
Copy full SHA for 6c8ebc0 - Browse repository at this point
Copy the full SHA 6c8ebc0View commit details -
[clang-tidy] Ignore implicit casts with errors in bugprone-implicit-w…
…idening-of-multiplication-result (llvm#92025) When expression got errors (missing typedef) and clang-tidy is compiled with asserts enabled, then we crash in this check on assert because type with errors is visible as an dependent one. This is issue caused by invalid input. But as there is not point to crash in such case and generate additional confusion, such expressions with errors will be now ignored. Fixes llvm#89515, llvm#55293
Configuration menu - View commit details
-
Copy full SHA for 54435b5 - Browse repository at this point
Copy the full SHA 54435b5View commit details -
Revert "[Clang][Sema] Earlier type checking for builtin unary operato…
…rs (llvm#90500)" (llvm#92149) This reverts commit 8019cbb.
Configuration menu - View commit details
-
Copy full SHA for 97e35e0 - Browse repository at this point
Copy the full SHA 97e35e0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 86f655c - Browse repository at this point
Copy the full SHA 86f655cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 39d123f - Browse repository at this point
Copy the full SHA 39d123fView commit details -
[RISCV][test] Precommit tests for byte store of -1
Although we can't reduce the number of instructions, if we selected `li rd, -1` instead then this could be encoded in a 16-bit instruction.
Configuration menu - View commit details
-
Copy full SHA for de14b74 - Browse repository at this point
Copy the full SHA de14b74View commit details -
[RISCV] Improve constant materialisation for stores of i8 negative co…
…nstants (llvm#92131) This follows the same pattern as 20e6265. Although we can't reduce the number of instructions used, if we are able to use a sign-extended 6-bit immediate then the 16-bit c.li instruction can be selected (thus saving code size). Although this _could_ be gated so it only happens if C is enabled, I've opted not to because at worst it's neutral and it doesn't seem helpful to add unnecessary divergence between the RVC and non-RVC paths.
Configuration menu - View commit details
-
Copy full SHA for 90109d4 - Browse repository at this point
Copy the full SHA 90109d4View commit details -
[VPlan] Relax over-aggressive assertion in VPTransformState::get().
There are cases where a vector value has some users that demand the the single scalar value only (NeedsScalar), while other users demand the vector value (see attached test cases). In those cases, the NeedsScalar users should only demand the first lane. Fixes llvm#91883.
Configuration menu - View commit details
-
Copy full SHA for 67d840b - Browse repository at this point
Copy the full SHA 67d840bView commit details -
Configuration menu - View commit details
-
Copy full SHA for f89b1b8 - Browse repository at this point
Copy the full SHA f89b1b8View commit details -
[llvm] Support fixed point multiplication on AArch64 (llvm#84237)
Prior to this, fixed point multiplication would lead to this assertion error on AArhc64, armv8, and armv7. ``` _Accum f(_Accum x, _Accum y) { return x * y; } // ./bin/clang++ -ffixed-point /tmp/test2.cc -c -S -o - -target aarch64 -O3 clang++: llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp:10245: void llvm::TargetLowering::forceExpandWideMUL(SelectionDAG &, const SDLoc &, bool, EVT, const SDValue, const SDValue, const SDValue, const SDValue, SDValue &, SDValue &) const: Assertion `Ret.getOpcode() == ISD::MERGE_VALUES && "Ret value is a collection of constituent nodes holding result."' failed. ``` This path into forceExpandWideMUL should only be taken if we don't support [US]MUL_LOHI or MULH[US] for the operand size (32 in this case). But we should also check if we can just leverage regular wide multiplication. That is, extend the operands from 32 to 64, do a regular 64-bit mul, then trunc and shift. These ops are certainly available on aarch64 but for wider types.
Configuration menu - View commit details
-
Copy full SHA for 19008d3 - Browse repository at this point
Copy the full SHA 19008d3View commit details -
[mlir][test] Extend
InferIntRangeInterface
test Ops to arbitrary in……ts (llvm#91850) This PR is in preparation to some extensions to the `InferIntRangeInterface` around the `nsw` and `nuw` flags supported in the `arith` dialect and LLVM. We provide some common inference logic for `index` and `arith` in `InferIntRangeCommon.h` but our Test Ops are currently fixed to `Index` Types. As we test the range inference for arith Ops, especially around the overflow behaviour, it's handy to have native support for the typical integer types in the test Ops. This patch 1. Changes the Attributes of `test.with_bounds` ops from `Index` to `APInt` which matches the internal representation in `ConstantIntRanges`. 2. Allows the use of `AnyInteger` in addition to `Index` for the operands and results of the test Ops. This now requires explicit specification of the type in the IR, where before `Index` was implicit. 3. Requires bounds Attrs to be specified in the precision of the SSA value, eliminating any implicit truncation or extension. (*Could this lead to problems?*)
Configuration menu - View commit details
-
Copy full SHA for acd1007 - Browse repository at this point
Copy the full SHA acd1007View commit details -
Configuration menu - View commit details
-
Copy full SHA for 80f8ae3 - Browse repository at this point
Copy the full SHA 80f8ae3View commit details -
Allow passing creduce options through creduce-clang-crash.py (llvm#92141
) This change allows us to pass creduce options to creduce-clang-crash.py script. With this, `--n` is no longer needed to specify the number of cores, so removed the flag. The motivation is llvm#87933 (comment) suggests that disabling creduce renaming passes helps people to further reduce crash manually.
Configuration menu - View commit details
-
Copy full SHA for 5adfcb0 - Browse repository at this point
Copy the full SHA 5adfcb0View commit details -
[LAA] Delay applying loop guards until after isSafeDependenceDistance.
Applying the loop guards to the distance may prevent isSafeDependenceDistance from determining NoDep, unless loop guards are also applied to the backedge-taken-count. Instead of applying the guards to both Dist and the backedge-taken-count, just apply them after handling isSafeDependenceDistance and constant distances; there is no benefit to applying the guards before then. This fixes a regression flagged by @bjope due to ecae3ed.
Configuration menu - View commit details
-
Copy full SHA for 179efe5 - Browse repository at this point
Copy the full SHA 179efe5View commit details -
[Offload] Do not link every target for JIT (llvm#92013)
Summary: The offload library supports basic JIT functionality, however we currently link against every single target even though only AMDGPU and NVPTX are supported. This somewhat bloats the dynamic library list, so we should constrain it to what's actually used.
Configuration menu - View commit details
-
Copy full SHA for 302db1a - Browse repository at this point
Copy the full SHA 302db1aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 332f5e7 - Browse repository at this point
Copy the full SHA 332f5e7View commit details -
[github] Add keith to bazel owners (NFC) (llvm#92164)
I'm interested in being CC'd on these changes
Configuration menu - View commit details
-
Copy full SHA for 18ba0cc - Browse repository at this point
Copy the full SHA 18ba0ccView commit details -
[LV] Add tests with trip counts containing UDIV expressions.
Add test cases for llvm#89958.
Configuration menu - View commit details
-
Copy full SHA for cf5db39 - Browse repository at this point
Copy the full SHA cf5db39View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4cfe347 - Browse repository at this point
Copy the full SHA 4cfe347View commit details -
[AArch64][SME] Fix frame lowering not using a base pointer for SME fu…
…nctions. (llvm#91643) The existing code is checking for the presence of the +sve subtarget feature when deciding to use a base pointer for the function, but this check doesn't work when only +sme is used. rdar://126878490
Configuration menu - View commit details
-
Copy full SHA for d4c86e7 - Browse repository at this point
Copy the full SHA d4c86e7View commit details -
Reapply "[Clang] Unify interface for accessing template arguments as …
…written for class/variable template specializations (llvm#81642)" (llvm#91393) Reapplies llvm#81642, fixing the crash which occurs when running the lldb test suite.
Configuration menu - View commit details
-
Copy full SHA for 1202837 - Browse repository at this point
Copy the full SHA 1202837View commit details -
[mlir][sparse] clone a empty sparse tensor when fuse convert into pro… (
llvm#92158) …ducer.
Peiming Liu authoredMay 14, 2024 Configuration menu - View commit details
-
Copy full SHA for fb8f492 - Browse repository at this point
Copy the full SHA fb8f492View commit details -
Configuration menu - View commit details
-
Copy full SHA for baca93f - Browse repository at this point
Copy the full SHA baca93fView commit details -
Configuration menu - View commit details
-
Copy full SHA for f83df08 - Browse repository at this point
Copy the full SHA f83df08View commit details -
[lldb] Allow env override for LLDB_ARGDUMPER_PATH (llvm#91688)
This mirrors the LLDB_DEBUGSERVER_PATH environment variable and allows you to have lldb-argdumper in a non-standard location and still use it at runtime.
Configuration menu - View commit details
-
Copy full SHA for f918c05 - Browse repository at this point
Copy the full SHA f918c05View commit details -
[TableGen][SubtargetEmitter] Refactor hasReadOfWrite to CodeGenProcMo…
…del (llvm#92032) SubtargetEmitter::GenSchedClassTables takes a CodeGenProcModel, but calls hasReadOfWrite which loops over all ProcModels. We move hasReadOfWrite to CodeGenProcModel and remove the loop over all ProcModels. This leads to a 144% speedup on the RISC-V backend of our downstream.
Configuration menu - View commit details
-
Copy full SHA for 67beebf - Browse repository at this point
Copy the full SHA 67beebfView commit details -
Read and store gnu build id from loaded core file (llvm#92078)
As we have debuginfod as symbol locator available in lldb now, we want to make full use of it. In case of post mortem debugging, we don't always have the main executable available. However, the .note.gnu.build-id of the main executable(some other modules too), should be available in the core file, as those binaries are loaded in memory and dumped in the core file. We try to iterate through the NT_FILE entries, read and store the gnu build id if possible. This will be very useful as this id is the unique key which is needed for querying the debuginfod server. Test: Build and run lldb. Breakpoint set to https://github.com/llvm/llvm-project/blob/main/lldb/source/Plugins/SymbolLocator/Debuginfod/SymbolLocatorDebuginfod.cpp#L147 Verified after this commit, module_uuid is the correct gnu build id of the main executable which caused the crash(first in the NT_FILE entry)
Configuration menu - View commit details
-
Copy full SHA for 536abf8 - Browse repository at this point
Copy the full SHA 536abf8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5bf653c - Browse repository at this point
Copy the full SHA 5bf653cView commit details -
[BOLT][DWARF] Update DW_AT_comp_dir/DW_AT_dwo_name for DWO TUs (llvm#…
…91486) Type unit DIE generated by clang contains DW_AT_comp_dir/DW_AT_dwo_name. This was added to clang to help LLDB to figure out where type unit come from when accessing an entry in a .debug_names accelerator table and type units in .dwp file. When BOLT writes out .dwo files it changes the name of them. User can also specify directory of where they can be written out. Added support to BOLT to update those attributes.
Configuration menu - View commit details
-
Copy full SHA for 99fad7e - Browse repository at this point
Copy the full SHA 99fad7eView commit details -
[RISC-V] remove I ext when E ext has been enabled (llvm#92070)
After patch llvm#88805 `I` Ext will be added automatically when we running the command like `./build/bin/llc -mtriple=riscv32 -mattr=+e -target-abi ilp32e -verify-machineinstrs llvm/test/CodeGen/RISCV/zcmp-additional-stack.ll` it will generate ``` .text .attribute 4, 16 .attribute 5, "rv32i2p1_e2pe" .file "zcmp-additional-stack.ll" .globl func # -- Begin function func .p2align 1 .type func,@function ``` This patch reset the I ext in FeatureBit when `+e` has been specify
Configuration menu - View commit details
-
Copy full SHA for 844355a - Browse repository at this point
Copy the full SHA 844355aView commit details -
[AMDGPU][True16] Add VOP1Inst_t16_with_profiles class (llvm#92184)
NFC. Makes the VOP1Inst_t16 interface more generic to support future instructions cleanly.
Configuration menu - View commit details
-
Copy full SHA for 3ca428c - Browse repository at this point
Copy the full SHA 3ca428cView commit details -
[RISCV][LegalizeTypes] Add additional test coverage for type promotio…
…n of VP_FSHL/FSHR. NFC There's a special path when the promoted type has an element size more than twice the size of the original type.
Configuration menu - View commit details
-
Copy full SHA for e417e61 - Browse repository at this point
Copy the full SHA e417e61View commit details -
[LinkerWrapper] Add an overriding option for debugging (llvm#91984)
Summary: One of the downsides of the linker wrapper is that it made debugging more difficult. It is very powerful in that it can resolve a lot of input matching and library handling that could not be done before. However, the old method allowed users to simply copy-paste the script files to modify the output and test it. This patch attempts to make it easier to debug changes by letting the user override all the linker inputs. That is, we provide a user-created binary that is treated like the final output of the device link step. The intended use-case is for using `-save-temps` to get some IR, then modifying the IR and sticking it back in to see if it exhibits the old failures.
Configuration menu - View commit details
-
Copy full SHA for 4a17e86 - Browse repository at this point
Copy the full SHA 4a17e86View commit details -
Configuration menu - View commit details
-
Copy full SHA for c5cd049 - Browse repository at this point
Copy the full SHA c5cd049View commit details
Commits on May 15, 2024
-
[ctx_profile] Profile reader and writer (llvm#91859)
Utility converting a profile coming from `compiler_rt` to bitstream, and a reader. `PGOCtxProfileWriter::write` would be used as the `Writer` parameter for `__llvm_ctx_profile_fetch` API. This is expected to happen in user code, for example in the RPC hanler tasked with collecting a profile, and would look like this: ``` // set up an output stream "Out", which could contain other stuff { // constructing the Writer will start the section, in Out, containing // the collected contextual profiles. PGOCtxProfWriter Writer(Out); __llvm_ctx_profile_fetch(&Writer, +[](void* W, const ContextNode &N) { reinterpret_cast<PGOCtxProfWriter*>(W)->write(N); }); // Writer going out of scope will finish up the section. } ``` The reader produces a data structure suitable for maintenance during IPO transformations.
Configuration menu - View commit details
-
Copy full SHA for dfdc3dc - Browse repository at this point
Copy the full SHA dfdc3dcView commit details -
Revert "[ctx_profile] Profile reader and writer" (llvm#92199)
Reverts llvm#91859 Buildbot failures.
Configuration menu - View commit details
-
Copy full SHA for 03c7458 - Browse repository at this point
Copy the full SHA 03c7458View commit details -
[Transforms] Preserve inbounds attribute of transformed GEPs when fla…
…ttening loops (llvm#86961) When flattening the loop, if the GEP was inbound, it should stay inbound, because the only thing that changed is how the pointers are calculated, not the elements being accessed. Proof: https://alive2.llvm.org/ce/z/dApMpQ
Configuration menu - View commit details
-
Copy full SHA for 4d1ecf1 - Browse repository at this point
Copy the full SHA 4d1ecf1View commit details -
[IR] Move GlobalValue::getGUID() out of line (NFC)
Avoid including MD5.h in a core IR header.
Configuration menu - View commit details
-
Copy full SHA for 71fbbb6 - Browse repository at this point
Copy the full SHA 71fbbb6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6642cc6 - Browse repository at this point
Copy the full SHA 6642cc6View commit details -
[Serialization] Read the initializer for interesting static variables…
… before consuming it Close llvm#91418 Since we load the variable's initializers lazily, it'd be problematic if the initializers dependent on each other. So here we try to load the initializers of static variables to make sure they are passed to code generator by order. If we read any thing interesting, we would consume that before emitting the current declaration.
Configuration menu - View commit details
-
Copy full SHA for 11b0591 - Browse repository at this point
Copy the full SHA 11b0591View commit details -
[X86][MC] Support Intel FRED and LKGS instructions. (llvm#91909)
Spec reference: https://cdrdv2.intel.com/v1/dl/getContent/678938
Configuration menu - View commit details
-
Copy full SHA for 13b265c - Browse repository at this point
Copy the full SHA 13b265cView commit details -
Revert "[Serialization] Read the initializer for interesting static v…
…ariables before consuming it" This reverts commit 11b0591. The premerge bot is broken.
Configuration menu - View commit details
-
Copy full SHA for eb10310 - Browse repository at this point
Copy the full SHA eb10310View commit details -
[ExceptionDemo] Correct and update example ExceptionDemo (llvm#69485)
The ExceptionDemo example was no longer compiling (since llvm 14 at least). The PR makes the example work with the current API and also transition from MCJIT to ORC. Fixes llvm#63702
Configuration menu - View commit details
-
Copy full SHA for 2ece5cc - Browse repository at this point
Copy the full SHA 2ece5ccView commit details -
Configuration menu - View commit details
-
Copy full SHA for 72b2c37 - Browse repository at this point
Copy the full SHA 72b2c37View commit details -
[RISCV] Move RISCVInsertVSETVLI to after phi elimination (llvm#91440)
Split off from llvm#70549, this patch moves RISCVInsertVSETVLI to after phi elimination where we exit SSA and need to move to LiveVariables. The motivation for splitting this off is to avoid the large scheduling diffs from moving completely to after regalloc, and instead focus on converting the pass to work on LiveIntervals. The two main changes required are updating VSETVLIInfo to store VNInfos instead of MachineInstrs, which allows us to still check for PHI defs in needVSETVLIPHI, and fixing up the live intervals of any AVL operands after inserting new instructions. On O3 the pass is inserted after the register coalescer, otherwise we end up with a bunch of COPYs around eliminated PHIs that trip up needVSETVLIPHI. Co-authored-by: Piyou Chen <piyou.chen@sifive.com>
Configuration menu - View commit details
-
Copy full SHA for 1a58e88 - Browse repository at this point
Copy the full SHA 1a58e88View commit details -
[libc][errno] Remove non asm generic error number (llvm#92172)
The following small thing caught my eye: 1) `EILSEQ` is not part of the generic asm error number macros. See the [full list of generic asm errno codes](https://github.com/torvalds/linux/blob/4b95dc87362aa57bdd0dcbad109ca5e5ef3cbb6c/include/uapi/asm-generic/errno-base.h). AFAIK the generic asm errno numbers are common between different operating systems and architectures. `EILSEQ` is not part of this common set of errno's. 2) `EILSEQ`'s value is wrong. During the addition of `EILSEQ` in https://reviews.llvm.org/D151129, the value `35` was probably chosen as its the consecutive number. This is not correct. The actual values can be looked up for example here: * [For Linux kernel](https://github.com/search?q=repo%3Atorvalds%2Flinux+EILSEQ&type=code&p=1): `EILSEQ = 84` (uapi; i.e. x86_64), `EILSEQ = 88` (mips), `EILSEQ = 47` (parisc) * [For Darwin kernel](https://github.com/apple-oss-distributions/xnu/blob/main/bsd/sys/errno.h#L237): `EILSEQ = 92`
Configuration menu - View commit details
-
Copy full SHA for a71e2b9 - Browse repository at this point
Copy the full SHA a71e2b9View commit details -
[libc][docs] Fix outdated code review section, as per llvm#91934 (llv…
…m#92051) As in the title, fixes llvm#91934
Configuration menu - View commit details
-
Copy full SHA for d3455f4 - Browse repository at this point
Copy the full SHA d3455f4View commit details -
[RISCV] Make vsetvli in test not loop invariant. NFC (llvm#92094)
The middle end will remove the inner vsetvli otherwise, and it's more typical to set the AVL to the remaining VL. This also prevents the test from showing up as a regression in llvm#91319
Configuration menu - View commit details
-
Copy full SHA for 77047e3 - Browse repository at this point
Copy the full SHA 77047e3View commit details -
[polly] Port polly tests to use NPM (llvm#90632)
Even as the NPM has been in use by Polly for a while now, the majority of the tests continue using the LPM passes. This patch ports the tests to use the NPM passes (for example, by replacing a flag such as -polly-detect with -passes=polly-detect following the NPM syntax for specifying passes) with some exceptions for some missing features in the new passes. Additionally, the lit substitution %loadPolly is replaced by the substitution of what was %loadNPMPolly and %loadNPMPolly is removed.
Configuration menu - View commit details
-
Copy full SHA for 74d91d9 - Browse repository at this point
Copy the full SHA 74d91d9View commit details -
InstCombine: Process addrspacecast uses in PointerReplacer (llvm#91953)
This was looking through an addrspacecast, and not finding a later unfoldable cast to another address space. Fixes improperly deleting a required alloca + memcpy and introducing an illegal addrspacecast. This also required fixing some worklist management issues with addrspacecast, and assuming that only memcpy sources could need replacement. Regresses one test function, but this looks like it optimized before by accident. It never saw the pointer use by the call to readonly_callee, which should require insertion of a new cast. Fixes llvm#68120
Configuration menu - View commit details
-
Copy full SHA for 847c83f - Browse repository at this point
Copy the full SHA 847c83fView commit details -
Revert "[polly] Port polly tests to use NPM" (llvm#92215)
Reverts llvm#90632. Causing failures on buildbots that dynamically load polly. Reverting while we sort it out.
Configuration menu - View commit details
-
Copy full SHA for 1539758 - Browse repository at this point
Copy the full SHA 1539758View commit details -
[analyzer] Treat break, continue, goto, and label statements as trivi…
…al in WebKit checkers. (llvm#91873) Also allow CXXBindTemporaryExpr, which creates a temporary object with a non-trivial destructor, and add a few more std and WTF functions to the explicitly allowed list.
Configuration menu - View commit details
-
Copy full SHA for 24180ea - Browse repository at this point
Copy the full SHA 24180eaView commit details -
[libc][errno] Remove previously added errno numbers (llvm#92163)
Introduced in llvm#91150. Not needed anymore as llvm#92041 fixed the root cause. `ENAMETOOLONG` and `EOVERFLOW` are well defined in `<linux/errno.h>`. Post mortem: Due to the previously missing inclusion of `<linux/errno.h>` (fixed with llvm#92041), I misinterpreted an undefined macro issue during the development of llvm#91150 as being caused by a missing definition rather than by the missing inclusion of the linux header. I realized too late that `ENAMETOOLONG` and `EOVERFLOW` were correctly defined in `<linux/errno.h>` and that it was my missing inclusion that caused the problem.
Configuration menu - View commit details
-
Copy full SHA for 0980f71 - Browse repository at this point
Copy the full SHA 0980f71View commit details -
InstCombine: Emit ldexp intrinsic in exp2->ldexp combine (llvm#92039)
Prefer to emit the intrinsic over a libcall in the intrinsic or no-math-errno case.
Configuration menu - View commit details
-
Copy full SHA for d7bb072 - Browse repository at this point
Copy the full SHA d7bb072View commit details -
[MLIR][LLVM] Improve atomic verifier to properly support larger types (…
…llvm#92120) This commit extends the verifier for atomics to properly verify larger types. Beforehand, the verifier strictly rejected larger integer types, while it now consults the data layout to determine if their bitsize is a power of two. This behavior reflects what LLVM's verifier is checking for.
Configuration menu - View commit details
-
Copy full SHA for e621690 - Browse repository at this point
Copy the full SHA e621690View commit details -
[SystemZ] Handle address clobbering in splitMove(). (llvm#92105)
When expanding an L128 (which is used to reload i128) it is possible that the quadword destination register clobbers an address register. This patch adds an assertion against the case where both of the expanded parts clobber the address, and in the case where one of the expanded parts do so puts it last. Fixes llvm#91437
Configuration menu - View commit details
-
Copy full SHA for d6ee7e8 - Browse repository at this point
Copy the full SHA d6ee7e8View commit details -
[LLVM] Make sanitizers respect the disable_santizer_instrumentation a…
…ttribute. (llvm#91732) `disable_sanitizer_instrumetation` is attached to functions that shall not be instrumented e.g. ifunc resolver because those run before everything is initialised. Some sanitizer already handles this attribute, this patch adds it to DataFLow and Coverage too.
Configuration menu - View commit details
-
Copy full SHA for 45726c1 - Browse repository at this point
Copy the full SHA 45726c1View commit details -
Avoid partial munmap (llvm#92109)
...which caused issues like > ==42==ERROR: AddressSanitizer failed to deallocate 0x32 (50) bytes at address 0x117e0000 (error code: 28) > ==42==Cannot dump memory map on emscriptenAddressSanitizer: CHECK failed: sanitizer_common.cpp:81 "((0 && "unable to unmmap")) != (0)" (0x0, 0x0) (tid=288045824) > #0 0x14f73b0c in __asan::CheckUnwind()+0x14f73b0c (this.program+0x14f73b0c) > #1 0x14f8a3c2 in __sanitizer::CheckFailed(char const*, int, char const*, unsigned long long, unsigned long long)+0x14f8a3c2 (this.program+0x14f8a3c2) > #2 0x14f7d6e1 in __sanitizer::ReportMunmapFailureAndDie(void*, unsigned long, int, bool)+0x14f7d6e1 (this.program+0x14f7d6e1) > #3 0x14f81fbd in __sanitizer::UnmapOrDie(void*, unsigned long)+0x14f81fbd (this.program+0x14f81fbd) > #4 0x14f875df in __sanitizer::SuppressionContext::ParseFromFile(char const*)+0x14f875df (this.program+0x14f875df) > #5 0x14f74eab in __asan::InitializeSuppressions()+0x14f74eab (this.program+0x14f74eab) > #6 0x14f73a1a in __asan::AsanInitInternal()+0x14f73a1a (this.program+0x14f73a1a) when trying to use an ASan suppressions file under Emscripten: Even though it would be considered OK by SUSv4, the Emscripten runtime states "We don't support partial munmapping" (see <emscripten-core/emscripten@f4115eb> "Implement MAP_ANONYMOUS on top of malloc in STANDALONE_WASM mode (llvm#16289)"). Co-authored-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Configuration menu - View commit details
-
Copy full SHA for 4688df6 - Browse repository at this point
Copy the full SHA 4688df6View commit details -
[ASan] Remove COMPILER_RT_ASAN_SHADOW_SCALE_DEFINITION. (llvm#91832)
Since the set of COMPILER_RT_ASAN_SHADOW_SCALE_DEFINITION is removed in commit 8421fa5, cleanup the use of COMPILER_RT_ASAN_SHADOW_SCALE_DEFINITION.
Configuration menu - View commit details
-
Copy full SHA for 73324cb - Browse repository at this point
Copy the full SHA 73324cbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7f3ac51 - Browse repository at this point
Copy the full SHA 7f3ac51View commit details -
[lldb/aarch64] Allow unaligned PC addresses below a trap handler (llv…
…m#92093) The stack validation heuristic is counter-productive in this case, as the unaligned address is most likely the thing that caused the signal in the first place.
Configuration menu - View commit details
-
Copy full SHA for d12c48c - Browse repository at this point
Copy the full SHA d12c48cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6479e3c - Browse repository at this point
Copy the full SHA 6479e3cView commit details -
[clang][Interp][NFC] Remove unnecessary if condition
This is already in a if(isBlockPointer()) block.
Configuration menu - View commit details
-
Copy full SHA for 1d43ec8 - Browse repository at this point
Copy the full SHA 1d43ec8View commit details -
[clang][Interp] Add basic support for AddrLabelExprs
Just create a local variable for them.
Configuration menu - View commit details
-
Copy full SHA for afba3da - Browse repository at this point
Copy the full SHA afba3daView commit details -
[analyzer] Refactor recognition of the errno getter functions (llvm#9…
…1531) There are many environments where `errno` is a macro that expands to something like `(*__errno())` (different standard library implementations use different names instead of "__errno"). In these environments the ErrnoModeling checker creates a symbolic region which will be used to represent the return value of this "get the location of errno" function. Previously this symbol was only created when the checker was able to find the declaration of the "get the location of errno" function; but this commit eliminates the complex logic that was responsible for this and always creates the symbolic region when `errno` is not available as a "regular" global variable. This significantly simplifies a code and only introduces a minimal performance reduction (one extra symbol) in the case when `errno` is not declared (neither as a variable nor as a function). In addition to this simplification, this commit specifies that the `CallDescription`s for the "get the location of errno" functions are matched in `CDM::CLibrary` mode. (This was my original goal, but I was sidetracked by resolving a FIXME above the `CallDescriptionSet` in `ErrnoModeling.cpp`.) This change is very close to being NFC, but it fixes weird corner cases like the handling of a C++ method that happens to be named "__errno()" (previously it could've been recognized as an errno location getter function).
Configuration menu - View commit details
-
Copy full SHA for ca4a405 - Browse repository at this point
Copy the full SHA ca4a405View commit details -
[lldb] Disable unaligned-pc-sigbus.test on arm(32)
I though the test could work there as well, but (of course) it does not, because the lowest bit just means "run the code as thumb".
Configuration menu - View commit details
-
Copy full SHA for f090801 - Browse repository at this point
Copy the full SHA f090801View commit details -
[flang][Alias Analysis] not all block arguments are dummy arguments (l…
…lvm#92156) Arguments to openmp regions should not be tagged as dummy arguments. This is particularly unsafe because these openmp blocks will eventually be inlined into the calling function, where they will trivially alias with other values inside of the calling function. This is probably a theoretical issue because the calls to openmp runtime function calls would act as barriers, preventing optimizations that are too aggressive. But a lot more thought would need to go into a bet like that. This came out of discussion on llvm#92036
Configuration menu - View commit details
-
Copy full SHA for 2f6c0e6 - Browse repository at this point
Copy the full SHA 2f6c0e6View commit details -
[CodeGen][ARM64EC][NFC] Factor out emitFunctionAlias and getSymbolFro…
…mMetadata in emitFunctionEntryLabel. (llvm#92098)
Configuration menu - View commit details
-
Copy full SHA for f39e75b - Browse repository at this point
Copy the full SHA f39e75bView commit details -
[Clang] Fix incorrect passing of _BitInt args (llvm#90741)
This patch removes incorrect `byval` attribute from pointer argument passed with >128 bit long _BitInt types.
Configuration menu - View commit details
-
Copy full SHA for 421862f - Browse repository at this point
Copy the full SHA 421862fView commit details -
[VPlan] Update VPBlendRecipe codegen for for first-lane only.
Update VPBlendRecipe::execute to support generating code for first-lane only. This fixes a crash in the newly added test @test_not_first_lane_only_wide_compare_incoming_order_swapped.
Configuration menu - View commit details
-
Copy full SHA for d187005 - Browse repository at this point
Copy the full SHA d187005View commit details -
[LV] Add additional variants of tests with udiv/urem/sdiv/srem in TC.
Add additional tests with udiv/urem/sdiv/srem in trip counts, where the divisor is constant. For llvm#92177.
Configuration menu - View commit details
-
Copy full SHA for b0a1ae2 - Browse repository at this point
Copy the full SHA b0a1ae2View commit details -
[lldb] Document some more packets (llvm#92124)
Comparing a bit of the mock GDB server code to what was in the document I found these: * QLaunchArch * qSpeedTest * qSymbol qSymbol is the most mysterious but it did have some examples in a comment so I've adapted that.
Configuration menu - View commit details
-
Copy full SHA for b6f050f - Browse repository at this point
Copy the full SHA b6f050fView commit details -
[lldb][test][FreeBSD] Fix some concurrent event tests (llvm#84155)
A lot of `TestConcurrent*.py` expect one of the threads to crash, but we weren't checking for it properly. Possibly because signal reporting got better on FreeBSD at some point, and it now shows the same info as Linux does. ``` lldb-api :: functionalities/inferior-changed/TestInferiorChanged.py lldb-api :: functionalities/inferior-crashing/TestInferiorCrashing.py lldb-api :: functionalities/inferior-crashing/TestInferiorCrashingStep.py lldb-api :: functionalities/inferior-crashing/recursive-inferior/TestRecursiveInferior.py lldb-api :: functionalities/inferior-crashing/recursive-inferior/TestRecursiveInferiorStep.py lldb-api :: functionalities/thread/concurrent_events/TestConcurrentCrashWithBreak.py lldb-api :: functionalities/thread/concurrent_events/TestConcurrentCrashWithSignal.py lldb-api :: functionalities/thread/concurrent_events/TestConcurrentCrashWithWatchpoint.py lldb-api :: functionalities/thread/concurrent_events/TestConcurrentCrashWithWatchpointBreakpointSignal.py ``` Fixes llvm#48777 `TestConcurrentTwoBreakpointsOneSignal.py` no longer fails, at least on an AWS instance, so I've removed the xfail there.
Configuration menu - View commit details
-
Copy full SHA for 03bdfb6 - Browse repository at this point
Copy the full SHA 03bdfb6View commit details -
[mlir][ods] Populate properties in generated builder (llvm#90430)
Previously this was only populated in the create method later. This resolves some of invalid builder paths. This may also be sufficient that type inference functions no longer have to consider whether property conversion has happened (but haven't verified that yet). This also makes Attributes corresponding to Properties as optional inside the set from attributes method. Today that is in effect what happens with Property value initialization and folks use it to define custom C++ types whose default initialization is what they want. This is the behavior users get if they use properties directly. Propagating Attributes without allowing partial setting would require iterating over the dictionary attribute considering the properties of the op type that will be created. This could also have been an additional method generated or optional behavior on the set method. But doing it consistently seems better. In terms of whats lost, it doesn't seem like anything compared to the pure Property path where Property is default value initialized and then partially overwritten (this doesn't seem to buy anything else verification wise). Default valued Properties (as specified ODS side rather than C++ side) triggered error as the containing class was not yet complete but referenced nested class, so that we couldn't have default initializer for them in the parent class. Added an additional forwarding builder to avoid needing to update call sites. This could be split out to separate change. Inlined templated function in unit test that was only used once. Moved initialization earlier where seen.
Configuration menu - View commit details
-
Copy full SHA for e67080d - Browse repository at this point
Copy the full SHA e67080dView commit details -
[LLVM][CodeGen][SVE] Improve custom lowering for EXTRACT_SUBVECTOR. (l…
…lvm#90963) We can extract any legal fixed length vector from a scalable vector by using VECTOR_SPLICE.
Configuration menu - View commit details
-
Copy full SHA for 7621a0d - Browse repository at this point
Copy the full SHA 7621a0dView commit details -
[lldb][Windows] Fixed tests TestPty and TestPtyServer (llvm#92090)
The tests TestPty and TestPtyServer use the Unix specific python builtin module termios. They are failed in case of Windows host and Linux target. Disable them for Windows host too.
Configuration menu - View commit details
-
Copy full SHA for eacefba - Browse repository at this point
Copy the full SHA eacefbaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3c3f6d8 - Browse repository at this point
Copy the full SHA 3c3f6d8View commit details -
[flang][OpenMP] Remove
allocate
fromtaskgroup
in test (llvm#92173)Remove the `allocate`, because it needs to be used together with a privatizing clause. The only such clause for `taskgroup` is `task_reduction`, but it's not yet supported.
Configuration menu - View commit details
-
Copy full SHA for de18f5e - Browse repository at this point
Copy the full SHA de18f5eView commit details -
[flang][OpenMP] Add -fopenmp-version=52 to teams.f90 (llvm#92180)
One of the functions in the test has `teams if(...)`. The `if` clause was only allowed on the `teams` directive in OpenMP 5.2.
Configuration menu - View commit details
-
Copy full SHA for e6ef836 - Browse repository at this point
Copy the full SHA e6ef836View commit details -
[libc] Fix GPU test build error (llvm#92235)
This fixes a build error on the AMDGPU buildbot introduced in PR llvm#92172
Configuration menu - View commit details
-
Copy full SHA for ccbf908 - Browse repository at this point
Copy the full SHA ccbf908View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1650f1b - Browse repository at this point
Copy the full SHA 1650f1bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 398162d - Browse repository at this point
Copy the full SHA 398162dView commit details -
[clang-tidy][NFC] replace comparison of begin and end iterators with …
…range empty (llvm#91994) Improves readability by changing comparisons of `*_begin` and `*_end` iterators into `.empty()` on their range.
Configuration menu - View commit details
-
Copy full SHA for 3b5a121 - Browse repository at this point
Copy the full SHA 3b5a121View commit details -
[MC][X86] Cleanup check prefixes identified in llvm#92248
Avoid using numbers as check prefix - replace with actual triple config names where possible
Configuration menu - View commit details
-
Copy full SHA for 8a71284 - Browse repository at this point
Copy the full SHA 8a71284View commit details -
[X86] sibcall - cleanup check prefixes identified in llvm#92248
Avoid using numbers as check prefix - replace with actual triple config names
Configuration menu - View commit details
-
Copy full SHA for 8987369 - Browse repository at this point
Copy the full SHA 8987369View commit details -
[clang-tidy] fix crash due to assumed callee in min-max-use-initializ…
…er-list (llvm#91992) Previously, the call to `findArgs` for a `CallExpr` inside of a `min` or `max` call would call `findArgs` before checking if the argument is a call to `min` or `max`, which is what `findArgs` is expecting. The fix moves the name checking before the call to `findArgs`, such that only a `min` or `max` function call is used as an argument. Fixes llvm#91982 Fixes llvm#92249
Configuration menu - View commit details
-
Copy full SHA for 932f0de - Browse repository at this point
Copy the full SHA 932f0deView commit details -
[VPlan] Add scalar inferencing support for addrspace cast (llvm#92107)
Fixes llvm#91434 PR: llvm#92107
Configuration menu - View commit details
-
Copy full SHA for 83d9aa2 - Browse repository at this point
Copy the full SHA 83d9aa2View commit details -
Configuration menu - View commit details
-
Copy full SHA for d06270e - Browse repository at this point
Copy the full SHA d06270eView commit details -
[X86] patchable functions - cleanup check prefixes identified in llvm…
…#92248 Avoid using numbers as check prefix - replace with actual triple config names
Configuration menu - View commit details
-
Copy full SHA for 97418bb - Browse repository at this point
Copy the full SHA 97418bbView commit details -
[X86] cmpxchg-clobber-flags.ll - cleanup check prefixes identified in l…
…lvm#92248 Avoid using numbers as check prefix - replace with actual triple config names
Configuration menu - View commit details
-
Copy full SHA for 96ac2e3 - Browse repository at this point
Copy the full SHA 96ac2e3View commit details -
[X86] prefetch.ll - cleanup check prefixes identified in llvm#92248
Avoid using leading numbers in check prefixes - replace with actual triple config names (and makes it easier to add X64 test coverage in a future commit).
Configuration menu - View commit details
-
Copy full SHA for e26eacf - Browse repository at this point
Copy the full SHA e26eacfView commit details -
[X86] avoid-sfb-g-no-change.mir - cleanup check prefixes identified in …
…llvm#92248 Don't include "-LABEL" (or any other FileCheck modifier) in the core check prefix name
Configuration menu - View commit details
-
Copy full SHA for 3f07430 - Browse repository at this point
Copy the full SHA 3f07430View commit details -
[X86] Cleanup check prefixes identified in llvm#92248
Avoid using leading numbers in check prefixes - replace with actual triple config names.
Configuration menu - View commit details
-
Copy full SHA for f8395f8 - Browse repository at this point
Copy the full SHA f8395f8View commit details -
Revert "[ExceptionDemo] Correct and update example ExceptionDemo" (ll…
…vm#92257) Reverts llvm#69485
Configuration menu - View commit details
-
Copy full SHA for b59760d - Browse repository at this point
Copy the full SHA b59760dView commit details -
[coro] Lower
llvm.coro.await.suspend.handle
to resume with tail call (llvm#89751) The C++ standard requires that symmetric transfer from one coroutine to another is performed via a tail call. Failure to do so is a miscompile and often breaks programs by quickly overflowing the stack. Until now, the coro split pass tried to ensure this in the `addMustTailToCoroResumes()` function by searching for `llvm.coro.resume` calls to lower as tail calls if the conditions were right: the right function arguments, attributes, calling convention etc., and if a `ret void` was sure to be reached after traversal with some ad-hoc constant folding following the call. This was brittle, as the kind of implicit variants required for a tail call to happen could easily be broken by other passes (e.g. if some instruction got in between the `resume` and `ret`), see for example 9d1cb18 and 284da04. Also the logic seemed backwards: instead of searching for possible tail call candidates and doing them if the circumstances are right, it seems better to start with the intention of making the tail calls we need, and forcing the circumstances to be right. Now that we have the `llvm.coro.await.suspend.handle` intrinsic (since f786881) which corresponds exactly to symmetric transfer, change the lowering of that to also include the `resume` part, always lowered as a tail call.
Configuration menu - View commit details
-
Copy full SHA for 3bb3969 - Browse repository at this point
Copy the full SHA 3bb3969View commit details -
Fix bolt build with -DBUILD_SHARED_LIBS=ON after 71fbbb6
Commit 71fbbb6 moved getGUID out of line in llvm/IR/GlobalValue, now users have to link LLVMCore to have the definition of it. /usr/bin/ld: CMakeFiles/LLVMBOLTRewrite.dir/PseudoProbeRewriter.cpp.o: in function `(anonymous namespace)::PseudoProbeRewriter::parsePseudoProbe()': PseudoProbeRewriter.cpp:(.text._ZN12_GLOBAL__N_119PseudoProbeRewriter16parsePseudoProbeEv+0x3d0): undefined reference to `llvm::GlobalValue::getGUID(llvm::StringRef)' /usr/bin/ld: CMakeFiles/LLVMBOLTRewrite.dir/PseudoProbeRewriter.cpp.o: in function `(anonymous namespace)::PseudoProbeRewriter::encodePseudoProbes()': PseudoProbeRewriter.cpp:(.text._ZN12_GLOBAL__N_119PseudoProbeRewriter18encodePseudoProbesEv+0x11a1): undefined reference to `llvm::GlobalValue::getGUID(llvm::StringRef)' collect2: error: ld returned 1 exit status make[2]: *** [tools/bolt/lib/Rewrite/CMakeFiles/LLVMBOLTRewrite.dir/build.make:275: lib/libLLVMBOLTRewrite.so.19.0git] Error 1
Configuration menu - View commit details
-
Copy full SHA for 95e307c - Browse repository at this point
Copy the full SHA 95e307cView commit details -
[clang][SPARC] Treat empty structs as if it's a one-bit type in the CC (
llvm#90338) Make sure that empty structs are treated as if it has a size of one bit in function parameters and return types so that it occupies a full argument and/or return register slot. This fixes crashes and miscompilations when passing and/or returning empty structs. Reviewed by: @s-barannikov
Configuration menu - View commit details
-
Copy full SHA for c2fba6d - Browse repository at this point
Copy the full SHA c2fba6dView commit details -
[flang][OpenMP] Add
private
toallocate
in parallel-sections.f90 (l……lvm#92185) Add a privatizing clause to the construct that uses `allocate` clause. Amend the CHECK lines to reflect the expected output.
Configuration menu - View commit details
-
Copy full SHA for 97a3044 - Browse repository at this point
Copy the full SHA 97a3044View commit details -
[Frontend][OpenMP] Privatizing clauses in construct decomposition (ll…
…vm#92176) Add remaining clauses with the "privatizing" property to construct decomposition, specifically to the part handling the `allocate` clause. --------- Co-authored-by: Tom Eccles <t@freedommail.info>
Configuration menu - View commit details
-
Copy full SHA for 4ec4a8e - Browse repository at this point
Copy the full SHA 4ec4a8eView commit details -
[Frontend][OpenMP] Reduction modifier must be applied somewhere (llvm…
…#92160) Detect the case when a reduction modifier ends up not being applied after construct decomposition, treat it as an error. This fixes a regression in the gfortran test suite after PR90098.
Configuration menu - View commit details
-
Copy full SHA for 8d386c6 - Browse repository at this point
Copy the full SHA 8d386c6View commit details -
[Coroutines] Remove unused function (NFC)
llvm-project/llvm/lib/Transforms/Coroutines/CoroSplit.cpp:1223:1: error: unused function 'scanPHIsAndUpdateValueMap' [-Werror,-Wunused-function] scanPHIsAndUpdateValueMap(Instruction *Prev, BasicBlock *NewBlock, ^ 1 error generated.
Configuration menu - View commit details
-
Copy full SHA for 7c8176e - Browse repository at this point
Copy the full SHA 7c8176eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 466d266 - Browse repository at this point
Copy the full SHA 466d266View commit details -
[flang] Initial debug info support for local variables. (llvm#90905)
We need the information in the `DeclareOp` to generate debug information for variables. Currently, cg-rewrite removes the `DeclareOp`. As `AddDebugInfo` runs after that, it cannot process the `DeclareOp`. My initial plan was to make the `AddDebugInfo` pass run before the cg-rewrite but that has few issues. 1. Initially I was thinking to use the memref op to carry the variable attr. But as @tblah suggested in the llvm#86939, it makes more sense to carry that information on `DeclareOp`. It also makes it easy to handle it in codegen and there is no special handling needed for arguments. For this reason, we need to preserve the `DeclareOp` till the codegen. 2. Running earlier, we will miss the changes in passes that run between cg-rewrite and codegen. But not removing the DeclareOp in cg-rewrite has the issue that ShapeOp remains and it causes errors during codegen. To solve this problem, I convert DeclareOp to XDeclareOp in cg-rewrite instead of removing it. This was mentioned as possible solution by @jeanPerier in https://reviews.llvm.org/D136254 The conversion follows similar logic as used for other operators in that file. The FortranAttr and CudaAttr are currently not converted but left as TODO when the need arise. Now `AddDebugInfo` pass can extracts information about local variables from `XDeclareOp` and creates `DILocalVariableAttr`. These are attached to `XDeclareOp` using `FusedLoc` approach. Codegen can use them to create `DbgDeclareOp`. I have added tests that checks the debug information in mlir from and also in llvm ir. Currently we only handle very limited types. Rest are given a place holder type. The previous placeholder type was basic type with `DW_ATE_address` encoding. When variables are added, it started causing assertions in the llvm debug info generation logic for some types. It has been changed to an interger type to prevent these issues until we handle those types properly.
Configuration menu - View commit details
-
Copy full SHA for 61da636 - Browse repository at this point
Copy the full SHA 61da636View commit details -
[clang][analyzer] Fix a crash in alpha.unix.BlockInCriticalSection (l…
…lvm#90030) When analyzing C code with function pointers the checker crashes because of how the implementation extracts `IdentifierInfo`. Without the fix, this test crashes.
Configuration menu - View commit details
-
Copy full SHA for eda098a - Browse repository at this point
Copy the full SHA eda098aView commit details -
[Clang] Use ULL for std::max constant argument to fix build failure.
getKnownMinValue returns uint64_t, use ULL to make sure the second arg is also 64 bit.
Configuration menu - View commit details
-
Copy full SHA for da116bd - Browse repository at this point
Copy the full SHA da116bdView commit details -
[GVNHoist] Replace combineKnownMetadata with combineMetadataForCSE (l…
…lvm#92197) There is no reason to call combineMetadata directly with a list of MD_ nodes. The combineMetadataForCSE function handles all the metadata correctly Partially fixes: llvm#30866
Configuration menu - View commit details
-
Copy full SHA for b42d245 - Browse repository at this point
Copy the full SHA b42d245View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8a4cbea - Browse repository at this point
Copy the full SHA 8a4cbeaView commit details -
[Support] Use malloc instead of non-throwing new (llvm#92157)
When allocating a memory buffer, we use a non-throwing new so that we can explicitly handle memory buffers that are too large to fit into memory. However, when exceptions are disabled, LLVM installs a custom new handler (https://github.com/llvm/llvm-project/blob/90109d444839683b09f0aafdc50b749cb4b3203b/llvm/lib/Support/InitLLVM.cpp#L61) that explicitly crashes when we run out of memory (https://github.com/llvm/llvm-project/blob/de14b749fee41d4ded711e771e43043ae3100cb3/llvm/lib/Support/ErrorHandling.cpp#L188) and that means this particular out-of-memory situation cannot be gracefully handled. This was discovered while working on #embed (llvm#68620) on Windows and resulted in a crash rather than the preprocessor issuing a diagnostic as expected. This patch switches away from the non-throwing new to a call to malloc (and free), which will return a null pointer without calling a custom new handler. It is the only instance in Clang or LLVM that I could find which used a non-throwing new, so I did not think we would need anything more involved than this change. Testing this would be highly platform dependent and so it does not come with test coverage. And because it doesn't change behavior that users are likely to be able to observe, it does not come with a release note.
Configuration menu - View commit details
-
Copy full SHA for dceaa0f - Browse repository at this point
Copy the full SHA dceaa0fView commit details -
[flang][OpenMP] Add
REQUIRES: asserts
to test that relies on itThis should fix failures in release builds.
Configuration menu - View commit details
-
Copy full SHA for 8ab753c - Browse repository at this point
Copy the full SHA 8ab753cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 413aaf1 - Browse repository at this point
Copy the full SHA 413aaf1View commit details -
[clang][Interp][NFC] Use a smaller default size for IntegralAP
Since we later possibly initialize the value by using operator-new, we need the default value to _not_ allocate memory.
Configuration menu - View commit details
-
Copy full SHA for 28d5f79 - Browse repository at this point
Copy the full SHA 28d5f79View commit details -
Fix null pointer dereference in logging in mlir TransformOps (llvm#92237
Configuration menu - View commit details
-
Copy full SHA for 4527adc - Browse repository at this point
Copy the full SHA 4527adcView commit details -
[X86][AMX] Fix a bug after llvm#83628 (llvm#91207)
We need to check if `GR64Cand` a valid register before using it. Test is not needed since it's covered in llvm-test-suite. Fixes llvm#90954
Configuration menu - View commit details
-
Copy full SHA for b576a6b - Browse repository at this point
Copy the full SHA b576a6bView commit details -
[DebugInfo] Get rid of redundant conditional checks in
/DebugInfo
(l……lvm#92111) Resolves llvm#90326
Configuration menu - View commit details
-
Copy full SHA for bed5546 - Browse repository at this point
Copy the full SHA bed5546View commit details -
[BOLT][NFC] Add documentation on BOLT options (llvm#92117)
Add .md file documentation with all BOLT options to display it more conveniently.
Configuration menu - View commit details
-
Copy full SHA for dcf3102 - Browse repository at this point
Copy the full SHA dcf3102View commit details -
[Clang][OpenMP] Fix runtime problem when explicit map both pointer an…
…d pointee (llvm#92210) ponter int *p for following map, test currently crash. map(p, p[:100]) or map(p, p[1]) Currly IR looks like // &p, &p, sizeof(int), TARGET_PARAM | TO | FROM // &p, p[0], 100sizeof(float) TO | FROM Worrking IR is // map(p, p[0:100]) to map(p[0:100]) // &p, &p[0], 100*sizeof(float), TARGET_PARAM | TO | FROM | PTR_AND_OBJ The change is add new argument AreBothBasePtrAndPteeMapped in generateInfoForComponentList Use that to skip map for map(p), when processing map(p[:100]) generate map with right flag.
Configuration menu - View commit details
-
Copy full SHA for 8e00703 - Browse repository at this point
Copy the full SHA 8e00703View commit details -
[RISCV] Remove hasSideEffects=1 for vsetvli pseudos (llvm#91319)
In a similar vein to llvm#90049, we currently model all of the effects of a vsetvli pseudo: * VL and VTYPE are marked as defs * VL preserving x0,x0 vsetvlis doesn't get emitted until RISCVInsertVSETVLI, and when they are they have implicit uses on VL * Regular vector pseudos are fully modelled too: Before RISCVInsertVSETVLI they can be moved between vsetvli pseudos because we will eventually insert vsetvlis to correct VL and VTYPE. Afterwards, they will have implicit uses on VL and VTYPE. Since we model everything we can remove hasSideEffects=1. This gives us some improvements like sinking in vsetvli-insert-crossbb.ll. We need to update RISCVDeadRegisterDefinitions to keep handling vsetvli pseudos since it only operates on instructions with unmodelled side effects.
Configuration menu - View commit details
-
Copy full SHA for ff313ee - Browse repository at this point
Copy the full SHA ff313eeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 74218a9 - Browse repository at this point
Copy the full SHA 74218a9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3a8d176 - Browse repository at this point
Copy the full SHA 3a8d176View commit details -
[clang-tidy] Fix crash in modernize-use-constraints (llvm#92019)
Improved modernize-use-constraints check by fixing a crash that occurred in some scenarios and excluded system headers from analysis. Problem were with DependentNameTypeLoc having null type location as getQualifierLoc().getTypeLoc(). Fixes llvm#91872
Configuration menu - View commit details
-
Copy full SHA for ba34476 - Browse repository at this point
Copy the full SHA ba34476View commit details -
[clang-tidy] Add AllowImplicitlyDeletedCopyOrMove option to cppcoregu…
…idelines-special-member-functions (llvm#71683) Improved cppcoreguidelines-special-member-functions check with a new option AllowImplicitlyDeletedCopyOrMove, which removes the requirement for explicit copy or move special member functions when they are already implicitly deleted. Closes llvm#62392
Configuration menu - View commit details
-
Copy full SHA for 54c6ee9 - Browse repository at this point
Copy the full SHA 54c6ee9View commit details -
[clang] Store FPOptions earlier when parsing function (llvm#92146)
After llvm#85605 ([clang] Set correct FPOptions if attribute 'optnone' presents) the current FP options in Sema are saved during parsing function because Sema can modify them if optnone is present. However they were saved too late, it caused fails in some cases when precompiled headers are used. This patch moves the storing earlier.
Configuration menu - View commit details
-
Copy full SHA for 9bbefb7 - Browse repository at this point
Copy the full SHA 9bbefb7View commit details -
[MC] Remove UseAssemblerInfoForParsing
Commit 6c0665e (https://reviews.llvm.org/D45164) enabled certain constant expression evaluation for `MCObjectStreamer` at parse time (e.g. `.if` directives, see llvm/test/MC/AsmParser/assembler-expressions.s). `getUseAssemblerInfoForParsing` was added to make `clang -c` handling inline assembly similar to `MCAsmStreamer` (e.g. `llvm-mc -filetype=asm`), where such expression folding (related to `AttemptToFoldSymbolOffsetDifference`) is unavailable. I believe this is overly conservative. We can make some parse-time expression folding work for `clang -c` even if `clang -S` would still report an error, a MCAsmStreamer issue (we cannot print `.if` directives) that should not restrict the functionality of MCObjectStreamer. ``` % cat b.cc asm(R"( .pushsection .text,"ax" .globl _start; _start: ret .if . -_start == 1 ret .endif .popsection )"); % gcc -S b.cc && gcc -c b.cc % clang -S -fno-integrated-as b.cc # succeeded % clang -c b.cc # succeeded with this patch % clang -S b.cc # still failed <inline asm>:4:5: error: expected absolute expression 4 | .if . -_start == 1 | ^ 1 error generated. ``` Close llvm#62520 Link: https://discourse.llvm.org/t/rfc-clang-assembly-object-equivalence-for-files-with-inline-assembly/78841 Pull Request: llvm#91082
Configuration menu - View commit details
-
Copy full SHA for 03c53c6 - Browse repository at this point
Copy the full SHA 03c53c6View commit details -
[lld] Fix -ObjC load behavior with LTO (llvm#92162)
When -ObjC is passed, the linker must force load any object files that contain special sections that store Objective-C / Swift information that is used at runtime. This should work regadless if input files are bitcode or native, but it was not working with bitcode. This is because the sections that identify an object file that should be loaded were inconsistent when dealing with a native file vs bitcode file. In particular, bitcode files were not searched for `__TEXT,__swift` prefixed sections, while native files were. This means LLD wasn't loading certain bitcode files and forcing the user to introduce --force-load to their linker invocation for that archive. Co-authored-by: Nuri Amari <nuriamari@fb.com>
Configuration menu - View commit details
-
Copy full SHA for 141391a - Browse repository at this point
Copy the full SHA 141391aView commit details -
Configuration menu - View commit details
-
Copy full SHA for f0e79db - Browse repository at this point
Copy the full SHA f0e79dbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 29c2475 - Browse repository at this point
Copy the full SHA 29c2475View commit details -
Correct mismatched allocation/deallocation calls
This amends dceaa0f because ASAN caught an issue where the allocation and deallocation were not properly paired: https://lab.llvm.org/buildbot/#/builders/239/builds/7001 Use malloc and free throughout this file to ensure that all kinds of memory buffers use the proper pairing.
Configuration menu - View commit details
-
Copy full SHA for 3f954f5 - Browse repository at this point
Copy the full SHA 3f954f5View commit details -
[Offload] Correctly reject building on unsupported architectures (llv…
…m#92276) Summary: Previously we had this `LIBOMPTARGET_ENABLED` variable which controlled including `libomptarget`. This is now redundant since it's controlled by `LLVM_ENABLE_RUNTIMES`. However, this had the extra effect of not building it when given unsupported targets. THis was lost during the move to `offload`. This patch moves this logic back and makes the `offload` target just quit without doing anything if used on an unsupported architecture. llvm#91881 llvm#91819 --------- Co-authored-by: Sylvestre Ledru <sylvestre@debian.org>
Configuration menu - View commit details
-
Copy full SHA for 332de4b - Browse repository at this point
Copy the full SHA 332de4bView commit details -
[clang] Don't assume location of compiler-rt for OpenBSD (llvm#92183)
If the `/usr/lib/...` path where compiler-rt is conventionally installed on OpenBSD does not exist, fall back to the regular logic to find it. This is a minimal change to allow OpenBSD cross compilation from a toolchain that doesn't adopt all of OpenBSD's monorepo's conventions.
Configuration menu - View commit details
-
Copy full SHA for be10746 - Browse repository at this point
Copy the full SHA be10746View commit details -
[X86] EmitCmp - always use cmpw with foldable loads (llvm#92251)
By default, EmitCmp avoids cmpw with i16 immediates due to 66/67h length-changing prefixes causing stalls, instead extending the value to i32 and using a cmpl with a i32 immediate, unless it has the TuningFastImm16 flag or we're building for optsize/minsize. However, if we're loading the value for comparison, the performance costs of the decode stalls are likely to be exceeded by the impact of the load latency of the folded load, the shorter encoding and not needing an extra register to store the ext-load. This matches the behaviour of gcc and msvc. Fixes llvm#90355
Configuration menu - View commit details
-
Copy full SHA for e2d74a2 - Browse repository at this point
Copy the full SHA e2d74a2View commit details -
[lldb] Fixed the TestGdbRemoteCompletion test (llvm#92268)
Do not try to run lldb-server on localhost in case of the remote target.
Configuration menu - View commit details
-
Copy full SHA for 34f33ba - Browse repository at this point
Copy the full SHA 34f33baView commit details -
[lldb][Windows] Fixed the test gdb_remote_client/TestGDBRemotePlatfor…
…mFile (llvm#92088) The tests `test_file_permissions` and `test_file_permissions_fallback` are disabled for Windows target. These tests use MockGDBServerResponder and do not depend on the real target. These tests failed in case of Windows host and Linux target. Disable them for Windows host too.
Configuration menu - View commit details
-
Copy full SHA for fc1df55 - Browse repository at this point
Copy the full SHA fc1df55View commit details -
[OpenMP] Add back in `ENABLE_LIBOMPTARGET' definition
Summary: Even though we moved `libomptarget` this is still present in `omp.h` and can't be removed.
Configuration menu - View commit details
-
Copy full SHA for 2ec8571 - Browse repository at this point
Copy the full SHA 2ec8571View commit details -
[flang][OpenMP] Don't pass clauses to op-generating functions anymore (…
…llvm#90108) Remove parameter `const List<Clause> &clauses` from functions that take construct queue. The clauses should now be accessed from the construct queue.
Configuration menu - View commit details
-
Copy full SHA for 4525f44 - Browse repository at this point
Copy the full SHA 4525f44View commit details -
[lldb] Fixed the TestCompletion test running on a remote target (llvm…
…#92281) Install the image to the remote target if necessary.
Configuration menu - View commit details
-
Copy full SHA for eb822dc - Browse repository at this point
Copy the full SHA eb822dcView commit details -
[lldb] Fixed the TestNetBSDCore test (llvm#92285)
TestNetBSDCore.py contains 3 classes with the same test names test_aarch64 and test_amd64. It causes conflicts because the same build dir. Add suffixes to avoid conflicts.
Configuration menu - View commit details
-
Copy full SHA for 7645269 - Browse repository at this point
Copy the full SHA 7645269View commit details -
[lldb][Windows] Fixed the TestIOHandlerResizeNoEditline test (llvm#92286
Configuration menu - View commit details
-
Copy full SHA for d92c677 - Browse repository at this point
Copy the full SHA d92c677View commit details -
[nfc] Allow forwarding
Error
returns fromExpected
callers (llvm#……92208) On a few compilers (clang 11/12 for example [1]), the following does not result in a copy elision, and since `Error`'s copy dtor is elided, results in a compile error: ``` Expect<Something> foobar() { ... if (Error E = aCallReturningError()) return E; ... } ``` Moving `E` would, conversely, result in the pessimizing-move warning on more recent clangs ("moving a local object in a return statement prevents copy elision") We just need to make the `Expected` ctor taking an `Error` take it as a r-value reference. [1] https://lab.llvm.org/buildbot/#/builders/54/builds/10505
Configuration menu - View commit details
-
Copy full SHA for 217668f - Browse repository at this point
Copy the full SHA 217668fView commit details -
[RISCV] Remove unneeded casts from int64_t to uint64_t in RISCVMatInt…
….cpp. NFC Most of these were to avoid undefined behavior if a shift left changed the sign of the result. I don't think its possible to change the sign of the result here. We're shifting left by 12 after an arithmetic right shift by more than 12. The bits we are shifting out with the left shift are guaranteed to be sign bits. Also use SignExtend64<32> to force upper bits to all 1s instead of an Or. We know the value isUInt<32> && !isInt<32> which means bit 31 is set.
Configuration menu - View commit details
-
Copy full SHA for 0647d10 - Browse repository at this point
Copy the full SHA 0647d10View commit details -
[LAA] Add tests with invariant dependences before strided ones.
Add extra test coverage for loops with strided and invariant accesses to the same object.
Configuration menu - View commit details
-
Copy full SHA for ec36145 - Browse repository at this point
Copy the full SHA ec36145View commit details -
Reapply "[ctx_profile] Profile reader and writer" (llvm#92199)
This reverts commit 03c7458. One of the problems was addressed in llvm#92208 The other problem: needed to add `BitstreamReader` to the list of link deps of `LLVMProfileData`
Configuration menu - View commit details
-
Copy full SHA for c19f2c7 - Browse repository at this point
Copy the full SHA c19f2c7View commit details -
Configuration menu - View commit details
-
Copy full SHA for df5804a - Browse repository at this point
Copy the full SHA df5804aView commit details -
Revert "[flang] Initial debug info support for local variables. (llvm…
…#909… (llvm#92302) …05)" This reverts commit 61da636. Update llvm#90905 was causing many tests to fail. See comments in llvm#90905.
Configuration menu - View commit details
-
Copy full SHA for 4683571 - Browse repository at this point
Copy the full SHA 4683571View commit details -
[lldb-dap] Include npm install in the extension installation steps (l…
…lvm#92028) Otherwise the build step fails due to missing dependencies.
Configuration menu - View commit details
-
Copy full SHA for 411bf38 - Browse repository at this point
Copy the full SHA 411bf38View commit details -
Revert "Reapply "[ctx_profile] Profile reader and writer" (llvm#92199)"
This reverts commit c19f2c7. Broke the gcc-7 bot.
Configuration menu - View commit details
-
Copy full SHA for 2c54bf4 - Browse repository at this point
Copy the full SHA 2c54bf4View commit details -
[RISCV] Handle undef AVLs in RISCVInsertVSETVLI
Before llvm#91440 a VSETVLIInfo would have had an IMPLICIT_DEF defining instruction, but now we look up a VNInfo which doesn't exist, which triggers an assertion failure. Mark these undef AVLs as AVLIsIgnored.
Configuration menu - View commit details
-
Copy full SHA for 9ae2177 - Browse repository at this point
Copy the full SHA 9ae2177View commit details -
Configuration menu - View commit details
-
Copy full SHA for 378c9e9 - Browse repository at this point
Copy the full SHA 378c9e9View commit details -
[clang] Add tests for CWG issues regarding completeness of types (llv…
…m#92113) This patch covers the following Core issues: [CWG930](https://cplusplus.github.io/CWG/issues/930.html) "`alignof` with incomplete array type" [CWG1110](https://cplusplus.github.io/CWG/issues/1110.html) "Incomplete return type should be allowed in `decltype` operand" [CWG1340](https://cplusplus.github.io/CWG/issues/1340.html) "Complete type in member pointer expressions" [CWG1352](https://cplusplus.github.io/CWG/issues/1352.html) "Inconsistent class scope and completeness rules" [CWG1458](https://cplusplus.github.io/CWG/issues/1458.html) "Address of incomplete type vs `operator&()`" [CWG1824](https://cplusplus.github.io/CWG/issues/1824.html) "Completeness of return type vs point of instantiation" [CWG1832](https://cplusplus.github.io/CWG/issues/1832.html) "Casting to incomplete enumeration" [CWG2304](https://cplusplus.github.io/CWG/issues/2304.html) "Incomplete type vs overload resolution" [CWG2310](https://cplusplus.github.io/CWG/issues/2310.html) "Type completeness and derived-to-base pointer conversions" [CWG2430](https://cplusplus.github.io/CWG/issues/2430.html) "Completeness of return and parameter types of member functions" [CWG2512](https://cplusplus.github.io/CWG/issues/2512.html) "`typeid` and incomplete class types" [CWG2630](https://cplusplus.github.io/CWG/issues/2630.html) "Syntactic specification of class completeness" [CWG2718](https://cplusplus.github.io/CWG/issues/2718.html) "Type completeness for derived-to-base conversions" [CWG2857](https://cplusplus.github.io/CWG/issues/2857.html) "Argument-dependent lookup with incomplete class types" Current wording for CWG1110 came from [P0135R1](https://wg21.link/p0135R1) "Wording for guaranteed copy elision through simplified value categories". As a drive-by fix, I fixed incorrect status of CWG1815, test for which was added in llvm#87933. CC @yronglin
Configuration menu - View commit details
-
Copy full SHA for d542eb7 - Browse repository at this point
Copy the full SHA d542eb7View commit details -
[libc] Fix GPU handling for unsupported backends (llvm#92271)
Summary: If the user does not have the selected backend enabled, we should still be able to build the LLVM-IR an ddistribute it. This patch makes logic to suppress tests if the backend can't build it, as well as removing a flag for the building that's only present int he NVPTX backend.
Configuration menu - View commit details
-
Copy full SHA for 64b3cdc - Browse repository at this point
Copy the full SHA 64b3cdcView commit details -
[DAGCombiner] Mark vectors as not AllAddOne/AllSubOne on type mismatch (
llvm#92195) Fixes llvm#92193.
Configuration menu - View commit details
-
Copy full SHA for 4ab2ac2 - Browse repository at this point
Copy the full SHA 4ab2ac2View commit details -
"Reapply "[ctx_profile] Profile reader and writer" (llvm#92199)"
This reverts commit 2c54bf4. Fixed gcc-7 issue.
Configuration menu - View commit details
-
Copy full SHA for fc8775e - Browse repository at this point
Copy the full SHA fc8775eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2fb9252 - Browse repository at this point
Copy the full SHA 2fb9252View commit details -
Configuration menu - View commit details
-
Copy full SHA for 24c3926 - Browse repository at this point
Copy the full SHA 24c3926View commit details -
[RISCV] Gate unratified profiles behind -menable-experimental-extensi…
…ons (llvm#92167) As discussed in the last sync-up call, because these profiles are not yet finalised they shouldn't be exposed to users unless they opt-in to them (much like experimental extensions). We may later want to add a more specific flag, but reusing `-menable-experimental-extensions` solves the immediate problem. This is implemented using the new support for marking profiles s experimental added in llvm#91993 to move the unratified profiles to RISCVExperimentalProfile and making the necessary changes to logic in RISCVISAInfo to handle this.
Configuration menu - View commit details
-
Copy full SHA for 891d687 - Browse repository at this point
Copy the full SHA 891d687View commit details -
[clang][dataflow] Fully support Environment construction for Stmt ana…
…lysis. (llvm#91616) Assume in fewer places that the analysis is of a `FunctionDecl`, and initialize the `Environment` properly for `Stmt`s. Moves constructors for `Environment` to header to make it more obvious that there are only minor differences between them and very little initialization in the constructors. Tested with check-clang-tooling.
Configuration menu - View commit details
-
Copy full SHA for 80d9ae9 - Browse repository at this point
Copy the full SHA 80d9ae9View commit details -
[NewPM] Add pass options for
InternalizePass
to preserve GVs. (llvm……#91334) This PR adds a string interface to `InternalizePass`' `MustPreserveGV` option, which is a callback function to indicate if a GV is not to be internalized. This is for use in LLVM.jl, the Julia wrapper for LLVM, which uses the C API and is thus required to use the PassBuilder string API for building NewPM pipelines.
Configuration menu - View commit details
-
Copy full SHA for ee765b0 - Browse repository at this point
Copy the full SHA ee765b0View commit details -
AMDGPU/gfx12: avoid crashing on legacy waitcnt intrinsics (llvm#92306)
They *are* still accepted by the HW but have a conservative effect. Leave them untouched since handling them would complicate the logic a bit, and developers who code to such a low level really need to revisit what they're doing anyway.
Configuration menu - View commit details
-
Copy full SHA for ec1f28d - Browse repository at this point
Copy the full SHA ec1f28dView commit details -
[Offload][NFC] Fix warning messages in runtime
Summary: These are lots of random warnings due to inconsistent initialization or signedness.
Configuration menu - View commit details
-
Copy full SHA for 81d20d8 - Browse repository at this point
Copy the full SHA 81d20d8View commit details -
[RISCV] static_assert SupportedProfiles and SupportedExperimentalProf…
…iles are sorted Just as we do for the arrays of extension names.
Configuration menu - View commit details
-
Copy full SHA for 83f065d - Browse repository at this point
Copy the full SHA 83f065dView commit details -
Configuration menu - View commit details
-
Copy full SHA for e1ed138 - Browse repository at this point
Copy the full SHA e1ed138View commit details -
[lldb] Support custom LLVM formatting for variables (llvm#91868)
Re-apply llvm#81196, with a fix that handles the absence of llvm formatting: llvm@3ba650e b47d425f
Configuration menu - View commit details
-
Copy full SHA for 8530b1c - Browse repository at this point
Copy the full SHA 8530b1cView commit details -
[AArch64][SME] Remove Darwin compile error for ABI support routine ca…
…lls. These are allowed for Darwin and use the same ABI.
Configuration menu - View commit details
-
Copy full SHA for 1daa7fd - Browse repository at this point
Copy the full SHA 1daa7fdView commit details -
Revert "[NewPM] Add pass options for
InternalizePass
to preserve GV……s." (llvm#92321) Reverts llvm#91334 This broke the gcc7 build. I suspect the issue is a mismatch on user-defined move constructor on the return: `return PreservedGVs;` does not match the return type of the function.
Configuration menu - View commit details
-
Copy full SHA for 537a94b - Browse repository at this point
Copy the full SHA 537a94bView commit details -
Configuration menu - View commit details
-
Copy full SHA for f97f039 - Browse repository at this point
Copy the full SHA f97f039View commit details -
[bazel] Add new dependencies (llvm#92323)
This also fixes building ... on Linux. Seems like target_compatible_with isn't enough but you also need a manual tag.
Configuration menu - View commit details
-
Copy full SHA for 00179e9 - Browse repository at this point
Copy the full SHA 00179e9View commit details -
[Coverage] Handle
CoroutineSuspendExpr
correctly (llvm#88898)This avoids visiting `co_await` or `co_yield` operand 5 times (it is repeated under transformed awaiter subexpression, and under `await_ready`, `await_suspend`, and `await_resume` generated call subexpressions).
Configuration menu - View commit details
-
Copy full SHA for 050593f - Browse repository at this point
Copy the full SHA 050593fView commit details -
[Coverage] Handle array decomposition correctly (llvm#88881)
`ArrayInitLoopExpr` AST node has two occurences of its as-written initializing expression in its subexpressions through a non-unique `OpaqueValueExpr`. It causes double-visiting of the initializing expression if not handled explicitly, as discussed in llvm#85837.
Configuration menu - View commit details
-
Copy full SHA for 5ff6c65 - Browse repository at this point
Copy the full SHA 5ff6c65View commit details -
[ELF,test] Fix FileCheck prefixes
Most violations are stale and should be removed while a few can be adjusted. Reported at llvm#92238
Configuration menu - View commit details
-
Copy full SHA for aa889d7 - Browse repository at this point
Copy the full SHA aa889d7View commit details -
[lldb-dap] Support publishing to the VSCode market place (llvm#92320)
Update the publisher and add a publish script that we can use from Github actions.
Configuration menu - View commit details
-
Copy full SHA for 0585eed - Browse repository at this point
Copy the full SHA 0585eedView commit details -
[flang] New -fdebug-unparse-with-modules option (llvm#91660)
This option is a compilation action that parses a source file and performs semantic analysis on it, like the existing -fdebug-unparse option does. Its output, however, is preceded by the effective contents of all of the non-intrinsic modules on which it depends but does not define, transitively preceded by the closure of all of those modules' dependencies. The output from this option is therefore the analyzed parse tree for a source file encapsulated with all of its non-intrinsic module dependencies. This output may be useful for extracting code from large applications for use as an attachment to a bug report, or as input to a test case reduction tool for problem isolation.
Configuration menu - View commit details
-
Copy full SHA for e00a3cc - Browse repository at this point
Copy the full SHA e00a3ccView commit details -
[Clang][Sema] Do not mark template parameters in the exception specif…
…ication as used during partial ordering (llvm#91534) We do not deduce template arguments from the exception specification when determining the primary template of a function template specialization or when taking the address of a function template. Therefore, this patch changes `isAtLeastAsSpecializedAs` such that we do not mark template parameters in the exception specification as 'used' during partial ordering (per [temp.deduct.partial] p12) to prevent the following from being ambiguous: ``` template<typename T, typename U> void f(U) noexcept(noexcept(T())); // #1 template<typename T> void f(T*) noexcept; // #2 template<> void f<int>(int*) noexcept; // currently ambiguous, selects #2 with this patch applied ``` Although there is no corresponding wording in the standard (see core issue filed here cplusplus/CWG#537), this seems to be the intended behavior given the definition of _deduction substitution loci_ in [temp.deduct.general] p7 (and EDG does the same thing).
Configuration menu - View commit details
-
Copy full SHA for 667d12f - Browse repository at this point
Copy the full SHA 667d12fView commit details -
[flang] Fix purity checking for internal subprograms (llvm#91759)
ELEMENTAL internal subprograms are pure unless explicitly IMPURE.
Configuration menu - View commit details
-
Copy full SHA for 325d1d0 - Browse repository at this point
Copy the full SHA 325d1d0View commit details -
[clang] Create new warning group for deprecation of '-fno-relaxed-tem…
…plate-template-args' (llvm#92324) This allows the warning to be disabled in isolation, as it helps when treating them as errors.
Configuration menu - View commit details
-
Copy full SHA for c227bf1 - Browse repository at this point
Copy the full SHA c227bf1View commit details -
[flang] Always check procedure characterizability (llvm#92008)
When a procedure is defined with a subprogram but never referenced in a compilation unit, it may not be characterized until lowering, and any errors in characterization then may crash the compiler. So always ensure that procedure definitions are characterizable in declaration checking. Fixes llvm#91845.
Configuration menu - View commit details
-
Copy full SHA for 7605ad8 - Browse repository at this point
Copy the full SHA 7605ad8View commit details -
[flang] Further work on relaxing BIND(C) enforcement (llvm#92029)
When a BIND(C) interface or subprogram has a dummy argument whose derived type is not BIND(C) but meets the constraints and requirements of a BIND(C) type, accept it with a warning.
Configuration menu - View commit details
-
Copy full SHA for 463f58a - Browse repository at this point
Copy the full SHA 463f58aView commit details -
[flang] Parse REDUCE clauses in !$CUF KERNEL DO (llvm#92154)
A !$CUF KERNEL DO directive is allowed to have advisory REDUCE clauses similar to those in OpenACC and DO CONCURRENT. Parse and represent them. Semantic validation will follow.
Configuration menu - View commit details
-
Copy full SHA for 5bbb63b - Browse repository at this point
Copy the full SHA 5bbb63bView commit details -
[flang] Prevent crash from unfoldable TRANSFER() (llvm#92282)
When the MOLD= argument's type is polymorphic, the type of the result cannot be known at compilation time, so the call cannot be folded even when the SOURCE= is constant. Fixes llvm#92264.
Configuration menu - View commit details
-
Copy full SHA for 3ddfb68 - Browse repository at this point
Copy the full SHA 3ddfb68View commit details -
[InstrProf] Fix bug when clearing traces with samples (llvm#92310)
The `--temporal-profile-max-trace-length=0` flag in the `llvm-profdata merge` command is used to remove traces from a profile. There was a bug where traces would not be cleared if the profile was already sampled. This patch fixes that.
Configuration menu - View commit details
-
Copy full SHA for c87b1ca - Browse repository at this point
Copy the full SHA c87b1caView commit details
Commits on May 16, 2024
-
[ctx_profile] Follow the pattern elsewhere for choosing the block IDs
This was an oversight in llvm#91859. Using the subblock ID mechanism other places that use the bitstream APIs (e.g. `BitstreamRemarkSerializer`) use.
Configuration menu - View commit details
-
Copy full SHA for c00e012 - Browse repository at this point
Copy the full SHA c00e012View commit details -
[scudo] Move the chunk update into functions (llvm#83493)
The code paths for mte enabled and disabled were interleaving and which increases the difficulty of reading each path in both source level and assembly level. In this change, we move the parts that they have different logic into functions and minor refactors on the code structure.
Configuration menu - View commit details
-
Copy full SHA for 772b1b0 - Browse repository at this point
Copy the full SHA 772b1b0View commit details -
[MCAsmParser] .rept/.irp/.irpc: remove excess tail EOL in expansion
``` .irp foo,1 nop .endr nop ``` expands to an excess EOL between two nop lines. Remove the excess EOL.
Configuration menu - View commit details
-
Copy full SHA for c6e787f - Browse repository at this point
Copy the full SHA c6e787fView commit details -
[memprof] Pass FrameIdConverter and CallStackIdConverter by reference (…
…llvm#92327) CallStackIdConverter sets LastUnmappedId when a mapping failure occurs. Now, since toMemProfRecord takes an instance of CallStackIdConverter by value, namely std::function, the caller of toMemProfRecord never receives the mapping failure that occurs inside toMemProfRecord. The same problem applies to FrameIdConverter. The patch fixes the problem by passing FrameIdConverter and CallStackIdConverter by reference, namely llvm::function_ref. While I am it, this patch deletes the copy constructor and copy assignment operator to avoid accidental copies.
Configuration menu - View commit details
-
Copy full SHA for 26fabdd - Browse repository at this point
Copy the full SHA 26fabddView commit details -
Revert "[MC] Remove UseAssemblerInfoForParsing"
This reverts commit 03c53c6. This causes very large compile-time regressions in some cases, e.g. sqlite3 at O0 regresses by 5%.
Configuration menu - View commit details
-
Copy full SHA for fa750f0 - Browse repository at this point
Copy the full SHA fa750f0View commit details -
Merge sourcelocation in CSEMIRBuilder::getDominatingInstrForID. (llvm…
…#90922) Make sure to merge the sourcelocation of the Dominating Instruction that is hoisted in a basic block in the CSEMIRBuilder in the legalizer pass. If this is not done, we can have a incorrect line table entry that makes the instruction pointer jump around. For example the line table without this patch looks like: ``` Address Line Column File ISA Discriminator OpIndex Flags ------------------ ------ ------ ------ --- ------------- ------- ------------- 0x0000000000000000 0 0 1 0 0 0 is_stmt 0x0000000000000010 11 14 1 0 0 0 is_stmt prologue_end 0x0000000000000028 12 1 1 0 0 0 is_stmt 0x000000000000002c 12 15 1 0 0 0 0x000000000000004c 12 13 1 0 0 0 0x000000000000005c 13 1 1 0 0 0 is_stmt 0x0000000000000064 12 13 1 0 0 0 is_stmt 0x000000000000007c 13 7 1 0 0 0 is_stmt 0x00000000000000c8 13 1 1 0 0 0 0x00000000000000e8 13 1 1 0 0 0 epilogue_begin 0x00000000000000f8 13 1 1 0 0 0 end_sequence ``` The line table entry for 0x000000000000005c should be 0 After this patch, the line table looks like: ``` Address Line Column File ISA Discriminator OpIndex Flags ------------------ ------ ------ ------ --- ------------- ------- ------------- 0x0000000000000000 0 0 1 0 0 0 is_stmt 0x0000000000000010 11 14 1 0 0 0 is_stmt prologue_end 0x0000000000000028 12 1 1 0 0 0 is_stmt 0x000000000000002c 12 15 1 0 0 0 0x000000000000004c 12 13 1 0 0 0 0x000000000000005c 0 0 1 0 0 0 0x0000000000000064 12 13 1 0 0 0 0x000000000000007c 13 7 1 0 0 0 is_stmt 0x00000000000000c8 13 1 1 0 0 0 0x00000000000000e8 13 1 1 0 0 0 epilogue_begin 0x00000000000000f8 13 1 1 0 0 0 end_sequence ```
Configuration menu - View commit details
-
Copy full SHA for a9763de - Browse repository at this point
Copy the full SHA a9763deView commit details -
[analyzer] Check C++ base or member initializer in WebKit checkers. (l…
…lvm#92220) Co-authored-by: Ryosuke Niwa <rniwa@apple.com>
Configuration menu - View commit details
-
Copy full SHA for 72200fc - Browse repository at this point
Copy the full SHA 72200fcView commit details -
[LoopUnroll] Clamp PartialThreshold for large LoopMicroOpBufferSize (l…
…lvm#67657) The znver3/znver4 scheduler models are outliers, specifying very large LoopMicroOpBufferSizes at 512, while typical values for other subtargets are on the order of ~50. Even if this information is micro-architecturally correct (*), this does not mean that we want to runtime unroll all loops to a size that completely fills the loop buffer. Unless this is the single hot loop in the entire application, the massive code size increase will bust the micro-op and instruction caches. Protect against this by clamping to the default PartialThreshold of 150, which is the same as the default full-unroll threshold and half the aggressive full-unroll threshold. Allowing more partial unrolling than full unrolling certainly does not make sense. (*) I strongly doubt that this is actually correct -- I believe this may derive from an incorrect reading of Agner Fog's micro-architecture guide. The number 4096 that was originally used here is the size of the general micro-op cache, not that of a loop buffer. A separate loop buffer is not listed for the Zen microarchitecture. Comparing this to the listing for Skylake, it has a 1536 micro-op buffer, but only a 64 micro-op loopback buffer, with a note that it's rarely fully utilized. Our scheduling model specifies LoopMicroOpBufferSize of 50 in that case.
Configuration menu - View commit details
-
Copy full SHA for f0b3654 - Browse repository at this point
Copy the full SHA f0b3654View commit details -
[OpenMP] Fix intermediate header locations for OpenMP
Summary: A previous patch moved the code here and accidentally overrwrote the include path that the LSP interface used. This caused incorrect errors when using clangd with the offload project. This patch removes the unnecessary header and makes sure we include the correct folder.
Configuration menu - View commit details
-
Copy full SHA for f60c699 - Browse repository at this point
Copy the full SHA f60c699View commit details -
Reapply "[Clang][Sema] Earlier type checking for builtin unary operat…
…ors (llvm#90500)" (llvm#92283) This patch reapplies llvm#90500, addressing a bug which caused binary operators with dependent operands to be incorrectly rebuilt by `TreeTransform`.
Configuration menu - View commit details
-
Copy full SHA for 1595988 - Browse repository at this point
Copy the full SHA 1595988View commit details -
[Serialization] Read the initializer for interesting static variables…
… before consuming it (llvm#92218) Close llvm#91418 Since we load the variable's initializers lazily, it'd be problematic if the initializers dependent on each other. For example, ``` SomeType a = ...; SomeType b = a; ``` Previously, when we load variable `b`, we need to load the initializer, then we need to load `a`. We can only mark the variable `b` as loaded after we load `a`. Then `a` is always initialized before `b`. However, it is not true after we implement lazy loading for initializers. So here we try to load the initializers of static variables to make sure they are passed to code generator by order. If we read any thing interesting, we would consume that before emitting the current declaration.
Configuration menu - View commit details
-
Copy full SHA for 3a4c1b9 - Browse repository at this point
Copy the full SHA 3a4c1b9View commit details -
[AArch64][GISel] Fold COPY(y:gpr, DUP(x:fpr, i)) -> UMOV(y:gpr, x:fpr…
…, i) (llvm#89017) This patch adds a peephole to AArch64PostSelectOptimize for codegen that is caused by RegBankSelect limiting G_EXTRACT_VECTOR_ELT only to FPR registers in both the input and output registers. This can cause a generation of COPY from FPR to GPR when, for example, the output register of the G_EXTRACT_VECTOR_ELT is used in a branch condition. This was noticed when looking at codegen differences between SDAG and GI for the s1279 kernel in the TSVC benchmark.
Configuration menu - View commit details
-
Copy full SHA for 1dd0d3c - Browse repository at this point
Copy the full SHA 1dd0d3cView commit details -
[SeparateConstOffsetFromGEP] Add additional inbounds preservation tes…
…ts (NFC) Adding these for NVPTX because for AMDGPU the problematic -1 case does not get reordered in the first place.
Configuration menu - View commit details
-
Copy full SHA for 31c9038 - Browse repository at this point
Copy the full SHA 31c9038View commit details -
[SeparateConstOffsetFromGEP] Check correct index for non-negativity
We were checking the index of GEP twice, instead of checking both GEP and PtrGEP.
Configuration menu - View commit details
-
Copy full SHA for b4d1a60 - Browse repository at this point
Copy the full SHA b4d1a60View commit details -
Configuration menu - View commit details
-
Copy full SHA for 83e61d0 - Browse repository at this point
Copy the full SHA 83e61d0View commit details -
[Clang] Disallow VLA type compound literals (llvm#91891)
C99-C23 6.5.2.5 says: The type name shall specify an object type or an array of unknown size, but not a variable length array type. Fixes llvm#89835.
Configuration menu - View commit details
-
Copy full SHA for e91ea1b - Browse repository at this point
Copy the full SHA e91ea1bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 90fbc5b - Browse repository at this point
Copy the full SHA 90fbc5bView commit details -
[lldb] Fixed the TestFdLeak test (llvm#92273)
Use `os.devnull` instead of `/dev/null`.
Configuration menu - View commit details
-
Copy full SHA for ce961c5 - Browse repository at this point
Copy the full SHA ce961c5View commit details -
Configuration menu - View commit details
-
Copy full SHA for b11a660 - Browse repository at this point
Copy the full SHA b11a660View commit details -
[flang] Add nsw flag to do-variable increment with a new option (llvm…
…#91579) This patch adds nsw flag to the increment of do-variables when a new option is enabled. NOTE 11.10 in the Fortran 2018 standard says they never overflow. See also the discussion in llvm#74709 and the following discourse post. https://discourse.llvm.org/t/rfc-add-nsw-flags-to-arithmetic-integer-operations-using-the-option-fno-wrapv/77584/5
Configuration menu - View commit details
-
Copy full SHA for 526553b - Browse repository at this point
Copy the full SHA 526553bView commit details -
[MCAsmParser] Simplify expandMacro
The error checking is only for .macro directives. Move it to the .macro parser to remove one parameter.
Configuration menu - View commit details
-
Copy full SHA for 3cc445a - Browse repository at this point
Copy the full SHA 3cc445aView commit details -
[flang] Add ETIME runtime and lowering intrinsics implementation (llv…
…m#90578) This patch add support of intrinsics GNU extension ETIME llvm#84205. Some usage info and example has been added to `flang/docs/Intrinsics.md`. The patch contains both the lowering and the runtime code and works on both Windows and Linux. | System | Implmentation | |-----------|--------------------| | Windows| GetProcessTimes | | Linux |times |
Configuration menu - View commit details
-
Copy full SHA for 245b7b6 - Browse repository at this point
Copy the full SHA 245b7b6View commit details -
[LegalizeVectorOps][X86] Add ISD::ABDS/ABSDU to the list of opcodes h…
…andled by LegalizeVectorOps. (llvm#92332) The expand code is present, but we were missing the type query code so the nodes would be ignored until LegalizeDAG.
Configuration menu - View commit details
-
Copy full SHA for f2d7400 - Browse repository at this point
Copy the full SHA f2d7400View commit details -
[RISCV] Pass subvector type to isLegalInterleavedAccessType in getInt…
…erleavedMemoryOpCost. (llvm#91825) isLegalInterleavedAccessType expects the subvector type, but getInterleavedMemoryOpCost is called with the full vector type. So we need to divide by Factor.
Configuration menu - View commit details
-
Copy full SHA for 487b43c - Browse repository at this point
Copy the full SHA 487b43cView commit details -
[ORC] Support visionOS in LC_BUILD_VERSIONs for JITDylibs.
rdar://127846581
Configuration menu - View commit details
-
Copy full SHA for 6bf1859 - Browse repository at this point
Copy the full SHA 6bf1859View commit details -
[RISCV] Defer creating RISCVInsertVSETVLI to avoid leak with -stop-af…
…ter (llvm#92303) As noted in llvm#91440 (comment), if the pass pipeline stops early because of -stop-after any allocated passes added with insertPass will not be freed if they haven't already been added. This was showing up as a failure on the address sanitizer buildbots. We can fix it by instead passing the pass ID instead so that allocation is deferred.
Configuration menu - View commit details
-
Copy full SHA for 566fbb4 - Browse repository at this point
Copy the full SHA 566fbb4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 70a926c - Browse repository at this point
Copy the full SHA 70a926cView commit details -
[mlir] fix polynomial docs for MLIR website (llvm#92348)
I built it and confirmed this fixes the issue locally. Co-authored-by: Jeremy Kun <j2kun@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 5bd8091 - Browse repository at this point
Copy the full SHA 5bd8091View commit details -
[mlir] fix IRDL dialect docs (llvm#92349)
Currently the irdl dialect page has no content beyond the header. By referring to the Ops.td in the CMake config, it pulls in all the types, attributes, etc., so that the doc generation can include them all in the page. Rendered locally to confirm it fixes the issue ![image](https://github.com/llvm/llvm-project/assets/2467754/8758f324-6bc3-4f0e-8fa9-8962cdb0177f) Co-authored-by: Jeremy Kun <j2kun@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for afce597 - Browse repository at this point
Copy the full SHA afce597View commit details -
Revert "[Serialization] Read the initializer for interesting static v…
…ariables before consuming it (llvm#92218)" This reverts commit 3a4c1b9. This breaks a bot on clang-s390x-linux
Configuration menu - View commit details
-
Copy full SHA for 3c2638d - Browse repository at this point
Copy the full SHA 3c2638dView commit details -
[MLIR][LLVM] add dwarfAddressSpace to DIDerivedType (llvm#92043)
This field is present in LLVM, but was missing from the MLIR wrapper type. This addition allows MLIR languages to add proper DWARF info for GPU programs.
Configuration menu - View commit details
-
Copy full SHA for 5c35b63 - Browse repository at this point
Copy the full SHA 5c35b63View commit details -
Revert "[flang] Add ETIME runtime and lowering intrinsics implementat…
…ion" (llvm#92354) Reverts llvm#90578 This broke the premerge linux buildbot.
Configuration menu - View commit details
-
Copy full SHA for 6706aeb - Browse repository at this point
Copy the full SHA 6706aebView commit details -
Configuration menu - View commit details
-
Copy full SHA for 45cc6bd - Browse repository at this point
Copy the full SHA 45cc6bdView commit details -
[github] Add keith back to bazel codeowners
Wrongly removed in 45cc6bd.
Configuration menu - View commit details
-
Copy full SHA for e27f9bb - Browse repository at this point
Copy the full SHA e27f9bbView commit details -
In .macro, \+ expands to the per-macro invocation count. https://sourceware.org/pipermail/binutils/2024-May/134009.html \+ counts from 0 for .irp/.irpc/.rept . Note: We currently prints \q for `.print "\q"` while gas doesn't. This patch does not change this behavior.
Configuration menu - View commit details
-
Copy full SHA for 7c95629 - Browse repository at this point
Copy the full SHA 7c95629View commit details -
[Flang][OpenMP] Fix update operation not found issue (llvm#92165)
If there is only one non-terminator operation in the update region then the update operation can be found and we can try to generate an atomicrmw instruction. Otherwise use the cmpxchg loop. Fixes llvm#91929
Configuration menu - View commit details
-
Copy full SHA for 89ee3ae - Browse repository at this point
Copy the full SHA 89ee3aeView commit details -
[lld][AArch64][ELF][PAC] Support
.relr.auth.dyn
section (llvm#87635)Support `R_AARCH64_AUTH_RELATIVE` relocation compression as described in https://github.com/ARM-software/abi-aa/blob/main/pauthabielf64/pauthabielf64.rst#relocation-compression
Configuration menu - View commit details
-
Copy full SHA for ca1f0d4 - Browse repository at this point
Copy the full SHA ca1f0d4View commit details -
InstCombine: Try to use exp10 intrinsic instead of libcall (llvm#92287)
Addresses old TODO about the exp10 intrinsic not existing.
Configuration menu - View commit details
-
Copy full SHA for ce1ce5d - Browse repository at this point
Copy the full SHA ce1ce5dView commit details -
[mlir][ArmSME] Verify ops on tile types post LLVM conversion (llvm#92076
) Unsupported ops on tile types can become dead after `-convert-arm-sme-to-llvm` resulting in incorrect results. Verify such operations don't exist post-conversion and fail if they do. Based on discussion from https://discourse.llvm.org/t/on-improving-arm-sme-lowering-resilience-in-mlir/78543
Configuration menu - View commit details
-
Copy full SHA for b5107bd - Browse repository at this point
Copy the full SHA b5107bdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8389177 - Browse repository at this point
Copy the full SHA 8389177View commit details
Commits on Aug 23, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 5f25d08 - Browse repository at this point
Copy the full SHA 5f25d08View commit details