diff options
| author | Simon Atanasyan <simon@atanasyan.com> | 2017-12-29 19:18:24 +0000 |
|---|---|---|
| committer | Simon Atanasyan <simon@atanasyan.com> | 2017-12-29 19:18:24 +0000 |
| commit | 970f686faa6502bf8b72ae7d7211fe08de804dd1 (patch) | |
| tree | 743df1554b371c8c358e9613e56b6b144b3b3926 /llvm/lib | |
| parent | 8e8378ba77c40f4236df1638a77fc2d81f1a0589 (diff) | |
| download | bcm5719-llvm-970f686faa6502bf8b72ae7d7211fe08de804dd1.tar.gz bcm5719-llvm-970f686faa6502bf8b72ae7d7211fe08de804dd1.zip | |
[mips] Replace assert by an error message
Initially, if the `c` constraint applied to the wrong data type that
causes LLVM to assert. This commit replaces the assert by an error
message.
llvm-svn: 321565
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/Mips/MipsISelLowering.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/Target/Mips/MipsISelLowering.cpp b/llvm/lib/Target/Mips/MipsISelLowering.cpp index 6448fd91756..c14360dc6b5 100644 --- a/llvm/lib/Target/Mips/MipsISelLowering.cpp +++ b/llvm/lib/Target/Mips/MipsISelLowering.cpp @@ -3863,8 +3863,10 @@ MipsTargetLowering::getRegForInlineAsmConstraint(const TargetRegisterInfo *TRI, case 'c': // register suitable for indirect jump if (VT == MVT::i32) return std::make_pair((unsigned)Mips::T9, &Mips::GPR32RegClass); - assert(VT == MVT::i64 && "Unexpected type."); - return std::make_pair((unsigned)Mips::T9_64, &Mips::GPR64RegClass); + if (VT == MVT::i64) + return std::make_pair((unsigned)Mips::T9_64, &Mips::GPR64RegClass); + // This will generate an error message + return std::make_pair(0U, nullptr); case 'l': // register suitable for indirect jump if (VT == MVT::i32) return std::make_pair((unsigned)Mips::LO0, &Mips::LO32RegClass); |

