[llvm] r187248 - [PowerPC] Improve consistency in use of __ppc__, __powerpc__, etc.

David Dean david_dean at apple.com
Fri Jul 26 15:01:28 PDT 2013


This commit has broken some of the bots:
http://lab.llvm.org:8013/builders/clang-x86_64-darwin11-nobootstrap-RAincremental/builds/5023

please fix/revert as soon as you can.

On 26 Jul 2013, at 2:39 PM, Bill Schmidt <wschmidt at linux.vnet.ibm.com> wrote:

> Author: wschmidt
> Date: Fri Jul 26 16:39:15 2013
> New Revision: 187248
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=187248&view=rev
> Log:
> [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.
> 
> Modified:
>    llvm/trunk/lib/Support/Unix/Memory.inc
>    llvm/trunk/lib/Target/PowerPC/PPCJITInfo.cpp
>    llvm/trunk/unittests/ADT/BitVectorTest.cpp
>    llvm/trunk/unittests/ADT/PackedVectorTest.cpp
>    llvm/trunk/unittests/ExecutionEngine/JIT/MultiJITTest.cpp
> 
> Modified: llvm/trunk/lib/Support/Unix/Memory.inc
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/Unix/Memory.inc?rev=187248&r1=187247&r2=187248&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Support/Unix/Memory.inc (original)
> +++ llvm/trunk/lib/Support/Unix/Memory.inc Fri Jul 26 16:39:15 2013
> @@ -310,14 +310,14 @@ void Memory::InvalidateInstructionCache(
> // icache invalidation for PPC and ARM.
> #if defined(__APPLE__)
> 
> -#  if (defined(__POWERPC__) || defined (__ppc__) || \
> +#  if (defined(__POWERPC__) || defined (__ppc__) || defined (__powerpc__) \
>      defined(_POWER) || defined(_ARCH_PPC)) || defined(__arm__)
>   sys_icache_invalidate(const_cast<void *>(Addr), Len);
> #  endif
> 
> #else
> 
> -#  if (defined(__POWERPC__) || defined (__ppc__) || \
> +#  if (defined(__POWERPC__) || defined (__ppc__) || defined (__powerpc__) || \
>        defined(_POWER) || defined(_ARCH_PPC)) && defined(__GNUC__)
>   const size_t LineSize = 32;
> 
> 
> Modified: llvm/trunk/lib/Target/PowerPC/PPCJITInfo.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/PPCJITInfo.cpp?rev=187248&r1=187247&r2=187248&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Target/PowerPC/PPCJITInfo.cpp (original)
> +++ llvm/trunk/lib/Target/PowerPC/PPCJITInfo.cpp Fri Jul 26 16:39:15 2013
> @@ -71,7 +71,7 @@ static void EmitBranchToAt(uint64_t At,
> 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::ge
>   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
> 
> 
> Modified: llvm/trunk/unittests/ADT/BitVectorTest.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/ADT/BitVectorTest.cpp?rev=187248&r1=187247&r2=187248&view=diff
> ==============================================================================
> --- llvm/trunk/unittests/ADT/BitVectorTest.cpp (original)
> +++ llvm/trunk/unittests/ADT/BitVectorTest.cpp Fri Jul 26 16:39:15 2013
> @@ -8,7 +8,7 @@
> //===----------------------------------------------------------------------===//
> 
> // 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/SmallBitVector.h"
> 
> Modified: llvm/trunk/unittests/ADT/PackedVectorTest.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/ADT/PackedVectorTest.cpp?rev=187248&r1=187247&r2=187248&view=diff
> ==============================================================================
> --- llvm/trunk/unittests/ADT/PackedVectorTest.cpp (original)
> +++ llvm/trunk/unittests/ADT/PackedVectorTest.cpp Fri Jul 26 16:39:15 2013
> @@ -9,7 +9,7 @@
> 
> // BitVectorTest tests fail on PowerPC for unknown reasons, so disable this
> // as well since it depends on a BitVector.
> -#ifndef __ppc__
> +#if !defined(__ppc__) && !defined(__powerpc__)
> 
> #include "llvm/ADT/PackedVector.h"
> #include "gtest/gtest.h"
> 
> Modified: llvm/trunk/unittests/ExecutionEngine/JIT/MultiJITTest.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/ExecutionEngine/JIT/MultiJITTest.cpp?rev=187248&r1=187247&r2=187248&view=diff
> ==============================================================================
> --- llvm/trunk/unittests/ExecutionEngine/JIT/MultiJITTest.cpp (original)
> +++ llvm/trunk/unittests/ExecutionEngine/JIT/MultiJITTest.cpp Fri Jul 26 16:39:15 2013
> @@ -21,7 +21,8 @@ using namespace llvm;
> namespace {
> 
> // 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) {
>   SMDiagnostic Error;
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

-David





More information about the llvm-commits mailing list