summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
authorDaniel Sanders <daniel.sanders@imgtec.com>2014-02-20 14:58:19 +0000
committerDaniel Sanders <daniel.sanders@imgtec.com>2014-02-20 14:58:19 +0000
commit5a1449dab40149c6beb6aad0c96f21381942f242 (patch)
tree634835ba1deceecc1850056f80d9ba988a295191 /clang
parentf9e1e5e9a370b3cb8e3872d3100ae46382f4beeb (diff)
downloadbcm5719-llvm-5a1449dab40149c6beb6aad0c96f21381942f242.tar.gz
bcm5719-llvm-5a1449dab40149c6beb6aad0c96f21381942f242.zip
[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 llvm-svn: 201792
Diffstat (limited to 'clang')
-rw-r--r--clang/lib/Basic/Targets.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp
index 8c67f54d624..c7f71938dfc 100644
--- a/clang/lib/Basic/Targets.cpp
+++ b/clang/lib/Basic/Targets.cpp
@@ -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;
}
OpenPOWER on IntegriCloud