|
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 |
|
| #
5d2ce766 |
| 18-Mar-2022 |
Benjamin Kramer <[email protected]> |
Use llvm::append_range instead of push_back loops where applicable. NFCI.
|
|
Revision tags: llvmorg-14.0.0, llvmorg-14.0.0-rc4 |
|
| #
aa4ea0ee |
| 11-Mar-2022 |
Akira Hatanaka <[email protected]> |
[NFC][Clang][OpaquePtr] Remove calls to Address::deprecated in a couple more files
Differential Revision: https://reviews.llvm.org/D121135
|
|
Revision tags: llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2 |
|
| #
50650766 |
| 16-Feb-2022 |
Nikita Popov <[email protected]> |
[CodeGen] Rename deprecated Address constructor
To make uses of the deprecated constructor easier to spot, and to ensure that no new uses are introduced, rename it to Address::deprecated().
While d
[CodeGen] Rename deprecated Address constructor
To make uses of the deprecated constructor easier to spot, and to ensure that no new uses are introduced, rename it to Address::deprecated().
While doing the rename, I've filled in element types in cases where it was relatively obvious, but we're still left with 135 calls to the deprecated constructor.
show more ...
|
|
Revision tags: llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2 |
|
| #
481de0ed |
| 15-Dec-2021 |
Nikita Popov <[email protected]> |
[CodeGen] Prefer CreateElementBitCast() where possible
CreateElementBitCast() can preserve the pointer element type in the presence of opaque pointers, so use it in place of CreateBitCast() in some
[CodeGen] Prefer CreateElementBitCast() where possible
CreateElementBitCast() can preserve the pointer element type in the presence of opaque pointers, so use it in place of CreateBitCast() in some places. This also sometimes simplifies the code a bit.
show more ...
|
|
Revision tags: llvmorg-13.0.1-rc1, 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 |
|
| #
8d21d547 |
| 29-Jun-2021 |
Akira Hatanaka <[email protected]> |
[CodeGen] Stop creating fake FunctionDecls when generating IR for functions implicitly generated by the compiler
These fake functions would cause clang to crash if the changes proposed in https://re
[CodeGen] Stop creating fake FunctionDecls when generating IR for functions implicitly generated by the compiler
These fake functions would cause clang to crash if the changes proposed in https://reviews.llvm.org/D98799 were made.
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 |
|
| #
a624cec5 |
| 13-May-2021 |
Roman Lebedev <[email protected]> |
[Clang][Codegen] Do not annotate thunk's this/return types with align/deref/nonnull attrs
As it was discovered in post-commit feedback for 0aa0458f1429372038ca6a4edc7e94c96cd9a753, we handle thunks
[Clang][Codegen] Do not annotate thunk's this/return types with align/deref/nonnull attrs
As it was discovered in post-commit feedback for 0aa0458f1429372038ca6a4edc7e94c96cd9a753, we handle thunks incorrectly, and end up annotating their this/return with attributes that are valid for their callees, not for thunks themselves.
While it would be good to fix this properly, and keep annotating them on thunks, i've tried doing that in https://reviews.llvm.org/D100388 with little success, and the patch is stuck for a month now.
So for now, as a stopgap measure, subj.
show more ...
|
|
Revision tags: llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4 |
|
| #
42eb658f |
| 11-Mar-2021 |
Nikita Popov <[email protected]> |
[OpaquePtrs] Remove some uses of type-less CreateGEP() (NFC)
This removes some (but not all) uses of type-less CreateGEP() and CreateInBoundsGEP() APIs, which are incompatible with opaque pointers.
[OpaquePtrs] Remove some uses of type-less CreateGEP() (NFC)
This removes some (but not all) uses of type-less CreateGEP() and CreateInBoundsGEP() APIs, which are incompatible with opaque pointers.
There are a still a number of tricky uses left, as well as many more variation APIs for CreateGEP.
show more ...
|
|
Revision tags: llvmorg-12.0.0-rc3 |
|
| #
ec4408ad |
| 25-Feb-2021 |
Akira Hatanaka <[email protected]> |
[CodeGen] Call ConvertTypeForMem instead of ConvertType
This fixes a crash that occurs when the type passed to the method is `_Bool`.
rdar://74493389
|
|
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 |
|
| #
2fd11e0b |
| 04-Jan-2021 |
Thorsten Schütt <[email protected]> |
Revert "[NFC, Refactor] Modernize StorageClass from Specifiers.h to a scoped enum (II)"
This reverts commit efc82c4ad2bcb256a4f4c20238d08cd3afba4d2d.
|
| #
efc82c4a |
| 23-Dec-2020 |
Thorsten Schütt <[email protected]> |
[NFC, Refactor] Modernize StorageClass from Specifiers.h to a scoped enum (II)
Reviewed By: aaron.ballman
Differential Revision: https://reviews.llvm.org/D93765
|
|
Revision tags: llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1, llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3, 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 |
|
| #
9d8d0646 |
| 17-Jun-2020 |
Huihui Zhang <[email protected]> |
[NFC] Silence compiler warning [-Wmissing-braces].
clang/lib/CodeGen/CGNonTrivialStruct.cpp:330:7: warning: suggest braces around initialization of subobject [-Wmissing-braces] Address(CGF->Builde
[NFC] Silence compiler warning [-Wmissing-braces].
clang/lib/CodeGen/CGNonTrivialStruct.cpp:330:7: warning: suggest braces around initialization of subobject [-Wmissing-braces] Address(CGF->Builder.CreateLoad(CGF->GetAddrOfLocalVar(Args[Ints])), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ {
show more ...
|
| #
2cfb0273 |
| 14-Jun-2020 |
Akira Hatanaka <[email protected]> |
[CodeGen][NFC] Add a helper function that returns the addresses of parameters of non-trivial C struct special functions
This removes the need to pass std::array of Addresses to getFunction, which we
[CodeGen][NFC] Add a helper function that returns the addresses of parameters of non-trivial C struct special functions
This removes the need to pass std::array of Addresses to getFunction, which were overwritten in the function.
show more ...
|
|
Revision tags: llvmorg-10.0.1-rc1 |
|
| #
d33c7de8 |
| 06-Apr-2020 |
Erik Pilkington <[email protected]> |
[CodeGenObjC] Fix a crash when attempting to copy a zero-sized bit-field in a non-trivial C struct
Zero sized bit-fields aren't included in the CGRecordLayout, so we shouldn't be calling EmitLValueF
[CodeGenObjC] Fix a crash when attempting to copy a zero-sized bit-field in a non-trivial C struct
Zero sized bit-fields aren't included in the CGRecordLayout, so we shouldn't be calling EmitLValueForField for them. rdar://60695105
Differential revision: https://reviews.llvm.org/D76782
show more ...
|
|
Revision tags: llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4, llvmorg-10.0.0-rc3, llvmorg-10.0.0-rc2, llvmorg-10.0.0-rc1 |
|
| #
adcd0268 |
| 28-Jan-2020 |
Benjamin Kramer <[email protected]> |
Make llvm::StringRef to std::string conversions explicit.
This is how it should've been and brings it more in line with std::string_view. There should be no functional change here.
This is mostly m
Make llvm::StringRef to std::string conversions explicit.
This is how it should've been and brings it more in line with std::string_view. There should be no functional change here.
This is mostly mechanical from a custom clang-tidy check, with a lot of manual fixups. It uncovers a lot of minor inefficiencies.
This doesn't actually modify StringRef yet, I'll do that in a follow-up.
show more ...
|
|
Revision tags: llvmorg-11-init, llvmorg-9.0.1, llvmorg-9.0.1-rc3, llvmorg-9.0.1-rc2 |
|
| #
f139ae3d |
| 03-Dec-2019 |
Akira Hatanaka <[email protected]> |
[NFC] Pass a reference to CodeGenFunction to methods of LValue and AggValueSlot
This reapplies 8a5b7c35709d9ce1f44a99f0c5b084bf2696ea17 after a null dereference bug in CGOpenMPRuntime::emitUserDefin
[NFC] Pass a reference to CodeGenFunction to methods of LValue and AggValueSlot
This reapplies 8a5b7c35709d9ce1f44a99f0c5b084bf2696ea17 after a null dereference bug in CGOpenMPRuntime::emitUserDefinedMapper.
Original commit message:
This is needed for the pointer authentication work we plan to do in the near future.
https://github.com/apple/llvm-project/blob/a63a81bd9911f87a0b5dcd5bdd7ccdda7124af87/clang/docs/PointerAuthentication.rst
show more ...
|
| #
9f37c0e7 |
| 03-Dec-2019 |
Akira Hatanaka <[email protected]> |
Revert "[NFC] Pass a reference to CodeGenFunction to methods of LValue and"
This reverts commit 8a5b7c35709d9ce1f44a99f0c5b084bf2696ea17. This seems to have broken UBSan because of a null dereferenc
Revert "[NFC] Pass a reference to CodeGenFunction to methods of LValue and"
This reverts commit 8a5b7c35709d9ce1f44a99f0c5b084bf2696ea17. This seems to have broken UBSan because of a null dereference.
show more ...
|
| #
8a5b7c35 |
| 03-Dec-2019 |
Akira Hatanaka <[email protected]> |
[NFC] Pass a reference to CodeGenFunction to methods of LValue and AggValueSlot
This is needed for the pointer authentication work we plan to do in the near future.
https://github.com/apple/llvm-pr
[NFC] Pass a reference to CodeGenFunction to methods of LValue and AggValueSlot
This is needed for the pointer authentication work we plan to do in the near future.
https://github.com/apple/llvm-project/blob/a63a81bd9911f87a0b5dcd5bdd7ccdda7124af87/clang/docs/PointerAuthentication.rst
show more ...
|
|
Revision tags: llvmorg-9.0.1-rc1 |
|
| #
ea1db31d |
| 18-Nov-2019 |
Vedant Kumar <[email protected]> |
[CodeGen] Assign locations to calls to special struct helpers
Assign artificial locations to calls to special struct-related helper functions.
Such calls may not inherit a location if emitted withi
[CodeGen] Assign locations to calls to special struct helpers
Assign artificial locations to calls to special struct-related helper functions.
Such calls may not inherit a location if emitted within FinishFunction, at which point the lexical scope stack may be empty, causing CGDebugInfo to report the current DebugLoc as empty.
Fixes an IR verifier complaint about a call to '__destructor_8_s0' not having a !dbg location attached.
rdar://57293361
show more ...
|
|
Revision tags: llvmorg-9.0.0, llvmorg-9.0.0-rc6, llvmorg-9.0.0-rc5, llvmorg-9.0.0-rc4, llvmorg-9.0.0-rc3 |
|
| #
dc5f805d |
| 23-Aug-2019 |
Benjamin Kramer <[email protected]> |
Do a sweep of symbol internalization. NFC.
llvm-svn: 369803
|
|
Revision tags: llvmorg-9.0.0-rc2, llvmorg-9.0.0-rc1, llvmorg-10-init, llvmorg-8.0.1, llvmorg-8.0.1-rc4, llvmorg-8.0.1-rc3, llvmorg-8.0.1-rc2, llvmorg-8.0.1-rc1 |
|
| #
58c080a3 |
| 11-Apr-2019 |
Mikael Holmen <[email protected]> |
Add { } to silence compiler warning [NFC]
At least clang 3.6 warns on the original code:
../tools/clang/lib/CodeGen/CGNonTrivialStruct.cpp:829:34: error: suggest braces around initialization of sub
Add { } to silence compiler warning [NFC]
At least clang 3.6 warns on the original code:
../tools/clang/lib/CodeGen/CGNonTrivialStruct.cpp:829:34: error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces] return std::array<Address, 1>({Address(nullptr, CharUnits::Zero())}); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ { } ../tools/clang/lib/CodeGen/CGNonTrivialStruct.cpp:833:34: error: suggest braces around initialization of subobject [-Werror,-Wmissing-braces] return std::array<Address, 2>({Address(nullptr, CharUnits::Zero()), ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2 errors generated.
llvm-svn: 358152
show more ...
|
| #
827aeb46 |
| 10-Apr-2019 |
John McCall <[email protected]> |
Add IRGen APIs to fetch ctor/dtor helper functions for non-trivial structs.
Patch by Tony Allevato!
llvm-svn: 358132
|
| #
8b8d3623 |
| 29-Mar-2019 |
Akira Hatanaka <[email protected]> |
[CodeGen][ObjC] Adjust the addresses passed to calls to synthesized copy/move constructor/assignment operator functions for non-trivial C structs.
This commit fixes a bug where the offset of struct
[CodeGen][ObjC] Adjust the addresses passed to calls to synthesized copy/move constructor/assignment operator functions for non-trivial C structs.
This commit fixes a bug where the offset of struct fields weren't being taken into account when computing the addresses passed to calls to the special functions.
For example, the copy constructor for S1 (__copy_constructor_8_8_s0_s8) would pass the start addresses of the destination and source structs to the call to S0's copy constructor (_copy_constructor_8_8_s0) without adding the offset of field f1 to the addresses.
typedef struct { id f0; S0 f1; } S1;
void test(S1 s1) { S1 t = s1; }
rdar://problem/49400610
llvm-svn: 357229
show more ...
|
| #
801cc327 |
| 29-Mar-2019 |
Akira Hatanaka <[email protected]> |
Fix typos and formatting. NFC.
llvm-svn: 357228
|
| #
155e26f0 |
| 28-Mar-2019 |
Shoaib Meenai <[email protected]> |
[CodeGen] Add additional mangling for struct members of non trivial structs
In https://bugs.llvm.org/show_bug.cgi?id=41206 we observe bad codegen when embedding a non-trivial C struct within a C str
[CodeGen] Add additional mangling for struct members of non trivial structs
In https://bugs.llvm.org/show_bug.cgi?id=41206 we observe bad codegen when embedding a non-trivial C struct within a C struct. This is due to the fact that name mangling for non-trivial structs marks the two structs as identical. This diff contains a fix for this issue.
Patch by Dan Zimmerman <[email protected]>.
Differential Revision: https://reviews.llvm.org/D59873
llvm-svn: 357184
show more ...
|
|
Revision tags: llvmorg-8.0.0, llvmorg-8.0.0-rc5, llvmorg-8.0.0-rc4, llvmorg-8.0.0-rc3 |
|
| #
751fe286 |
| 09-Feb-2019 |
James Y Knight <[email protected]> |
[opaque pointer types] Cleanup CGBuilder's Create*GEP.
The various EltSize, Offset, DataLayout, and StructLayout arguments are all computable from the Address's element type and the DataLayout which
[opaque pointer types] Cleanup CGBuilder's Create*GEP.
The various EltSize, Offset, DataLayout, and StructLayout arguments are all computable from the Address's element type and the DataLayout which the CGBuilder already has access to.
After having previously asserted that the computed values are the same as those passed in, now remove the redundant arguments from CGBuilder's Create*GEP functions.
Differential Revision: https://reviews.llvm.org/D57767
llvm-svn: 353629
show more ...
|