r314977 - [CodeGen] Unify generation of scalar and struct-path TBAA tags

2017-10-05 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Thu Oct 5 03:47:51 2017 New Revision: 314977 URL: http://llvm.org/viewvc/llvm-project?rev=314977=rev Log: [CodeGen] Unify generation of scalar and struct-path TBAA tags This patch makes it possible to produce access tags in a uniform manner regardless whether the resulting

r315289 - [CodeGen] Do not construct complete LValue base info in trivial cases

2017-10-10 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Tue Oct 10 02:39:32 2017 New Revision: 315289 URL: http://llvm.org/viewvc/llvm-project?rev=315289=rev Log: [CodeGen] Do not construct complete LValue base info in trivial cases Besides obvious code simplification, avoiding explicit creation of LValueBaseInfo objects makes

r314978 - Revert r314977 "[CodeGen] Unify generation of scalar and struct-path TBAA tags"

2017-10-05 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Thu Oct 5 04:05:43 2017 New Revision: 314978 URL: http://llvm.org/viewvc/llvm-project?rev=314978=rev Log: Revert r314977 "[CodeGen] Unify generation of scalar and struct-path TBAA tags" D37826 has been mistakenly committed where it should be the patch from D38503.

r314979 - [CodeGen] Unify generation of scalar and struct-path TBAA tags

2017-10-05 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Thu Oct 5 04:08:17 2017 New Revision: 314979 URL: http://llvm.org/viewvc/llvm-project?rev=314979=rev Log: [CodeGen] Unify generation of scalar and struct-path TBAA tags This patch makes it possible to produce access tags in a uniform manner regardless whether the resulting

r315048 - Refine generation of TBAA information in clang

2017-10-06 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Fri Oct 6 01:17:48 2017 New Revision: 315048 URL: http://llvm.org/viewvc/llvm-project?rev=315048=rev Log: Refine generation of TBAA information in clang This patch is an attempt to clarify and simplify generation and propagation of TBAA information. The idea is to pack all

r315984 - [CodeGen] EmitPointerWithAlignment() to generate TBAA info along with LValue base info

2017-10-17 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Tue Oct 17 02:12:13 2017 New Revision: 315984 URL: http://llvm.org/viewvc/llvm-project?rev=315984=rev Log: [CodeGen] EmitPointerWithAlignment() to generate TBAA info along with LValue base info Differential Revision: https://reviews.llvm.org/D38796 Added:

r315989 - [CodeGen] Refine generation of TBAA info for bit-field lvalues

2017-10-17 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Tue Oct 17 04:20:19 2017 New Revision: 315989 URL: http://llvm.org/viewvc/llvm-project?rev=315989=rev Log: [CodeGen] Refine generation of TBAA info for bit-field lvalues The main change is that now we generate TBAA info before constructing the resulting lvalue instead of

r315986 - [CodeGen] Pass TBAA info along with lvalue base info everywhere

2017-10-17 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Tue Oct 17 03:17:43 2017 New Revision: 315986 URL: http://llvm.org/viewvc/llvm-project?rev=315986=rev Log: [CodeGen] Pass TBAA info along with lvalue base info everywhere This patch addresses the rest of the cases where we pass lvalue base info, but do not provide

r315704 - [CodeGen] EmitLoadOfPointer() to generate TBAA info along with LValue base info

2017-10-13 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Fri Oct 13 09:47:22 2017 New Revision: 315704 URL: http://llvm.org/viewvc/llvm-project?rev=315704=rev Log: [CodeGen] EmitLoadOfPointer() to generate TBAA info along with LValue base info This patch should not bring in any functional changes. Differential Revision:

r315708 - [CodeGen] getNaturalTypeAlignment() to generate TBAA info along with LValue base info

2017-10-13 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Fri Oct 13 09:58:30 2017 New Revision: 315708 URL: http://llvm.org/viewvc/llvm-project?rev=315708=rev Log: [CodeGen] getNaturalTypeAlignment() to generate TBAA info along with LValue base info This patch should not bring in any functional changes. Differential Revision:

