[cfe-commits] r110774 - in /cfe/trunk: lib/Basic/Targets.cpp test/CodeGen/asm_arm.c
Daniel Dunbar
daniel at zuster.org
Tue Aug 10 19:17:11 PDT 2010
Author: ddunbar
Date: Tue Aug 10 21:17:11 2010
New Revision: 110774
URL: http://llvm.org/viewvc/llvm-project?rev=110774&view=rev
Log:
ARM: Swap which registers we consider real / aliases to match LLVM and llvm-gcc.
Modified:
cfe/trunk/lib/Basic/Targets.cpp
cfe/trunk/test/CodeGen/asm_arm.c
Modified: cfe/trunk/lib/Basic/Targets.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets.cpp?rev=110774&r1=110773&r2=110774&view=diff
==============================================================================
--- cfe/trunk/lib/Basic/Targets.cpp (original)
+++ cfe/trunk/lib/Basic/Targets.cpp Tue Aug 10 21:17:11 2010
@@ -1788,17 +1788,16 @@
const char * const ARMTargetInfo::GCCRegNames[] = {
"r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",
- "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15"
+ "r8", "r9", "r10", "r11", "r12", "sp", "lr", "pc"
};
void ARMTargetInfo::getGCCRegNames(const char * const *&Names,
- unsigned &NumNames) const {
+ unsigned &NumNames) const {
Names = GCCRegNames;
NumNames = llvm::array_lengthof(GCCRegNames);
}
const TargetInfo::GCCRegAlias ARMTargetInfo::GCCRegAliases[] = {
-
{ { "a1" }, "r0" },
{ { "a2" }, "r1" },
{ { "a3" }, "r2" },
@@ -1812,9 +1811,9 @@
{ { "sl" }, "r10" },
{ { "fp" }, "r11" },
{ { "ip" }, "r12" },
- { { "sp" }, "r13" },
- { { "lr" }, "r14" },
- { { "pc" }, "r15" },
+ { { "r13" }, "sp" },
+ { { "r14" }, "lr" },
+ { { "r15" }, "pc" },
};
void ARMTargetInfo::getGCCRegAliases(const GCCRegAlias *&Aliases,
Modified: cfe/trunk/test/CodeGen/asm_arm.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/asm_arm.c?rev=110774&r1=110773&r2=110774&view=diff
==============================================================================
--- cfe/trunk/test/CodeGen/asm_arm.c (original)
+++ cfe/trunk/test/CodeGen/asm_arm.c Tue Aug 10 21:17:11 2010
@@ -30,3 +30,11 @@
"vst1.32 {q4}, [%0,:128] \n\t"
:: "r"(a), "r"(b));
}
+
+// {sp, lr, pc} are the canonical names for {r13, r14, r15}.
+//
+// CHECK: @test5
+// CHECK: call void asm sideeffect "", "~{sp},~{lr},~{pc},~{sp},~{lr},~{pc}"()
+void test5() {
+ __asm__("" : : : "r13", "r14", "r15", "sp", "lr", "pc");
+}
More information about the cfe-commits
mailing list