- Aug 14, 2020
-
-
Sam Parker authored
Renamed to maybeLoweredToCall.
-
Frederik Gossen authored
Add custom assembly format for `shape.any` with variadic operands. Differential Revision: https://reviews.llvm.org/D85306
-
Pavel Labath authored
The function had very complicated signature, because it was trying to avoid making unnecessary copies of the Scalar object. However, this class is not hot enough to worry about these kinds of optimizations. My making copies unconditionally, we can simplify the function and all of its call sites. Differential Revision: https://reviews.llvm.org/D85906
-
Kirill Bobyrev authored
-
Aleksandr Platonov authored
`find_program(<VAR> ...)` sets <VAR> to <VAR>-NOTFOUND if nothing was found. So we need to compare <VAR> with "<VAR>-NOTFOUND" or just use `if([NOT] <VAR>)`, because `if(<VAR>)` is false if `<VAR>` ends in the suffix -NOTFOUND. Reviewed By: kbobyrev Differential Revision: https://reviews.llvm.org/D85958
-
Joachim Protze authored
Starting with 787eb0c6 I got spurious segmentation faults for some testcases. I could nail it down to `brel` trying to release the "memory" of the node allocated on the stack of __kmpc_omp_wait_deps. With this patch, you will see the assertion triggering for some of the tests in the test suite. My proposed solution for the issue is to just patch __kmpc_omp_wait_deps: ``` __kmp_init_node(&node); - node.dn.on_stack = 1; + // the stack owns the node + __kmp_node_ref(&node); ``` What do you think? Reviewed By: AndreyChurbanov Differential Revision: https://reviews.llvm.org/D84472
-
Kirill Bobyrev authored
Reviewed By: sammccall Differential Revision: https://reviews.llvm.org/D85815
-
Vitaly Buka authored
-
Mehdi Amini authored
-
Mehdi Amini authored
-
Gui Andrade authored
These functions won't ever unwind. This is useful for MemorySanitizer as it simplifies handling __atomic_load in particular. Differential Revision: https://reviews.llvm.org/D85573
-
LLVM GN Syncbot authored
-
Eduardo Caldas authored
* Switch to using directive on source files. * Remove unused `SyntaxTreeTest::addFile` Differential Revision: https://reviews.llvm.org/D85913
-
Raphael Isemann authored
When LLDB sees only one possible completion for an input, it will add a trailing space to the completion to signal that to the user. If the current argument is quoted, that also means LLDB needs to add the trailing quote to finish the current argument first. In case the user is in a function with only one local variable and is currently editing an empty line in the multiline expression editor, then we are in the unique situation where we can have a unique completion for an empty input line. (In a normal LLDB session this would never occur as empty input would just list all the possible commands). In this special situation our check if the current argument needs to receive a trailing quote will crash LLDB as there is no current argument and the completion code just unconditionally tries to access the current argument. This just adds the missing check if we even have a current argument before we check if we need to add a terminating quote character. Reviewed By: labath Differential Revision: https://reviews.llvm.org/D85903
-
Sebastian Neubauer authored
PAL recently got support for multiple ELF sections and relocations, therefore we can now use .rodata sections instead of forcing constants into .text. Differential Revision: https://reviews.llvm.org/D85895
-
David Sherwood authored
The code wasn't taking into account that the two operands passed to ptest could be identical and was trying to erase them twice. Differential Revision: https://reviews.llvm.org/D85892
-
Sam Parker authored
When getUserCost was transitioned to use an explicit CostKind, TCK_CodeSize was used even though the original kind was implicitly SizeAndLatency so restore this behaviour. We now only query for CodeSize when optimising for minsize. I expect this to not change anything as, I think all, targets will currently return the same value for CodeSize and SizeLatency. Indeed I see no changes in the test suite for Arm, AArch64 and X86. Differential Revision: https://reviews.llvm.org/D85829
-
Igor Kudrin authored
dumpStringOffsetsSection() expects the size of a contribution to be correctly aligned. The patch adds the corresponding verifications for pre-v5 cases. Differential Revision: https://reviews.llvm.org/D85739
-
Arthur Eubanks authored
This reverts commit ab9fc8ba. Incorrect transformation if the result is used. Causes breakages, e.g. http://green.lab.llvm.org/green/job/test-suite-verify-machineinstrs-x86_64-O3/8193/
-
Chris Kennelly authored
Differential Revision: https://reviews.llvm.org/D85944
-
aartbik authored
Masked loading/storing in various forms can be optimized into simpler memory operations when the mask is all true or all false. Note that the backend does similar optimizations but doing this early may expose more opportunities for further optimizations. This further prepares progressively lowering transfer read and write into 1-D memory operations. Reviewed By: ThomasRaoux Differential Revision: https://reviews.llvm.org/D85769
-
Thomas Lively authored
-
Peter Collingbourne authored
This lets us support the scenario where a binary is linked from a mix of object files with both instrumented and non-instrumented globals. This is likely to occur on Android where the decision of whether to use instrumented globals is based on the API level, which is user-facing. Previously, in this scenario, it was possible for the comdat from one of the object files with non-instrumented globals to be selected, and since this comdat did not contain the note it would mean that the note would be missing in the linked binary and the globals' shadow memory would be left uninitialized, leading to a tag mismatch failure at runtime when accessing one of the instrumented globals. It is harmless to include the note when targeting a runtime that does not support instrumenting globals because it will just be ignored. Differential Revision: https://reviews.llvm.org/D85871
-
Yuanfang Chen authored
D83608 need this. Reviewed By: aeubanks Differential Revision: https://reviews.llvm.org/D85916
-
Ben Dunbobbin authored
This patch restricts the behaviour of referencing via .Lfoo$local local aliases, introduced in https://reviews.llvm.org/D73230, to STV_DEFAULT globals only. Hidden symbols via --fvisiblity=hidden (https://gcc.gnu.org/wiki/Visibility) is an important scenario. Benefits: - Improves the size of object files by using fewer STT_SECTION symbols. - The code reads a bit better (it was not obvious to me without going back to the code reviews why the canBenefitFromLocalAlias function currently doesn't consider visibility). - There is also a side benefit in restoring the effectiveness of the --wrap linker option and making the behavior of --wrap consistent between LTO and normal builds for references within a translation-unit. Note: this --wrap behavior (which is specific to LLD) should not be considered reliable. See comments on https://reviews.llvm.org/D73230 for more. Differential Revision: https://reviews.llvm.org/D85782
-
Arthur Eubanks authored
Previously ConstantFoldExtractElementInstruction() would only work with insertelement instructions, not contants. This properly handles insertelement constants as well. Reviewed By: efriedma Differential Revision: https://reviews.llvm.org/D85865
-
Amy Huang authored
[DebugInfo] Add -fuse-ctor-homing cc1 flag so we can turn on constructor homing only if limited debug info is already on. This adds a cc1 flag to enable constructor homing but doesn't turn on debug info if it wasn't enabled already (which is what using -debug-info-kind=constructor does). This will be used for testing, and won't be needed anymore once ctor homing is used as default / merged into =limited. Bug to enable ctor homing: https://bugs.llvm.org/show_bug.cgi?id=46537 Differential Revision: https://reviews.llvm.org/D85799
-
Dávid Bolvanský authored
Solves 46489
-
Chris Kennelly authored
These were no longer needed following 96855125. Reviewed By: rupprecht Differential Revision: https://reviews.llvm.org/D85939
-
David Green authored
This reverts commit 18279a54 as it is causing some chromium android test problems.
-
Jonas Devlieghere authored
- Print the replay invocation. - Keep the reproducer around. - Return the "opposite" exit code so we don't have to rely on FileCheck to fail the test when the expected exit code is non-zero.
-
Austin Kerbow authored
If we need a scratch register for the spill don't use the same scratch register that is being used for the MBUF offset. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D85772
-
Thomas Lively authored
Allow inlining only when the Callee has a subset of the Caller's features. In principle, we should be able to inline regardless of any features because WebAssembly supports features at module granularity, not function granularity, but without this restriction it would be possible for a module to "forget" about features if all the functions that used them were inlined. Requested in PR46812. Differential Revision: https://reviews.llvm.org/D85494
-
Rainer Orth authored
`clang` currently requires the native linker on Solaris: - It passes `-C` to `ld` which GNU `ld` doesn't understand. - To use `gld`, one needs to pass the correct `-m EMU` option to select the right emulation. Solaris `ld` cannot handle that option. So far I've worked around this by passing `-DCLANG_DEFAULT_LINKER=/usr/bin/ld` to `cmake`. However, if someone forgets this, it depends on the user's `PATH` whether or not `clang` finds the correct linker, which doesn't make for a good user experience. While it would be nice to detect the linker flavor at runtime, this is more involved. Instead, this patch defaults to `/usr/bin/ld` on Solaris. This doesn't work on its own, however: a link fails with clang-12: error: unable to execute command: Executable "x86_64-pc-solaris2.11-/usr/bin/ld" doesn't exist! I avoid this by leaving absolute paths alone in `ToolChain::GetLinkerPath`. Tested on `amd64-pc-solaris2.11`, `sparcv9-sun-solaris2.11`, and `x86_64-pc-linux-gnu`. Differential Revision: https://reviews.llvm.org/D84029 -
Dávid Bolvanský authored
-
Lang Hames authored
This reapplies commit e137b550 with fixes for the broken test case: Non-global symbols should only be skipped after checking that they're not referenced by the harness.
-
Dávid Bolvanský authored
Solves PR47154
-
Nikita Popov authored
If we assume one of the operands is smaller/greater, then min/max may be simplified.
-
Peter Collingbourne authored
A recent change to sanitizer_common caused us to issue the syscall madvise(MADV_HUGEPAGE) during HWASAN initialization. This may lead to a problem if madvise is instrumented (e.g. because libc is instrumented or the user intercepted it). For example, on Android the syscall may fail if the kernel does not support transparent hugepages, which leads to an attempt to set errno in a HWASAN instrumented function. Avoid this problem by introducing a syscall wrapper and using it to issue this syscall. Tested only on Linux; includes untested updates for the other platforms. Differential Revision: https://reviews.llvm.org/D85870
-
Vy Nguyen authored
The Abseil-NoInternalDependenciesCheck currently mistakenly triggers on any usage of internal helpers even if it is within absl/status. Differential Revision: https://reviews.llvm.org/D85843
-