r315702 - [CodeGen] EmitCXXMemberDataPointerAddress() to generate TBAA info along with LValue base info

2017-10-13 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Fri Oct 13 09:38:32 2017 New Revision: 315702 URL: http://llvm.org/viewvc/llvm-project?rev=315702=rev Log: [CodeGen] EmitCXXMemberDataPointerAddress() to generate TBAA info along with LValue base info This patch should not bring in any functional changes. Differential

r315705 - [CodeGen] EmitLoadOfReference() to generate TBAA info along with LValue base info

2017-10-13 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Fri Oct 13 09:50:50 2017 New Revision: 315705 URL: http://llvm.org/viewvc/llvm-project?rev=315705=rev Log: [CodeGen] EmitLoadOfReference() to generate TBAA info along with LValue base info This patch should not bring in any functional changes. Differential Revision:

r315575 - [CodeGen] Generate TBAA info along with LValue base info

2017-10-12 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Thu Oct 12 04:29:46 2017 New Revision: 315575 URL: http://llvm.org/viewvc/llvm-project?rev=315575=rev Log: [CodeGen] Generate TBAA info along with LValue base info This patch enables explicit generation of TBAA information in all cases where LValue base info is propagated

r315731 - [CodeGen] EmitPointerWithAlignment() to generate TBAA info along with LValue base info

2017-10-13 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Fri Oct 13 11:40:18 2017 New Revision: 315731 URL: http://llvm.org/viewvc/llvm-project?rev=315731=rev Log: [CodeGen] EmitPointerWithAlignment() to generate TBAA info along with LValue base info Differential Revision: https://reviews.llvm.org/D38796 Modified:

r315715 - [CodeGen] emitOMPArraySectionBase() to generate TBAA info along with LValue base info

2017-10-13 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Fri Oct 13 10:34:18 2017 New Revision: 315715 URL: http://llvm.org/viewvc/llvm-project?rev=315715=rev Log: [CodeGen] emitOMPArraySectionBase() to generate TBAA info along with LValue base info Differential Revision: https://reviews.llvm.org/D38795 Modified:

r315739 - Revert "[CodeGen] EmitPointerWithAlignment() to generate TBAA info along with LValue base info", r315731.

2017-10-13 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Fri Oct 13 12:55:01 2017 New Revision: 315739 URL: http://llvm.org/viewvc/llvm-project?rev=315739=rev Log: Revert "[CodeGen] EmitPointerWithAlignment() to generate TBAA info along with LValue base info", r315731. With this change we fail on the

r314209 - Fix TBAA information for reference accesses

2017-09-26 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Tue Sep 26 07:22:48 2017 New Revision: 314209 URL: http://llvm.org/viewvc/llvm-project?rev=314209=rev Log: Fix TBAA information for reference accesses This patch fixes clang to decorate reference accesses as pointers and not as "omnipotent chars". Differential Revision:

r314660 - [CodeGen] Have a special function to get TBAA info for may-alias accesses

2017-10-02 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Mon Oct 2 04:10:04 2017 New Revision: 314660 URL: http://llvm.org/viewvc/llvm-project?rev=314660=rev Log: [CodeGen] Have a special function to get TBAA info for may-alias accesses This is part of D37826 reworked to be a separate patch to simplify review. Differential

r314657 - [CodeGen] Do not refer to complete TBAA info where we actually deal with just TBAA access types

2017-10-02 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Mon Oct 2 02:54:47 2017 New Revision: 314657 URL: http://llvm.org/viewvc/llvm-project?rev=314657=rev Log: [CodeGen] Do not refer to complete TBAA info where we actually deal with just TBAA access types This patch fixes misleading names of entities related to getting,

r314780 - [CodeGen] Introduce generic TBAA access descriptors

2017-10-03 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Tue Oct 3 03:52:39 2017 New Revision: 314780 URL: http://llvm.org/viewvc/llvm-project?rev=314780=rev Log: [CodeGen] Introduce generic TBAA access descriptors With this patch we implement a concept of TBAA access descriptors that are capable of representing both scalar and

