[PATCH] D49075: [NEON] Define fp16 vld and vst intrinsics conditionally

2018-08-19 Thread Ivan Kosarev via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL340140: [NEON] Define fp16 vld and vst intrinsics conditionally (authored by kosarev, committed by ). Herald added a subscriber: llvm-commits. Changed prior to commit: https://reviews.llvm.org/D49075?vs

[PATCH] D49075: [NEON] Define fp16 vld and vst intrinsics conditionally

2018-08-19 Thread Ivan Kosarev via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC340140: [NEON] Define fp16 vld and vst intrinsics conditionally (authored by kosarev, committed by ). Repository: rC Clang https://reviews.llvm.org/D49075 Files: include/clang/Basic/arm_neon.td te

[PATCH] D38795: [CodeGen] emitOMPArraySectionBase() to generate TBAA info along with LValue base info

2017-10-11 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev created this revision. kosarev added a project: clang. Prepared on top of https://reviews.llvm.org/D38733. Repository: rL LLVM https://reviews.llvm.org/D38795 Files: CodeGen/CGExpr.cpp Index: CodeGen/CGExpr.cpp === -

[PATCH] D38796: [CodeGen] EmitPointerWithAlignment() to generate TBAA info along with LValue base info

2017-10-11 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev created this revision. kosarev added a project: clang. Prepared on top of https://reviews.llvm.org/D38795. Repository: rL LLVM https://reviews.llvm.org/D38796 Files: CodeGen/CGExpr.cpp CodeGen/CodeGenFunction.cpp CodeGen/CodeGenFunction.h CodeGen/CodeGenModule.cpp CodeGen/C

[PATCH] D38733: [CodeGen] Generate TBAA info along with LValue base info

2017-10-12 Thread Ivan Kosarev via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL315575: [CodeGen] Generate TBAA info along with LValue base info (authored by kosarev). Changed prior to commit: https://reviews.llvm.org/D38733?vs=118551&id=118771#toc Repository: rL LLVM https://r

[PATCH] D38788: [CodeGen] EmitCXXMemberDataPointerAddress() to generate TBAA info along with LValue base info

2017-10-13 Thread Ivan Kosarev via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL315702: [CodeGen] EmitCXXMemberDataPointerAddress() to generate TBAA info along with… (authored by kosarev). Changed prior to commit: https://reviews.llvm.org/D38788?vs=118560&id=118931#toc Repository:

[PATCH] D38791: [CodeGen] EmitLoadOfPointer() to generate TBAA info along with LValue base info

2017-10-13 Thread Ivan Kosarev via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL315704: [CodeGen] EmitLoadOfPointer() to generate TBAA info along with LValue base info (authored by kosarev). Changed prior to commit: https://reviews.llvm.org/D38791?vs=118575&id=118932#toc Repositor

[PATCH] D38793: [CodeGen] EmitLoadOfReference() to generate TBAA info along with LValue base info

2017-10-13 Thread Ivan Kosarev via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL315705: [CodeGen] EmitLoadOfReference() to generate TBAA info along with LValue base… (authored by kosarev). Changed prior to commit: https://reviews.llvm.org/D38793?vs=118578&id=118933#toc Repository:

[PATCH] D38794: [CodeGen] getNaturalTypeAlignment() to generate TBAA info along with LValue base info

2017-10-13 Thread Ivan Kosarev via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL315708: [CodeGen] getNaturalTypeAlignment() to generate TBAA info along with LValue… (authored by kosarev). Changed prior to commit: https://reviews.llvm.org/D38794?vs=118581&id=118934#toc Repository:

[PATCH] D38794: [CodeGen] getNaturalTypeAlignment() to generate TBAA info along with LValue base info

2017-10-13 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev added a comment. Right. Switching back to returning just AlignmentSource would make its name more adequate, but I suspect we intentionally want full-size lvalue base info here. Repository: rL LLVM https://reviews.llvm.org/D38794 ___ cfe

[PATCH] D38795: [CodeGen] emitOMPArraySectionBase() to generate TBAA info along with LValue base info

2017-10-13 Thread Ivan Kosarev via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL315715: [CodeGen] emitOMPArraySectionBase() to generate TBAA info along with LValue… (authored by kosarev). Changed prior to commit: https://reviews.llvm.org/D38795?vs=118585&id=118940#toc Repository:

[PATCH] D38796: [CodeGen] EmitPointerWithAlignment() to generate TBAA info along with LValue base info

2017-10-13 Thread Ivan Kosarev via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL315731: [CodeGen] EmitPointerWithAlignment() to generate TBAA info along with LValue… (authored by kosarev). Changed prior to commit: https://reviews.llvm.org/D38796?vs=118599&id=118950#toc Repository:

