|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init |
|
| #
662ef6d1 |
| 27-Jan-2022 |
Arthur Eubanks <[email protected]> |
[NFC][Clang][OpaquePtr] Move away from deprecated Address constructor in VisitArrayInitLoopExpr
With this we can bootstrap an `-O0 -g0` clang with `-mllvm -opaque-pointers`!
|
|
Revision tags: llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2 |
|
| #
1f07a4a5 |
| 24-Dec-2021 |
Nikita Popov <[email protected]> |
[CodeGen] Avoid more pointer element type accesses
|
| #
9bf91739 |
| 17-Dec-2021 |
Nikita Popov <[email protected]> |
[CodeGen] Avoid more pointer element type accesses
|
| #
34eb715f |
| 16-Dec-2021 |
Nikita Popov <[email protected]> |
[CodeGen] Avoid more pointer element type accesses
|
| #
b8d121eb |
| 13-Dec-2021 |
Nikita Popov <[email protected]> |
[CodeGen] Require use of Address::invalid() for invalid address (NFC)
This no longer allows creating an invalid Address through the regular constructor. There were only two places that did this (Agg
[CodeGen] Require use of Address::invalid() for invalid address (NFC)
This no longer allows creating an invalid Address through the regular constructor. There were only two places that did this (AggValueSlot and EHCleanupScope) which did this by converting a potential nullptr into an Address. I've fixed both of these by directly storing an Address instead.
This is intended as a bit of preliminary cleanup for D103465.
Differential Revision: https://reviews.llvm.org/D115630
show more ...
|
|
Revision tags: llvmorg-13.0.1-rc1 |
|
| #
c524f1a0 |
| 04-Nov-2021 |
Aaron Ballman <[email protected]> |
No longer crash when a consteval function returns a structure
Ensure that the destination slot exists in this case. This addresses PR51484.
|
|
Revision tags: llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init |
|
| #
6225d0cc |
| 17-Jul-2021 |
Nikita Popov <[email protected]> |
[OpaquePtr] Remove uses of CreateInBoundsGEP() without element type
Remove uses of to-be-deprecated API.
Unfortunately this one mostly just makes the use of getPointerElementType() explicit, as the
[OpaquePtr] Remove uses of CreateInBoundsGEP() without element type
Remove uses of to-be-deprecated API.
Unfortunately this one mostly just makes the use of getPointerElementType() explicit, as the correct type to use wasn't immediately available (deriving it from QualType is left as an excercise to the reader).
show more ...
|
|
Revision tags: llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1 |
|
| #
2b13ff69 |
| 20-May-2021 |
Hsiangkai Wang <[email protected]> |
[Clang][CodeGen] Set the size of llvm.lifetime to unknown for scalable types.
If the memory object is scalable type, we do not know the exact size of it at compile time. Set the size of lifetime mar
[Clang][CodeGen] Set the size of llvm.lifetime to unknown for scalable types.
If the memory object is scalable type, we do not know the exact size of it at compile time. Set the size of lifetime marker to unknown if the object is scalable one.
Differential Revision: https://reviews.llvm.org/D102822
show more ...
|
| #
71ab6c98 |
| 10-Apr-2021 |
Saurabh Jha <[email protected]> |
[Matrix] Implement C-style explicit type conversions for matrix types.
This implements C-style type conversions for matrix types, as specified in clang/docs/MatrixTypes.rst.
Fixes PR47141.
Reviewe
[Matrix] Implement C-style explicit type conversions for matrix types.
This implements C-style type conversions for matrix types, as specified in clang/docs/MatrixTypes.rst.
Fixes PR47141.
Reviewed By: fhahn
Differential Revision: https://reviews.llvm.org/D99037
show more ...
|
|
Revision tags: llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3 |
|
| #
c8227f06 |
| 03-Mar-2021 |
Arthur Eubanks <[email protected]> |
[clang] Don't assert in EmitAggregateCopy on trivial_abi types
Fixes PR42961.
Reviewed By: rnk
Differential Revision: https://reviews.llvm.org/D97872
|
|
Revision tags: llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init, llvmorg-11.1.0-rc2, llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1 |
|
| #
71e1a56d |
| 23-Oct-2020 |
Akira Hatanaka <[email protected]> |
[CodeGen] Emit destructor calls to destruct non-trivial C struct temporaries created by conditional and assignment operators
rdar://problem/64989559
Differential Revision: https://reviews.llvm.org/
[CodeGen] Emit destructor calls to destruct non-trivial C struct temporaries created by conditional and assignment operators
rdar://problem/64989559
Differential Revision: https://reviews.llvm.org/D83448
show more ...
|
| #
7fe7d9b1 |
| 19-Oct-2020 |
Simon Pilgrim <[email protected]> |
Fix MSVC "not all control paths return a value" warning. NFCI.
|
| #
d4aac678 |
| 16-Oct-2020 |
Richard Smith <[email protected]> |
Make the check for whether we should memset(0) an aggregate initialization a little smarter.
Look through casts that preserve zero-ness when determining if an initializer is zero, so that we can han
Make the check for whether we should memset(0) an aggregate initialization a little smarter.
Look through casts that preserve zero-ness when determining if an initializer is zero, so that we can handle cases like an {0} initializer whose corresponding field is a type other than 'int'.
show more ...
|
| #
48c70c16 |
| 16-Oct-2020 |
Richard Smith <[email protected]> |
Extend memset-to-zero optimization to C++11 aggregate functional casts Aggr{...}.
We previously missed these cases due to not stepping over the additional AST nodes representing their syntactic form.
|
|
Revision tags: llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3 |
|
| #
101309fe |
| 24-Aug-2020 |
Bevin Hansson <[email protected]> |
[AST] Change return type of getTypeInfoInChars to a proper struct instead of std::pair.
Followup to D85191.
This changes getTypeInfoInChars to return a TypeInfoChars struct instead of a std::pair o
[AST] Change return type of getTypeInfoInChars to a proper struct instead of std::pair.
Followup to D85191.
This changes getTypeInfoInChars to return a TypeInfoChars struct instead of a std::pair of CharUnits. This lets the interface match getTypeInfo more closely.
Reviewed By: efriedma
Differential Revision: https://reviews.llvm.org/D86447
show more ...
|
| #
9fa7f484 |
| 26-Aug-2020 |
Bevin Hansson <[email protected]> |
[Fixed Point] Add fixed-point to floating point cast types and consteval.
Reviewed By: leonardchan
Differential Revision: https://reviews.llvm.org/D86631
|
|
Revision tags: llvmorg-11.0.0-rc2, llvmorg-11.0.0-rc1, llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2 |
|
| #
51e4aa87 |
| 14-Jun-2020 |
Tyker <[email protected]> |
attempt to fix failing buildbots after 3bab88b7baa20b276faaee0aa7ca87f636c91877
Prevent IR-gen from emitting consteval declarations
Summary: with this patch instead of emitting calls to consteval f
attempt to fix failing buildbots after 3bab88b7baa20b276faaee0aa7ca87f636c91877
Prevent IR-gen from emitting consteval declarations
Summary: with this patch instead of emitting calls to consteval function. the IR-gen will emit a store of the already computed result.
show more ...
|
| #
550c4562 |
| 15-Jun-2020 |
Kirill Bobyrev <[email protected]> |
Revert "Prevent IR-gen from emitting consteval declarations"
This reverts commit 3bab88b7baa20b276faaee0aa7ca87f636c91877.
This patch causes test failures: http://lab.llvm.org:8011/builders/clang-c
Revert "Prevent IR-gen from emitting consteval declarations"
This reverts commit 3bab88b7baa20b276faaee0aa7ca87f636c91877.
This patch causes test failures: http://lab.llvm.org:8011/builders/clang-cmake-armv7-quick/builds/17260
show more ...
|
| #
3bab88b7 |
| 14-Jun-2020 |
Tyker <[email protected]> |
Prevent IR-gen from emitting consteval declarations
Summary: with this patch instead of emitting calls to consteval function. the IR-gen will emit a store of the already computed result.
Reviewers:
Prevent IR-gen from emitting consteval declarations
Summary: with this patch instead of emitting calls to consteval function. the IR-gen will emit a store of the already computed result.
Reviewers: rsmith
Reviewed By: rsmith
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D76420
show more ...
|
| #
c9a52de0 |
| 03-Jun-2020 |
Akira Hatanaka <[email protected]> |
[CodeGen] Simplify the way lifetime of block captures is extended
Rather than pushing inactive cleanups for the block captures at the entry of a full expression and activating them during the creati
[CodeGen] Simplify the way lifetime of block captures is extended
Rather than pushing inactive cleanups for the block captures at the entry of a full expression and activating them during the creation of the block literal, just call pushLifetimeExtendedDestroy to ensure the cleanups are popped at the end of the scope enclosing the block expression.
rdar://problem/63996471
Differential Revision: https://reviews.llvm.org/D81624
show more ...
|
|
Revision tags: llvmorg-10.0.1-rc1 |
|
| #
03a9526f |
| 16-Apr-2020 |
Ehud Katz <[email protected]> |
[CGExprAgg] Fix infinite loop in `findPeephole`
Simplify the function using IgnoreParenNoopCasts.
Fix PR45476
Differential Revision: https://reviews.llvm.org/D78098
|
| #
5be9b8cb |
| 27-Mar-2020 |
Michael Liao <[email protected]> |
[cuda][hip] Add CUDA builtin surface/texture reference support.
Summary: - Re-commit after fix Sema checks on partial template specialization.
Reviewers: tra, rjmccall, yaxunl, a.sidorin
Subscribe
[cuda][hip] Add CUDA builtin surface/texture reference support.
Summary: - Re-commit after fix Sema checks on partial template specialization.
Reviewers: tra, rjmccall, yaxunl, a.sidorin
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D76365
show more ...
|
| #
fe8063e1 |
| 27-Mar-2020 |
Artem Belevich <[email protected]> |
Revert "[cuda][hip] Add CUDA builtin surface/texture reference support."
This reverts commit 6a9ad5f3f4ac66f0cae592e911f4baeb6ee5eca6. The patch breaks CUDA copmilation.
Differential Revision: http
Revert "[cuda][hip] Add CUDA builtin surface/texture reference support."
This reverts commit 6a9ad5f3f4ac66f0cae592e911f4baeb6ee5eca6. The patch breaks CUDA copmilation.
Differential Revision: https://reviews.llvm.org/D76365
show more ...
|
|
Revision tags: llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4 |
|
| #
6a9ad5f3 |
| 07-Mar-2020 |
Michael Liao <[email protected]> |
[cuda][hip] Add CUDA builtin surface/texture reference support.
Summary: - Even though the bindless surface/texture interfaces are promoted, there are still code using surface/texture references.
[cuda][hip] Add CUDA builtin surface/texture reference support.
Summary: - Even though the bindless surface/texture interfaces are promoted, there are still code using surface/texture references. For example, [PR#26400](https://bugs.llvm.org/show_bug.cgi?id=26400) reports the compilation issue for code using `tex2D` with texture references. For better compatibility, this patch proposes the support of surface/texture references. - Due to the absent documentation and magic headers, it's believed that `nvcc` does use builtins for texture support. From the limited NVVM documentation[^nvvm] and NVPTX backend texture/surface related tests[^test], it's believed that surface/texture references are supported by replacing their reference types, which are annotated with `device_builtin_surface_type`/`device_builtin_texture_type`, with the corresponding handle-like object types, `cudaSurfaceObject_t` or `cudaTextureObject_t`, in the device-side compilation. On the host side, that global handle variables are registered and will be established and updated later when corresponding binding/unbinding APIs are called[^bind]. Surface/texture references are most like device global variables but represented in different types on the host and device sides. - In this patch, the following changes are proposed to support that behavior: + Refine `device_builtin_surface_type` and `device_builtin_texture_type` attributes to be applied on `Type` decl only to check whether a variable is of the surface/texture reference type. + Add hooks in code generation to replace that reference types with the correponding object types as well as all accesses to them. In particular, `nvvm.texsurf.handle.internal` should be used to load object handles from global reference variables[^texsurf] as well as metadata annotations. + Generate host-side registration with proper template argument parsing.
--- [^nvvm]: https://docs.nvidia.com/cuda/pdf/NVVM_IR_Specification.pdf [^test]: https://raw.githubusercontent.com/llvm/llvm-project/master/llvm/test/CodeGen/NVPTX/tex-read-cuda.ll [^bind]: See section 3.2.11.1.2 ``Texture reference API` in [CUDA C Programming Guide](https://docs.nvidia.com/cuda/pdf/CUDA_C_Programming_Guide.pdf). [^texsurf]: According to NVVM IR, `nvvm.texsurf.handle` should be used. But, the current backend doesn't have that supported. We may revise that later.
Reviewers: tra, rjmccall, yaxunl, a.sidorin
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D76365
show more ...
|
|
Revision tags: llvmorg-10.0.0-rc3, llvmorg-10.0.0-rc2, llvmorg-10.0.0-rc1, llvmorg-11-init, llvmorg-9.0.1, llvmorg-9.0.1-rc3, llvmorg-9.0.1-rc2, llvmorg-9.0.1-rc1 |
|
| #
d35a4541 |
| 21-Nov-2019 |
Akira Hatanaka <[email protected]> |
[CodeGen] Emit destructor calls to destruct non-trivial C struct objects returned by function calls or loaded from volatile objects
rdar://problem/51867864
Differential Revision: https://reviews.ll
[CodeGen] Emit destructor calls to destruct non-trivial C struct objects returned by function calls or loaded from volatile objects
rdar://problem/51867864
Differential Revision: https://reviews.llvm.org/D66094
show more ...
|