- Mar 06, 2021
-
-
Martin Storsjö authored
Add ifdefs to the test reference tables for cases where paths are interpreted differently (paths that contain a root name). Fix test assumptions regarding has_root_name() and is_absolute() and add logic to verify the results of is_absolute() for the test cases in the table. Also add a testcase for the path "//net/", which seemed like an omission. Differential Revision: https://reviews.llvm.org/D89943
-
Andrzej Warzynski authored
Added the following attributes to all LLVM syntax files: * allocsize * cold * convergent * dereferenceable_or_null * hot * inaccessiblemem_or_argmemonly * inaccessiblememonly * inalloca * jumptable * nocallback * nocf_check * noduplicate * nofree * nomerge * noprofile * nosync * null_pointer_is_valid * optforfuzzing * preallocated * safestack * sanitize_hwaddress * sanitize_memtag * shadowcallstack * speculative_load_hardening * swifterror * syncscope * tailcc * willreturn I generated that list by comparing: * Attributes.inc (generated from Attributes.td), and * the Vim syntax file: llvm/utils/vim/syntax/llvm.vim My original intention was to focus on the Vim syntax file. Since other syntax files are also out-of-date, I added these attributes (if missing) to other files as well. Note that in the other sytnax files (i.e. for Emacs, VScode and Kate), there will be other attributes missing too. I've also sorted all attributes alphabetically. Otherwise it's really hard to automate adding new attributes. And I think that it was the original intent to keep all of them ordered alphabetically. Differential Revision: https://reviews.llvm.org/D97627
-
Nico Weber authored
With this, llvm-tblgen no longer tries and fails to allocate 7953 petabyte when it runs during the build. Instead, `check-llvm` with lld/mac as host linker now completes without any failures on an m1 mac. This vector op handling code matches what happens in: - ld64's OutputFile::applyFixUps() in OutputFile.cpp for kindStoreARM64PageOff12 - lld.ld64.darwinold's offset12KindFromInstruction() in lld/lib/ReaderWriter/MachO/ArchHandler_arm64.cpp for offset12scale16 - RuntimeDyld's decodeAddend() in llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOAArch64.h for ARM64_RELOC_PAGEOFF12 Fixes PR49444. Differential Revision: https://reviews.llvm.org/D98053
-
LemonBoy authored
Implement the promotion rule for SELECT_CC nodes by upcasting all the parameters and downcasting the result. The AArch64 target makes use of this rule and, since it was not implemented, in some cases the instruction selector would hit an assertion upon encountering the illegal node. This patch requires D97840, the included test cases hit both problems. Reviewed By: craig.topper Differential Revision: https://reviews.llvm.org/D97859
-
RamNalamothu authored
This covers a path missed in https://reviews.llvm.org/D95768. Reviewed By: arsenm Differential Revision: https://reviews.llvm.org/D98013
-
Nico Weber authored
With this, you can set `clang_base_path = "//out/gn1"` in `out/gn2/args.gn` and the build in out/gn2 will use clang and lld from out/gn1. Setting `clang_base_path` to an absolute path (with e.g. `clang_base_path = getenv("HOME") + "/src/..."`) should behave as before. Differential Revision: https://reviews.llvm.org/D97989 -
Nico Weber authored
-
Jinsong Ji authored
Copy-paste P9 insns were added back in 2016, however, looks like the opcodes has changed in ISA3.1. Reviewed By: #powerpc, nemanjai Differential Revision: https://reviews.llvm.org/D97416
-
gbtozers authored
This patch adds a new metadata node, DIArgList, which contains a list of SSA values. This node is in many ways similar in function to the existing ValueAsMetadata node, with the difference being that it tracks a list instead of a single value. Internally, it uses ValueAsMetadata to track the individual values, but there is also a reasonable amount of DIArgList-specific value-tracking logic on top of that. Similar to ValueAsMetadata, it is a special case in parsing and printing due to the fact that it requires a function state (as it may reference function-local values). This patch should not result in any immediate functional change; it allows for DIArgLists to be parsed and printed, but debug variable intrinsics do not yet recognize them as a valid argument (outside of parsing). Differential Revision: https://reviews.llvm.org/D88175
-
Aart Bik authored
Reduction updates should be masked, just like the load and stores. Note that alternatively, we could use the fact that masked values are zero of += updates and mask invariants to get this working but that would not work for *= updates. Masking the update itself is cleanest. This change also replaces the constant mask with a broadcast of "true" since this constant folds much better for various folding patterns. Reviewed By: nicolasvasilache Differential Revision: https://reviews.llvm.org/D98000
-
- Mar 05, 2021
-
-
Simon Pilgrim authored
Fixes clang-tidy warning
-
Simon Pilgrim authored
-
Simon Pilgrim authored
-
Nathan James authored
-
tlwilmar authored
and __kmpc_end_masked. The "master" construct is deprecated. Changed proc-bind keyword from "master" to "primary". Use of both master construct and master as proc-bind keyword is still allowed, but deprecated. Remove references to "master" in comments and strings, and replace with "primary" or "primary thread". Function names and variables were not touched, nor were references to deprecated master construct. These can be updated over time. No new code should refer to master.
-
Valentin Clement authored
Add diagnostic tests with fir-opt for the diagnostics emitted by the ops verifier Reviewed By: jeanPerier Differential Revision: https://reviews.llvm.org/D97996
-
Nicolas Vasilache authored
-
LemonBoy authored
Expand the horizontal reduction during the instruction selection phase, but only if the target doesn't support the full fp16 instruction set. Fixes https://bugs.llvm.org/show_bug.cgi?id=49401 Reviewed By: aemerson Differential Revision: https://reviews.llvm.org/D97840
-
Christian Sigg authored
Reviewed By: herhut Differential Revision: https://reviews.llvm.org/D98024
-
Markus Böck authored
A few files in libc++abi make use of libc++ headers and a few of those use threading primitives provided by libc++. Since libc++ has multiple threading APIs it may be necessary to override auto-detection. This patch adds the LIBCXXABI_HAS_WIN32_THREAD_API which does roughly the same as LIBCXXABI_HAS_PTHREAD_API and the similarly named LIBCXX_HAS_WIN32_THREAD_API from libc++. Instead of using autodetection it will force the use of win32 threads instead of pthreads in headers included from libc++. Without this patch, libc++abi may depend on pthreads if present on the users build environment, even if win32 threading was selected for libc++. Differential revision: https://reviews.llvm.org/D98021
-
Chen Zheng authored
Reviewed By: jsji Differential Revision: https://reviews.llvm.org/D98010
-
Nico Weber authored
whitespace only, no behavior change
-
Nico Weber authored
Previously, lld/mac only ad-hoc codesigned executables on arm64. Matches ld64 behavior. Part of PR49443. Fixes 14 of 17 failures when running check-llvm with lld as host linker on an M1 MBP. Differential Revision: https://reviews.llvm.org/D97994
-
Ilya Leoshkevich authored
Some BPF programs compiled on s390 fail to load, because s390 arch-specific linux headers contain float and double types. At the moment there is no BTF_KIND for floats and doubles, so the release version of LLVM ends up emitting type id 0 for them, which the in-kernel verifier does not accept. Introduce support for such types to libbpf by representing them using the new BTF_KIND_FLOAT. Reviewed By: yonghong-song Differential Revision: https://reviews.llvm.org/D83289
-
Martin Boehme authored
We have no way to reason about the bool returned by try_emplace, so we simply ignore any std::move()s that happen in a try_emplace argument. A lot of the time in this situation, the code will be checking the bool and doing something else if it turns out the value wasn't moved into the map, and this has been causing false positives so far. I don't currently have any intentions of handling "maybe move" functions more generally. Reviewed By: sammccall Differential Revision: https://reviews.llvm.org/D98034
-
Yaxun (Sam) Liu authored
A bug was introduced when adding -munsafe-fp-atomics. By default it should be off. Reviewed by: Artem Belevich Differential Revision: https://reviews.llvm.org/D97967
-
Yaxun (Sam) Liu authored
Like nvptx and some other targets, -mconstructor-aliases does not work well with amdgpu, therefore we disable it in the same approach. Reviewed by: Artem Belevich Differential Revision: https://reviews.llvm.org/D97959
-
Sven van Haastregt authored
`mix` is subtly different from `clamp`: in the overloads where the last argument is a scalar, the second argument should be a gentype for `mix`. As scalars can be implicitly converted to vectors, this cannot be caught in the Sema test. Hence adding a CodeGen test, where we can verify the types using the mangled name.
-
David Spickett authored
Previously if we couldn't run the clang-format command for some reason, you'd get an unhelpful error message: ``` OSError: [Errno 2] No such file or directory ``` Which doesn't tell you what was happening to cause this. Catch the error and add the command we were attempting to run: ``` RuntimeError: Failed to run "<...>/clang-food <...>" - No such file or directory" RuntimeError: Failed to run "<...>/clang-format <...>" - Permission denied" ``` Reviewed By: krasimir Differential Revision: https://reviews.llvm.org/D98032
-
Stephen Tozer authored
Rewrites test to use correct architecture triple; fixes incorrect reference in SourceLevelDebugging doc; simplifies `spillReg` behaviour so as to not be dependent on changes elsewhere in the patch stack. This reverts commit d2000b45.
-
Abhina Sreeskantharajan authored
This patch uses the errno python library to print out the correct error messages instead of hardcoding the error message per platform. Reviewed By: jhenderson, ASDenysPetrov Differential Revision: https://reviews.llvm.org/D97472
-
Sebastian Neubauer authored
Same as other memory instructions, ds instructions add latency even if exec is zero. Jumping over them if exec=0 is cheaper than executing them. With this change, the branch instruction that skips over a basic block if exec=0 is not removed when the block contains a ds instruction. Differential Revision: https://reviews.llvm.org/D97922
-
Jingu Kang authored
-
Simon Pilgrim authored
-
LLVM GN Syncbot authored
-
Simon Pilgrim authored
Revert rG8198d839: "[X86] Pass to transform amx intrinsics to scalar operation." This reverts commit 8198d839.due to buildbot breakages
-
Simon Pilgrim authored
-
Andy Wingo authored
This patch fixes LLD to allow element sections for tables whose number is nonzero. We also add a test for linking multiple tables, showing that nonzero table numbers for the indirect function table, user-declared imported tables, and local user table definitions work. Differential Revision: https://reviews.llvm.org/D92321
-
Jann Horn authored
The new test llvm/test/Transforms/CodeGenPrepare/remove-assume-block.ll breaks on non-X86 machines. Change it to look like the existing test llvm/test/Transforms/CodeGenPrepare/X86/delete-assume-dead-code.ll to fix it. Reviewed By: bkramer Differential Revision: https://reviews.llvm.org/D97952
-
Andy Wingo authored
With reference types, tables can have non-zero table numbers. This commit adds support for element sections against these tables. Differential Revision: https://reviews.llvm.org/D97923
-