[PATCH] D38796: [CodeGen] EmitPointerWithAlignment() to generate TBAA info along with LValue base info

2017-10-15 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev added a comment. With this patch applied we fail on bootstrapping stages of release builds (meaning enabled TBAA). The reason is that for some casts we do not generate TBAA info that corresponds to the target type and leave them with TBAA info for the cast's operand expression. This re

[PATCH] D38796: [CodeGen] EmitPointerWithAlignment() to generate TBAA info along with LValue base info

2017-10-15 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev updated this revision to Diff 119089. kosarev edited the summary of this revision. kosarev added a comment. - Fixed handling of explicit casts. - Added a test case. https://reviews.llvm.org/D38796 Files: lib/CodeGen/CGExpr.cpp lib/CodeGen/CodeGenFunction.cpp lib/CodeGen/CodeGenFun

[PATCH] D38945: [CodeGen] Pass TBAA info along with lvalue base info everywhere

2017-10-16 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev created this revision. kosarev added a project: clang. This patch addresses the rest of the cases where we pass lvalue base info, but do not provide corresponding TBAA info. This patch should not bring in any functional changes. This is part of https://reviews.llvm.org/D38126 reworked t

[PATCH] D38947: [CodeGen] Refine generation of TBAA info for bit-field lvalues

2017-10-16 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev created this revision. kosarev added a project: clang. The main change is that now we generate TBAA info before constructing the resulting lvalue instead of constructing lvalue with some default TBAA info and fixing it as necessary afterwards. We also keep the TBAA info close to lvalue

[PATCH] D38947: [CodeGen] Refine generation of TBAA info for bit-field lvalues

2017-10-16 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev updated this revision to Diff 119257. kosarev added a comment. - Removed renamings that complicate reviewing. https://reviews.llvm.org/D38947 Files: lib/CodeGen/CGExpr.cpp Index: lib/CodeGen/CGExpr.cpp === --- lib/CodeGe

[PATCH] D38947: [CodeGen] Refine generation of TBAA info for bit-field lvalues

2017-10-16 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev added a comment. Yes, some preparation code moved past the isBitField() block and generation of TBAA info moved before creating the bit-field lvalue. Thanks for catching the BaseExpr renaming. https://reviews.llvm.org/D38947 ___ cfe-commit

[PATCH] D38796: [CodeGen] EmitPointerWithAlignment() to generate TBAA info along with LValue base info

2017-10-17 Thread Ivan Kosarev via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL315984: [CodeGen] EmitPointerWithAlignment() to generate TBAA info along with LValue… (authored by kosarev). Changed prior to commit: https://reviews.llvm.org/D38796?vs=119089&id=119272#toc Repository:

[PATCH] D38945: [CodeGen] Pass TBAA info along with lvalue base info everywhere

2017-10-17 Thread Ivan Kosarev via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL315986: [CodeGen] Pass TBAA info along with lvalue base info everywhere (authored by kosarev). Changed prior to commit: https://reviews.llvm.org/D38945?vs=119129&id=119278#toc Repository: rL LLVM ht

[PATCH] D38947: [CodeGen] Refine generation of TBAA info for bit-field lvalues

2017-10-17 Thread Ivan Kosarev via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL315989: [CodeGen] Refine generation of TBAA info for bit-field lvalues (authored by kosarev). Changed prior to commit: https://reviews.llvm.org/D38947?vs=119257&id=119288#toc Repository: rL LLVM htt

[PATCH] D39008: [CodeGen] Propagate may-alias'ness of lvalues with TBAA info

2017-10-17 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev created this revision. kosarev added a project: clang. This patch fixes various places in clang to propagate may-alias TBAA access descriptors during construction of lvalues, thus eliminating the need for the LValueBaseInfo::MayAlias flag. This is part of https://reviews.llvm.org/D38126

[PATCH] D38126: Make TBAA information to be part of LValueBaseInfo

2017-10-17 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev updated this revision to Diff 119373. kosarev edited the summary of this revision. kosarev added a comment. Rebased on top of https://reviews.llvm.org/D39008 and ready for review. https://reviews.llvm.org/D38126 Files: CodeGen/CGAtomic.cpp CodeGen/CGClass.cpp CodeGen/CGExpr.cpp

[PATCH] D39083: [CodeGen] Fix generation of TBAA info for array-to-pointer conversions

2017-10-19 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev created this revision. kosarev added a project: clang. Resolves: Fatal error: Offset not zero at the point of scalar access. http://llvm.org/PR34992 Repository: rL LLVM https://reviews.llvm.org/D39083 Files: lib/CodeGen/CGExpr.cpp test/CodeGen/tbaa-array.cpp Index: test/CodeGen

