- Jan 08, 2024
-
-
David Spickett authored
This was added by e42edb55 and has been failing: https://lab.llvm.org/buildbot/#/builders/219/builds/8012
-
David Spickett authored
This was added by 917b404e and fails for unknown reasons.
-
Yingwei Zheng authored
This patch eliminates unreachable default cases using range information. Fixes #76085.
-
SiHuaN authored
-
Matt Arsenault authored
Depends #76217
-
OCHyams authored
In line with other RemoveDIs test updates. This test fails without #76941.
-
Shengchen Kan authored
This patch is a straightfoward change based on the design in #77202. It does not have any effect since we haven't supported compressing ND to non-ND in X86CompressEVEX.cpp.
-
Liao Chunyu authored
warning: RISCVISelDAGToDAG.cpp:767: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses] 767 | AM == ISD::POST_INC && "Unexpected addressing mode");
-
Haojian Wu authored
after 20a05677 If the overload fails, the `Best` might point to the `end()`, referencing it leads to asan crashes.
-
Nathan Gauër authored
This is the first of the 7 steps outlined in #75801. This PR explicitely calls the SimplifyLoops pass. Directly following this pass should follow the 6 others required to structurize the IR. Running this pass could generate empty basic-blocks, which are implicit fallthrough to the successor BB. There was a specific condition in the SPIR-V ISel which handled implicit fallthrough, but it couldn't work on empty basic-blocks. This commits removes the old logic, and adds this new logic, which checks all basic-blocks for implicit fallthroughs, including empty ones. --------- Signed-off-by:Nathan Gauër <brioche@google.com>
-
Mitch Phillips authored
Florian pointed out that we're accidentally eliding the Android note for static executables, as it's guarded behind the "can have memtag globals" conditional. Of course, memtag globals are unsupported for static executables, but we should still allow static binaries to produce the Android note (as that's the only way they get MTE).
-
kadir çetinkaya authored
This restores a subset of functionality that was forego in d68826df. Streaming multiple string literals is rare enough in practice, hence that change makes sense in general. But it seems people were incidentally relying on this for having line breaks after string literals that ended with `\n`. This patch tries to restore that behavior to prevent regressions in the upcoming LLVM release, until we can implement some configuration based approach as proposed in https://github.com/llvm/llvm-project/pull/69859.
-
Javed Absar authored
NFC. clean up.
-
-
Nikita Popov authored
Sometimes, we create a MemoryAccess for an instruction, which is later simplified (e.g. via devirtualization) such that the new instruction has no memory effects anymore. If we later clone the instruction (e.g. during unswitching), then MSSA will not create a MemoryAccess for the new instruction, triggering an assert. Disable the assertion (by passing CreationMustSucceed=false) and adjust getDefiningAccessForClone() to work correctly in that case. This PR implements the alternative suggestion by alinas from https://github.com/llvm/llvm-project/pull/76142.
-
Luke Lau authored
-
Nikita Popov authored
When adding information for induction variables, add both unsigned and signed constraints, with corresponding signed and unsigned preconditions. I believe the logic here is equally valid for signed/unsigned, we just need to add preconditions of the same type.
-
David Spickett authored
And add a check in the python script that the binary given to `--qemu` actually exists. Otherwise you get a generic Python error: ``` # .---command stderr------------ # | Traceback (most recent call last): # | File "/home/david.spickett/modules-llvm-project/libcxx/utils/qemu_baremetal.py", line 70, in <module> # | exit(main()) # | File "/home/david.spickett/modules-llvm-project/libcxx/utils/qemu_baremetal.py", line 66, in main # | os.execvp(qemu_commandline[0], qemu_commandline) # | File "/usr/lib/python3.8/os.py", line 568, in execvp # | _execvpe(file, args) # | File "/usr/lib/python3.8/os.py", line 610, in _execvpe # | raise last_exc # | File "/usr/lib/python3.8/os.py", line 601, in _execvpe # | exec_func(fullname, *argrest) # | FileNotFoundError: [Errno 2] No such file or directory # `----------------------------- # error: command failed with exit status: 1 ``` When it tries to run the entire command later. For the builder, it's only ever going to use qemu-system-arm so error at config time if it's not there.
-
Paschalis Mpeis authored
Updated SLEEF and ArmPL tests with Fixed-Width and Scalable cases for frem. Those are mapped to fmod/fmodf.
-
Shengchen Kan authored
Compress promoted instruction (EVEX) to pre-promotion instruction (legacy/VEX) when R16-R31 is not used. Alternative of #77065
-
Alexandros Lamprineas authored
When demangling a vector variant we are not checking that the number of parameters is the same as that of the scalar function. This check is hoisted out of getScalableECFromSignature() making the equvalent check in the unittests obsolete.
-
Adrian Kuegel authored
ClangTidy performance suggested to use '\n' instead of std::endl, but it seems the flushing behavior was intended here (tests started failing).
-
Amara Emerson authored
This re-uses some code extracted earlier from SelectionDAG into SwitchLoweringUtils Much of the code is a straight port from SDAG's splitWorkItem(), with minor changes needed for GISel.
-
Adrian Kuegel authored
- Use '\n' instead of std::endl; https://clang.llvm.org/extra/clang-tidy/checks/performance/avoid-endl.html
-
Timm Baeder authored
The attached test case would cause an assertion failure in Pointer.h when operating on a null pointer.
-
Tobias Gysi authored
This revision updates the llvm dialect inliner to explicitly disallow the inlining of variadic functions. Already previously the inlining failed if the number of function arguments did not match the number of call arguments. After the change, inlining checks the function is not variadic and it does not contain a va_start intrinsic.
-
Christian Ulmann authored
This commit adds an optional distinct attribute parameter to the DISubprogramAttr. This enables modeling of distinct subprograms, as required for LLVM IR. This change is required to avoid accidential uniquing of subprograms on functions that would lead to invalid LLVM IR post export.
-
Amara Emerson authored
-
Amara Emerson authored
properly demonstrates the upcoming change.
-
Chuanqi Xu authored
This a test for https://github.com/llvm/llvm-project/pull/76774. In the review comments, we're concerning about the case that ODRHash may produce the different hash values for semantical same template arguments. For example, if the template argument in a specialization is not qualified and the semantical same template argument in the instantiation point is qualified, we should be able to select that template specialization. And this patch tests this behavior: we should be able to select the correct specialization with semantical same template arguments.
-
Christian Ulmann authored
This commit adds a distinct attribute parameter to the DICompileUnit to enable the modeling of distinctness. LLVM requires DICompileUnits to be distinct and there are cases where one gets two equivalent compilation units but LLVM still requires differentiates them. We observed such cases for combinations of LTO and inline functions. This patch also changes the DIScopeForLLVMFuncOp pass to a module pass, to ensure that only one distinct DICompileUnit is created, instead of one for each function.
-
Amara Emerson authored
-
Shengchen Kan authored
-
Fangrui Song authored
Also test two issues: * When the start address is `.`, subsequent sections don't share the address of the first overlay section. * When the first overlay section is empty and discardable, `p_paddr` is incorrectly zero. This is because a discarded section has a zero address, causing `prev->getLMA() + prev->size` where `prev` refers to the first section to evaluate to zero.
-
Nico Weber authored
-
Ningning Shi(史宁宁) authored
Delete the LegalizerInfo comments of AArch64/AMD64/ARM/M68k/RISCV/x86, they are copied from register bank.
-
Petr Hosek authored
This reverts commit 78550bef since it broke the two stage build.
-
Wang Pengcheng authored
To keep the structure of TableGen files clear. The definitions are simplified by the way.
-
Kai Luo authored
-