- Aug 10, 2022
-
-
V Donaldson authored
-
Jun Zhang authored
Signed-off-by:Jun Zhang <jun@junz.org>
-
- Aug 09, 2022
-
-
zhongyunde authored
Deal with different sizes between the itofp and fptoi with trunc or sext/zext, depend on D129756. Fixes https://github.com/llvm/llvm-project/issues/55505. Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D129958
-
David Green authored
-
Peter Klausler authored
Intrinsic procedures in intrinsic modules that have (or better, *are*) generic interfaces must not have specific procedures with the same name according to the Fortran standard (17.11.1); i.e., a user program is allowed to define a procedure of the same name as one of these generic interfaces, even when the generic is in scope. Differential Revision: https://reviews.llvm.org/D131108
-
Peter Klausler authored
Allow internal I/O to support non-default kinds of CHARACTER. The I/O runtime design anticipated this standard feature, but this patch is somewhat larger than I thought it would be because many code sites had to have assumptions about units (characters vs. bytes) brought into harmony, and some encoding utilities had to be pulled out of IoStatementState and templatized into their own new header file so that they are available to formatted output code without having to "thread" an IoStatementState reference through many call chains. Differential Revision: https://reviews.llvm.org/D131107
-
Peter Klausler authored
When a procedure pointer references a function as its interface, don't apply semantic checks to the specification expressions that appear in the declaration of the function's result -- this can lead to bogus error messages as those specification expressions are being examined out of their proper context. Differential Revision: https://reviews.llvm.org/D131106
-
Peter Waller authored
-
Shawn Zhong authored
A one-bit signed bit-field can only hold the values 0 and -1; this corrects the diagnostic behavior accordingly. Fixes #53253 Differential Revision: https://reviews.llvm.org/D131255
-
Thorsten Schütt authored
-
Simon Pilgrim authored
Very minor optimization, but every little helps..
-
Keith Smiley authored
This matches the convention used elsewhere Differential Revision: https://reviews.llvm.org/D131456
-
Aaron Ballman authored
As was observed in https://reviews.llvm.org/D123627#3707635, it's confusing that a user can write: ``` float rintf(void) {} ``` and get a warning, but writing: ``` float rintf() {} ``` gives an error. This patch changes the behavior so that both are warnings, so that users who have functions which conflict with a builtin identifier can still use that identifier as they wish. Differential Revision: https://reviews.llvm.org/D131499
-
Simon Pilgrim authored
[DAG] SimplifyDemandedVectorElts - and/mul(x,y) - if a demanded element of y is known zero then we don't need to demand it in x This fixes most of the remaining regressions from the fixes in rG293899c6
-
Mark de Wever authored
D131234 marked the ranges papers as complete, but it didn't set the feature-test macro. Reviewed By: ldionne, var-const, #libc Differential Revision: https://reviews.llvm.org/D131326
-
Peter Klausler authored
Type-bound procedure bindings that specify intrinsic procedures as their interfaces should not acquire the ELEMENTAL attribute from the purposes of compatibility checking between inherited bindings and their overrides in extended derived types. Differential Revision: https://reviews.llvm.org/D131104
-
Ariel Burton authored
Earlier, if the QualType was sugared, then we would error out as it was not a pointer type, for example, typedef int *int_star; int_star __ptr32 p; Now, if ptr32 is given we apply it if the raw Canonical Type (i.e., the desugared type) is a PointerType, instead of only checking whether the sugared type is a pointer type. As before, we still disallow ptr32 usage if the pointer is used as a pointer to a member. Differential Revision: https://reviews.llvm.org/D130123
-
Peter Klausler authored
Defined generic procedure interfaces are allowed to shadow non-generic procedures of the same name in the same scope (whether or not that non-generic procedure is a specific procedure of the generic). When making a copy of a generic interface symbol so that it can be locally modified or be merged with another generic, don't forget about the homonymous non-generic procedure that it might shadow. Differential Revision: https://reviews.llvm.org/D131103
-
Peter Klausler authored
Inaccessible components -- those declared PRIVATE in another module -- should be allowed to be redeclared in extended types, and should be ignored if they appear as keywords in structure constructors. Differential Revision: https://reviews.llvm.org/D131102
-
Jakub Kuderski authored
Resolve almost all clang tidy warnings in this file: 1. Clean up string constants. 2. Use consistent argument names across function declarations and definitions. Rename `state` - > `result`, which is consistent with the other dialects. 3. Remove misleading function parameter name comments (`argTypes`). This did not match the actual function argument (`bool enableNameShadowing`). 4. Simplify calls to `is_splat`. Reviewed By: antiagainst Differential Revision: https://reviews.llvm.org/D131297
-
Yaxun (Sam) Liu authored
si-annotate-control-flow does depth first traversal of BB's of a function to insert amdgcn if intrinsics for conditional branches so that isel can generate correct instructions later. si-annotate-control-flow checks whether the successor BB for the 'else' branch of a conditional branch has been visited. If it has been visited, si-annotate-control-flow assumes the conditional branch has been handled and will not try to insert if intrinsic for it. This assumption is not correct when the IR contains multiple unreachable BB's. Then 'if' intrinscs are not inserted and incorrect ISA are generated. This patch fixes the issue by let amdgpu-unify-divergent-exit-nodes unify unreachables even if they are uniformly reached. In this way the IR will not contain multiple exits, and structurizer is able to structurize the IR containing one unified exit. Reviewed by: Ruiling Song, Matt Arsenault Differential Revision: https://reviews.llvm.org/D131181 Fixes: SWDEV-343244
-
Valentin Clement authored
The newly added AlgebraicSimplification pass is triggering the greedy pattern rewriter. Since we define a specific config in the flang pipeline, this patch adds the ability to pass the config to the pass directly. Reviewed By: jeanPerier Differential Revision: https://reviews.llvm.org/D131474
-
Nikita Popov authored
This adds a +forced-atomics target feature with the same semantics as +atomics-32 on ARM (D130480). For RISCV targets without the +a extension, this forces LLVM to assume that lock-free atomics (up to 32/64 bits for riscv32/64 respectively) are available. This means that atomic load/store are lowered to a simple load/store (and fence as necessary), as these are guaranteed to be atomic (as long as they're aligned). Atomic RMW/CAS are lowered to __sync (rather than __atomic) libcalls. Responsibility for providing the __sync libcalls lies with the user (for privileged single-core code they can be implemented by disabling interrupts). Code using +forced-atomics and -forced-atomics are not ABI compatible if atomic variables cross the ABI boundary. For context, the difference between __sync and __atomic is that the former are required to be lock-free, while the latter requires a shared global lock provided by a shared object library. See https://llvm.org/docs...
-
Jake Egan authored
XFAIL this newly added test for now to get the AIX bot back to green.
-
Simon Pilgrim authored
Noticed on D131260
-
Peter Klausler authored
This utility routine in constant folding should return false when a DIM= actual argument to a reduction intrinsic function has a value that prevents folding, and true when folding can proceed. The implementation was returning true in cases where a DIM= argument was present but not constant. Clarify the code and add commentary: a true result means that there is no DIM= actual argument present, or that a DIM= argument exists, is constant, and has a value that is in range. Differential Revision: https://reviews.llvm.org/D131101
-
Matheus Izvekov authored
Extend clang's SubstTemplateTypeParm to represent the pack substitution index. Fixes PR56099. Signed-off-by:
Matheus Izvekov <mizvekov@gmail.com> Differential Revision: https://reviews.llvm.org/D128113
-
gonglingqin authored
Differential Revision: https://reviews.llvm.org/D131231
-
Benjamin Kramer authored
-
WANG Xuerui authored
Differential Revision: https://reviews.llvm.org/D131380
-
Dmitry Preobrazhensky authored
Make test names more uniform. Differential Revision: https://reviews.llvm.org/D131398
-
Ron Lieberman authored
integer value 40962 is outside the valid range of values [0, 31] for this enumeration type [-Wenum-constexpr-conversion]` (Issue #57022) turn on -Wno-enum-constexpr-conversion to buy some time to fix the more egregious issue in hsa_agent_into_t and hsa_amd_agent_info_t interfaces. relates to https://reviews.llvm.org/D131307/new/ Differential Revision: https://reviews.llvm.org/D131477
-
Dmitry Preobrazhensky authored
Differential Revision: https://reviews.llvm.org/D131397
-
Ilya Biryukov authored
Clang used to produce redefinition errors, see tests for examples. Reviewed By: ChuanqiXu Differential Revision: https://reviews.llvm.org/D131258
-
Alex Richardson authored
This allows relaxing some relocations to STT_SECTION symbol+offset instead of emitting a relocation against a symbol. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D131433
-
Alex Richardson authored
When calling a dso_local function, we end up creating a call against the .Lfoo$local label. This might be converted to a relocation against a section if there is such a matching one (which is a lot more likely with -ffunction-sections) and then the LSB (Thumb flag) will be lost. I originally noticed this with Morello LLVM (which uses the LSB to indicate a C64 encoding mode function). The missing LSB meant that ld.lld would insert a thunk that switches encoding mode which then resulted in errors at runtime since functions were being entered with the wrong encoding mode. Since the Morello backend is not upstream, I looked if any in-tree backends could also be affected by the missing STT_FUNC flag and noticed that Thumb is also affected (although the bug is rather difficult to trigger - it currently requires inline assembly). Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D131432
-
Alex Richardson authored
ARMAsmPrinter::emitFunctionEntryLabel() was not calling the base class function so the $local alias was not being emitted. This should not have any function effect right now since ARM does not generate different code for the $local symbols, but it could be improved in the future. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D131392
-
Alex Richardson authored
We should be emitting .Lfoo$local aliases for dso_local functions.
-
Alex Richardson authored
This is based on the RISC-V elf-preemption.ll (converted to opaque pointers) and is useful for test coverage for the patch series starting with D131392.
-
Simon Pilgrim authored
std::result_of_t is deprecated in C++17 Fixes #57023
-