[PATCH] D39083: [CodeGen] Fix generation of TBAA info for array-to-pointer conversions

2017-10-20 Thread Ivan Kosarev via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL316211: [CodeGen] Fix generation of TBAA info for array-to-pointer conversions (authored by kosarev). Changed prior to commit: https://reviews.llvm.org/D39083?vs=119552&id=119646#toc Repository: rL L

[PATCH] D39083: [CodeGen] Fix generation of TBAA info for array-to-pointer conversions

2017-10-20 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev added a comment. Thanks Hal. Repository: rL LLVM https://reviews.llvm.org/D39083 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D39138: [CodeGen] Generate TBAA info for 'this' pointers

2017-10-20 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev created this revision. kosarev added a project: clang. Repository: rL LLVM https://reviews.llvm.org/D39138 Files: lib/CodeGen/CGCXXABI.cpp test/CodeGen/tbaa-this.cpp Index: test/CodeGen/tbaa-this.cpp === --- test/Cod

[PATCH] D39177: [CodeGen] Generate TBAA info for reference loads

2017-10-23 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev created this revision. kosarev added a project: clang. Repository: rL LLVM https://reviews.llvm.org/D39177 Files: lib/CodeGen/CGBlocks.cpp lib/CodeGen/CGExpr.cpp lib/CodeGen/CGOpenMPRuntime.cpp lib/CodeGen/CGStmtOpenMP.cpp lib/CodeGen/CodeGenFunction.h test/CodeGen/tbaa-ref

[PATCH] D39177: [CodeGen] Generate TBAA info for reference loads

2017-10-23 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev added inline comments. Comment at: test/CodeGen/tbaa-reference.cpp:1 // RUN: %clang_cc1 -triple x86_64-linux -O1 -disable-llvm-passes %s -emit-llvm -o - | FileCheck %s // Changes for this test look somewhat complicated, so here's a short summary: * We

[PATCH] D39138: [CodeGen] Generate TBAA info for 'this' pointers

2017-10-24 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev added a comment. Correct, they are eliminated. However, this change makes things a bit easier as we are pursuing undecorated instructions produced by clang. Once they have their TBAA tags, we don't need to guess if it's something trivial for the optimizer. It shouldn't be a problem to k

[PATCH] D38126: Make TBAA information to be part of LValueBaseInfo

2017-10-25 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev abandoned this revision. kosarev added a comment. Indeed, if LValueBaseInfo is what we know about the very first value in a sequence, then TBAA info certainly should not be part of it. This also means whatever is specified as a direct base lvalue to the lvalue we are constructing should

[PATCH] D39138: [CodeGen] Generate TBAA info for 'this' pointers

2017-10-25 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev added a comment. Hmm, according to our research such loads constitute about 18% of all loads under ##-O -Xclang -disable-llvm-passes## on the LLVM code base. I wonder, do you think it would be nice to not generate them at all? I mean, provided that necessary changes do not add too much

[PATCH] D39008: [CodeGen] Propagate may-alias'ness of lvalues with TBAA info

2017-10-25 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev added a comment. Now that https://reviews.llvm.org/D38796 is comitted and added the tbaa-cast.cpp test case to the mainline, we fail on it with this patch applied. The reason is that we have no special TBAA type node for may-alias accesses, so everything that ever been a potential acces

[PATCH] D49375: [NEON] Define half-precision vmaxnm intrinsics only when available

2018-07-23 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev added a comment. Ping. https://reviews.llvm.org/D49375 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D49376: [NEON] Define half-precision vrnd intrinsics only when available

2018-07-23 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev added a comment. Ping. https://reviews.llvm.org/D49376 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D49075: [NEON] Define fp16 vld and vst intrinsics conditionally

2018-07-23 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev added a comment. Ping. https://reviews.llvm.org/D49075 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D48829: [NEON] Fix support for vrndi_f32(), vrndiq_f32() and vrndns_f32() intrinsics

2018-07-23 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev added a comment. Ping. https://reviews.llvm.org/D48829 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D48829: [NEON] Fix support for vrndi_f32(), vrndiq_f32() and vrndns_f32() intrinsics

2018-07-23 Thread Ivan Kosarev via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC337690: [NEON] Fix support for vrndi_f32(), vrndiq_f32() and vrndns_f32() intrinsics (authored by kosarev, committed by ). Repository: rC Clang https://reviews.llvm.org/D48829 Files: include/clang/B

