diff options
| author | Daniel Sanders <daniel.sanders@imgtec.com> | 2014-02-20 14:58:19 +0000 |
|---|---|---|
| committer | Daniel Sanders <daniel.sanders@imgtec.com> | 2014-02-20 14:58:19 +0000 |
| commit | 5a1449dab40149c6beb6aad0c96f21381942f242 (patch) | |
| tree | 634835ba1deceecc1850056f80d9ba988a295191 /clang | |
| parent | f9e1e5e9a370b3cb8e3872d3100ae46382f4beeb (diff) | |
| download | bcm5719-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.cpp | 7 |
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; } |

