[PATCH] D75169: [ARM] Enforcing calling convention for half-precision FP arguments and returns for big-endian AArch32

2020-02-26 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas created this revision. Herald added subscribers: cfe-commits, kristof.beyls. Herald added a project: clang. Half-precision floating point arguments and returns are currently promoted to either float or int32 in clang's CodeGen. As such promotions are implemented as coercion through

[PATCH] D74618: [ARM] Creating 'call_mangled' for Neon intrinsics definitions

2020-03-06 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas updated this revision to Diff 248659. pratlucas added a comment. Applying clang-format. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74618/new/ https://reviews.llvm.org/D74618 Files: clang/include/clang/Basic/arm_neon_incl.td

[PATCH] D74617: [ARM] Keeping sign information on bitcasts for Neon vdot_lane intrinsics

2020-02-14 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas created this revision. Herald added subscribers: cfe-commits, kristof.beyls. Herald added a project: clang. Sign information was being lost on Neon's vdot_lane intrinsics arguments when bitcasting explicitly to uint32 vector types. This patch introduces a new cast option to allow

[PATCH] D74618: [ARM] Creating 'call_mangled' for Neon intrinsics definitions

2020-02-14 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas created this revision. Herald added subscribers: cfe-commits, kristof.beyls. Herald added a project: clang. As multiple versions ofthe same Neon intrinsic can be created through the same TableGen definition with the same argument types, the existing 'call' operator is not always able to

[PATCH] D74616: [ARM] Setting missing isLaneQ attribute on Neon Intrisics definitions

2020-02-14 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas created this revision. Herald added subscribers: cfe-commits, kristof.beyls. Herald added a project: clang. Some of the '*_laneq' intrinsics defined in arm_neon.td were missing the setting of the 'isLaneQ' attribute. This patch sets the attribute on the re lated definitions, as they

[PATCH] D74766: [ARM] Fixing range checks for Neon's vqdmulhq_lane and vqrdmulhq_lane intrinsics

2020-02-18 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas created this revision. Herald added subscribers: cfe-commits, kristof.beyls. Herald added a project: clang. The range checks performed for the vqrdmulh_lane and vqrdmulh_lane Neon intrinsics were incorrectly using their return type as the base type for the range check performed on their

[PATCH] D74619: [ARM] Enabling range checks on Neon intrinsics' lane arguments

2020-03-12 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas added a comment. The clang-format pre-merge check keeps wanting me to update the indentation for the entire `ARMSIMDIntrinsicMap` and `AArch64SIMDIntrinsicMap` maps due to the change in their first entries. I believe, though, that this change would not only be out of the scope of this

[PATCH] D74618: [ARM] Creating 'call_mangled' for Neon intrinsics definitions

2020-03-12 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas updated this revision to Diff 249979. pratlucas added a comment. Adding example to call_mangled description comment. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74618/new/ https://reviews.llvm.org/D74618 Files:

[PATCH] D75169: [ARM] Enforcing calling convention for half-precision FP arguments and returns for big-endian AArch32

2020-03-12 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas added a comment. Ping. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75169/new/ https://reviews.llvm.org/D75169 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D74766: [ARM] Fixing range checks for Neon's vqdmulhq_lane and vqrdmulhq_lane intrinsics

2020-03-10 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas updated this revision to Diff 249346. pratlucas added a comment. Adding check for valid range on tests. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74766/new/ https://reviews.llvm.org/D74766 Files:

[PATCH] D75903: [AArch64][CodeGen] Fixing stack alignment of HFA arguments on AArch64 PCS

2020-03-10 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas created this revision. Herald added subscribers: llvm-commits, cfe-commits, danielkiss, hiraditya, kristof.beyls. Herald added projects: clang, LLVM. pratlucas added a child revision: D75904: [ARM][CodeGen] Fixing stack alignment of HFA arguments on AArch32 PCS. pratlucas added

[PATCH] D75904: [ARM][CodeGen] Fixing stack alignment of HFA arguments on AArch32 PCS

