- May 04, 2024
-
-
Abhinav Garg authored
This PR will fix the si-mode-register pass which is inserting an extra setreg instruction in case of constrained FP operations. This pass will be ignored for strictfp functions.
-
Aart Bik authored
Make sure consumer-producer fusion happens (to avoid the temporary dense tensor) and constant folding occurs in the generated code.
-
Fangrui Song authored
-
Fangrui Song authored
Skip files with intentional CRLF line endings.
-
Matt Arsenault authored
Addresses comment from #88587
-
Fangrui Song authored
Skip *.bat, *.natvis, utils/lit/tests/Inputs/shtest-shell/diff-in.dos
-
Fangrui Song authored
Skip *.pdb, *.rc, *crlf*, and FileCheck/dos-style-eol.txt
-
Fangrui Song authored
-
Pavel Iliin authored
For arch64 features, such as Branch Target Identification or MTE (Memory Tagging Extension), compatible with targets that lack their support we may encounter scenarios where a binary compiled with MTE for example is executed on both MTE and non-MTE hardware and we still need to detect at runtime whether the MTE feature is available to choose the appropriate function version. So, we cannot optimize the function multi versioning resolver by removing checks for these features enabled for the target during compilation.
-
Simon Pilgrim authored
X86 can use the CVTP2SI instructions to lower lrint/llrint calls, which have the same costs as the CVTTP2SI (fptosi) instructions Followup to #90065
-
Craig Topper authored
When looking through a right shift, we need to make sure that all of the bits we are using from the shift come from the shift input and not the sign or zero bits that are shifted in. Fixes #90936. -
Fangrui Song authored
-
Fangrui Song authored
-
Craig Topper authored
-
Jonas Devlieghere authored
Always emit diagnostic events to the system log so that they end up in the sysdiagnose on Darwin.
-
Matt Arsenault authored
If materializing a constant in a vector register that is just going to be copied to general registers, directly materialize the immediate in the gpr. This will avoid a few lit test regressions in a future commit.
-
Fangrui Song authored
Skip files with intentional CRLF line endings: test/clang-apply-replacements/crlf.cpp test/clang-apply-replacements/Inputs/crlf/crlf.cpp.expected clangd/test/input-mirror.test clangd/test/protocol.test clangd/test/too-large.test
-
Matt Arsenault authored
-
Craig Topper authored
Similar change was recently made to parseNormalizedArchString.
-
Craig Topper authored
[RISCV] Add partial validation of Z extension name to RISCVISAInfo::parseNormalizedArchString (#90895) If 'z' is given as the complete extension name or with a digit after it, it will crash in the extension map compare function. Check for these cases and give an error.
-
Fangrui Song authored
-
Jonas Devlieghere authored
We have 3 different enums all expressing severity (info, warning, error). Remove all uses with a new Severity enum in lldb-enumerations.h.
-
Julian Schmidt authored
Clangd already implements some utility functions for converting between `SourceLocation`s, `Position`s and `Offset`s into a buffer.
-
Prashant Kumar authored
Enables vectorization of unpack op in the case of unknown vector size. The vector sizes are determined by the result's shape.
-
- May 03, 2024
-
-
Mark de Wever authored
This attribute is used in the headers. Not using this in the modules has led to several issues. Add them to the modules to avoid these errors in other placed.
-
Mark de Wever authored
This reverts commit 02660e27. The tests do not pass on AIX, the buildkite precommit CI fails on these tests. For example, https://buildkite.com/llvm-project/libcxx-ci/builds/35184
-
Peter Lafreniere authored
The m68k backend will always emit external calls (including libcalls) with PC-relative PLT relocations, even when in non-pic mode or -fno-plt is used. This is unexpected, as other function calls are emitted with absolute addressing, and a static code modes suggests that there is no PLT. It also leads to a miscompilation where the call instruction emitted expects an immediate address, while the relocation emitted for that instruction is PC-relative. This miscompilation can even be seen in the default C function in godbolt: https://godbolt.org/z/zEoazovzo Fix the issue by classifying external function references based upon the pic mode. This triggers a change in the static code model, making it more in line with the expected behaviour and allowing use of this backend in more bare-metal situations where a PLT does not exist. The change avoids the issue where we emit a PLT32 relocation for an absolute call, and makes libcalls and other external calls use absolute addressing modes when a static code model is desired. Further work should be done in instruction lowering and validation to ensure that miscompilations of the same type don't occur.
-
Michael Maitland authored
The vector crypto instructions may have different scheduling behavior compared to VALU operations. Instead of using scheduling resources that describe VALU operations, we give these instructions their own scheduling resources. This is similar to what we did for Zb* instructions. The sifive-p670 has vector crypto, so we model behavior for these instructions in the P600SchedModel. The numbers are based off of measurements collected internally. These numbers are a bit old and new measurements show that they may not be fully accurate. It is likely that we will refine these numbers in a follow up patch(s) based on new measurements. This PR is stacked on #89256.
-
Miro Bucko authored
Summary: 'test_exit_status_message_sigterm' is failing due to 'psutil' dependency introduced in PR #89405. This fix removes 'deque' dependency and checks if 'psutil' can be imported before running the test. If 'psutil' cannot be imported, it emits a warning and skips the test. Test Plan: ./bin/llvm-lit -sv /path-to-llvm-project/lldb/test/API/tools/lldb-dap/console/TestDAP_console.py --filter=tools/lldb-dap/console/TestDAP_console.py Reviewers: @jeffreytan81,@clayborg,@kusmour, @JDevlieghere,@walter-erquinigo Subscribers: Tasks: lldb-dap Tags:
-
Michael Maitland authored
-
Michael Maitland authored
-
Jay Foad authored
-
erichkeane authored
Like 'copy', these also have alternate names, so this implements that as well. Additionally, these have an optional tag of either 'readonly' or 'zero' depending on the clause. Otherwise, this is a pretty rote implementation of the clause, as there aren't any special rules for it.
-
Florian Hahn authored
After a48ebb82, the function is no longer used. Remove it.
-
Jay Foad authored
-
Billy Zhu authored
Followup to #90759. Instead of just returning null when the caller scope is not translatable, "jump over" the current caller scope and use the outer scope as the caller if that is available. This means that in an inlined call stack if there are frames without debug scope, those frames are skipped to preserve what is available. In the original example where ``` func A { foo loc(fused<#A>["a":1:1]) } func B { call @A loc("b":1:1) } func C { call @B loc(fused<#C>["c":1:1]) } ``` is inlined into ``` func C { foo loc(callsite( callsite(fused<#A>["a":1:1] at loc("b":1:1)) at fused<#C>["c":1:1])) } ``` The translated result would be `!1`: ``` !0 = !DILocation(line: 1, column: 1, scope: !C) !1 = !DILocation(line: 1, column: 1, scope: !A, inlinedAt: !0) ``` This has a neat benefit in maintaining callsite associativity: No matter if we have `callsite(callsite(A at B) at C)` or `callsite(A at callsite(B at C))`, the translation now is the same. The previous solution did not provide this guarantee, which meant the callsite construction would somehow impact this translation. -
Billy Zhu authored
Make BasicTTIImplBase's `isTypeLegal` check handle unknown types. Current behavior is aborting. Motivated by a use case in SimplifyCFG, where `isTypeLegal` is called on a struct type and dies, when it could be treated as illegal and skipped. In general it could make sense for unknown types to be allowed, and by default just considered not legal, but the behavior can of course be overriden.
-
erichkeane authored
Like present, no_create, and first_private, copy is a clause that takes just a var-list, and follows the same rules as the others. The one unique part of this clause is that it ALSO supports two deprecated/backwards-compatibility spellings, so this patch adds them and implements them.
-
Jay Foad authored
-
Mel Chen authored
The support for interleaved accesses for scalable vector with a factor of 2 is enabled in vectorizer. Therefore, the patch removed the restriction for scalable vector with a factor of 2.
-