[llvm-commits] [llvm] r47143 - in /llvm/trunk: lib/Target/CellSPU/SPUSubtarget.h lib/Target/PowerPC/PPCAsmPrinter.cpp lib/Target/PowerPC/PPCSubtarget.cpp lib/Target/PowerPC/PPCSubtarget.h utils/TableGen/SubtargetEmitter.cpp

Dale Johannesen dalej at apple.com
Thu Feb 14 17:23:07 PST 2008


On Feb 14, 2008, at 3:40 PM, Evan Cheng wrote:

> Thanks. Since you are hacking on this, can you check something for me?
> I seem to be getting this annoying warning (something like "generating
> 64-bit code for 32-bit cpu") when I do (for example) -march=x86-64 -
> mattr=-sse41. Any idea what's causing this bogus warning? Is it when -
> mattr is used, it does not do auto CPU feature detection?
>
> Evan

It's simpler than that, the "core2" table entry didn't say it has 64- 
bit support.  Fixed.

This warning (PPC has it too) also comes out for cross compiles, which  
I suppose is accurate, but doesn't seem helpful.  Anybody for getting  
rid of it?

> On Feb 14, 2008, at 3:35 PM, Dale Johannesen wrote:
>
>> Author: johannes
>> Date: Thu Feb 14 17:35:16 2008
>> New Revision: 47143
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=47143&view=rev
>> Log:
>> Rewrite tblgen handling of subtarget features so
>> it follows the order of the enum, not alphabetical.
>> The motivation is to make -mattr=+ssse3,+sse41
>> select SSE41 as it ought to.  Added "ignored"
>> enum values of 0 to PPC and SPU to avoid compiler
>> warnings.
>>
>>
>> Modified:
>>   llvm/trunk/lib/Target/CellSPU/SPUSubtarget.h
>>   llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpp
>>   llvm/trunk/lib/Target/PowerPC/PPCSubtarget.cpp
>>   llvm/trunk/lib/Target/PowerPC/PPCSubtarget.h
>>   llvm/trunk/utils/TableGen/SubtargetEmitter.cpp
>>
>> Modified: llvm/trunk/lib/Target/CellSPU/SPUSubtarget.h
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/CellSPU/SPUSubtarget.h?rev=47143&r1=47142&r2=47143&view=diff
>>
>> =
>> =
>> =
>> =
>> =
>> =
>> =
>> =
>> = 
>> =====================================================================
>> --- llvm/trunk/lib/Target/CellSPU/SPUSubtarget.h (original)
>> +++ llvm/trunk/lib/Target/CellSPU/SPUSubtarget.h Thu Feb 14 17:35:16
>> 2008
>> @@ -26,6 +26,7 @@
>>
>>  namespace SPU {
>>    enum {
>> +      PROC_NONE,
>>      DEFAULT_PROC
>>    };
>>  }
>>
>> Modified: llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpp?rev=47143&r1=47142&r2=47143&view=diff
>>
>> =
>> =
>> =
>> =
>> =
>> =
>> =
>> =
>> = 
>> =====================================================================
>> --- llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpp (original)
>> +++ llvm/trunk/lib/Target/PowerPC/PPCAsmPrinter.cpp Thu Feb 14
>> 17:35:16 2008
>> @@ -849,6 +849,7 @@
>>
>> bool DarwinAsmPrinter::doInitialization(Module &M) {
>>  static const char *CPUDirectives[] = {
>> +    "",
>>    "ppc",
>>    "ppc601",
>>    "ppc602",
>>
>> Modified: llvm/trunk/lib/Target/PowerPC/PPCSubtarget.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/PPCSubtarget.cpp?rev=47143&r1=47142&r2=47143&view=diff
>>
>> =
>> =
>> =
>> =
>> =
>> =
>> =
>> =
>> = 
>> =====================================================================
>> --- llvm/trunk/lib/Target/PowerPC/PPCSubtarget.cpp (original)
>> +++ llvm/trunk/lib/Target/PowerPC/PPCSubtarget.cpp Thu Feb 14
>> 17:35:16 2008
>> @@ -60,6 +60,7 @@
>>                           const std::string &FS, bool is64Bit)
>>  : TM(tm)
>>  , StackAlignment(16)
>> +  , DarwinDirective(PPC::DIR_NONE)
>>  , IsGigaProcessor(false)
>>  , Has64BitSupport(false)
>>  , Use64BitRegs(false)
>>
>> Modified: llvm/trunk/lib/Target/PowerPC/PPCSubtarget.h
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/PPCSubtarget.h?rev=47143&r1=47142&r2=47143&view=diff
>>
>> =
>> =
>> =
>> =
>> =
>> =
>> =
>> =
>> = 
>> =====================================================================
>> --- llvm/trunk/lib/Target/PowerPC/PPCSubtarget.h (original)
>> +++ llvm/trunk/lib/Target/PowerPC/PPCSubtarget.h Thu Feb 14 17:35:16
>> 2008
>> @@ -27,6 +27,7 @@
>> namespace PPC {
>>  // -m directive values.
>>  enum {
>> +    DIR_NONE,
>>    DIR_32,
>>    DIR_601,
>>    DIR_602,
>>
>> Modified: llvm/trunk/utils/TableGen/SubtargetEmitter.cpp
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/SubtargetEmitter.cpp?rev=47143&r1=47142&r2=47143&view=diff
>>
>> =
>> =
>> =
>> =
>> =
>> =
>> =
>> =
>> = 
>> =====================================================================
>> --- llvm/trunk/utils/TableGen/SubtargetEmitter.cpp (original)
>> +++ llvm/trunk/utils/TableGen/SubtargetEmitter.cpp Thu Feb 14
>> 17:35:16 2008
>> @@ -482,8 +482,12 @@
>>    const std::string &Value = R->getValueAsString("Value");
>>    const std::string &Attribute = R->getValueAsString("Attribute");
>>
>> -    OS << "  if ((Bits & " << Instance << ") != 0) "
>> -       << Attribute << " = " << Value << ";\n";
>> +    if (Value=="true" || Value=="false")
>> +      OS << "  if ((Bits & " << Instance << ") != 0) "
>> +         << Attribute << " = " << Value << ";\n";
>> +    else
>> +      OS << "  if ((Bits & " << Instance << ") != 0 && " <<
>> Attribute <<
>> +            " < " << Value << ") " << Attribute << " = " << Value
>> << ";\n";
>>  }
>>
>>  if (HasItineraries) {
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
> _______________________________________________
> 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