2020-03-10 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas created this revision. Herald added subscribers: llvm-commits, cfe-commits, danielkiss, hiraditya, kristof.beyls. Herald added projects: clang, LLVM. pratlucas added a parent revision: D75903: [AArch64][CodeGen] Fixing stack alignment of HFA arguments on AArch64 PCS. pratlucas added

[PATCH] D74618: [ARM] Creating 'call_mangled' for Neon intrinsics definitions

2020-03-05 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas updated this revision to Diff 248505. pratlucas added a comment. Addressing review comment Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74618/new/ https://reviews.llvm.org/D74618 Files: clang/include/clang/Basic/arm_neon_incl.td

[PATCH] D74617: [ARM] Keeping sign information on bitcasts for Neon vdot_lane intrinsics

2020-03-05 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas added a comment. This patch by itself is a NFC. It aims to enable the proper overload resolution of intrinsic calls when using the `call_mangled` operation introduced on D74618 . To make this more clear, I'll discard this review and merge this changes

[PATCH] D74766: [ARM] Fixing range checks for Neon's vqdmulhq_lane and vqrdmulhq_lane intrinsics

2020-03-10 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas updated this revision to Diff 249392. pratlucas added a comment. Clang-format. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74766/new/ https://reviews.llvm.org/D74766 Files: clang/include/clang/Basic/arm_neon.td

[PATCH] D75903: [AArch64][CodeGen] Fixing stack alignment of HFA arguments on AArch64 PCS

2020-03-10 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas updated this revision to Diff 249360. pratlucas added a comment. Clang-format. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75903/new/ https://reviews.llvm.org/D75903 Files: clang/include/clang/CodeGen/CGFunctionInfo.h

[PATCH] D75903: [AArch64][CodeGen] Fixing stack alignment of HFA arguments on AArch64 PCS

2020-03-11 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas added a comment. I believe rule B.2 from the AAPCS64 should take precedence over rule B.5 for HFA arguments: B.2 If the argument type is an HFA or an HVA, then the argument is used unmodified. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D75169: [ARM] Enforcing calling convention for half-precision FP arguments and returns for big-endian AArch32

2020-04-08 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas added a comment. Ping. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75169/new/ https://reviews.llvm.org/D75169 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D78572: [Clang][Sema] Capturing section type conflicts on #pragma clang section

2020-04-21 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas updated this revision to Diff 259039. pratlucas added a comment. Fixing missing clang-format messages. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D78572/new/ https://reviews.llvm.org/D78572 Files:

[PATCH] D78573: [Clang][Sema] Capturing section type conflicts between #pragma clang section and section attributes

2020-04-21 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas updated this revision to Diff 259040. pratlucas added a comment. Fixing "mising clang-format" messages. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D78573/new/ https://reviews.llvm.org/D78573 Files:

[PATCH] D78572: [Clang][Sema] Capturing section type conflicts on #pragma clang section

2020-04-21 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas created this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Section names used in clang section pragmas were not validated against previously defined sections, causing section type conflicts to be ignored by Sema. This patch enables Clang to capture

[PATCH] D78573: [Clang][Sema] Capturing section type conflicts between #pragma clang section and section attributes

2020-04-21 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas created this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Conflicting types for the same section name defined in clang section pragmas and GNU-style section attributes were not properly captured by Clang's Sema. The lack of diagnostics was caused by

[PATCH] D75169: [ARM] Enforcing calling convention for half-precision FP arguments and returns for big-endian AArch32

2020-04-20 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas added a comment. Herald added a subscriber: danielkiss. Ping. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75169/new/ https://reviews.llvm.org/D75169 ___ cfe-commits mailing list

[PATCH] D75903: [AArch64][CodeGen] Fixing stack alignment of HFA arguments on AArch64 PCS

2020-04-06 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas added a comment. From the AAPCS64's Parameter Passing Rules section (https://github.com/ARM-software/abi-aa/blob/master/aapcs64/aapcs64.rst#642parameter-passing-rules), I believe the proposed handling is correct. The HFA related rules described in this section are: Stage B –

[PATCH] D77048: [Clang][CodeGen] Fixing mismatch between memory layout and const expressions for oversized bitfields

2020-04-01 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas updated this revision to Diff 254156. pratlucas added a comment. Removing unecessary handling of padding bits. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D77048/new/ https://reviews.llvm.org/D77048 Files:

