[llvm-commits] [llvm-gcc-4.0] r44241 - in /llvm-gcc-4.0/trunk/gcc: config/arm/arm.h llvm-convert.cpp
Lauro Ramos Venancio
lauro.venancio at gmail.com
Mon Nov 19 12:49:31 PST 2007
Author: laurov
Date: Mon Nov 19 14:49:31 2007
New Revision: 44241
URL: http://llvm.org/viewvc/llvm-project?rev=44241&view=rev
Log:
ARM: Implement the '%@' inline asm extension.
Modified:
llvm-gcc-4.0/trunk/gcc/config/arm/arm.h
llvm-gcc-4.0/trunk/gcc/llvm-convert.cpp
Modified: llvm-gcc-4.0/trunk/gcc/config/arm/arm.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.0/trunk/gcc/config/arm/arm.h?rev=44241&r1=44240&r2=44241&view=diff
==============================================================================
--- llvm-gcc-4.0/trunk/gcc/config/arm/arm.h (original)
+++ llvm-gcc-4.0/trunk/gcc/config/arm/arm.h Mon Nov 19 14:49:31 2007
@@ -2925,6 +2925,15 @@
/* Doing struct copy by partial-word loads and stores is not a good idea on ARM. */
#define TARGET_LLVM_MIN_BYTES_COPY_BY_MEMCPY 4
+
+/* These are a couple of extensions to the asm formats
+ %@ prints out ASM_COMMENT_START
+ TODO: %r prints out REGISTER_PREFIX reg_names[arg] */
+#define LLVM_ASM_EXTENSIONS(ESCAPED_CHAR, ASM, RESULT) \
+ else if ((ESCAPED_CHAR) == '@') { \
+ (RESULT) += ASM_COMMENT_START; \
+ }
+
/* APPLE LOCAL end llvm */
#endif /* ! GCC_ARM_H */
Modified: llvm-gcc-4.0/trunk/gcc/llvm-convert.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.0/trunk/gcc/llvm-convert.cpp?rev=44241&r1=44240&r2=44241&view=diff
==============================================================================
--- llvm-gcc-4.0/trunk/gcc/llvm-convert.cpp (original)
+++ llvm-gcc-4.0/trunk/gcc/llvm-convert.cpp Mon Nov 19 14:49:31 2007
@@ -3831,7 +3831,11 @@
Result += '%';
} else if (EscapedChar == '=') { // Unique ID for the asm instance.
Result += utostr(InlineAsmNum);
- } else if (ISALPHA(EscapedChar)) {
+ }
+#ifdef LLVM_ASM_EXTENSIONS
+ LLVM_ASM_EXTENSIONS(EscapedChar, InStr, Result)
+#endif
+ else if (ISALPHA(EscapedChar)) {
// % followed by a letter and some digits. This outputs an operand in a
// special way depending on the letter. We turn this into LLVM ${N:o}
// syntax.
More information about the llvm-commits
mailing list