- Jan 08, 2022
-
-
Julian Lettner authored
Specify `ASAN_SYMBOLIZER_PATH` when running simulator tests. This will unblock simulator testing in GreenDragon (Apple's open source testing).
-
John Ericson authored
This is the patch for LLVM proper in my series for adding GNUInstallDirs support in all project. Additionally: Create a new `CACHE STRING` variable, `LLVM_EXAMPLES_INSTALL_DIR`, to control where the examples are installed on analogy with the other variables. --- This patch supersedes D28234, which tried to do the same thing but hand-rolled without GNUInstallDirs. This patch nearly reverts commit 3 0fc88bf1dc15a72e2d9809d28019d386b7a7cc0, which was a revert of a prior attempt." (I had to add a space here or else Phabricator detects a reference cycle and won't let me do the form submit.) Reviewed By: compnerd Differential Revision: https://reviews.llvm.org/D100810
-
Yuanfang Chen authored
Users could pass flags by environment variables like CFLAGS/CXXFLAGS/LDFLAGS or by using CMAKE_<LANG>_FLAGS_INIT/CMAKE_<t>_LINKER_FLAGS_INIT. So this toolchain file should append to INIT flags instead. Otherwise, user flags would be discarded here by assigning to CMAKE_<LANG>_FLAGS directly. Reviewed By: smeenai, mstorsjo Differential Revision: https://reviews.llvm.org/D116709
-
Walter Erquinigo authored
This adds some important remarks to the data formatter documentation. Differential Revision: https://reviews.llvm.org/D115974
-
Jonas Devlieghere authored
The lldbconfig module was necessary to run the LLDB test suite against a reproducer. Since this functionality has been removed, the module is no longer necessary.
-
John Ericson authored
@beanz tells me it should in fact exists, and it would be bad to put a list of dirs in `LLVM_LIBRARY_DIR`. I am therefore making some changes to help avoid this an other mistakes: - Use a separate `LLVM_CONFIG_LIBRARY_DIR` (no "S") variable so we don't start putting a list in `LLVM_LIBRARY_DIR` by mistake. - Define the individual dir variables first, and the define the list of dirs variables programmatically. Also, I rearranged the definitions of the "regular" single dirs below so `LLVM_BINARY_DIR`, which is the unsuffixed one, comes first before the suffixed ones. Reviewed By: beanz Differential Revision: https://reviews.llvm.org/D116497
-
Baoshan Pang authored
Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D116574
-
Vitaly Buka authored
Or code like this have UB passing uninitialized CmpValue: ``` int64_t CmpMask, CmpValue; if (!TII->analyzeCompare(MI, SrcReg, SrcReg2, CmpMask, CmpValue)) return false; if (TII->optimizeCompareInstr(MI, SrcReg, SrcReg2, CmpMask, CmpValue, MRI)) { ``` Detected by msan with: -Xclang -enable-noundef-analysis -mllvm -msan-eager-checks=1 Differential Revision: https://reviews.llvm.org/D116831 -
Vitaly Buka authored
Detected by msan with: -Xclang -enable-noundef-analysis -mllvm -msan-eager-checks=1 Differential Revision: https://reviews.llvm.org/D116830
-
Vitaly Buka authored
Detected by msan with: -Xclang -enable-noundef-analysis -mllvm -msan-eager-checks=1 Differential Revision: https://reviews.llvm.org/D116829
-
Vitaly Buka authored
Detected by msan with: -Xclang -enable-noundef-analysis -mllvm -msan-eager-checks=1 Differential Revision: https://reviews.llvm.org/D116828
-
Vitaly Buka authored
If the function returns true, it should set all output paremeters, similar to Output::preflightElement, or we have UB on code like: ``` void *SaveInfo; if (io.preflightFlowElement(i, SaveInfo)) io.postflightFlowElement(SaveInfo); ``` It's going to be detected by msan with: -Xclang -enable-noundef-analysis -mllvm -msan-eager-checks=1 Differential Revision: https://reviews.llvm.org/D116826
-
Sumanth Gundapaneni authored
-
Amy Huang authored
[-fms-extensions] Make some exception specification warnings/errors compatible with what cl.exe does Make clang-cl error when a function definition is missing 'noexcept', and succeed without warnings when missing '__declspec(nothrow)' or 'throw'. Fixes pr52860 Differential Revision: https://reviews.llvm.org/D116256
-
Nick Desaulniers authored
When performing CFG based analyses, don't forget to check the child statements of an asm goto, such as the expressions used for inputs+outputs. Fixes: https://github.com/llvm/llvm-project/issues/51024 Fixes: https://github.com/ClangBuiltLinux/linux/issues/1439 Reviewed By: void, jyknight, jyu2, efriedma Differential Revision: https://reviews.llvm.org/D116059
-
Philip Reames authored
strdup/strndup are already partially implemented, move remaining comment to relevant place. Remaining named routines are copy routines and mostly handled via intrinsics already - they do not allocate new memory.
-
Jonas Devlieghere authored
-
Groverkss authored
This operation already exists in FlatAffineConstraints but is added to IntegerPolyhedron to keep consistancy in available methods.
-
Roman Lebedev authored
-
Arthur Eubanks authored
This reverts commit 335a3163. Causes crashes when building llvm-test-suite's kc under ReleaseLTO-g.
-
Krzysztof Parzyszek authored
Co-authored-by:Brian Cain <bcain@quicinc.com>
-
John Ericson authored
This is continuing in the path of D51714, which did this for Clang. I have rearranged the source code Clang so one can diff the top-level CMakeLists.txt of Clang and LLD, ensuring we use the same strategy for both. Besides diffing the two files, `git diff --color-moved` on LLD also helps review. Reviewed By: beanz Differential Revision: https://reviews.llvm.org/D116492
-
Shafik Yaghmour authored
Both close and closesocket should return 0 on success so using !! looks incorrect. I replaced this will a more readable == 0 check. Differential Revision: https://reviews.llvm.org/D116768
-
Adrian Prantl authored
This patch brings the transitional DWARF 4 + fission attributes up to date. Patch by David Anderson! Differential Review: https://reviews.llvm.org/D116065
-
Krzysztof Parzyszek authored
Co-authored-by:Brian Cain <bcain@quicinc.com>
-
Julian Lettner authored
Always pass `depth=1` to `vm_region_recurse_64()`. `depth` is a in-out parameter and gets reset to 0 after the first call, so we incorrectly pass `depth=0` on subsequent calls. We want to avoid the following crash: ``` Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000180000000 Exception Codes: 0x0000000000000001, 0x0000000180000000 VM Region Info: 0x180000000 is not in any region. Bytes after previous region: 277577729 Bytes before following region: 384270336 REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL Stack 16f64c000-16f748000 [ 1008K] rw-/rwx SM=PRV thread 0 ---> GAP OF 0x27730000 BYTES unused shlib __TEXT 196e78000-196eac000 [ 208K] r-x/r-x SM=COW ... this process Termination Reason: SIGNAL 11 Segmentation fault: 11 Terminating Process: exc handler [767] ``` Crashing code: ``` static mach_header *get_dyld_image_header() { unsigned depth = 1; vm_size_t si... -
Krzysztof Parzyszek authored
-
John Ericson authored
See the docs in the new function for details. I think I found every instance of this copy pasted code. Polly could also use it, but currently does something different, so I will save the behavior change for a future revision. We get the shared, non-installed CMake modules following the pattern established in D116472. It might be good to have LLD and Flang also use this, but that would be a functional change and so I leave it as future work. Reviewed By: beanz, lebedev.ri Differential Revision: https://reviews.llvm.org/D116521
-
John Ericson authored
Now that I am adding more things there, I thought it prudent to document what should and should not go there, and how it is used. Reviewed By: lebedev.ri Differential Revision: https://reviews.llvm.org/D116524
-
Michael Lambert authored
-
colinl authored
-
Groverkss authored
This patch moves all presburger functionality from FlatAffineConstraints to IntegerPolyhedron. This patch is purely mechanical, it only moves and renames functionality and tests. This patch is part of a series of patches to move presburger functionality to Presburger/ directory. Reviewed By: bondhugula Differential Revision: https://reviews.llvm.org/D116681
-
Ben Jackson authored
When printing a std::string_view, print the referenced string as the summary. Support string_view, u32string_view, u16string_view and wstring_view, as we do for std::string and friends. This is based on the existing fomratter for std::string, and just extracts the data and length members, pushing them through the existing string formatter. In testing this, a "FIXME" was corrected for printing of non-ASCII empty values. Previously, the "u", 'U" etc. prefixes were not printed for basic_string<> types that were not char. This is trivial to resolve by printing the prefix before the "". Differential revision: https://reviews.llvm.org/D112222
-
colinl authored
-
Yuanxiang Ye authored
Added hvx accum checker function and test cases.
-
Arthur Eubanks authored
Previously we limited ourselves to only internal/private functions. We can also delete linkonce_odr functions. Minor compile time wins: https://llvm-compile-time-tracker.com/compare.php?from=d51e3474e060cb0e90dc2e2487f778b0d3e6a8de&to=bccffe3f8d5dd4dda884c9ac1f93e51772519cad&stat=instructions Major memory wins on tramp3d: https://llvm-compile-time-tracker.com/compare.php?from=d51e3474e060cb0e90dc2e2487f778b0d3e6a8de&to=bccffe3f8d5dd4dda884c9ac1f93e51772519cad&stat=max-rss Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D115545
-
Brian Cain authored
-
colinl authored
-
Philip Reames authored
nstCombine appears to duplicate the allocation size logic used inside getObjectSize when figuring out which attributes are safe to place on the callsite. We can use the existing utility function instead. The test change is correct. With aligned_alloc, a zero alignment is required to return nullptr. As such, deref_or_null is a correct attribute to use. Differential Revision: https://reviews.llvm.org/D116816
-
Sanjay Patel authored
select (X != 0), -1, Y --> 0 - X; or (sbb), Y select (X != 0), Y, -1 --> X - 1; or (sbb), Y We already had these x86 carry-flag transforms, but one was over-specified to handle a "0" select arm only. That's just a special-case of the more general pattern (the 'or' will be deleted if Y is zero). This is part of solving #53006, but it misses that example because some other combine has already converted that exact pattern into math ops. Differential Revision: https://reviews.llvm.org/D116765
-