[PATCH] D49375: [NEON] Define half-precision vmaxnm intrinsics only when available

2018-07-23 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev added a comment. Thanks for reviewing! Comment at: include/clang/Basic/arm_neon.td:1466 def VMINH : SInst<"vmin", "ddd", "hQh">; - def FMAXNMH : SInst<"vmaxnm", "ddd", "hQh">; - def FMINNMH : SInst<"vminnm", "ddd", "hQh">; + let ArchGuard = "__

[PATCH] D49376: [NEON] Define half-precision vrnd intrinsics only when available

2018-07-23 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev added inline comments. Comment at: include/clang/Basic/arm_neon.td:1419 // Vector rounding - def FRINTZH : SInst<"vrnd", "dd", "hQh">; - def FRINTNH : SInst<"vrndn", "dd", "hQh">; - def FRINTAH : SInst<"vrnda", "dd", "hQh">; - def FRINTPH : SIn

[PATCH] D49376: [NEON] Define half-precision vrnd intrinsics only when available

2018-07-23 Thread Ivan Kosarev via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC337699: [NEON] Define half-precision vrnd intrinsics only when available (authored by kosarev, committed by ). Repository: rC Clang https://reviews.llvm.org/D49376 Files: include/clang/Basic/arm_neo

[PATCH] D49375: [NEON] Define half-precision vmaxnm intrinsics only when available

2018-07-23 Thread Ivan Kosarev via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC337704: [NEON] Define half-precision vmaxnm intrinsics only when available (authored by kosarev, committed by ). Changed prior to commit: https://reviews.llvm.org/D49375?vs=155675&id=156802#toc Reposit

[PATCH] D49075: [NEON] Define fp16 vld and vst intrinsics conditionally

2018-07-30 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev updated this revision to Diff 157960. kosarev added a comment. Test that the affected intrinsics are not defined in no-fp16 mode. https://reviews.llvm.org/D49075 Files: include/clang/Basic/arm_neon.td test/CodeGen/arm-neon-vld.c test/CodeGen/arm-neon-vst.c test/Sema/arm-no-fp16.

[PATCH] D49075: [NEON] Define fp16 vld and vst intrinsics conditionally

2018-08-06 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev added a comment. Ping. https://reviews.llvm.org/D49075 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D42366: [CodeGen] Fix generation of TBAA tags for may-alias accesses

2018-02-12 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev added a comment. Hal, a friendly ping. Repository: rL LLVM https://reviews.llvm.org/D42366 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D43181: [CodeGen] Initialize large arrays by copying from a global

2018-02-12 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev created this revision. kosarev added a reviewer: rjmccall. kosarev added a project: clang. Herald added a subscriber: llvm-commits. Currently, clang compiles explicit initializers for array elements into series of store instructions. For large arrays of built-in types this results in blo

[PATCH] D43187: [AST] Refine the condition for element-dependent array fillers

2018-02-12 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev created this revision. kosarev added a reviewer: rsmith. kosarev added a project: clang. Herald added a subscriber: llvm-commits. This patch fixes clang to not consider braced initializers for aggregate elements of arrays to be potentially dependent on the indices of the initialized elem

[PATCH] D43181: [CodeGen] Initialize large arrays by copying from a global

2018-02-13 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev added inline comments. Comment at: lib/CodeGen/CGExprAgg.cpp:421 + // with explicit initializers should be large enough. + if (NumInitElements > 8 && elementType->isBuiltinType()) { +CodeGen::CodeGenModule &CGM = CGF.CGM; rjmccall wrote: > Is there

[PATCH] D43187: [AST] Refine the condition for element-dependent array fillers

2018-02-13 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev added a comment. John, maybe you can review this or suggest some other reviewers? Thanks. Repository: rL LLVM https://reviews.llvm.org/D43187 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/li

[PATCH] D43181: [CodeGen] Initialize large arrays by copying from a global

2018-02-13 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev updated this revision to Diff 134042. kosarev added a comment. Improved as suggested to cover all trivially-copyable types. https://reviews.llvm.org/D43181 Files: lib/CodeGen/CGExprAgg.cpp test/CodeGen/init.c Index: test/CodeGen/init.c ==

[PATCH] D43187: [AST] Refine the condition for element-dependent array fillers

2018-02-14 Thread Ivan Kosarev via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL325120: [AST] Refine the condition for element-dependent array fillers (authored by kosarev, committed by ). Changed prior to commit: https://reviews.llvm.org/D43187?vs=133846&id=134200#toc Repository:

[PATCH] D43181: [CodeGen] Initialize large arrays by copying from a global

2018-02-16 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev updated this revision to Diff 134590. kosarev added a comment. Updated to consider the total size of the explicit initializers instead of their number. The threshold value is adjusted respectively. https://reviews.llvm.org/D43181 Files: lib/CodeGen/CGExprAgg.cpp test/CodeGen/init.c

[PATCH] D42366: [CodeGen] Fix generation of TBAA tags for may-alias accesses

2018-02-19 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev added a comment. John, the patch hangs for about a month now and Hal still seems to be extremely busy. Can we commit this with the constant to be whatever you think is most correct and the fix it as needed and if needed later? At this very moment we don't analyze the size fields of tags

[PATCH] D43181: [CodeGen] Initialize large arrays by copying from a global

2018-02-19 Thread Ivan Kosarev via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL325478: [CodeGen] Initialize large arrays by copying from a global (authored by kosarev, committed by ). Changed prior to commit: https://reviews.llvm.org/D43181?vs=134590&id=134865#toc Repository: r

[PATCH] D42366: [CodeGen] Fix generation of TBAA tags for may-alias accesses

2018-02-19 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev updated this revision to Diff 134877. kosarev edited the summary of this revision. kosarev added a comment. Do not change the size field of may-alias TBAA descriptors for now. https://reviews.llvm.org/D42366 Files: lib/CodeGen/CodeGenModule.cpp lib/CodeGen/CodeGenTBAA.cpp lib/Code

[PATCH] D42366: [CodeGen] Fix generation of TBAA tags for may-alias accesses

2018-02-20 Thread Ivan Kosarev via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC325575: [CodeGen] Fix generation of TBAA tags for may-alias accesses (authored by kosarev, committed by ). Repository: rC Clang https://reviews.llvm.org/D42366 Files: lib/CodeGen/CodeGenModule.cpp

[PATCH] D42366: [CodeGen] Fix generation of TBAA tags for may-alias accesses

2018-02-21 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev added a comment. I think zero would serve better as the unknown-size value. People who are not aware of TBAA internals would guess that since zero-sized accesses make no sense, they are likely to have some special meaning. Similarly, for code that is supposed to process the size fields

[PATCH] D41394: [CodeGen] Support generation of TBAA info in the new format

2017-12-19 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev created this revision. kosarev added reviewers: rjmccall, hfinkel. kosarev added a project: clang. Now that the MDBuilder helpers generating TBAA type and access descriptors in the new format are in place, we can teach clang to use them when requested. Repository: rL LLVM https://rev

[PATCH] D41399: [CodeGen] Represent array members in new-format TBAA type descriptors

2017-12-19 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev created this revision. kosarev added reviewers: rjmccall, hfinkel. kosarev added a project: clang. Now that in the new TBAA format we allow access types to be of any object types, including aggregate ones, it becomes critical to specify types of all sub-objects such aggregates comprise a

[PATCH] D41394: [CodeGen] Support generation of TBAA info in the new format

2017-12-19 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev added a comment. There are more tests that we will need to rewrite during migration to the new format than I think we could handle with a single patch. I was going to address them with separate patches. Or, I can rewrite some most basic of them as part of this patch. Repository: rL

[PATCH] D41394: [CodeGen] Support generation of TBAA info in the new format

2017-12-20 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev updated this revision to Diff 127722. kosarev added a comment. Added tests. https://reviews.llvm.org/D41394 Files: lib/CodeGen/CodeGenTBAA.cpp test/CodeGen/tbaa.cpp Index: test/CodeGen/tbaa.cpp === --- test/CodeGen/tba

[PATCH] D41452: [CodeGen] Fix access sizes in new-format TBAA tags

2017-12-20 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev created this revision. kosarev added reviewers: rjmccall, hfinkel. kosarev added a project: clang. The new format requires to specify both the type of the access and its size. This patch fixes setting access sizes for TBAA tags that denote accesses to structure members. This fix affects

[PATCH] D41399: [CodeGen] Represent array members in new-format TBAA type descriptors

2017-12-20 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev added inline comments. Comment at: test/CodeGen/tbaa-array.cpp:24 +// CHECK-DAG: [[TAG_A_i]] = !{[[TYPE_A:!.*]], [[TYPE_int:!.*]], i64 0, i64 4} +// CHECK-DAG: [[TAG_C_i]] = !{[[TYPE_C:!.*]], [[TYPE_int:!.*]], i64 0, i64 16} +// CHECK-DAG: [[TYPE_A]] = !{[[TYPE_char:!.*]]

[PATCH] D41399: [CodeGen] Represent array members in new-format TBAA type descriptors

