This project is mirrored from https://github.com/llvm/llvm-project.git.
Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
Last successful update .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
Last successful update .
- Jan 15, 2022
-
-
John Ericson authored
This is the original patch in my GNUInstallDirs series, now last to merge as the final piece! It arose as a new draft of D28234. I initially did the unorthodox thing of pushing to that when I wasn't the original author, but since I ended up - Using `GNUInstallDirs`, rather than mimicking it, as the original author was hesitant to do but others requested. - Converting all the packages, not just LLVM, effecting many more projects than LLVM itself. I figured it was time to make a new revision. I have used this patch series (and many back-ports) as the basis of https://github.com/NixOS/nixpkgs/pull/111487 for my distro (NixOS), which was merged last spring (2021). It looked like people were generally on board in D28234, but I make note of this here in case extra motivation is useful. --- As pointed out in the original issue, a central tension is that LLVM already has some partial support for these sorts of things. Variables like `COMPILER_RT_INSTALL_PATH` have already been dealt with. Variables like `LLVM_LIBDIR_SUFFIX` however, will require further work, so that we may use `CMAKE_INSTALL_LIBDIR`. These remaining items will be addressed in further patches. What is here is now rote and so we should get it out of the way before dealing more intricately with the remainder. Reviewed By: #libunwind, #libc, #libc_abi, compnerd Differential Revision: https://reviews.llvm.org/D99484
-
Vitaly Buka authored
Depends on D117276 Reviewed By: kda, eugenis Differential Revision: https://reviews.llvm.org/D117277
-
Vitaly Buka authored
It's NFC because shadow of pointer is clean so origins will not be propagated anyway. Depends on D117275 Reviewed By: kda, eugenis Differential Revision: https://reviews.llvm.org/D117276
-
Ben Langmuir authored
Similar to the ld64 command-line options. These use the same underlying mechanisms as -l and -hidden-l, but allow specifying an absolute path to the archive. This is often more convenient for a one-off, or when adding a new search path could change how existing -l options are resolved. Differential Revision: https://reviews.llvm.org/D117360
-
Med Ismail Bennani authored
Fixes #52694 Signed-off-by:
Med Ismail Bennani <medismail.bennani@gmail.com>
-
Aart Bik authored
Rather than hardcoding all constants, we now use the input tensor to drive the code setup. Of course, we still need to hardcode dim-2 of A and the final verification in CHECK is input dependent, but overall this sets a slightly better example of tensor setup in general. Reviewed By: bixia Differential Revision: https://reviews.llvm.org/D117349
-
Jonas Devlieghere authored
Avoid other warnings from failing the test, such as -Wunused-command-line-argument in the downstream Swift fork.
-
Peter Klausler authored
Character substrings weren't being folded correctly; add tests and rework the implementation so that substrings of literals and named constant character scalars & arrays are properly folded for use in constant expressions. Differential Revision: https://reviews.llvm.org/D117343
-
Jonas Devlieghere authored
Currently, when connecting to a remote iOS device from the command line on Apple Silicon, we end up using the host platform (PlatfromMacOSX) instead of remote-ios (PlatformRemoteiOS). This happens because PlatfromMacOSX includes arm64-apple-ios and arm64e-apple-ios as compatible architectures, presumably to support debugging iOS Apps on Apple Silicon [1]. This is a problem for debugging remote ios devices, because the host platform doesn't look for an expanded shared cache on disk and as a result we end up reading everything from memory, incurring a significant performance hit. The crux of this patch is to make PlatfromMacOSX *not* compatible with arm64(e)-apple-ios. This also means that we now use remote-ios (PlatformRemoteiOS) as the platform for debugging iOS apps on Apple Silicon. This has the (unintended) side effect that unlike we do for the host platform, we no longer check our local shared cache, and incur a performance hit on debugging these apps. To avoid that, PlatformRemoteiOS now also check the local cache to support this use case, which is cheap enough to do unconditionally for PlatformRemoteiOS. [1] https://support.apple.com/guide/app-store/iphone-ipad-apps-mac-apple-silicon-fird2c7092da/mac Differential revision: https://reviews.llvm.org/D117340
-
James Y Knight authored
Breaks tests on some platforms. Reverting while investigating. This reverts commit a4e255f9.
-
Amir Ayupov authored
Summary: Reduce code size by removing redundant dependent template type from RewriteInstance methods. Code size savings (via bloaty on llvm-bolt Debug build): ``` symbol,vmsize,filesize -> vmsize,filesize (delta vmsize,filesize) updateELFSymbolTable 57096,59600 -> 56656,59048 (440,552) updateELFSymbolTable::lambda 35957,55277 -> 35949,54485 (8,792) getOutputSections 20592,21440 -> 20372,21156 (220,284) getOutputSections::lambda 1792,5300 -> 1792,5372 (0,-72) total delta (668,1556) ``` Reviewed By: maksfb FBD33589393
-
Amir Ayupov authored
Summary: Address @smeenai feedback https://reviews.llvm.org/D117061#inline-1122106: >CMake has if(IN_LIST) now, which you can use instead of the string(FIND) IN_LIST is available since CMake 3.3 released in 2015. Reviewed By: smeenai FBD33590959
-
Pranav Bhandarkar authored
This is a fix for a crash in the HexagonOptAddrMode pass that was looking for the third operand (offset) in the following instruction that does not, in fact, have a third operand: $r1 = L2_loadw_locked $r1 Additionally, this patch also adds an addrMode value to vgather pseudos in the Hexagon backend. Differential Revision: https://reviews.llvm.org/D117133
-
Matt Arsenault authored
Since 2959e082, we conservatively assume all inputs are enabled by default. This isn't the best interface for controlling these anyway, since it's not granular and only allows trimming the last fields.
-
Peter Klausler authored
ENTRY statement names in module subprograms were not acceptable for use as a "module procedure" in a generic interface, but should be. ENTRY statements need to have symbols with place-holding SubprogramNameDetails created for them in order to be visible in generic interfaces. Those symbols are created from the "program tree" data structure. This patch adds ENTRY statement names to the program tree data structure and uses them to generate SubprogramNameDetails symbols. Differential Revision: https://reviews.llvm.org/D117345
-
Nadav Rotem authored
This commit adds small tests for the combination of: {exact, no_exact} x { EQ, NE, UGT, UGE, ULT, ULE, SGT, SGE, SLT, SLE} This is related to the changes in D117338.
-
Peter Klausler authored
Internal writes to character arrays should not blank-fill records (elements) past the last one that was written to. Differential Revision: https://reviews.llvm.org/D117342
-
Owen Pan authored
See the style examples at: https://llvm.org/docs/CodingStandards.html#don-t-use-braces-on-simple-single-statement-bodies-of-if-else-loop-statements Differential Revision: https://reviews.llvm.org/D116316
-
James Y Knight authored
EHTerminateScope is used to implement C++ noexcept semantics. Per C++ [except.terminate], it is implemented-defined whether no, some, or all cleanups are run prior to terminatation. Therefore, the code to run cleanups on the way towards termination is unnecessary, and may be omitted. After this change, we will still run some cleanups: any cleanups in a function called from the noexcept function will continue to run, while those in the noexcept function itself will not. Differential Revision: https://reviews.llvm.org/D113620
-
James Y Knight authored
-
Heejin Ahn authored
In the process of rewriting `alloca`s and `phi`s that use them, the SROA pass can try to insert a non-PHI instruction by calling `getFirstInsertionPt()`, which is not possible in a catchswitch BB. This CL makes we bail out on these cases. Reviewed By: dschuff Differential Revision: https://reviews.llvm.org/D117168
-
Kostya Kortchinsky authored
In C++20 compound assignment to volatile (here `LocalData[I]++`) is deprecated, so `mutex_test.cpp` fails to compile. Simply changing it to `LocalData[I] = LocalData[I] + 1` fixes it. Differential Revision: https://reviews.llvm.org/D117359
-
Peter Klausler authored
After an ENDFILE statement, a WRITE is an error without a prior BACKSPACE. Also fix the return value for the case of formatted integer input with no input digits to be false (exposed by new test). Differential Revision: https://reviews.llvm.org/D117346
-
Bryce Wilson authored
This reverts commit 1f2cfc4f.
-
Vitaly Buka authored
Depends on D117274 Reviewed By: eugenis Differential Revision: https://reviews.llvm.org/D117275
-
Muhammad Omair Javaid authored
TestIOHandlerPythonREPLSigint.py is running falky on AArch64/Linux buildbot failing randomly. Skipping it for AArch64/Linux as well.
-
Peter Klausler authored
Very old (pre-'77 standard) codes would use arrays initialized with Hollerith literals, typically in DATA, as modifiable formats. Differential Revision: https://reviews.llvm.org/D117344
-
Vladislav Khmelevsky authored
The DW_FORM_addr form of highPC address is written in absolute addres, the data form is written in offset-from-low pc format. Due to the large test binary the test is prepared separately in https://github.com/rafaelauler/bolt-tests/pull/8 Vladislav Khmelevsky, Advanced Software Technology Lab, Huawei Reviewed By: ayermolo Differential Revision: https://reviews.llvm.org/D117217
-
Roman Lebedev authored
-
Aaron Puchert authored
This is consistent with the behavior of Doxygen, and allows users to write strings with C escapes or document input/output formats containing special characters (@ or \) without escaping them, which might be confusing. For example, if a function wants to document its expected input format as "user@host" it doesn't have to write user\@host instead, which would look right in the documentation but confusing in the code. Now users can just use double quotes (which they might do anyway). This fixes a lot of false positives of -Wdocumentation-unknown-command, but it could also fix issues with -Wdocumentation if the text triggers an actual command. Reviewed By: gribozavr2 Differential Revision: https://reviews.llvm.org/D116190
-
Aaron Puchert authored
Inspection of the first character can just be handled by the loop as well, it does exactly the same thing. Dereferencing the pointer a second time shouldn't be an issue: the middle end can eliminate that second read as it's separated from the first only by a pure function call. Reviewed By: gribozavr2 Differential Revision: https://reviews.llvm.org/D116186
-
Michael Jones authored
strdup needs either scudo enabled or fullbuild disabled, this properly adds the second condition Reviewed By: sivachandra, lntue Differential Revision: https://reviews.llvm.org/D117138
-
Congzhe Cao authored
Currently loop interchange only supports loops with one inner loop induction variable. This patch adds support for transformation with more than one inner loop induction variables. The induction PHIs and induction increment instructions are moved/duplicated properly to the new outer header and the new outer latch, respectively. Reviewed By: bmahjour Differential Revision: https://reviews.llvm.org/D114917
-
Vitaly Buka authored
Reviewed By: eugenis Differential Revision: https://reviews.llvm.org/D117274
-
James Y Knight authored
-
Eugene Zhulenev authored
`getNumRegionInvocations` was originally added for the async reference counting, but turned out to be not useful, and currently is not used anywhere (couldn't find any uses in public github repos). Removing dead code. Reviewed By: Mogball, mehdi_amini Differential Revision: https://reviews.llvm.org/D117347
-
Fangrui Song authored
Tail merge is slow and of low value. With regular string deduplication, we can just use the return value of StringTableBuilder::add. There is no noticeable performance increase because without deduplication `__cstring` is quite small (7.6MiB for chromium_framework). Reviewed By: #lld-macho, Jez Ng Differential Revision: https://reviews.llvm.org/D117273
-
serge-sans-paille authored
Namely __builtin_alloca __builtin_alloca_with_align __builtin_call_with_static_chain __builtin_expect __builtin_expect_with_probablity __builtin_prefetch Differential Revision: https://reviews.llvm.org/D117296
-
Nadav Rotem authored
This commit optimizes the code sequence: icmp-XXX (ashr-exact (X, C_1), C_2). Instcombine already implements this optimization for sgt, and this patch adds support to additional predicates. The transformation is legal for all predicates if the 'exact' flag is set, and to SGE, UGE, SLT, ULT when the exact flag is not present. This pattern is found in the std::vector bounds checks code of the at() method. Alive2 proof: https://alive2.llvm.org/ce/z/JT_WL8 Differential Revision: https://reviews.llvm.org/D117252
-
Marek Kurdej authored
Fixes https://github.com/llvm/llvm-project/issues/24784. With config: ``` AllowShortFunctionsOnASingleLine: Inline NamespaceIndentation: All ``` The code: ``` namespace Test { void f() { return; } } ``` was incorrectly formatted to: ``` namespace Test { void f() { return; } } ``` since the function `f` was considered being inside a class/struct/record. That's because the check was simplistic and only checked for a non-zero indentation level of the line starting `f`. Reviewed By: MyDeveloperDay, HazardyKnusperkeks Differential Revision: https://reviews.llvm.org/D117142
-