@@ -6331,129 +6331,6 @@ class BPFTargetInfo : public TargetInfo {
6331
6331
}
6332
6332
};
6333
6333
6334
- class Nios2TargetInfo : public TargetInfo {
6335
- void setDataLayout () {
6336
- if (BigEndian)
6337
- resetDataLayout (" E-p:32:32:32-i8:8:32-i16:16:32-n32" );
6338
- else
6339
- resetDataLayout (" e-p:32:32:32-i8:8:32-i16:16:32-n32" );
6340
- }
6341
-
6342
- std::string CPU;
6343
- std::string ABI;
6344
-
6345
- public:
6346
- Nios2TargetInfo (const llvm::Triple &triple, const TargetOptions &opts)
6347
- : TargetInfo(triple), CPU(opts.CPU), ABI(opts.ABI) {
6348
- SizeType = UnsignedInt;
6349
- PtrDiffType = SignedInt;
6350
- MaxAtomicPromoteWidth = MaxAtomicInlineWidth = 32 ;
6351
- setDataLayout ();
6352
- }
6353
-
6354
- StringRef getABI () const override { return ABI; }
6355
- bool setABI (const std::string &Name) override {
6356
- if (Name == " o32" || Name == " eabi" ) {
6357
- ABI = Name;
6358
- return true ;
6359
- }
6360
- return false ;
6361
- }
6362
-
6363
- bool setCPU (const std::string &Name) override {
6364
- if (Name == " nios2r1" || Name == " nios2r2" ) {
6365
- CPU = Name;
6366
- return true ;
6367
- }
6368
- return false ;
6369
- }
6370
-
6371
- void getTargetDefines (const LangOptions &Opts,
6372
- MacroBuilder &Builder) const override {
6373
- DefineStd (Builder, " nios2" , Opts);
6374
- DefineStd (Builder, " NIOS2" , Opts);
6375
-
6376
- Builder.defineMacro (" __nios2" );
6377
- Builder.defineMacro (" __NIOS2" );
6378
- Builder.defineMacro (" __nios2__" );
6379
- Builder.defineMacro (" __NIOS2__" );
6380
- }
6381
-
6382
- bool isFeatureSupportedByCPU (StringRef Feature, StringRef CPU) const {
6383
- const bool isR2 = CPU == " nios2r2" ;
6384
- return llvm::StringSwitch<bool >(Feature)
6385
- .Case (" nios2r2mandatory" , isR2)
6386
- .Case (" nios2r2bmx" , isR2)
6387
- .Case (" nios2r2mpx" , isR2)
6388
- .Case (" nios2r2cdx" , isR2)
6389
- .Default (false );
6390
- }
6391
-
6392
- bool
6393
- initFeatureMap (llvm::StringMap<bool > &Features, DiagnosticsEngine &Diags,
6394
- StringRef CPU,
6395
- const std::vector<std::string> &FeatureVec) const override {
6396
- static const char *allFeatures[] = {" nios2r2mandatory" , " nios2r2bmx" ,
6397
- " nios2r2mpx" , " nios2r2cdx" };
6398
- for (const char *feature : allFeatures) {
6399
- Features[feature] = isFeatureSupportedByCPU (feature, CPU);
6400
- }
6401
- return true ;
6402
- }
6403
-
6404
- bool hasFeature (StringRef Feature) const override {
6405
- return isFeatureSupportedByCPU (Feature, CPU);
6406
- }
6407
-
6408
- ArrayRef<const char *> getGCCRegNames () const override {
6409
- static const char *const GCCRegNames[] = {
6410
- // CPU register names
6411
- // Must match second column of GCCRegAliases
6412
- " r0" , " r1" , " r2" , " r3" , " r4" , " r5" , " r6" , " r7" , " r8" , " r9" , " r10" ,
6413
- " r11" , " r12" , " r13" , " r14" , " r15" , " r16" , " r17" , " r18" , " r19" , " r20" ,
6414
- " r21" , " r22" , " r23" , " r24" , " r25" , " r26" , " r27" , " r28" , " r29" , " r30" ,
6415
- " r31" ,
6416
- // Floating point register names
6417
- " ctl0" , " ctl1" , " ctl2" , " ctl3" , " ctl4" , " ctl5" , " ctl6" , " ctl7" , " ctl8" ,
6418
- " ctl9" , " ctl10" , " ctl11" , " ctl12" , " ctl13" , " ctl14" , " ctl15" };
6419
- return llvm::makeArrayRef (GCCRegNames);
6420
- }
6421
-
6422
- bool validateAsmConstraint (const char *&Name,
6423
- TargetInfo::ConstraintInfo &Info) const override {
6424
- switch (*Name) {
6425
- default :
6426
- return false ;
6427
-
6428
- case ' r' : // CPU registers.
6429
- case ' d' : // Equivalent to "r" unless generating MIPS16 code.
6430
- case ' y' : // Equivalent to "r", backwards compatibility only.
6431
- case ' f' : // floating-point registers.
6432
- case ' c' : // $25 for indirect jumps
6433
- case ' l' : // lo register
6434
- case ' x' : // hilo register pair
6435
- Info.setAllowsRegister ();
6436
- return true ;
6437
- }
6438
- }
6439
-
6440
- const char *getClobbers () const override { return " " ; }
6441
-
6442
- ArrayRef<TargetInfo::GCCRegAlias> getGCCRegAliases () const override {
6443
- static const TargetInfo::GCCRegAlias aliases[] = {
6444
- {{" zero" }, " r0" }, {{" at" }, " r1" }, {{" et" }, " r24" },
6445
- {{" bt" }, " r25" }, {{" gp" }, " r26" }, {{" sp" }, " r27" },
6446
- {{" fp" }, " r28" }, {{" ea" }, " r29" }, {{" ba" }, " r30" },
6447
- {{" ra" }, " r31" }, {{" status" }, " ctl0" }, {{" estatus" }, " ctl1" },
6448
- {{" bstatus" }, " ctl2" }, {{" ienable" }, " ctl3" }, {{" ipending" }, " ctl4" },
6449
- {{" cpuid" }, " ctl5" }, {{" exception" }, " ctl7" }, {{" pteaddr" }, " ctl8" },
6450
- {{" tlbacc" }, " ctl9" }, {{" tlbmisc" }, " ctl10" }, {{" badaddr" }, " ctl12" },
6451
- {{" config" }, " ctl13" }, {{" mpubase" }, " ctl14" }, {{" mpuacc" }, " ctl15" },
6452
- };
6453
- return llvm::makeArrayRef (aliases);
6454
- }
6455
- };
6456
-
6457
6334
class MipsTargetInfo : public TargetInfo {
6458
6335
void setDataLayout () {
6459
6336
StringRef Layout;
@@ -7942,9 +7819,6 @@ static TargetInfo *AllocateTarget(const llvm::Triple &Triple,
7942
7819
case llvm::Triple::msp430:
7943
7820
return new MSP430TargetInfo (Triple, Opts);
7944
7821
7945
- case llvm::Triple::nios2:
7946
- return new LinuxTargetInfo<Nios2TargetInfo>(Triple, Opts);
7947
-
7948
7822
case llvm::Triple::mips:
7949
7823
switch (os) {
7950
7824
case llvm::Triple::Linux:
0 commit comments