2017-12-20 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev added inline comments. Comment at: test/CodeGen/tbaa-array.cpp:24 +// CHECK-DAG: [[TAG_A_i]] = !{[[TYPE_A:!.*]], [[TYPE_int:!.*]], i64 0, i64 4} +// CHECK-DAG: [[TAG_C_i]] = !{[[TYPE_C:!.*]], [[TYPE_int:!.*]], i64 0, i64 16} +// CHECK-DAG: [[TYPE_A]] = !{[[TYPE_char:!.*]]

[PATCH] D41399: [CodeGen] Represent array members in new-format TBAA type descriptors

2017-12-20 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev updated this revision to Diff 127742. kosarev added a comment. - Fixed the access size. - Added the suggested tests. https://reviews.llvm.org/D41399 Files: lib/CodeGen/CodeGenTBAA.cpp test/CodeGen/tbaa-array.cpp Index: test/CodeGen/tbaa-array.cpp ==

[PATCH] D41452: [CodeGen] Fix access sizes in new-format TBAA tags

2017-12-21 Thread Ivan Kosarev via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL321250: [CodeGen] Fix access sizes in new-format TBAA tags (authored by kosarev, committed by ). Changed prior to commit: https://reviews.llvm.org/D41452?vs=127724&id=127834#toc Repository: rL LLVM

[PATCH] D41394: [CodeGen] Support generation of TBAA info in the new format

2017-12-21 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev updated this revision to Diff 127838. kosarev added a comment. Updated as suggested. https://reviews.llvm.org/D41394 Files: lib/CodeGen/CodeGenTBAA.cpp test/CodeGen/tbaa.cpp Index: test/CodeGen/tbaa.cpp === --- test/Co

[PATCH] D41394: [CodeGen] Support generation of TBAA info in the new format

2017-12-22 Thread Ivan Kosarev via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL321351: [CodeGen] Support generation of TBAA info in the new format (authored by kosarev, committed by ). Changed prior to commit: https://reviews.llvm.org/D41394?vs=127838&id=127993#toc Repository:

[PATCH] D41399: [CodeGen] Represent array members in new-format TBAA type descriptors

2017-12-22 Thread Ivan Kosarev via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL321352: [CodeGen] Represent array members in new-format TBAA type descriptors (authored by kosarev, committed by ). Changed prior to commit: https://reviews.llvm.org/D41399?vs=127742&id=127994#toc Repo

[PATCH] D41539: [CodeGen] Decorate aggregate accesses with TBAA tags

2017-12-22 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev created this revision. kosarev added reviewers: rjmccall, hfinkel. kosarev added a project: clang. Repository: rL LLVM https://reviews.llvm.org/D41539 Files: lib/CodeGen/CGExprAgg.cpp test/CodeGen/tbaa-struct-new.cpp Index: test/CodeGen/tbaa-struct-new.cpp

[PATCH] D41539: [CodeGen] Decorate aggregate accesses with TBAA tags

2017-12-22 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev updated this revision to Diff 128017. kosarev added a comment. Reworked to not add another test file. https://reviews.llvm.org/D41539 Files: lib/CodeGen/CGExprAgg.cpp test/CodeGen/tbaa-struct.cpp Index: test/CodeGen/tbaa-struct.cpp ==

[PATCH] D41547: [CodeGen] Fix TBAA info for accesses to members of base classes

2017-12-22 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev created this revision. kosarev added reviewers: rjmccall, hfinkel. kosarev added a project: clang. Resolves: Bug 35724 - regression (r315984): fatal error: error in backend: Broken function found (Did not see access type in access path!) https://bugs.llvm.org/show_bug.cgi?id=35724 Repos

[PATCH] D41562: [CodeGen] Generate TBAA info on passing arguments and returning values

2017-12-24 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev created this revision. kosarev added reviewers: rjmccall, hfinkel. kosarev added a project: clang. We only do this for the new format as the old format does not allow to represent accesses to aggregates. This patch significantly improves TBAA coverage on -O1 builds. Repository: rL LL

[PATCH] D41539: [CodeGen] Decorate aggregate accesses with TBAA tags

2018-01-08 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev added a comment. Sure, but since it is not a trivial change we could first replace 'tbaa.struct' with 'tbaa' and then decide how to attach multiple TBAA tags to an instruction. I didn't think enough about it, but one way to do that is to have different kinds of TBAA tags for read and wr

[PATCH] D41547: [CodeGen] Fix TBAA info for accesses to members of base classes

2018-01-08 Thread Ivan Kosarev via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC321999: [CodeGen] Fix TBAA info for accesses to members of base classes (authored by kosarev, committed by ). Repository: rC Clang https://reviews.llvm.org/D41547 Files: lib/CodeGen/CGExpr.cpp tes

