Page MenuHomePhabricator

pratlucas (Lucas Prates)
User

Projects

User does not belong to any projects.

User Details

User Since
Jan 21 2020, 7:29 AM (10 w, 1 d)

Recent Activity

Yesterday

pratlucas updated the diff for D77048: [Clang][CodeGen] Fixing mismatch between memory layout and const expressions for oversized bitfields.

Removing unecessary handling of padding bits.

Wed, Apr 1, 4:24 AM · Restricted Project
pratlucas added inline comments to D77048: [Clang][CodeGen] Fixing mismatch between memory layout and const expressions for oversized bitfields.
Wed, Apr 1, 4:24 AM · Restricted Project

Tue, Mar 31

pratlucas added a comment to D75169: [ARM] Enforcing calling convention for half-precision FP arguments and returns for big-endian AArch32.

Why not just make half as an argument do the right thing for that case?

Tue, Mar 31, 3:51 AM · Restricted Project

Mon, Mar 30

pratlucas updated the diff for D77048: [Clang][CodeGen] Fixing mismatch between memory layout and const expressions for oversized bitfields.

Formatting.

Mon, Mar 30, 5:55 AM · Restricted Project
pratlucas edited reviewers for D75903: [AArch64][CodeGen] Fixing stack alignment of HFA arguments on AArch64 PCS, added: ostannard; removed: olista01.
Mon, Mar 30, 4:17 AM · Restricted Project, Restricted Project
pratlucas edited reviewers for D75904: [ARM][CodeGen] Fixing stack alignment of HFA arguments on AArch32 PCS, added: ostannard; removed: olista01.
Mon, Mar 30, 4:17 AM · Restricted Project, Restricted Project
pratlucas added reviewers for D77048: [Clang][CodeGen] Fixing mismatch between memory layout and const expressions for oversized bitfields: rsmith, eli.friedman.
Mon, Mar 30, 4:17 AM · Restricted Project
pratlucas created D77048: [Clang][CodeGen] Fixing mismatch between memory layout and const expressions for oversized bitfields.
Mon, Mar 30, 3:44 AM · Restricted Project

Mon, Mar 23

pratlucas added a comment to D74619: [ARM] Enabling range checks on Neon intrinsics' lane arguments.

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
Mon, Mar 23, 2:43 AM · Restricted Project

Fri, Mar 20

pratlucas added a comment to D75904: [ARM][CodeGen] Fixing stack alignment of HFA arguments on AArch32 PCS.

Ping.

Fri, Mar 20, 3:13 AM · Restricted Project, Restricted Project
pratlucas added a comment to D75903: [AArch64][CodeGen] Fixing stack alignment of HFA arguments on AArch64 PCS.

Ping.

Fri, Mar 20, 3:13 AM · Restricted Project, Restricted Project

Thu, Mar 19

