- May 15, 2024
-
-
Matt Arsenault authored
Prefer to emit the intrinsic over a libcall in the intrinsic or no-math-errno case.
-
Robin Caloudis authored
Introduced in https://github.com/llvm/llvm-project/pull/91150. Not needed anymore as https://github.com/llvm/llvm-project/pull/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 https://github.com/llvm/llvm-project/pull/92041), I misinterpreted an undefined macro issue during the development of https://github.com/llvm/llvm-project/pull/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.
-
Ryosuke Niwa authored
[analyzer] Treat break, continue, goto, and label statements as trivial in WebKit checkers. (#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.
-
Eli Friedman authored
Reverts llvm/llvm-project#90632. Causing failures on buildbots that dynamically load polly. Reverting while we sort it out.
-
Matt Arsenault authored
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 #68120 -
rahulana-quic authored
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.
-
Luke Lau authored
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 #91319
-
Cyuria authored
As in the title, fixes #91934
-
Robin Caloudis authored
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`
-
Luke Lau authored
Split off from #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>
-
Owen Pan authored
-
epitavy authored
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 #63702
-
Mehdi Amini authored
This reverts commit 11b05914. The premerge bot is broken.
-
Freddy Ye authored
Spec reference: https://cdrdv2.intel.com/v1/dl/getContent/678938
-
Chuanqi Xu authored
Close https://github.com/llvm/llvm-project/issues/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.
-
Nikita Popov authored
-
Nikita Popov authored
Avoid including MD5.h in a core IR header.
-
AtariDreams authored
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
-
Mircea Trofin authored
Reverts llvm/llvm-project#91859 Buildbot failures.
-
Mircea Trofin authored
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. -
Joseph Huber authored
-
Joseph Huber authored
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.
-
Craig Topper authored
There's a special path when the promoted type has an element size more than twice the size of the original type.
-
Joe Nash authored
NFC. Makes the VOP1Inst_t16 interface more generic to support future instructions cleanly.
-
VincentWu authored
After patch https://github.com/llvm/llvm-project/pull/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
-
Alexander Yermolovich authored
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.
-
GeorgeHuyubo authored
Reverts llvm/llvm-project#92078
-
GeorgeHuyubo authored
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)
-
Michael Maitland authored
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.
-
Keith Smiley authored
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.
-
Florian Mayer authored
-
Philip Reames authored
-
Peiming Liu authored
…ducer.
-
Krystian Stasiowski authored
Reapply "[Clang] Unify interface for accessing template arguments as written for class/variable template specializations (#81642)" (#91393) Reapplies #81642, fixing the crash which occurs when running the lldb test suite.
-
Amara Emerson authored
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
-
Fangrui Song authored
-
Florian Hahn authored
Add test cases for https://github.com/llvm/llvm-project/issues/89958.
-
Keith Smiley authored
I'm interested in being CC'd on these changes
-
Keith Smiley authored
-
Joseph Huber authored
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.
-