aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/PowerPC
diff options
context:
space:
mode:
authorBill Schmidt <wschmidt@linux.vnet.ibm.com>2013-07-26 21:39:15 +0000
committerBill Schmidt <wschmidt@linux.vnet.ibm.com>2013-07-26 21:39:15 +0000
commitd063a326b2567c3ca759f069e7680979036b9d5e (patch)
tree224c374c0d4849c84378a77dbf270d2b7a5d58bb /lib/Target/PowerPC
parent388d3225dd26d5ebe1eaf4d993eff8cf602c258f (diff)
downloadexternal_llvm-d063a326b2567c3ca759f069e7680979036b9d5e.zip
external_llvm-d063a326b2567c3ca759f069e7680979036b9d5e.tar.gz
external_llvm-d063a326b2567c3ca759f069e7680979036b9d5e.tar.bz2
[PowerPC] Improve consistency in use of __ppc__, __powerpc__, etc.
Both GCC and LLVM will implicitly define __ppc__ and __powerpc__ for all PowerPC targets, whether 32- or 64-bit. They will both implicitly define __ppc64__ and __powerpc64__ for 64-bit PowerPC targets, and not for 32-bit targets. We cannot be sure that all other possible compilers used to compile Clang/LLVM define both __ppc__ and __powerpc__, for example, so it is best to check for both when relying on either inside the Clang/LLVM code base. This patch makes sure we always check for both variants. In addition, it fixes one unnecessary check in lib/Target/PowerPC/PPCJITInfo.cpp. (At least one of __ppc__ and __powerpc__ should always be defined when compiling for a PowerPC target, no matter which compiler is used, so testing for them is unnecessary.) There are some places in the compiler that check for other variants, like __POWERPC__ and _POWER, and I have left those in place. There is no need to add them elsewhere. This seems to be in Apple-specific code, and I won't take a chance on breaking it. There is no intended change in behavior; thus, no test cases are added. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187248 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PowerPC')
-rw-r--r--lib/Target/PowerPC/PPCJITInfo.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/Target/PowerPC/PPCJITInfo.cpp b/lib/Target/PowerPC/PPCJITInfo.cpp
index 18f4adf..71c8f1d 100644
--- a/lib/Target/PowerPC/PPCJITInfo.cpp
+++ b/lib/Target/PowerPC/PPCJITInfo.cpp
@@ -71,7 +71,7 @@ static void EmitBranchToAt(uint64_t At, uint64_t To, bool isCall, bool is64Bit){
extern "C" void PPC32CompilationCallback();
extern "C" void PPC64CompilationCallback();
-#if (!defined(__ppc__) && !defined(__powerpc__)) || defined(__powerpc64__) || defined(__ppc64__)
+#if defined(__powerpc64__) || defined(__ppc64__)
void PPC32CompilationCallback() {
llvm_unreachable("This is not a 32bit PowerPC, you can't execute this!");
}
@@ -356,8 +356,8 @@ TargetJITInfo::StubLayout PPCJITInfo::getStubLayout() {
return Result;
}
-#if (defined(__POWERPC__) || defined (__ppc__) || defined(_POWER)) && \
-defined(__APPLE__)
+#if (defined(__POWERPC__) || defined (__ppc__) || defined(__powerpc__) || \
+defined(_POWER)) && defined(__APPLE__)
extern "C" void sys_icache_invalidate(const void *Addr, size_t len);
#endif