r201792 - [mips] Make it impossible to have UnknownABI in CodeGen and Integrated Assembler.

Daniel Sanders daniel.sanders at imgtec.com
Thu Feb 20 06:58:19 PST 2014


Author: dsanders
Date: Thu Feb 20 08:58:19 2014
New Revision: 201792

URL: http://llvm.org/viewvc/llvm-project?rev=201792&view=rev
Log:
[mips] Make it impossible to have UnknownABI in CodeGen and Integrated Assembler.

Summary:
This removes the need to coerce UnknownABI to the default ABI (O32 for
MIPS32, N64 for MIPS64 [*]) in both MipsSubtarget and MipsAsmParser.

Clang has been updated to disable both possible default ABI's before enabling
the ABI it intends to use.

[*] N64 being the default for MIPS64 is not actually correct.
    However N32 is not fully implemented/tested yet.

Depends on: D2830

Reviewers: jacksprat, matheusalmeida

Reviewed By: matheusalmeida

Differential Revision: http://llvm-reviews.chandlerc.com/D2832
Differential Revision: http://llvm-reviews.chandlerc.com/D2846


Modified:
    cfe/trunk/lib/Basic/Targets.cpp

Modified: cfe/trunk/lib/Basic/Targets.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Targets.cpp?rev=201792&r1=201791&r2=201792&view=diff
==============================================================================
--- cfe/trunk/lib/Basic/Targets.cpp (original)
+++ cfe/trunk/lib/Basic/Targets.cpp Thu Feb 20 08:58:19 2014
@@ -4905,6 +4905,13 @@ public:
     return true;
   }
   void getDefaultFeatures(llvm::StringMap<bool> &Features) const {
+    // The backend enables certain ABI's by default according to the
+    // architecture.
+    // Disable both possible defaults so that we don't end up with multiple
+    // ABI's selected and trigger an assertion.
+    Features["o32"] = false;
+    Features["n64"] = false;
+
     Features[ABI] = true;
     Features[CPU] = true;
   }





More information about the cfe-commits mailing list