- Dec 23, 2021
-
-
Fangrui Song authored
See D116143 for benefits. My lld executable (x86-64) is 103+KiB smaller.
-
Vitaly Buka authored
-
Vitaly Buka authored
-
Vitaly Buka authored
-
Shivam Gupta authored
When the source has a series of assignments, users reasonably want to have the debugger step through each one individually. Turn off the combine for adjacent stores so we get this behavior at -O0. Similar to D7181. Reviewed By: spatel, xgupta Differential Revision: https://reviews.llvm.org/D115808
-
Fangrui Song authored
See D116143 for benefits. My lld executable (x86-64) is 24+KiB smaller.
-
Fangrui Song authored
-
Fangrui Song authored
-
Phoebe Wang authored
This reverts commit 682d01a1. Revert for buildbot fails.
-
Mehdi Amini authored
This reverts commit 724e6861. This broke the build.
-
Mehdi Amini authored
-
Phoebe Wang authored
D115225 tried to roll back the effects on symbols of MS inline asm introduced by D113096. But the combination of the conditions cannot match all the changes. As a result, there are still fails after the patch. This patch fixes the problem by checking the exact conditions for MS global variables, i.e., variable (by FrontendSize != 0) + non rip/eip (by DefaultBaseReg == 0), so that we can fully roll back for D113096. Reviewed By: skan Differential Revision: https://reviews.llvm.org/D116090
-
Philip Reames authored
-
Philip Reames authored
-
jacquesguan authored
Enable transform (X & Y) == Y ---> (~X & Y) == 0 and (X & Y) != Y ---> (~X & Y) != 0 when have Zbb extension to use more andn instruction. Differential Revision: https://reviews.llvm.org/D115922
-
Philip Reames authored
Arguments to an indirect call is by definition outside the SCC, but there's no reason we can't use locally defined facts on the call site. This also has the nice effect of further simplifying the code. Differential Revision: https://reviews.llvm.org/D116118
-
Philip Reames authored
This adds a step in the instructions to switch to the production buildmaster at the very end (after explicit approval), and updates the early instruction to start with the builder pointed at the staging buildmaster. Differential Revision: https://reviews.llvm.org/D116129
-
Fangrui Song authored
The new `lazy` state is the inverse of the previous `LazyObjFile::extracted`. There are many advantages: * previously when a LazyObjFile was extracted, a new ObjFile/BitcodeFile was created; now the file is reused, just with `lazy` cleared * avoid the confusing transfer of `symbols` from LazyObjFile to the new file * the `incompatible file:` diagnostic is unified with `is incompatible with` * simpler code, smaller executable (6200+ bytes smaller on x86-64) * make eager parsing feasible (for parallel section/symbol table initialization)
-
Nikolas Klauser authored
Remove unused headers from `<filesystem>` Spies: libcxx-commits Differential Revision: https://reviews.llvm.org/D116146
-
Andrew Browne authored
dfsan_print_origin_id_trace dfsan_sprint_origin_id_trace Reviewed By: vitalybuka Differential Revision: https://reviews.llvm.org/D116184
-
Michael Jones authored
The Eisel-Lemire algorithm is an effecient way to handle converting to floating point numbers from strings, but in its base form it only supports up to 64 bit floating point numbers. This adds an implementation to handle long doubles. Reviewed By: lntue Differential Revision: https://reviews.llvm.org/D115280
-
Zequan Wu authored
Differential Revision: https://reviews.llvm.org/D115308
-
David Blaikie authored
Revert "[DwarfDebug] Support emitting function-local declaration for a lexical block" & dependent patches This patch causes invalid DWARF to be generated in some cases of LTO + Split DWARF - follow-up on the original review thread (D113741) contains further detail and test cases. This reverts commit 75b622a7. This reverts commit b6ccca21. This reverts commit 514d3744.
-
alex-t authored
This change enables divergence-driven instruction selection for the build_vector DAG nodes. It also enables packed i16 instructions for GFX9. Reviewed By: rampitec Differential Revision: https://reviews.llvm.org/D116187
-
Arthur O'Dwyer authored
These headers have stabilized; we don't expect anyone to be blindly clang-formatting them anymore. Leave the comments in `__format/*.h` for Mark to remove at his leisure.
-
Vitaly Buka authored
-
Vitaly Buka authored
-
Siva Chandra Reddy authored
-
Fangrui Song authored
Currently the singleton `config` is assigned by `config = make<Configuration>()` and (if `canExitEarly` is false) destroyed by `lld::freeArena`. `make<Configuration>` allocates a stab with `malloc(4096)`. This both wastes memory and bloats the executable (every type instantiates `BumpPtrAllocator` which costs more than 1KiB code on x86-64). (No need to worry about `clang::no_destroy`. Regular invocations (`canExitEarly` is true) call `_Exit` via llvm::sys::Process::ExitNoCleanup.) Reviewed By: lichray Differential Revision: https://reviews.llvm.org/D116143
-
Siva Chandra Reddy authored
Reviewed By: michaelrj, lntue Differential Revision: https://reviews.llvm.org/D116177
-
Mircea Trofin authored
When looking at building the generator for regalloc, we realized we'd need quite a bit of custom logic, and that perhaps it'd be easier to just have each usecase (each kind of mlgo policy) have it's own stand-alone test generator. This patch just consolidates the old `config.py` and `generate_mock_model.py` into one file, and does away with subdirectories under Analysis/models.
-
Salman Javed authored
Change to comments only; NFC. ``` ClangTidyDiagnosticConsumer.h:245:6: warning: '\param' command used in a comment that is not attached to a function declaration [-Wdocumentation] ``` See this build for an example: https://lab.llvm.org/buildbot/#/builders/109/builds/27293/steps/5/logs/warnings__702_
-
Marianne Mailhot-Sarrasin authored
Fix handling of alloc-like instructions in isGuaranteedLoopInvariant(). It was not valid when the 'KillingDef' was outside of the loop, while the 'CurrentDef' was inside the loop. In that case, the 'KillingDef' only overwrites the definition from the last iteration of the loop, and not the ones of all iterations. Therefor it does not make the 'CurrentDef' to be dead, and must not remove it. Fixing issue : https://github.com/llvm/llvm-project/issues/52774 Reviewed by: Florian Hahn Differential revision: https://reviews.llvm.org/D115965
-
Mogball authored
-
Mircea Trofin authored
Remaining var that had 'inlining' in name, despite being general-purpose
-
Mehdi Amini authored
-
Krzysztof Parzyszek authored
HVX does not have load/store instructions for vector predicates (i.e. bool vectors). Because of that, vector predicates need to be converted to another type before being stored, and the most convenient representation is an HVX vector. As a consequence, in C/C++, source-level builtins that either take or produce vector predicates take or return regular vectors instead. On the other hand, the corresponding LLVM intrinsics do have boolean types that, and so a conversion of the operand or the return value was necessary. This conversion would happen inside clang's codegen, but was somewhat fragile. This patch changes the strategy: a builtin that takes a vector predicate now really expects a vector predicate. Since such a predicate cannot be provided via a variable, this builtin must be composed with other builtins that either convert vector to a predicate (V6_vandvrt) or predicate to a vector (V6_vandqrt). For users using builtins defined in hvx_hexagon_protos.h there is no impact: the conversions were added to that file. Other users will need to insert - __builtin_HEXAGON_V6_vandvrt[_128B](V, -1) to convert vector V to a vector predicate, or - __builtin_HEXAGON_V6_vandqrt[_128B](Q, -1) to convert vector predicate Q to a vector. Builtins __builtin_HEXAGON_V6_vmaskedstore.* are a temporary exception to that, but they are deprecated and should not be used anyway. In the future they will either follow the same rule, or be removed.
-
Salman Javed authored
FileOffset is unsigned while getLocWithOffset() requires a signed value.
-
Mogball authored
Several unit test folders were missing from the bazel build, including: Transforms, Conversion, Rewrite
-
Marianne Mailhot-Sarrasin authored
Pre-commiting the test case before the bug fix. Reviewed by: Florian Hahn Differential revision: https://reviews.llvm.org/D115965
-