[PATCH] D41539: [CodeGen] Decorate aggregate accesses with TBAA tags

2018-01-08 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev added a comment. OK, I'm reading your response so that this patch may significantly increase the number of cases where we propagate TBAA tags from memory-transfer intrinsic calls, which means potentially more cases where ignoring may_alias would lead to problems. If so, then I tend to a

[PATCH] D47121: [NEON] Support VLD1xN intrinsics in AArch32 mode (Clang part)

2018-05-30 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev added a comment. Ping. https://reviews.llvm.org/D47121 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D47121: [NEON] Support VLD1xN intrinsics in AArch32 mode (Clang part)

2018-05-30 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev added a comment. Thanks for reviewing. Comment at: lib/CodeGen/CGBuiltin.cpp:7865 } // FIXME: Sharing loads & stores with 32-bit is complicated by the absence // of an Align parameter here. SjoerdMeijer wrote: > How about this FIXME? Is it

[PATCH] D47121: [NEON] Support VLD1xN intrinsics in AArch32 mode (Clang part)

2018-06-02 Thread Ivan Kosarev via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL333819: [NEON] Support VLD1xN intrinsics in AArch32 mode (Clang part) (authored by kosarev, committed by ). Herald added a subscriber: llvm-commits. Changed prior to commit: https://reviews.llvm.org/D47

[PATCH] D47446: [NEON] Support VST1xN intrinsics in AArch32 mode (Clang part)

2018-06-08 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev added a comment. Ping. https://reviews.llvm.org/D47446 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D45515: [NEON] Support vrndns_f32 intrinsic

2018-04-13 Thread Ivan Kosarev via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC330012: [NEON] Support vrndns_f32 intrinsic (authored by kosarev, committed by ). Repository: rC Clang https://reviews.llvm.org/D45515 Files: include/clang/Basic/arm_neon.td lib/CodeGen/CGBuiltin.

[PATCH] D45668: [NEON] Define vget_high_f16() and vget_low_f16() intrinsics in AArch64 mode only

2018-04-15 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev created this revision. kosarev added reviewers: t.p.northover, rengolin, SjoerdMeijer. kosarev added a project: clang. Herald added subscribers: kristof.beyls, javed.absar. These are AArch64-specific intrinsics. The patch removes AArch32-mode test cases and maintains AArch64 ones in tool

[PATCH] D45669: [NEON] Fix the architecture condition for the crypto intrinsics

2018-04-15 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev created this revision. kosarev added reviewers: t.p.northover, rengolin, SjoerdMeijer. kosarev added a project: clang. Herald added subscribers: kristof.beyls, javed.absar. This is rather a cosmetic change as on ARMv7 targets we do not define __ARM_FEATURE_CRYPTO, even if it was explicitl

[PATCH] D45670: [NEON} Define vfma_n_f32() and vfmaq_n_f32() intrinsics in AArch32 mode

2018-04-15 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev created this revision. kosarev added reviewers: t.p.northover, rengolin, SjoerdMeijer. kosarev added a project: clang. Herald added subscribers: kristof.beyls, javed.absar. Currently we only support them in AArch64 mode. The AArch64 test cases are in tools/clang/test/CodeGen/aarch64-neon-

[PATCH] D45669: [NEON] Fix the architecture condition for the crypto intrinsics

2018-04-17 Thread Ivan Kosarev via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rC330187: [NEON] Fix the architecture condition for the crypto intrinsics (authored by kosarev, committed by ). Repository: rL LLVM https://reviews.llvm.org/D45669 Files: include/clang/Basic/arm_neon.

[PATCH] D45669: [NEON] Fix the architecture condition for the crypto intrinsics

2018-04-17 Thread Ivan Kosarev via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL330187: [NEON] Fix the architecture condition for the crypto intrinsics (authored by kosarev, committed by ). Herald added a subscriber: llvm-commits. Changed prior to commit: https://reviews.llvm.org/D

[PATCH] D45668: [NEON] Define vget_high_f16() and vget_low_f16() intrinsics in AArch64 mode only

2018-04-17 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev added a comment. The NEON Intrinsics Reference (http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ihi0073a/index.html) reads like they are AArch64-only. https://reviews.llvm.org/D45668 ___ cfe-commits mailing list cfe-commits@lis

[PATCH] D45670: [NEON} Define vfma_n_f32() and vfmaq_n_f32() intrinsics in AArch32 mode

