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 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@cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits