[llvm-commits] [llvm-gcc-4.2] r104460 - in /llvm-gcc-4.2/trunk/gcc: config/i386/i386.h llvm-convert.cpp
Duncan Sands
baldrick at free.fr
Sun May 23 03:45:56 PDT 2010
Author: baldrick
Date: Sun May 23 05:45:56 2010
New Revision: 104460
URL: http://llvm.org/viewvc/llvm-project?rev=104460&view=rev
Log:
Replace the last remaining direct use of reg_names with LLVM_GET_REG_NAME.
Patch by Bob Wilson. Tested on x86-32 and x86-64 only.
Modified:
llvm-gcc-4.2/trunk/gcc/config/i386/i386.h
llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp
Modified: llvm-gcc-4.2/trunk/gcc/config/i386/i386.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/i386.h?rev=104460&r1=104459&r2=104460&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/i386.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/i386.h Sun May 23 05:45:56 2010
@@ -3929,8 +3929,8 @@
means we can't distinguish them. */
#define LLVM_GET_REG_NAME(REG_NAME, REG_NUM) __extension__ \
({ const char *nm = (REG_NAME); \
- if (*nm == '%' || *nm == '#') ++nm; \
- (ISDIGIT (*nm) ? reg_names[REG_NUM] : nm); })
+ if (nm && (*nm == '%' || *nm == '#')) ++nm; \
+ ((!nm || ISDIGIT (*nm)) ? reg_names[REG_NUM] : nm); })
/* Propagate code model setting to backend */
#define LLVM_SET_MACHINE_OPTIONS(argvec) \
Modified: llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp?rev=104460&r1=104459&r2=104460&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp (original)
+++ llvm-gcc-4.2/trunk/gcc/llvm-convert.cpp Sun May 23 05:45:56 2010
@@ -4175,7 +4175,8 @@
//===----------------------------------------------------------------------===//
// LLVM_GET_REG_NAME - Default to use GCC's register names. Targets may
-// override this to use different names for some registers.
+// override this to use different names for some registers. The REG_NAME is
+// the name before it was decoded; it may be null in some contexts.
#ifndef LLVM_GET_REG_NAME
#define LLVM_GET_REG_NAME(REG_NAME, REG_NUM) reg_names[REG_NUM]
#endif
@@ -4411,7 +4412,7 @@
// If we found a single register register class, return the register.
if (RegMember != -1) {
Result += '{';
- Result += reg_names[RegMember];
+ Result += LLVM_GET_REG_NAME(0, RegMember);
Result += '}';
} else {
Result += ConstraintChar;
More information about the llvm-commits
mailing list