summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorSimon Atanasyan <simon@atanasyan.com>2017-12-29 19:18:24 +0000
committerSimon Atanasyan <simon@atanasyan.com>2017-12-29 19:18:24 +0000
commit970f686faa6502bf8b72ae7d7211fe08de804dd1 (patch)
tree743df1554b371c8c358e9613e56b6b144b3b3926 /llvm/lib
parent8e8378ba77c40f4236df1638a77fc2d81f1a0589 (diff)
downloadbcm5719-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.cpp6
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);
OpenPOWER on IntegriCloud