mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-01 05:01:59 +01:00
[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. llvm-svn: 187248
This commit is contained in:
parent
69a99888d5
commit
149eda1b1e
@ -310,14 +310,14 @@ void Memory::InvalidateInstructionCache(const void *Addr,
|
|||||||
// icache invalidation for PPC and ARM.
|
// icache invalidation for PPC and ARM.
|
||||||
#if defined(__APPLE__)
|
#if defined(__APPLE__)
|
||||||
|
|
||||||
# if (defined(__POWERPC__) || defined (__ppc__) || \
|
# if (defined(__POWERPC__) || defined (__ppc__) || defined (__powerpc__) \
|
||||||
defined(_POWER) || defined(_ARCH_PPC)) || defined(__arm__)
|
defined(_POWER) || defined(_ARCH_PPC)) || defined(__arm__)
|
||||||
sys_icache_invalidate(const_cast<void *>(Addr), Len);
|
sys_icache_invalidate(const_cast<void *>(Addr), Len);
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
# if (defined(__POWERPC__) || defined (__ppc__) || \
|
# if (defined(__POWERPC__) || defined (__ppc__) || defined (__powerpc__) || \
|
||||||
defined(_POWER) || defined(_ARCH_PPC)) && defined(__GNUC__)
|
defined(_POWER) || defined(_ARCH_PPC)) && defined(__GNUC__)
|
||||||
const size_t LineSize = 32;
|
const size_t LineSize = 32;
|
||||||
|
|
||||||
|
@ -71,7 +71,7 @@ static void EmitBranchToAt(uint64_t At, uint64_t To, bool isCall, bool is64Bit){
|
|||||||
extern "C" void PPC32CompilationCallback();
|
extern "C" void PPC32CompilationCallback();
|
||||||
extern "C" void PPC64CompilationCallback();
|
extern "C" void PPC64CompilationCallback();
|
||||||
|
|
||||||
#if (!defined(__ppc__) && !defined(__powerpc__)) || defined(__powerpc64__) || defined(__ppc64__)
|
#if defined(__powerpc64__) || defined(__ppc64__)
|
||||||
void PPC32CompilationCallback() {
|
void PPC32CompilationCallback() {
|
||||||
llvm_unreachable("This is not a 32bit PowerPC, you can't execute this!");
|
llvm_unreachable("This is not a 32bit PowerPC, you can't execute this!");
|
||||||
}
|
}
|
||||||
@ -356,8 +356,8 @@ TargetJITInfo::StubLayout PPCJITInfo::getStubLayout() {
|
|||||||
return Result;
|
return Result;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if (defined(__POWERPC__) || defined (__ppc__) || defined(_POWER)) && \
|
#if (defined(__POWERPC__) || defined (__ppc__) || defined(__powerpc__) || \
|
||||||
defined(__APPLE__)
|
defined(_POWER)) && defined(__APPLE__)
|
||||||
extern "C" void sys_icache_invalidate(const void *Addr, size_t len);
|
extern "C" void sys_icache_invalidate(const void *Addr, size_t len);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
//===----------------------------------------------------------------------===//
|
//===----------------------------------------------------------------------===//
|
||||||
|
|
||||||
// Some of these tests fail on PowerPC for unknown reasons.
|
// Some of these tests fail on PowerPC for unknown reasons.
|
||||||
#ifndef __ppc__
|
#if !defined(__ppc__) && !defined(__powerpc__)
|
||||||
|
|
||||||
#include "llvm/ADT/BitVector.h"
|
#include "llvm/ADT/BitVector.h"
|
||||||
#include "llvm/ADT/SmallBitVector.h"
|
#include "llvm/ADT/SmallBitVector.h"
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
// BitVectorTest tests fail on PowerPC for unknown reasons, so disable this
|
// BitVectorTest tests fail on PowerPC for unknown reasons, so disable this
|
||||||
// as well since it depends on a BitVector.
|
// as well since it depends on a BitVector.
|
||||||
#ifndef __ppc__
|
#if !defined(__ppc__) && !defined(__powerpc__)
|
||||||
|
|
||||||
#include "llvm/ADT/PackedVector.h"
|
#include "llvm/ADT/PackedVector.h"
|
||||||
#include "gtest/gtest.h"
|
#include "gtest/gtest.h"
|
||||||
|
@ -21,7 +21,8 @@ using namespace llvm;
|
|||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
// ARM, PowerPC and SystemZ tests disabled pending fix for PR10783.
|
// ARM, PowerPC and SystemZ tests disabled pending fix for PR10783.
|
||||||
#if !defined(__arm__) && !defined(__powerpc__) && !defined(__s390__)
|
#if !defined(__arm__) && !defined(__powerpc__) && !defined(__s390__) && \
|
||||||
|
!defined(__ppc__)
|
||||||
|
|
||||||
bool LoadAssemblyInto(Module *M, const char *assembly) {
|
bool LoadAssemblyInto(Module *M, const char *assembly) {
|
||||||
SMDiagnostic Error;
|
SMDiagnostic Error;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user