[PATCH] D77048: [Clang][CodeGen] Fixing mismatch between memory layout and const expressions for oversized bitfields

2020-04-01 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas marked 2 inline comments as done. pratlucas added inline comments. Comment at: clang/lib/CodeGen/CGExprConstant.cpp:613 + + // Add padding bits in case of over-sized bit-field. + // "The first sizeof(T)*8 bits are used to hold the value of the bit-field,

[PATCH] D75169: [ARM] Enforcing calling convention for half-precision FP arguments and returns for big-endian AArch32

2020-03-31 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas added a comment. > Why not just make half as an argument do the right thing for that case? That would be the ideal approach, but currently there's a limitation on the backend's calling convention lowering that gets in the way. The lowering of calls in `SelectionDAGBuilder` includes a

[PATCH] D77048: [Clang][CodeGen] Fixing mismatch between memory layout and const expressions for oversized bitfields

2020-03-30 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas created this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. The construction of constants for structs/unions was conflicting the expected memory layout for over-sized bit-fields. When building the necessary bits for those fields, clang was ignoring the

[PATCH] D77048: [Clang][CodeGen] Fixing mismatch between memory layout and const expressions for oversized bitfields

2020-03-30 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas updated this revision to Diff 253568. pratlucas added a comment. Formatting. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D77048/new/ https://reviews.llvm.org/D77048 Files: clang/lib/CodeGen/CGExprConstant.cpp

[PATCH] D77048: [Clang][CodeGen] Fixing mismatch between memory layout and const expressions for oversized bitfields

2020-04-02 Thread Lucas Prates via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGe6cb4b659af9: [Clang][CodeGen] Fixing mismatch between memory layout and const expressions… (authored by pratlucas). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D78573: [Clang][Sema] Capturing section type conflicts between #pragma clang section and section attributes

2020-04-28 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas marked 4 inline comments as done. pratlucas added inline comments. Comment at: clang/include/clang/AST/ASTContext.h:3008 +/// Insertion operator for diagnostics. +inline const DiagnosticBuilder & +operator<<(const DiagnosticBuilder , rnk wrote: > It

[PATCH] D78573: [Clang][Sema] Capturing section type conflicts between #pragma clang section and section attributes

2020-04-28 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas updated this revision to Diff 260630. pratlucas added a comment. Updateing test. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D78573/new/ https://reviews.llvm.org/D78573 Files: clang/include/clang/AST/ASTContext.h

[PATCH] D78573: [Clang][Sema] Capturing section type conflicts between #pragma clang section and section attributes

2020-04-23 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas updated this revision to Diff 259594. pratlucas added a comment. Rebasing. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D78573/new/ https://reviews.llvm.org/D78573 Files: clang/include/clang/AST/ASTContext.h

[PATCH] D78572: [Clang][Sema] Capturing section type conflicts on #pragma clang section

2020-04-23 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas updated this revision to Diff 259593. pratlucas added a comment. Rebasing. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D78572/new/ https://reviews.llvm.org/D78572 Files: clang/include/clang/AST/ASTContext.h

[PATCH] D78573: [Clang][Sema] Capturing section type conflicts between #pragma clang section and section attributes

2020-05-05 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas added a comment. Ping. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D78573/new/ https://reviews.llvm.org/D78573 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D75169: [ARM] Enforcing calling convention for half-precision FP arguments and returns for big-endian AArch32

2020-05-05 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas added a comment. Ping. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75169/new/ https://reviews.llvm.org/D75169 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D78573: [Clang][Sema] Capturing section type conflicts between #pragma clang section and section attributes

2020-04-21 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas updated this revision to Diff 259048. pratlucas added a comment. Removing unnecessary function. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D78573/new/ https://reviews.llvm.org/D78573 Files: clang/include/clang/AST/ASTContext.h

[PATCH] D78572: [Clang][Sema] Capturing section type conflicts on #pragma clang section

2020-05-07 Thread Lucas Prates via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG0dac639f285a: [Clang][Sema] Capturing section type conflicts on #pragma clang section (authored by pratlucas). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D78573: [Clang][Sema] Capturing section type conflicts between #pragma clang section and section attributes

2020-05-07 Thread Lucas Prates via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG9d39df03a984: [Clang][Sema] Capturing section type conflicts between #pragma clang section… (authored by pratlucas). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D78573: [Clang][Sema] Capturing section type conflicts between #pragma clang section and section attributes

2020-05-07 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas updated this revision to Diff 262594. pratlucas added a comment. Addressing review comment. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D78573/new/ https://reviews.llvm.org/D78573 Files: clang/include/clang/AST/ASTContext.h

[PATCH] D78572: [Clang][Sema] Capturing section type conflicts on #pragma clang section

2020-05-07 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas updated this revision to Diff 262592. pratlucas added a comment. Addressing review comment. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D78572/new/ https://reviews.llvm.org/D78572 Files: clang/include/clang/AST/ASTContext.h

[PATCH] D79721: [Clang][AArch64] Capturing proper pointer alignment for Neon vld1 intrinsicts

2020-05-11 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas created this revision. Herald added subscribers: cfe-commits, danielkiss, kristof.beyls. Herald added a project: clang. pratlucas added reviewers: t.p.northover, ostannard, pcc. During CodeGen for AArch64 Neon intrinsics, Clang was incorrectly assuming all the pointers from which loads

[PATCH] D75169: [ARM] Enforcing calling convention for half-precision FP arguments and returns for big-endian AArch32

2020-03-18 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas added a comment. > Oh, wait, AAPCS wants half values to be passed in the *least* significant > bits of a GPR, even on big-endian machines? That's certainly more convenient, > but it's a weird inconsistency with the otherwise iron rule of the calling > convention, which that it's

[PATCH] D74618: [ARM] Creating 'call_mangled' for Neon intrinsics definitions

2020-03-19 Thread Lucas Prates via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGd42711625af8: [ARM] Creating call_mangled for Neon intrinsics definitions (authored by pratlucas). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D74618/new/

[PATCH] D74616: [ARM] Setting missing isLaneQ attribute on Neon Intrisics definitions

2020-03-19 Thread Lucas Prates via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGdade859b5882: [ARM] Setting missing isLaneQ attribute on Neon Intrisics definitions (authored by pratlucas). Herald added a subscriber: danielkiss. Repository: rG LLVM Github Monorepo CHANGES SINCE

[PATCH] D74766: [ARM] Fixing range checks for Neon's vqdmulhq_lane and vqrdmulhq_lane intrinsics

2020-03-19 Thread Lucas Prates via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGd4ad386ee195: [ARM] Fixing range checks for Neons vqdmulhq_lane and vqrdmulhq_lane intrinsics (authored by pratlucas). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D75169: [ARM] Enforcing calling convention for half-precision FP arguments and returns for big-endian AArch32

2020-03-17 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas added a comment. Hi @rjmccall, I agree those kind of tweaks do not look good. The issue here, though, is that argument coercion currently ignores the target's endian information when performing coercion through memory. This happens for any type that requires memory coercion, so

[PATCH] D75903: [AArch64][CodeGen] Fixing stack alignment of HFA arguments on AArch64 PCS

2020-03-20 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas added a comment. Ping. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75903/new/ https://reviews.llvm.org/D75903 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D75904: [ARM][CodeGen] Fixing stack alignment of HFA arguments on AArch32 PCS

2020-03-20 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas added a comment. Ping. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75904/new/ https://reviews.llvm.org/D75904 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D74619: [ARM] Enabling range checks on Neon intrinsics' lane arguments

2020-03-23 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas added a comment. Hi @leonardchan , I've double-checked the Neon intrinsics reference and it indeed confirms that the only allowed value for the lane argument for `vdupq_lane_f64` is `0`: Argument Preparation vec → Vn.1D 0 << lane << 0

[PATCH] D75169: [ARM] Supporting lowering of half-precision FP arguments and returns in AArch32's backend

2020-08-25 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas added a comment. Hi @hans , I'll have a look at it! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75169/new/ https://reviews.llvm.org/D75169 ___ cfe-commits mailing list

[PATCH] D79721: [Clang][AArch64] Capturing proper pointer alignment for Neon vld1 intrinsicts

2020-05-27 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas updated this revision to Diff 266504. pratlucas added a comment. Hi @efriedma and @plotf, Thank you the reduced test and for reverting the original patch. I've updated it to avoid the issue while still capturing the proper argument alignment. Do you mind taking a look before a reland

[PATCH] D79721: [Clang][AArch64] Capturing proper pointer alignment for Neon vld1 intrinsicts

2020-05-26 Thread Lucas Prates via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG98cad555e291: [Clang][AArch64] Capturing proper pointer alignment for Neon vld1 intrinsicts (authored by pratlucas). Changed prior to commit: https://reviews.llvm.org/D79721?vs=263188=266138#toc

[PATCH] D79721: [Clang][AArch64] Capturing proper pointer alignment for Neon vld1 intrinsicts

2020-05-20 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas added a comment. Ping. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79721/new/ https://reviews.llvm.org/D79721 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D79721: [Clang][AArch64] Capturing proper pointer alignment for Neon vld1 intrinsicts

2020-06-02 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas updated this revision to Diff 267905. pratlucas added a comment. Addressing review comments and extending tests. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79721/new/ https://reviews.llvm.org/D79721 Files:

[PATCH] D79721: [Clang][AArch64] Capturing proper pointer alignment for Neon vld1 intrinsicts

2020-06-02 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas marked 5 inline comments as done. pratlucas added inline comments. Comment at: clang/lib/CodeGen/CGBuiltin.cpp:10334 Ops[0] = Builder.CreateBitCast(Ops[0], llvm::PointerType::getUnqual(VTy)); -auto Alignment = CharUnits::fromQuantity( -BuiltinID ==

[PATCH] D80716: [AArch64]: BFloat Load/Store Intrinsics

2020-06-02 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas added inline comments. Comment at: clang/lib/CodeGen/CGBuiltin.cpp:10366 +auto Alignment = CGM.getNaturalPointeeTypeAlignment( +E->getArg(0)->IgnoreParenCasts()->getType()); Ops[0] = Builder.CreateBitCast(Ops[0], llvm::PointerType::getUnqual(VTy));

[PATCH] D75169: [ARM] Supporting lowering of half-precision FP arguments and returns in AArch32's backend

2020-06-18 Thread Lucas Prates via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGa255931c4055: [ARM] Supporting lowering of half-precision FP arguments and returns in… (authored by pratlucas). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D81428: [ARM] Moving CMSE handling of half arguments and return to the backend

2020-06-18 Thread Lucas Prates via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG92ad6d57c218: [ARM] Moving CMSE handling of half arguments and return to the backend (authored by pratlucas). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D81451: [ARM][Clang] Removing lowering of half-precision FP arguments and returns from Clang's CodeGen

2020-06-18 Thread Lucas Prates via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGada4c9dc4a63: [ARM][Clang] Removing lowering of half-precision FP arguments and returns from… (authored by pratlucas). Changed prior to commit: https://reviews.llvm.org/D81451?vs=269453=271677#toc

[PATCH] D81451: [ARM][Clang] Removing lowering of half-precision FP arguments and returns from Clang's CodeGen

2020-06-15 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas added a comment. Hi @stuij, The changes to the backend only handle the half (f16) type itself, not vectors that have it as their base type. From what I've checked on the AAPCS, the rules for handling those types are a bit different and they would require their own handling in the

[PATCH] D75169: [ARM] Supporting lowering of half-precision FP arguments and returns in AArch32's backend

2020-06-10 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas updated this revision to Diff 269915. pratlucas marked 2 inline comments as done. pratlucas added a comment. Clean-ups + fixing failure in CodeGen/ARM/half.ll test. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75169/new/

[PATCH] D75169: [ARM] Supporting lowering of half-precision FP arguments and returns in AArch32's backend

2020-06-10 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas marked an inline comment as done. pratlucas added inline comments. Comment at: llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:524 + CallConv)) +return; EVT ValueVT = Val.getValueType(); efriedma wrote:

[PATCH] D79721: [Clang][AArch64] Capturing proper pointer alignment for Neon vld1 intrinsicts

2020-06-03 Thread Lucas Prates via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG8beaba13b8a6: [Clang][AArch64] Capturing proper pointer alignment for Neon vld1 intrinsicts (authored by pratlucas). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D81428: [ARM] Moving CMSE handling of half arguments and return to the backend

2020-06-08 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas created this revision. Herald added subscribers: llvm-commits, cfe-commits, danielkiss, hiraditya, kristof.beyls. Herald added projects: clang, LLVM. pratlucas added reviewers: chill, rjmccall, ostannard. pratlucas added a parent revision: D75169: [ARM] Enforcing calling convention for

[PATCH] D81428: [ARM] Moving CMSE handling of half arguments and return to the backend

2020-06-11 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas updated this revision to Diff 270160. pratlucas added a comment. Addressing review comment. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81428/new/ https://reviews.llvm.org/D81428 Files: llvm/lib/Target/ARM/ARMISelLowering.cpp

[PATCH] D81428: [ARM] Moving CMSE handling of half arguments and return to the backend

2020-06-11 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas marked 4 inline comments as done. pratlucas added inline comments. Comment at: llvm/lib/Target/ARM/ARMISelLowering.cpp:2267 +// Mask f16 arguments if this is a CMSE nonsecure call +auto ArgVT = Outs[realArgIdx].ArgVT; ostannard wrote: > Could

[PATCH] D81428: [ARM] Moving CMSE handling of half arguments and return to the backend

2020-06-11 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas updated this revision to Diff 270149. pratlucas added a comment. Rebasing and simplifying function attributes on test. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81428/new/ https://reviews.llvm.org/D81428 Files:

[PATCH] D75169: [ARM] Supporting lowering of half-precision FP arguments and returns in AArch32's backend

2020-06-11 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas updated this revision to Diff 270143. pratlucas added a comment. Fixing failure on CodeGen/ARM/GlobalISel/arm-unsupported.ll and making clang-format happy. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75169/new/

[PATCH] D75169: [ARM] Supporting lowering of half-precision FP arguments and returns in AArch32's backend

2020-06-12 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas added a comment. Hi @efriedma, From @SjoerdMeijer's comment and the links he pointed to, it seems to me that making `f16` types legal for all ARM subtargets would be a major undertaking and far from trivial to implement. It's also not clear to me how significant would be the returns

[PATCH] D81428: [ARM] Moving CMSE handling of half arguments and return to the backend

2020-06-09 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas updated this revision to Diff 269452. pratlucas added a comment. Moving the clean-up of the Clang-side handling to a separate patch. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81428/new/ https://reviews.llvm.org/D81428 Files:

[PATCH] D81451: [ARM][Clang] Removing lowering of half-precision FP arguments and returns from Clang's CodeGen

2020-06-09 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas created this revision. Herald added subscribers: cfe-commits, danielkiss, dmgreen, kristof.beyls. Herald added a project: clang. pratlucas added a parent revision: D81428: [ARM] Moving CMSE handling of half arguments and return to the backend. pratlucas added reviewers: rjmccall, chill,

[PATCH] D75169: [ARM] Supporting lowering of half-precision FP arguments and returns in AArch32's backend

2020-06-09 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas updated this revision to Diff 269450. pratlucas added a comment. Splitting the patch into two parts: one for introducing the half-precision handling into AArch32's backend and one for removing the existing coercion of those arguments from Clang. Repository: rG LLVM Github Monorepo

[PATCH] D75169: [ARM] Supporting lowering of half-precision FP arguments and returns in AArch32's backend

2020-06-09 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas updated this revision to Diff 269466. pratlucas added a comment. Formatting patch. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D75169/new/ https://reviews.llvm.org/D75169 Files: llvm/include/llvm/CodeGen/TargetLowering.h

[PATCH] D93232: [AArch64] Adding ACLE intrinsics for the LS64 extension

2021-01-12 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas added a comment. Ping. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D93232/new/ https://reviews.llvm.org/D93232 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D94233: [NFC] make clang/test/CodeGen/arm_neon_intrinsics.c resistent to function attribute id changes

2021-01-07 Thread Lucas Prates via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG59fce6b06616: [NFC] make clang/test/CodeGen/arm_neon_intrinsics.c resistent to function… (authored by jeroen.dobbelaere, committed by pratlucas). Herald added a project: clang. Herald added a subscriber:

[PATCH] D94233: [NFC] make clang/test/CodeGen/arm_neon_intrinsics.c resistent to function attribute id changes

2021-01-07 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas added a comment. No problem! I've pushed the commit on your behalf. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D94233/new/ https://reviews.llvm.org/D94233 ___ cfe-commits mailing list

[PATCH] D91776: [ARM][AAarch64] Initial command-line support for v8.7-A

2020-12-17 Thread Lucas Prates via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGc4d851b07903: [ARM][AAarch64] Initial command-line support for v8.7-A (authored by pratlucas). Repository: rG LLVM Github Monorepo CHANGES SINCE

[PATCH] D93231: [ARM] Adding v8.7-A command-line support for the ARM target

2020-12-17 Thread Lucas Prates via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGc5046ebdf6e4: [ARM] Adding v8.7-A command-line support for the ARM target (authored by pratlucas). Repository: rG LLVM Github Monorepo CHANGES

[PATCH] D91776: [ARM][AAarch64] Initial command-line support for v8.7-A

2020-12-14 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas updated this revision to Diff 311624. pratlucas added a comment. Rebasing. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D91776/new/ https://reviews.llvm.org/D91776 Files: clang/lib/Basic/Targets/AArch64.cpp

[PATCH] D93231: [ARM] Adding v8.7-A command-line support for the ARM target

2020-12-14 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas created this revision. Herald added subscribers: dexonsmith, danielkiss, hiraditya, kristof.beyls. pratlucas requested review of this revision. Herald added projects: clang, LLVM. Herald added subscribers: llvm-commits, cfe-commits. This extends the command-line support for the

[PATCH] D93232: [AArch64] Adding ACLE intrinsics for the LS64 extension

2020-12-14 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas created this revision. Herald added subscribers: danielkiss, jfb, hiraditya, kristof.beyls. pratlucas requested review of this revision. Herald added projects: clang, LLVM. Herald added subscribers: llvm-commits, cfe-commits. This introduces the ARMv8.7-A LS64 extension's intrinsics for

[PATCH] D91776: [ARM][AAarch64] Initial command-line support for v8.7-A

2020-11-19 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas created this revision. Herald added subscribers: llvm-commits, cfe-commits, danielkiss, hiraditya, kristof.beyls. Herald added projects: clang, LLVM. pratlucas requested review of this revision. This introduces command-line support for the 'armv8.7-a' architecture name (and an alias

[PATCH] D90765: [ARM][AArch64] Adding Neoverse V1 CPU support

2020-11-09 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas updated this revision to Diff 303803. pratlucas added a comment. Removing extra includes. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D90765/new/ https://reviews.llvm.org/D90765 Files: clang/test/Driver/aarch64-cpus.c

[PATCH] D90765: [ARM][AArch64] Adding Neoverse V1 CPU support

2020-11-09 Thread Lucas Prates via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGc2c2cc136013: [ARM][AArch64] Adding Neoverse V1 CPU support (authored by pratlucas). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST

[PATCH] D90765: [ARM][AArch64] Adding Neoverse V1 CPU support

2020-11-04 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas created this revision. Herald added subscribers: llvm-commits, cfe-commits, danielkiss, hiraditya, kristof.beyls. Herald added projects: clang, LLVM. pratlucas requested review of this revision. Add support for the Neoverse V1 CPU to the ARM and AArch64 backends. This is based on

[PATCH] D90765: [ARM][AArch64] Adding Neoverse V1 CPU support

2020-11-05 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas updated this revision to Diff 303091. pratlucas added a comment. Addressing comments. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D90765/new/ https://reviews.llvm.org/D90765 Files: clang/test/Driver/aarch64-cpus.c

[PATCH] D90765: [ARM][AArch64] Adding Neoverse V1 CPU support

2020-11-06 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas updated this revision to Diff 303486. pratlucas added a comment. Updating default extensions in target parser to match tablegen features. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D90765/new/ https://reviews.llvm.org/D90765 Files:

[PATCH] D93232: [AArch64] Adding ACLE intrinsics for the LS64 extension

2021-01-14 Thread Lucas Prates via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG2b1e25befefc: [AArch64] Adding ACLE intrinsics for the LS64 extension (authored by pratlucas). Repository: rG LLVM Github Monorepo CHANGES SINCE

[PATCH] D93232: [AArch64] Adding ACLE intrinsics for the LS64 extension

2021-01-04 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas added a comment. Ping. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D93232/new/ https://reviews.llvm.org/D93232 ___ cfe-commits mailing list cfe-commits@lists.llvm.org

[PATCH] D93101: [Clang][Codegen] Truncate initializers of union bitfield members

2021-01-27 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas accepted this revision. pratlucas added a comment. This revision is now accepted and ready to land. The truncate conditions look a lot better and the test coverage seems reasonable now. LGTM. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D110065: [AArch64] Add support for the 'R' architecture profile.

2021-09-23 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas added inline comments. Comment at: llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp:3299 static void setRequiredFeatureString(FeatureBitset FBS, std::string ) { if (FBS[AArch64::HasV8_1aOps]) Str += "ARMv8.1a"; As features can now depend

[PATCH] D110241: [docs] List support for Armv9-A, Armv9.1-A and Armv9.2-A in LLVM and Clang

2021-09-22 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas accepted this revision. pratlucas added a comment. This revision is now accepted and ready to land. LGTM. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D110241/new/ https://reviews.llvm.org/D110241

[PATCH] D115694: [ARM] Introduce an empty "armv8.8-a" architecture.

2021-12-31 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas accepted this revision. pratlucas added a comment. LGTM Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D115694/new/ https://reviews.llvm.org/D115694 ___ cfe-commits mailing list

[PATCH] D125094: [ARM][Thumb] Command-line option to ensure AAPCS compliant Frame Records

2022-05-20 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas updated this revision to Diff 430991. pratlucas marked 2 inline comments as done. pratlucas added a comment. Addressing review comments. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D125094/new/ https://reviews.llvm.org/D125094 Files:

[PATCH] D125094: [ARM][Thumb] Command-line option to ensure AAPCS compliant Frame Records

2022-05-20 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas marked 4 inline comments as done. pratlucas added inline comments. Comment at: llvm/lib/Target/ARM/ARMFrameLowering.cpp:1844 +for (const auto : MBB) + if (MI.getOpcode() == ARM::tSTRspi || MI.getOpcode() == ARM::tSTRi) +for (const auto :

[PATCH] D125094: [ARM][Thumb] Command-line option to ensure AAPCS compliant Frame Records

2022-05-13 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas marked an inline comment as done. pratlucas added inline comments. Comment at: llvm/lib/Target/ARM/Thumb1FrameLowering.cpp:242 + // Find last push instruction for GPRCS2 - spilling of high registers + // (r8-r11) could consist of multiple tPUSH and tMOVr

[PATCH] D125094: [ARM][Thumb] Command-line option to ensure AAPCS compliant Frame Records

2022-05-13 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas updated this revision to Diff 429237. pratlucas added a comment. Adding frame access test coverage, adding check for FrameSetup flag and adjusting calculation of FP value. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D125094/new/

[PATCH] D125094: [ARM][Thumb] Command-line option to ensure AAPCS compliant Frame Records

2022-05-24 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas marked 2 inline comments as done. pratlucas added inline comments. Comment at: llvm/lib/Target/ARM/Thumb1FrameLowering.cpp:1167 + STI.hasV5TOps()); + // Only unused return registers can be used as copy regs at this point + popRegsFromStack(MBB, MI,

[PATCH] D125094: [ARM][Thumb] Command-line option to ensure AAPCS compliant Frame Records

2022-05-24 Thread Lucas Prates via Phabricator via cfe-commits
pratlucas updated this revision to Diff 431634. pratlucas marked 2 inline comments as done. pratlucas added a comment. Avoiding unecessary uses of FP and addressing review comments. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D125094/new/

  1   2   >