r314784 - [CodeGen] Fix propagation of TBAA info for atomic accesses

2017-10-03 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Tue Oct 3 04:31:42 2017 New Revision: 314784 URL: http://llvm.org/viewvc/llvm-project?rev=314784=rev Log: [CodeGen] Fix propagation of TBAA info for atomic accesses This patch fixes clang to propagate complete TBAA information for atomic accesses and not just the final

r316211 - [CodeGen] Fix generation of TBAA info for array-to-pointer conversions

2017-10-20 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Fri Oct 20 05:35:17 2017 New Revision: 316211 URL: http://llvm.org/viewvc/llvm-project?rev=316211=rev Log: [CodeGen] Fix generation of TBAA info for array-to-pointer conversions Resolves: Fatal error: Offset not zero at the point of scalar access. http://llvm.org/PR34992

r319413 - [CodeGen] Add initial support for union members in TBAA

2017-11-30 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Thu Nov 30 01:26:39 2017 New Revision: 319413 URL: http://llvm.org/viewvc/llvm-project?rev=319413=rev Log: [CodeGen] Add initial support for union members in TBAA The basic idea behind this patch is that since in strict aliasing mode all accesses to union members require

r319012 - [CodeGen] Collect information about sizes of accesses and access types for TBAA

2017-11-27 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Mon Nov 27 01:39:29 2017 New Revision: 319012 URL: http://llvm.org/viewvc/llvm-project?rev=319012=rev Log: [CodeGen] Collect information about sizes of accesses and access types for TBAA The information about access and type sizes is necessary for producing TBAA metadata in

r320994 - Fix the reference to the now renamed member of TBAAStructField

2017-12-18 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Mon Dec 18 08:50:11 2017 New Revision: 320994 URL: http://llvm.org/viewvc/llvm-project?rev=320994=rev Log: Fix the reference to the now renamed member of TBAAStructField See https://reviews.llvm.org/D39956 for details. Modified: cfe/trunk/lib/CodeGen/CodeGenTBAA.cpp

r318752 - [CodeGen] Generate TBAA type descriptors in a more reliable manner

2017-11-21 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Tue Nov 21 03:18:06 2017 New Revision: 318752 URL: http://llvm.org/viewvc/llvm-project?rev=318752=rev Log: [CodeGen] Generate TBAA type descriptors in a more reliable manner This patch introduces a couple of helper functions that make it possible to handle the caching logic

r318644 - [Driver] Add a cc1 flag for the new TBAA metadata format

2017-11-20 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Mon Nov 20 03:16:16 2017 New Revision: 318644 URL: http://llvm.org/viewvc/llvm-project?rev=318644=rev Log: [Driver] Add a cc1 flag for the new TBAA metadata format This patch starts a series of changes to add support for the new TBAA metadata format proposed in this

r316896 - [CodeGen] Generate TBAA info for reference loads

2017-10-30 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Mon Oct 30 04:49:31 2017 New Revision: 316896 URL: http://llvm.org/viewvc/llvm-project?rev=316896=rev Log: [CodeGen] Generate TBAA info for reference loads Differential Revision: https://reviews.llvm.org/D39177 Modified: cfe/trunk/lib/CodeGen/CGBlocks.cpp

r316988 - [CodeGen] Propagate may-alias'ness of lvalues with TBAA info

2017-10-31 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Tue Oct 31 04:05:34 2017 New Revision: 316988 URL: http://llvm.org/viewvc/llvm-project?rev=316988=rev Log: [CodeGen] Propagate may-alias'ness of lvalues with TBAA info This patch fixes various places in clang to propagate may-alias TBAA access descriptors during

r321250 - [CodeGen] Fix access sizes in new-format TBAA tags

2017-12-21 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Thu Dec 21 00:14:16 2017 New Revision: 321250 URL: http://llvm.org/viewvc/llvm-project?rev=321250=rev Log: [CodeGen] Fix access sizes in new-format TBAA tags The new format requires to specify both the type of the access and its size. This patch fixes setting access sizes

