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:
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.
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
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
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
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
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:
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"},
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
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
=
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
11 matches
Mail list logo