2018-04-17 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev updated this revision to Diff 142784. kosarev added a comment. Removed checks for unused bitcasts. Thanks for catching! https://reviews.llvm.org/D45670 Files: include/clang/Basic/arm_neon.td test/CodeGen/arm-neon-fma.c Index: test/CodeGen/arm-neon-fma.c ===

[PATCH] D45668: [NEON] Define vget_high_f16() and vget_low_f16() intrinsics in AArch64 mode only

2018-04-17 Thread Ivan Kosarev via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL330195: [NEON] Define vget_high_f16() and vget_low_f16() intrinsics in AArch64 mode only (authored by kosarev, committed by ). Herald added a subscriber: llvm-commits. Changed prior to commit: https://r

[PATCH] D45668: [NEON] Define vget_high_f16() and vget_low_f16() intrinsics in AArch64 mode only

2018-04-18 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev added a comment. Sure, will do. Should we treat these intrinsics as ARMv8 or ARMv7/v8? Also, would you mind if I commit a comment under this differential revision explaining the situation? Repository: rL LLVM https://reviews.llvm.org/D45668 ___

[PATCH] D45670: [NEON] Define vfma_n_f32() and vfmaq_n_f32() intrinsics in AArch32 mode

2018-04-19 Thread Ivan Kosarev via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL330336: [NEON] Define vfma_n_f32() and vfmaq_n_f32() intrinsics in AArch32 mode (authored by kosarev, committed by ). Herald added a subscriber: llvm-commits. Changed prior to commit: https://reviews.ll

[PATCH] D45668: [NEON] Define vget_high_f16() and vget_low_f16() intrinsics in AArch64 mode only

2018-04-20 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev added a comment. Thanks Sjoerd and James. Just added a comment referring to this revision in https://reviews.llvm.org/rL330420. Repository: rL LLVM https://reviews.llvm.org/D45668 ___ cfe-commits mailing list cfe-commits@lists.llvm.org h

[PATCH] D48440: [NEON] Support vldNq intrinsics in AArch32 (Clang part)

2018-06-26 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev added a comment. Ping. https://reviews.llvm.org/D48440 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D48440: [NEON] Support vldNq intrinsics in AArch32 (Clang part)

2018-06-27 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev added a comment. Yep, this patch removes `vld_dup.c` as it duplicates part of what we have in `arm-neon-vld.c`. Clicking 'Show File Contents' below the file displays its contents. Thanks for reviewing! https://reviews.llvm.org/D48440 ___ c

[PATCH] D48829: [NEON] Fix support for vrndi_f32(), vrndiq_f32() and vrndns_f32() intrinsics

2018-07-02 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev created this revision. kosarev added reviewers: SjoerdMeijer, jgreenhalgh, rengolin. kosarev added a project: clang. Herald added a reviewer: javed.absar. Herald added a subscriber: kristof.beyls. This patch adds support for vrndi_f32() and vrndiq_f32() intrinsics in AArch32 mode and for

[PATCH] D49075: [NEON] Define fp16 vld and vst intrinsics conditionally

2018-07-09 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev created this revision. kosarev added reviewers: SjoerdMeijer, jgreenhalgh, rengolin. kosarev added a project: clang. Herald added a reviewer: javed.absar. This patch fixes definitions of vld and vst NEON intrinsics so that we only define them if half-precision arithmetic is supported on t

[PATCH] D48829: [NEON] Fix support for vrndi_f32(), vrndiq_f32() and vrndns_f32() intrinsics

2018-07-09 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev added a comment. Ping. https://reviews.llvm.org/D48829 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D49375: [NEON] Define half-precision vmaxnm intrinsics only when available

2018-07-16 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev created this revision. kosarev added reviewers: SjoerdMeijer, jgreenhalgh, rengolin. kosarev added a project: clang. Herald added a reviewer: javed.absar. https://reviews.llvm.org/D49375 Files: include/clang/Basic/arm_neon.td test/Sema/arm-no-fp16.c Index: test/Sema/arm-no-fp16.c ==

[PATCH] D49376: [NEON] Define half-precision vrnd intrinsics only when available

2018-07-16 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev created this revision. kosarev added reviewers: SjoerdMeijer, jgreenhalgh, rengolin. kosarev added a project: clang. Herald added a reviewer: javed.absar. https://reviews.llvm.org/D49376 Files: include/clang/Basic/arm_neon.td test/Sema/arm-no-fp16.c Index: test/Sema/arm-no-fp16.c ==

[PATCH] D49075: [NEON] Define fp16 vld and vst intrinsics conditionally

2018-07-18 Thread Ivan Kosarev via Phabricator via cfe-commits
kosarev added a comment. Ping. https://reviews.llvm.org/D49075 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

  1   2   >