- Sep 09, 2023
-
-
Siva Chandra authored
-
jwanggit86 authored
For the AMD GFX90A GPU, the SCC instruction modifier is allowed for certain classes of instructions. However, the current assembler generates an error message, "scc is not supported on this GPU", regardless of the instruciton. This fix modifies the message as well as the logic for generating the message. Related tests are moved from gfx90a_err.s to gfx90a_asm_features.s. Co-authored-by:Jun Wang <jun.wang7@amd.com>
-
Shilei Tian authored
This reverts commit c5525a6e. AMD BB is not happy again.
-
Mehdi Amini authored
Aligning the section about pull-request with the `gh` tools with the section using the web UI (#65795) This is fairly minor, but start addressing the post-review comments
-
Shilei Tian authored
This reverts commit e592c2dc that reverts e91e3cf0.
-
Anton Korobeynikov authored
-
Shilei Tian authored
`AAAddressSpace` currently only works for `LoadInst` and `StoreInst` currently. For `StoreInst`, the corresponding use can be the pointer operand, or value operand, or both. When it is used as value operand, it can prevent `AMDGPUPromoteAlloca` from optimization in certain cases. This patch changes the manifest method such that only pointer operand will be rewritten.
-
Joseph Huber authored
Summary: The GPU uses separate implementations to perform file IO. This is all done through the RPC interface and we kept it minimal such that we could treat a `stdin`, `stdout`, or `stderr` handle from the CPU correctly on the GPU. The RPC implementation uses different opcodes for whether or not we are using one of the standard streams. This is so we do not need to initialize anything to access the CPU's standard stream, because the server knows that it should print to `stdout` if it gets the `STDOUT` variant of the opcode. It also saves us an RPC call, which are expensive relatively speaking. This patch simply cleans up this interface to make them all use a common function. This is done in preparation to implement some more file IO functions like getc or putc.
-
Johannes Doerfert authored
Through the new `Attributor::checkForAllCallees` we can look through indirect calls and visit all potential callees if they are known. Most AAs will do that implicitly now via `AACalleeToCallSite`, thus, most AAs are able to deal with missing callees for call site IR positions. Differential Revision: https://reviews.llvm.org/D112290
-
Zero Omega authored
There are missing include and using in TextStubTests and AsmPrinterDwarfTest and they causes build failures when using vanilla GoogleTest v1.14.0. This patch fixes this issue.
-
Tom Stellard authored
Secrets are not available for workflows triggered by PRs, so we need to split the pr-subscriber action into two separate actions. The first will listen for new labels on PRs and the second will add a comment with the team mention. See https://securitylab.github.com/research/github-actions-preventing-pwn-requests/
-
Siva Chandra authored
-
Konstantin Varlamov authored
This is to bring `main` in sync with `release/17.x` after https://reviews.llvm.org/D159171. Differential Revision: https://reviews.llvm.org/D159454
-
Michael Liao authored
-
Joseph Huber authored
Summary: AMDGPU binaries use a "code object" as the ABI indicator. We are currently trying to move over to a newer code object. We want these library functions to use the "generic" or default ABI such that it is specified when linked into the user application. Currently this will default to v4 as the startup code will use whatever the current default is.
-
Ethan Luis McDonough authored
Executable allocate directives require that list items show up in the corresponding allocate statement. This patch is dependent on revision D150428 and applies the semantic check introduced there to allocate directives associated with allocate statements. Reviewed By: kiranchandramohan Differential Revision: https://reviews.llvm.org/D150483
-
Jakub Kuderski authored
- Fix operand/attribute order - Use ODS for parsing/printing - Allow for stride to be any integer type
-
Nathan Chancellor authored
When building the LoongArch Linux kernel without `CONFIG_DYNAMIC_FTRACE`, the build fails to link because the mcount symbol is `mcount`, not `_mcount` like GCC generates and the kernel expects: ``` ld.lld: error: undefined symbol: mcount >>> referenced by version.c >>> init/version.o:(early_hostname) in archive vmlinux.a >>> referenced by do_mounts.c >>> init/do_mounts.o:(rootfs_init_fs_context) in archive vmlinux.a >>> referenced by main.c >>> init/main.o:(__traceiter_initcall_level) in archive vmlinux.a >>> referenced 97011 more times >>> did you mean: _mcount >>> defined in: vmlinux.a(arch/loongarch/kernel/mcount.o) ``` Set `MCountName` in `LoongArchTargetInfo` to `_mcount`, which resolves the build failure.
-
Matthias Springer authored
This commit provides a default implementation for all ops that implement the `DestinationStyleOpInterface`. Result values of such ops are tied to operand, and those have the same type.
-
Tom Stellard authored
-
Jake Egan authored
The test is hardcoded to fail after passing `test_ill_formed_utf16()`. It passes on 32-bit AIX if we remove this. Reviewed By: Mordante, #libc, ldionne Differential Revision: https://reviews.llvm.org/D150273
-
Jakub Kuderski authored
- Fix order of operands/attributes - Allow for stride to be any integer type - Use ODS for parsing/printing - Update examples and tests - Fix a typo in SPIR-V tblgen code
-
Dmitri Gribenko authored
This reverts commit db5d845c. As per PR discussion "Looks like we've missed lowering of bitcasts between v2f16 and v2i16 and it breaks XLA."
-
Tom Stellard authored
The labeler doesn't seem to support these.
-
David Green authored
It appears that these were the wrong way around, with the wrong type sizes taking extra cycles. The smaller i8 sizes are now the ones marked as taking longer.
-
Tom Stellard authored
-
Shraiysh authored
-
Hongtao Yu authored
With `-fpseudo-probe-for-profiling`, the dwarf discriminator for a callsite will be overwritten to pseudo probe related information for that callsite. The probe information is encoded in a special format (i.e., with all lowest three digits be one) in order to be distinguished from regular dwarf discriminator. The special encoding format will be decoded to zero by the regular discriminator logic. This means all callsites would have a zero discriminator in both the sample profile and the compiler, for classic AutoFDO. This is inconvenient in that no decent classic AutoFDO can be generated from a pseudo probe build. I'm mitigating the issue by allowing callsite probe id to be used as the base dwarf discriminator for classic AutoFDO, since probe id is also unique and can be used to differentiate callsites on the same source line.
-
Tom Stellard authored
-
yronglin authored
[Clang] Fix the for statement disappearing in AST when an error occurs in the conditional expression of the for statement (#65381) Consider: ``` constexpr int f() { int sum = 0; for (int i = 0; undefined_var; ++i) { sum += i; } return sum; } static_assert(f()); ``` The AST before this patch: ``` |-FunctionDecl <line:1:1, line:7:1> line:1:15 used constexpr f 'int ()' implicit-inline | `-CompoundStmt <col:19, line:7:1> | |-DeclStmt <line:2:5, col:16> | | `-VarDecl <col:5, col:15> col:9 used sum 'int' cinit | | `-IntegerLiteral <col:15> 'int' 0 | `-ReturnStmt <line:6:5, col:12> | `-ImplicitCastExpr <col:12> 'int' <LValueToRValue> | `-DeclRefExpr <col:12> 'int' lvalue Var 0xb870518 'sum' 'int' ``` The AST after this patch: ``` |-FunctionDecl 0x11d0f63f8 <./main.cpp:1:1, line:7:1> line:1:15 used constexpr f 'int ()' implicit-inline | `-CompoundStmt 0x11d110880 <col:19, line:7:1> | |-DeclStmt 0x11d0f65c8 <line:2:5, col:16> | | `-VarDecl 0x11d0f6528 <col:5, col:15> col:9 used sum 'int' cinit | | `-IntegerLiteral 0x11d0f6590 <col:15> 'int' 0 | |-ForStmt 0x11d110800 <line:3:5, line:5:5> | | |-DeclStmt 0x11d0f66a0 <line:3:10, col:19> | | | `-VarDecl 0x11d0f6600 <col:10, col:18> col:14 used i 'int' cinit | | | `-IntegerLiteral 0x11d0f6668 <col:18> 'int' 0 | | |-<<<NULL>>> | | |-RecoveryExpr 0x11d0f66e8 <col:21> 'bool' contains-errors | | |-UnaryOperator 0x11d0f6728 <col:36, col:38> 'int' lvalue prefix '++' | | | `-DeclRefExpr 0x11d0f6708 <col:38> 'int' lvalue Var 0x11d0f6600 'i' 'int' | | `-CompoundStmt 0x11d0f67c8 <col:41, line:5:5> | | `-CompoundAssignOperator 0x11d0f6798 <line:4:9, col:16> 'int' lvalue '+=' ComputeLHSTy='int' ComputeResultTy='int' | | |-DeclRefExpr 0x11d0f6740 <col:9> 'int' lvalue Var 0x11d0f6528 'sum' 'int' | | `-ImplicitCastExpr 0x11d0f6780 <col:16> 'int' <LValueToRValue> | | `-DeclRefExpr 0x11d0f6760 <col:16> 'int' lvalue Var 0x11d0f6600 'i' 'int' | `-ReturnStmt 0x11d110870 <line:6:5, col:12> | `-ImplicitCastExpr 0x11d110858 <col:12> 'int' <LValueToRValue> | `-DeclRefExpr 0x11d110838 <col:12> 'int' lvalue Var 0x11d0f6528 'sum' 'int' ``` --------- Co-authored-by:Shafik Yaghmour <shafik@users.noreply.github.com>
-
Mikhail R. Gadelha authored
Similar to D159208, this patch unifies the calls to a syscall, in this patch it is the syscall SYS_clock_gettime/SYS_clock_gettime64. This patch also fixes calls to SYS_clock_gettime64 by creating a timespec64 object, passing it to the syscall and rewriting the timespec given by the caller with timespec64 object's contents. This fixes cases where timespec has a 4 bytes long time_t member, but SYS_clock_gettime is not available (e.g., rv32).
-
Tom Stellard authored
This new workflow will make it possible for people to subscribe to pull requests based on the labels that are added. Labels will be added automatically to the pull requests based on the modified files and each label will be associated with a GitHub team that will be notified when the label is added. See https://discourse.llvm.org/t/changes-to-pull-request-subscription-system/73296
-
Philip Reames authored
We were already handling the case where the broadcast was being done via a GEP, but we hadn't handled the case of a broadcast via a shuffle.
-
Tobias Hieta authored
Using darker which is doing black on diffs, similar to git-clang-format.
-
Aaron Ballman authored
This addresses issues found by: https://lab.llvm.org/buildbot/#/builders/92/builds/50415
-
David Spickett authored
While looking at https://github.com/llvm/llvm-project/issues/49528 I found that, happily, aliases can now be tab completed. However, if there is a built-in match that will always be taken. Which is a bit surprising, though logical if we don't want people really messing up their commands I guess. Meaning "b" tab completes to our built-in breakpoint alias, before it looks at any of the aliases. "bf" doesn't match "b", so it looks through the aliases. I didn't find any tests for this in the obvious places, so this adds some.
-
Björn Pettersson authored
-
erichkeane authored
Add 'run' line and 'expected-no-diagnostics' to test added in 3ed9e9e3
-
Slava Zakharin authored
This is a copy of the corresponding ArrayValueCopy analysis for non-overlapping array slices. It is required to achieve the same performance for Polyhedron/nf, though, additional changes are needed in the alias analysis for disambiguating host associated accesses.
-
Slava Zakharin authored
The first test case added in the LIT test demonstrates the problem. Even though we did not consider the inner loop as a candidate for the transformation due to the array_coor with a slice, we decided to version the outer loop for the same function argument. During the cloning of the outer loop we dropped the slicing completely producing invalid code. I restructured the code so that we record all arg uses that cannot be transformed (regardless of the reason), and then fixup the usage information across the loop nests. I also noticed that we may generate redundant contiguity checks for the inner loops, so I fixed it since it was easy with the new way of keeping the usage data.
-