pratlucas committed rGf56550cf7f12: [ARM] Enabling range checks on Neon intrinsics' lane arguments (authored by pratlucas).
[ARM] Enabling range checks on Neon intrinsics' lane arguments
Thu, Mar 19, 5:22 AM
pratlucas committed rGd4ad386ee195: [ARM] Fixing range checks for Neon's vqdmulhq_lane and vqrdmulhq_lane intrinsics (authored by pratlucas).
[ARM] Fixing range checks for Neon's vqdmulhq_lane and vqrdmulhq_lane intrinsics
Thu, Mar 19, 5:22 AM
pratlucas committed rGd42711625af8: [ARM] Creating 'call_mangled' for Neon intrinsics definitions (authored by pratlucas).
[ARM] Creating 'call_mangled' for Neon intrinsics definitions
Thu, Mar 19, 5:22 AM
pratlucas closed D74766: [ARM] Fixing range checks for Neon's vqdmulhq_lane and vqrdmulhq_lane intrinsics.
Thu, Mar 19, 5:22 AM · Restricted Project
pratlucas closed D74619: [ARM] Enabling range checks on Neon intrinsics' lane arguments.
Thu, Mar 19, 5:22 AM · Restricted Project
pratlucas committed rG62ab15ffa3f9: [ARM] Setting missing isLaneQ attribute on Neon Intrisics definitions (authored by pratlucas).
[ARM] Setting missing isLaneQ attribute on Neon Intrisics definitions
Thu, Mar 19, 5:22 AM
pratlucas closed D74618: [ARM] Creating 'call_mangled' for Neon intrinsics definitions.
Thu, Mar 19, 5:22 AM · Restricted Project
pratlucas committed rGdade859b5882: [ARM] Setting missing isLaneQ attribute on Neon Intrisics definitions (authored by pratlucas).
[ARM] Setting missing isLaneQ attribute on Neon Intrisics definitions
Thu, Mar 19, 5:22 AM
pratlucas committed rG7bf23563f4d8: Revert "[ARM] Setting missing isLaneQ attribute on Neon Intrisics definitions" (authored by pratlucas).
Revert "[ARM] Setting missing isLaneQ attribute on Neon Intrisics definitions"
Thu, Mar 19, 5:22 AM
pratlucas closed D74616: [ARM] Setting missing isLaneQ attribute on Neon Intrisics definitions.
Thu, Mar 19, 5:22 AM · Restricted Project

Wed, Mar 18

pratlucas added a comment to D75169: [ARM] Enforcing calling convention for half-precision FP arguments and returns for big-endian AArch32.

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 exactly as if you laid all of the arguments out in memory and then popped the first four 32-bit values off. We're talking about a calling convention here that literally skips registers in order to "align" arguments.

Can we not just coerce to i16? Will LLVM not pass an i16 in the least-significant bits of a register?

Wed, Mar 18, 5:24 AM · Restricted Project

Tue, Mar 17

pratlucas added a comment to D75169: [ARM] Enforcing calling convention for half-precision FP arguments and returns for big-endian AArch32.

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 unfortunately using [1 x i32] does not do the trick.
Let me know if you have any other sugestions for handling this, I'd be glad to avoid the ABIArgInfo approach.

Tue, Mar 17, 7:57 AM · Restricted Project

Thu, Mar 12

pratlucas updated the diff for D74618: [ARM] Creating 'call_mangled' for Neon intrinsics definitions.

Adding example to call_mangled description comment.

Thu, Mar 12, 10:51 AM · Restricted Project
pratlucas added a comment to D75169: [ARM] Enforcing calling convention for half-precision FP arguments and returns for big-endian AArch32.

Ping.

Thu, Mar 12, 10:18 AM · Restricted Project
pratlucas added a comment to D74619: [ARM] Enabling range checks on Neon intrinsics' lane arguments.

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, but would also bring inconsistencies with the current indentation style of the entire file.

Thu, Mar 12, 5:13 AM · Restricted Project
pratlucas updated the diff for D74619: [ARM] Enabling range checks on Neon intrinsics' lane arguments.

Fixing missing format issue.

Thu, Mar 12, 3:46 AM · Restricted Project

Wed, Mar 11

pratlucas added a comment to D75903: [AArch64][CodeGen] Fixing stack alignment of HFA arguments on AArch64 PCS.

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.
Wed, Mar 11, 9:37 AM · Restricted Project, Restricted Project

Tue, Mar 10

pratlucas updated the diff for D74766: [ARM] Fixing range checks for Neon's vqdmulhq_lane and vqrdmulhq_lane intrinsics.

Clang-format.

Tue, Mar 10, 8:39 AM · Restricted Project
pratlucas updated the diff for D74619: [ARM] Enabling range checks on Neon intrinsics' lane arguments.

Clang-format.

Tue, Mar 10, 8:39 AM · Restricted Project
pratlucas updated the diff for D75903: [AArch64][CodeGen] Fixing stack alignment of HFA arguments on AArch64 PCS.

Clang-format.

Tue, Mar 10, 6:58 AM · Restricted Project, Restricted Project
pratlucas updated the diff for D74766: [ARM] Fixing range checks for Neon's vqdmulhq_lane and vqrdmulhq_lane intrinsics.

Adding check for valid range on tests.

Tue, Mar 10, 6:24 AM · Restricted Project
pratlucas updated the diff for D74619: [ARM] Enabling range checks on Neon intrinsics' lane arguments.

Adding check for valid range on tests.

Tue, Mar 10, 6:24 AM · Restricted Project
pratlucas added reviewers for D75904: [ARM][CodeGen] Fixing stack alignment of HFA arguments on AArch32 PCS: t.p.northover, olista01, rnk, asl.
Tue, Mar 10, 4:29 AM · Restricted Project, Restricted Project
pratlucas added reviewers for D75903: [AArch64][CodeGen] Fixing stack alignment of HFA arguments on AArch64 PCS: t.p.northover, rnk, olista01, bogner.
Tue, Mar 10, 4:29 AM · Restricted Project, Restricted Project
pratlucas added a parent revision for D75904: [ARM][CodeGen] Fixing stack alignment of HFA arguments on AArch32 PCS: D75903: [AArch64][CodeGen] Fixing stack alignment of HFA arguments on AArch64 PCS.
Tue, Mar 10, 4:29 AM · Restricted Project, Restricted Project
pratlucas added a child revision for D75903: [AArch64][CodeGen] Fixing stack alignment of HFA arguments on AArch64 PCS: D75904: [ARM][CodeGen] Fixing stack alignment of HFA arguments on AArch32 PCS.
Tue, Mar 10, 4:29 AM · Restricted Project, Restricted Project
pratlucas created D75904: [ARM][CodeGen] Fixing stack alignment of HFA arguments on AArch32 PCS.
Tue, Mar 10, 4:29 AM · Restricted Project, Restricted Project
pratlucas created D75903: [AArch64][CodeGen] Fixing stack alignment of HFA arguments on AArch64 PCS.
Tue, Mar 10, 4:29 AM · Restricted Project, Restricted Project

Fri, Mar 6

pratlucas committed rG0ba553d153e6: [MC] Allowing the use of $-prefixed integer as asm identifiers (authored by pratlucas).
[MC] Allowing the use of $-prefixed integer as asm identifiers
Fri, Mar 6, 8:48 AM
pratlucas committed rGaf1c2e561e5f: [ARM] Fix dropped dollar sign from symbols in branch targets (authored by pratlucas).
[ARM] Fix dropped dollar sign from symbols in branch targets
Fri, Mar 6, 8:48 AM
pratlucas closed D75111: [MC] Allowing the use of $-prefixed integer as asm identifiers.
Fri, Mar 6, 8:48 AM · Restricted Project
pratlucas closed D73176: [ARM] Fix dropped dollar sign from symbols in branch targets.
Fri, Mar 6, 8:48 AM · Restricted Project
pratlucas edited parent revisions for D74618: [ARM] Creating 'call_mangled' for Neon intrinsics definitions, added: 1; removed: 1.
Fri, Mar 6, 8:46 AM · Restricted Project
pratlucas removed a child revision for D74617: [ARM] Keeping sign information on bitcasts for Neon vdot_lane intrinsics: D74618: [ARM] Creating 'call_mangled' for Neon intrinsics definitions.
Fri, Mar 6, 8:46 AM · Restricted Project
pratlucas added a child revision for D74616: [ARM] Setting missing isLaneQ attribute on Neon Intrisics definitions: D74618: [ARM] Creating 'call_mangled' for Neon intrinsics definitions.
Fri, Mar 6, 8:46 AM · Restricted Project
pratlucas updated the diff for D74618: [ARM] Creating 'call_mangled' for Neon intrinsics definitions.

Applying clang-format.

Fri, Mar 6, 1:39 AM · Restricted Project

Thu, Mar 5

pratlucas updated the diff for D73176: [ARM] Fix dropped dollar sign from symbols in branch targets.

Formatting patch according to clang-format and clang-tidy.

Thu, Mar 5, 9:18 AM · Restricted Project
pratlucas updated the diff for D74619: [ARM] Enabling range checks on Neon intrinsics' lane arguments.

Merging content from D74617 into this revision.

Thu, Mar 5, 9:17 AM · Restricted Project
pratlucas updated the diff for D74618: [ARM] Creating 'call_mangled' for Neon intrinsics definitions.

Addressing review comment

Thu, Mar 5, 9:17 AM · Restricted Project
pratlucas abandoned D74617: [ARM] Keeping sign information on bitcasts for Neon vdot_lane intrinsics.
Thu, Mar 5, 8:45 AM · Restricted Project
pratlucas added a comment to D74617: [ARM] Keeping sign information on bitcasts for Neon vdot_lane intrinsics.

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 into D74619, where call_mangled gets used.

Thu, Mar 5, 8:45 AM · Restricted Project
pratlucas updated the diff for D73176: [ARM] Fix dropped dollar sign from symbols in branch targets.

Addressing review.

Thu, Mar 5, 6:35 AM · Restricted Project
pratlucas added inline comments to D73176: [ARM] Fix dropped dollar sign from symbols in branch targets.
Thu, Mar 5, 6:35 AM · Restricted Project
pratlucas updated the diff for D73176: [ARM] Fix dropped dollar sign from symbols in branch targets.

Addressing review comment.

Thu, Mar 5, 6:35 AM · Restricted Project

Wed, Mar 4

pratlucas added a comment to D73176: [ARM] Fix dropped dollar sign from symbols in branch targets.

Ping.

Wed, Mar 4, 2:52 AM · Restricted Project

Mar 2 2020

pratlucas updated the diff for D75111: [MC] Allowing the use of $-prefixed integer as asm identifiers.

Clang-format fixes.

Mar 2 2020, 3:54 AM · Restricted Project
pratlucas added reviewers for D74619: [ARM] Enabling range checks on Neon intrinsics' lane arguments: rsmith, olista01.
Mar 2 2020, 2:18 AM · Restricted Project
pratlucas added reviewers for D74766: [ARM] Fixing range checks for Neon's vqdmulhq_lane and vqrdmulhq_lane intrinsics: rsmith, olista01.
Mar 2 2020, 2:18 AM · Restricted Project
pratlucas added reviewers for D74618: [ARM] Creating 'call_mangled' for Neon intrinsics definitions: rsmith, olista01.
Mar 2 2020, 2:18 AM · Restricted Project
pratlucas added reviewers for D74617: [ARM] Keeping sign information on bitcasts for Neon vdot_lane intrinsics: rsmith, olista01.
Mar 2 2020, 2:07 AM · Restricted Project
pratlucas added reviewers for D74616: [ARM] Setting missing isLaneQ attribute on Neon Intrisics definitions: rsmith, olista01.
Mar 2 2020, 2:07 AM · Restricted Project
pratlucas added inline comments to D75111: [MC] Allowing the use of $-prefixed integer as asm identifiers.
Mar 2 2020, 1:54 AM · Restricted Project
pratlucas updated the diff for D75111: [MC] Allowing the use of $-prefixed integer as asm identifiers.

Updating outdated comment.

Mar 2 2020, 1:54 AM · Restricted Project

Feb 26 2020

pratlucas added reviewers for D75169: [ARM] Enforcing calling convention for half-precision FP arguments and returns for big-endian AArch32: rjmccall, lattner, olista01, rudkx.
Feb 26 2020, 5:49 AM · Restricted Project
pratlucas created D75169: [ARM] Enforcing calling convention for half-precision FP arguments and returns for big-endian AArch32.
Feb 26 2020, 5:22 AM · Restricted Project
pratlucas updated the diff for D75111: [MC] Allowing the use of $-prefixed integer as asm identifiers.

Addressing review comments.

Feb 26 2020, 3:12 AM · Restricted Project

Feb 25 2020

pratlucas added reviewers for D75111: [MC] Allowing the use of $-prefixed integer as asm identifiers: efriedma, chill.
Feb 25 2020, 5:11 AM · Restricted Project
pratlucas added a child revision for D73176: [ARM] Fix dropped dollar sign from symbols in branch targets: D75111: [MC] Allowing the use of $-prefixed integer as asm identifiers.
Feb 25 2020, 5:11 AM · Restricted Project
pratlucas added a parent revision for D75111: [MC] Allowing the use of $-prefixed integer as asm identifiers: D73176: [ARM] Fix dropped dollar sign from symbols in branch targets.
Feb 25 2020, 5:11 AM · Restricted Project
pratlucas created D75111: [MC] Allowing the use of $-prefixed integer as asm identifiers.
Feb 25 2020, 5:09 AM · Restricted Project
pratlucas updated the diff for D73176: [ARM] Fix dropped dollar sign from symbols in branch targets.

Removed restriction of branch instruction mnemonic for allowing $-prefixed
symbol names in operands, resolving ambriguity in favor of symbol names over
expression start.

Feb 25 2020, 5:09 AM · Restricted Project

Feb 24 2020

pratlucas added a comment to D73176: [ARM] Fix dropped dollar sign from symbols in branch targets.

I agree with resolving the ambiguity in favor of identifiers regardless of the mnemonic for the general-case operand parsing, avoiding inconsistencies. Specific cases where constant immediates are explicitly expected are currently handled by their own ParseMethod implementation.
If there's no objection, I'll update the patch to reflect this behavior.

Feb 24 2020, 6:22 AM · Restricted Project

Feb 18 2020

pratlucas added reviewers for D74766: [ARM] Fixing range checks for Neon's vqdmulhq_lane and vqrdmulhq_lane intrinsics: jmolloy, t.p.northover.
Feb 18 2020, 6:44 AM · Restricted Project
pratlucas added a parent revision for D74766: [ARM] Fixing range checks for Neon's vqdmulhq_lane and vqrdmulhq_lane intrinsics: D74619: [ARM] Enabling range checks on Neon intrinsics' lane arguments.
Feb 18 2020, 6:43 AM · Restricted Project
pratlucas added a child revision for D74619: [ARM] Enabling range checks on Neon intrinsics' lane arguments: D74766: [ARM] Fixing range checks for Neon's vqdmulhq_lane and vqrdmulhq_lane intrinsics.
Feb 18 2020, 6:43 AM · Restricted Project
pratlucas created D74766: [ARM] Fixing range checks for Neon's vqdmulhq_lane and vqrdmulhq_lane intrinsics.
Feb 18 2020, 6:42 AM · Restricted Project
pratlucas updated the diff for D74619: [ARM] Enabling range checks on Neon intrinsics' lane arguments.

Adding test for the intrinsics range checks.

Feb 18 2020, 4:56 AM · Restricted Project

Feb 14 2020

pratlucas added reviewers for D74619: [ARM] Enabling range checks on Neon intrinsics' lane arguments: jmolloy, t.p.northover.
Feb 14 2020, 8:32 AM · Restricted Project
pratlucas updated the summary of D74617: [ARM] Keeping sign information on bitcasts for Neon vdot_lane intrinsics.
Feb 14 2020, 8:32 AM · Restricted Project
pratlucas updated the summary of D74618: [ARM] Creating 'call_mangled' for Neon intrinsics definitions.
Feb 14 2020, 8:32 AM · Restricted Project
pratlucas updated the summary of D74616: [ARM] Setting missing isLaneQ attribute on Neon Intrisics definitions.
Feb 14 2020, 8:32 AM · Restricted Project
pratlucas updated the summary of D74619: [ARM] Enabling range checks on Neon intrinsics' lane arguments.
Feb 14 2020, 8:23 AM · Restricted Project
pratlucas added a parent revision for D74618: [ARM] Creating 'call_mangled' for Neon intrinsics definitions: D74617: [ARM] Keeping sign information on bitcasts for Neon vdot_lane intrinsics.
Feb 14 2020, 8:23 AM · Restricted Project
pratlucas added a child revision for D74618: [ARM] Creating 'call_mangled' for Neon intrinsics definitions: D74619: [ARM] Enabling range checks on Neon intrinsics' lane arguments.
Feb 14 2020, 8:23 AM · Restricted Project
pratlucas added a parent revision for D74619: [ARM] Enabling range checks on Neon intrinsics' lane arguments: D74618: [ARM] Creating 'call_mangled' for Neon intrinsics definitions.
Feb 14 2020, 8:23 AM · Restricted Project
pratlucas added a child revision for D74617: [ARM] Keeping sign information on bitcasts for Neon vdot_lane intrinsics: D74618: [ARM] Creating 'call_mangled' for Neon intrinsics definitions.
Feb 14 2020, 8:23 AM · Restricted Project
pratlucas added a parent revision for D74617: [ARM] Keeping sign information on bitcasts for Neon vdot_lane intrinsics: D74616: [ARM] Setting missing isLaneQ attribute on Neon Intrisics definitions.
Feb 14 2020, 8:14 AM · Restricted Project
pratlucas added a child revision for D74616: [ARM] Setting missing isLaneQ attribute on Neon Intrisics definitions: D74617: [ARM] Keeping sign information on bitcasts for Neon vdot_lane intrinsics.
Feb 14 2020, 8:14 AM · Restricted Project
pratlucas created D74617: [ARM] Keeping sign information on bitcasts for Neon vdot_lane intrinsics.
Feb 14 2020, 8:14 AM · Restricted Project
pratlucas created D74619: [ARM] Enabling range checks on Neon intrinsics' lane arguments.
Feb 14 2020, 8:14 AM · Restricted Project
pratlucas created D74618: [ARM] Creating 'call_mangled' for Neon intrinsics definitions.
Feb 14 2020, 8:14 AM · Restricted Project
pratlucas created D74616: [ARM] Setting missing isLaneQ attribute on Neon Intrisics definitions.
Feb 14 2020, 8:14 AM · Restricted Project
pratlucas abandoned D74608: [ARM] Setting missing isLaneQ attribute on Neon Intrisics definitions.
Feb 14 2020, 6:05 AM · Restricted Project
pratlucas created D74608: [ARM] Setting missing isLaneQ attribute on Neon Intrisics definitions.
Feb 14 2020, 5:55 AM · Restricted Project

Feb 11 2020

pratlucas added a comment to D73176: [ARM] Fix dropped dollar sign from symbols in branch targets.

Regarding the b $4 case, I found that the limitation currently lies in the expression/identifier parsing at the core AsmParser, which only detects $-prefixed Identifier or String tokens at the moment.
As this part of the code has no knowledge of the branch instruction context, I'm afraid updating it to accept Integer tokens as well might cause some inconsistencies in the instructions for which we drop the leading Dollar token. For example:

Feb 11 2020, 3:25 AM · Restricted Project

Feb 4 2020

pratlucas added a comment to D73176: [ARM] Fix dropped dollar sign from symbols in branch targets.

Ping.

Feb 4 2020, 3:11 AM · Restricted Project

Jan 29 2020

pratlucas updated the diff for D73176: [ARM] Fix dropped dollar sign from symbols in branch targets.

[ARM] Updating handling of $-prefixed operands for branch instructions

Jan 29 2020, 2:34 AM · Restricted Project

Jan 24 2020

pratlucas added a comment to D73176: [ARM] Fix dropped dollar sign from symbols in branch targets.

If the goal here is to match the GNU assembler, I don't think you've achieved that; gas treats "b $4" as a branch to the symbol "$4", not an absolute offset.

Jan 24 2020, 3:58 AM · Restricted Project

Jan 23 2020

pratlucas added inline comments to D73176: [ARM] Fix dropped dollar sign from symbols in branch targets.
Jan 23 2020, 8:01 AM · Restricted Project