[llvm] r236139 - New architecture name - 'sparcel' for Sparc little-endian.

Tom Stellard tom at stellard.net
Wed Apr 29 13:27:39 PDT 2015


On Wed, Apr 29, 2015 at 07:15:08PM -0000, Douglas Katzman wrote:
> Author: dougk
> Date: Wed Apr 29 14:15:08 2015
> New Revision: 236139
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=236139&view=rev
> Log:
> New architecture name - 'sparcel' for Sparc little-endian.
> 
> Differential Revision: http://reviews.llvm.org/D9263
> 
> Modified:
>     llvm/trunk/include/llvm/ADT/Triple.h
>     llvm/trunk/lib/Support/Triple.cpp
>     llvm/trunk/unittests/ADT/TripleTest.cpp
> 
> Modified: llvm/trunk/include/llvm/ADT/Triple.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/Triple.h?rev=236139&r1=236138&r2=236139&view=diff
> ==============================================================================
> --- llvm/trunk/include/llvm/ADT/Triple.h (original)
> +++ llvm/trunk/include/llvm/ADT/Triple.h Wed Apr 29 14:15:08 2015
> @@ -64,6 +64,7 @@ public:
>      amdgcn,     // AMDGCN: AMD GCN GPUs
>      sparc,      // Sparc: sparc
>      sparcv9,    // Sparcv9: Sparcv9
> +    sparcel,    // Sparc: (endianness = little). NB: 'Sparcle' is a CPU variant

Hi,

This comment is confusing to me.  What does 'NB' mean? Is it 'Sparcle' or 'Sparcel'?

-Tom

>      systemz,    // SystemZ: s390x
>      tce,        // TCE (http://tce.cs.tut.fi/): tce
>      thumb,      // Thumb (little endian): thumb, thumbv.*
> 
> Modified: llvm/trunk/lib/Support/Triple.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/Triple.cpp?rev=236139&r1=236138&r2=236139&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Support/Triple.cpp (original)
> +++ llvm/trunk/lib/Support/Triple.cpp Wed Apr 29 14:15:08 2015
> @@ -37,6 +37,7 @@ const char *Triple::getArchTypeName(Arch
>    case amdgcn:      return "amdgcn";
>    case sparc:       return "sparc";
>    case sparcv9:     return "sparcv9";
> +  case sparcel:     return "sparcel";
>    case systemz:     return "s390x";
>    case tce:         return "tce";
>    case thumb:       return "thumb";
> @@ -90,6 +91,7 @@ const char *Triple::getArchTypePrefix(Ar
>    case bpf:         return "bpf";
>  
>    case sparcv9:
> +  case sparcel:
>    case sparc:       return "sparc";
>  
>    case systemz:     return "s390";
> @@ -312,6 +314,7 @@ static Triple::ArchType parseArch(String
>      .Case("hexagon", Triple::hexagon)
>      .Case("s390x", Triple::systemz)
>      .Case("sparc", Triple::sparc)
> +    .Case("sparcel", Triple::sparcel)
>      .Cases("sparcv9", "sparc64", Triple::sparcv9)
>      .Case("tce", Triple::tce)
>      .Case("xcore", Triple::xcore)
> @@ -918,6 +921,7 @@ static unsigned getArchPointerBitWidth(l
>    case llvm::Triple::ppc:
>    case llvm::Triple::r600:
>    case llvm::Triple::sparc:
> +  case llvm::Triple::sparcel:
>    case llvm::Triple::tce:
>    case llvm::Triple::thumb:
>    case llvm::Triple::thumbeb:
> @@ -990,6 +994,7 @@ Triple Triple::get32BitArchVariant() con
>    case Triple::ppc:
>    case Triple::r600:
>    case Triple::sparc:
> +  case Triple::sparcel:
>    case Triple::tce:
>    case Triple::thumb:
>    case Triple::thumbeb:
> @@ -1026,6 +1031,7 @@ Triple Triple::get64BitArchVariant() con
>    case Triple::thumb:
>    case Triple::thumbeb:
>    case Triple::xcore:
> +  case Triple::sparcel:
>      T.setArch(UnknownArch);
>      break;
>  
> 
> Modified: llvm/trunk/unittests/ADT/TripleTest.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/ADT/TripleTest.cpp?rev=236139&r1=236138&r2=236139&view=diff
> ==============================================================================
> --- llvm/trunk/unittests/ADT/TripleTest.cpp (original)
> +++ llvm/trunk/unittests/ADT/TripleTest.cpp Wed Apr 29 14:15:08 2015
> @@ -149,6 +149,11 @@ TEST(TripleTest, ParsedIDs) {
>    EXPECT_EQ(Triple::UnknownVendor, T.getVendor());
>    EXPECT_EQ(Triple::UnknownOS, T.getOS());
>  
> +  T = Triple("sparcel-unknown-unknown");
> +  EXPECT_EQ(Triple::sparcel, T.getArch());
> +  EXPECT_EQ(Triple::UnknownVendor, T.getVendor());
> +  EXPECT_EQ(Triple::UnknownOS, T.getOS());
> +
>    T = Triple("spir-unknown-unknown");
>    EXPECT_EQ(Triple::spir, T.getArch());
>    EXPECT_EQ(Triple::UnknownVendor, T.getVendor());
> @@ -407,6 +412,21 @@ TEST(TripleTest, BitWidthPredicates) {
>    EXPECT_FALSE(T.isArch16Bit());
>    EXPECT_FALSE(T.isArch32Bit());
>    EXPECT_TRUE(T.isArch64Bit());
> +
> +  T.setArch(Triple::sparc);
> +  EXPECT_FALSE(T.isArch16Bit());
> +  EXPECT_TRUE(T.isArch32Bit());
> +  EXPECT_FALSE(T.isArch64Bit());
> +
> +  T.setArch(Triple::sparcel);
> +  EXPECT_FALSE(T.isArch16Bit());
> +  EXPECT_TRUE(T.isArch32Bit());
> +  EXPECT_FALSE(T.isArch64Bit());
> +
> +  T.setArch(Triple::sparcv9);
> +  EXPECT_FALSE(T.isArch16Bit());
> +  EXPECT_FALSE(T.isArch32Bit());
> +  EXPECT_TRUE(T.isArch64Bit());
>  }
>  
>  TEST(TripleTest, BitWidthArchVariants) {
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits



More information about the llvm-commits mailing list