[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] 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-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] 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-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] 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-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] 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-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] 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] 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] 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] 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] 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-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] 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 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-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] 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] 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] 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-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] 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] 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] 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] 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] 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] 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-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] 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] 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] 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] 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

<    1   2