r321999 - [CodeGen] Fix TBAA info for accesses to members of base classes

2018-01-08 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Mon Jan 8 07:36:06 2018 New Revision: 321999 URL: http://llvm.org/viewvc/llvm-project?rev=321999=rev Log: [CodeGen] Fix TBAA info for accesses to members of base classes Resolves: Bug 35724 - regression (r315984): fatal error: error in backend: Broken function found (Did

r323421 - [CodeGen] Decorate aggregate accesses with TBAA tags

2018-01-25 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Thu Jan 25 06:21:55 2018 New Revision: 323421 URL: http://llvm.org/viewvc/llvm-project?rev=323421=rev Log: [CodeGen] Decorate aggregate accesses with TBAA tags Differential Revision: https://reviews.llvm.org/D41539 Modified: cfe/trunk/lib/CodeGen/CGAtomic.cpp

r325123 - [AST] Fix passing large-array-init.cpp on builds without asserts

2018-02-14 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Wed Feb 14 05:27:48 2018 New Revision: 325123 URL: http://llvm.org/viewvc/llvm-project?rev=325123=rev Log: [AST] Fix passing large-array-init.cpp on builds without asserts Differential Revision: https://reviews.llvm.org/D43187 Modified:

r325120 - [AST] Refine the condition for element-dependent array fillers

2018-02-14 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Wed Feb 14 05:10:35 2018 New Revision: 325120 URL: http://llvm.org/viewvc/llvm-project?rev=325120=rev Log: [AST] Refine the condition for element-dependent array fillers This patch fixes clang to not consider braced initializers for aggregate elements of arrays to be

r325478 - [CodeGen] Initialize large arrays by copying from a global

2018-02-19 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Mon Feb 19 01:49:11 2018 New Revision: 325478 URL: http://llvm.org/viewvc/llvm-project?rev=325478=rev Log: [CodeGen] Initialize large arrays by copying from a global Currently, clang compiles explicit initializers for array elements into series of store instructions. For

r325575 - [CodeGen] Fix generation of TBAA tags for may-alias accesses

2018-02-20 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Tue Feb 20 04:33:04 2018 New Revision: 325575 URL: http://llvm.org/viewvc/llvm-project?rev=325575=rev Log: [CodeGen] Fix generation of TBAA tags for may-alias accesses This patch fixes creating TBAA access descriptors for may_alias-marked access types. Currently, for such

r321352 - [CodeGen] Represent array members in new-format TBAA type descriptors

2017-12-22 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Fri Dec 22 01:57:24 2017 New Revision: 321352 URL: http://llvm.org/viewvc/llvm-project?rev=321352=rev Log: [CodeGen] Represent array members in new-format TBAA type descriptors Now that in the new TBAA format we allow access types to be of any object types, including

r321351 - [CodeGen] Support generation of TBAA info in the new format

2017-12-22 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Fri Dec 22 01:54:23 2017 New Revision: 321351 URL: http://llvm.org/viewvc/llvm-project?rev=321351=rev Log: [CodeGen] Support generation of TBAA info in the new format Now that the MDBuilder helpers generating TBAA type and access descriptors in the new format are in place,

r340140 - [NEON] Define fp16 vld and vst intrinsics conditionally

2018-08-19 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Sun Aug 19 09:30:57 2018 New Revision: 340140 URL: http://llvm.org/viewvc/llvm-project?rev=340140=rev Log: [NEON] Define fp16 vld and vst intrinsics conditionally This patch fixes definitions of vld and vst NEON intrinsics so that we only define them if half-precision

r337704 - [NEON] Define half-precision vmaxnm intrinsics only when available

2018-07-23 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Mon Jul 23 09:01:35 2018 New Revision: 337704 URL: http://llvm.org/viewvc/llvm-project?rev=337704=rev Log: [NEON] Define half-precision vmaxnm intrinsics only when available Differential Revision: https://reviews.llvm.org/D49375 Modified:

r337690 - [NEON] Fix support for vrndi_f32(), vrndiq_f32() and vrndns_f32() intrinsics

2018-07-23 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Mon Jul 23 06:26:37 2018 New Revision: 337690 URL: http://llvm.org/viewvc/llvm-project?rev=337690=rev Log: [NEON] Fix support for vrndi_f32(), vrndiq_f32() and vrndns_f32() intrinsics This patch adds support for vrndi_f32() and vrndiq_f32() intrinsics in AArch32 mode and

r337699 - [NEON] Define half-precision vrnd intrinsics only when available

2018-07-23 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Mon Jul 23 07:53:44 2018 New Revision: 337699 URL: http://llvm.org/viewvc/llvm-project?rev=337699=rev Log: [NEON] Define half-precision vrnd intrinsics only when available Differential Revision: https://reviews.llvm.org/D49376 Modified:

r329814 - [NEON] Support vfma_n and vfms_n intrinsics

2018-04-11 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Wed Apr 11 07:43:11 2018 New Revision: 329814 URL: http://llvm.org/viewvc/llvm-project?rev=329814=rev Log: [NEON] Support vfma_n and vfms_n intrinsics Differential Revision: https://reviews.llvm.org/D45483 Modified: cfe/trunk/include/clang/Basic/arm_neon.td

r330012 - [NEON] Support vrndns_f32 intrinsic

2018-04-13 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Fri Apr 13 05:46:02 2018 New Revision: 330012 URL: http://llvm.org/viewvc/llvm-project?rev=330012=rev Log: [NEON] Support vrndns_f32 intrinsic Differential Revision: https://reviews.llvm.org/D45515 Modified: cfe/trunk/include/clang/Basic/arm_neon.td

r330248 - Revert r330195 "[NEON] Define vget_high_f16() and vget_low_f16() intrinsics in AArch64 mode only".

2018-04-18 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Wed Apr 18 05:02:49 2018 New Revision: 330248 URL: http://llvm.org/viewvc/llvm-project?rev=330248=rev Log: Revert r330195 "[NEON] Define vget_high_f16() and vget_low_f16() intrinsics in AArch64 mode only". Differential Revision: https://reviews.llvm.org/D45668 Modified:

r330195 - [NEON] Define vget_high_f16() and vget_low_f16() intrinsics in AArch64 mode only

2018-04-17 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Tue Apr 17 09:43:07 2018 New Revision: 330195 URL: http://llvm.org/viewvc/llvm-project?rev=330195=rev Log: [NEON] Define vget_high_f16() and vget_low_f16() intrinsics in AArch64 mode only Differential Revision: https://reviews.llvm.org/D45668 Modified:

r330336 - [NEON] Define vfma_n_f32() and vfmaq_n_f32() intrinsics in AArch32 mode

2018-04-19 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Thu Apr 19 08:27:28 2018 New Revision: 330336 URL: http://llvm.org/viewvc/llvm-project?rev=330336=rev Log: [NEON] Define vfma_n_f32() and vfmaq_n_f32() intrinsics in AArch32 mode Differential Revision: https://reviews.llvm.org/D45670 Modified:

r330420 - [NEON] Add a comment explaining the situation with vget_high_f16() and vget_low_f16() intrinsics

2018-04-20 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Fri Apr 20 05:09:25 2018 New Revision: 330420 URL: http://llvm.org/viewvc/llvm-project?rev=330420=rev Log: [NEON] Add a comment explaining the situation with vget_high_f16() and vget_low_f16() intrinsics Related differential revision: https://reviews.llvm.org/D45668

r330187 - [NEON] Fix the architecture condition for the crypto intrinsics

2018-04-17 Thread Ivan A. Kosarev via cfe-commits
Author: kosarev Date: Tue Apr 17 06:37:30 2018 New Revision: 330187 URL: http://llvm.org/viewvc/llvm-project?rev=330187=rev Log: [NEON] Fix the architecture condition for the crypto intrinsics Differential Revision: https://reviews.llvm.org/D45669 Modified: