[PATCH] D44815: [AArch64]: Add support for parsing rN registers.

2018-03-29 Thread Manoj Gupta via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL328829: [AArch64]: Add support for parsing rN registers. (authored by manojgupta, committed by ). Herald added a subscriber: llvm-commits. Repository: rL LLVM https://reviews.llvm.org/D44815 Files:

[PATCH] D44815: [AArch64]: Add support for parsing rN registers.

2018-03-29 Thread Peter Smith via Phabricator via cfe-commits
peter.smith accepted this revision. peter.smith added a comment. This revision is now accepted and ready to land. Given that this is important for compiling the Linux kernel with clang I think that it is worth improving compatibility with GCC. LGTM. Repository: rC Clang https://reviews.llvm.

[PATCH] D44815: [AArch64]: Add support for parsing rN registers.

2018-03-27 Thread Peter Smith via Phabricator via cfe-commits
peter.smith added a comment. Thanks for the clarification. With that in mind I'm much less concerned that adding "r" as an alias will make extra warnings more difficult. I agree that there should be at least a warning for register long x asm ("wn") although that is separate from this patch. Ha

[PATCH] D44815: [AArch64]: Add support for parsing rN registers.

2018-03-27 Thread Tim Northover via Phabricator via cfe-commits
t.p.northover added a comment. The warning you're seeing is because without an operand modifier Clang always chooses an x-register in its textual assembly expansion. This 64-bit default is compared to the underlying C type to determine whether a warning should be emitted, and I think that's rea

[PATCH] D44815: [AArch64]: Add support for parsing rN registers.

2018-03-26 Thread Peter Smith via Phabricator via cfe-commits
peter.smith added a comment. I think that we may have a bit of a conceptual difference with GCC here. As far as I can tell in GCC it doesn't matter if "rn", "wn", "xn" or even "bn" is used, this refers to register 0. The Operand constraint such as %w0 is used to control the substitution so the

[PATCH] D44815: [AArch64]: Add support for parsing rN registers.

2018-03-25 Thread Manoj Gupta via Phabricator via cfe-commits
manojgupta updated this revision to Diff 139759. manojgupta added a comment. 1. Added test case to verify register names are not renamed in unsupported cases. 2. Updated formatting. Repository: rC Clang https://reviews.llvm.org/D44815 Files: lib/Basic/Targets/AArch64.cpp test/CodeGen/aa

[PATCH] D44815: [AArch64]: Add support for parsing rN registers.

2018-03-22 Thread Manoj Gupta via Phabricator via cfe-commits
manojgupta added a comment. In https://reviews.llvm.org/D44815#1046451, @srhines wrote: > Peter also requested that a test be added to make sure that rY was not > accepted by the Clang assembler as a true synonym for xY. Yes, I am working on that. Wanted to send this out first. Repository:

[PATCH] D44815: [AArch64]: Add support for parsing rN registers.

2018-03-22 Thread Stephen Hines via Phabricator via cfe-commits
srhines added a comment. Peter also requested that a test be added to make sure that rY was not accepted by the Clang assembler as a true synonym for xY. Comment at: lib/Basic/Targets/AArch64.cpp:320 +{{"r24"}, "x24"}, {{"r25"}, "x25"}, {{"r26"}, "x26"}, {{"r27"}, "x27"},

[PATCH] D44815: [AArch64]: Add support for parsing rN registers.

2018-03-22 Thread Manoj Gupta via Phabricator via cfe-commits
manojgupta added a comment. Add more context from the email communication with Peter Smith and Robin Murphy. On 22/03/18 02:34, Manoj Gupta wrote: > Hi Robin, > > this is Manoj from Google. I was looking into implementing support for > parsing "r" registers in clang for AArch64 based on lkml t

[PATCH] D44815: [AArch64]: Add support for parsing rN registers.

2018-03-22 Thread Manoj Gupta via Phabricator via cfe-commits
manojgupta updated this revision to Diff 139556. manojgupta added a comment. Indenting and a minor fix. Repository: rC Clang https://reviews.llvm.org/D44815 Files: lib/Basic/Targets/AArch64.cpp test/CodeGen/aarch64-inline-asm.c Index: test/CodeGen/aarch64-inline-asm.c =

[PATCH] D44815: [AArch64]: Add support for parsing rN registers.

2018-03-22 Thread Manoj Gupta via Phabricator via cfe-commits
manojgupta created this revision. manojgupta added reviewers: kristof.beyls, rengolin, peter.smith, t.p.northover. Herald added subscribers: eraman, javed.absar. Allow rN registers to be simply parsed as correspoing xN registers. The "register ... asm("rN")" is an command to the compiler's registe