diff options
author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2018-10-03 02:37:15 +0000 |
---|---|---|
committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2018-10-03 02:37:15 +0000 |
commit | 0f83d66ae72cf51927ef592affe85ce9a2f9386f (patch) | |
tree | 070cf659876f7bcd78a690ce2a3e951aab25d7e1 /llvm/lib/AsmParser/LLParser.cpp | |
parent | 34eac35a6096163bce8a889f0c9a696cedfca08a (diff) | |
download | bcm5719-llvm-0f83d66ae72cf51927ef592affe85ce9a2f9386f.tar.gz bcm5719-llvm-0f83d66ae72cf51927ef592affe85ce9a2f9386f.zip |
Add atomicrmw operation to error messages
llvm-svn: 343656
Diffstat (limited to 'llvm/lib/AsmParser/LLParser.cpp')
-rw-r--r-- | llvm/lib/AsmParser/LLParser.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/llvm/lib/AsmParser/LLParser.cpp b/llvm/lib/AsmParser/LLParser.cpp index 30d3b49d9d7..ce45bfcbb6a 100644 --- a/llvm/lib/AsmParser/LLParser.cpp +++ b/llvm/lib/AsmParser/LLParser.cpp @@ -6724,8 +6724,13 @@ int LLParser::ParseAtomicRMW(Instruction *&Inst, PerFunctionState &PFS) { return Error(PtrLoc, "atomicrmw operand must be a pointer"); if (cast<PointerType>(Ptr->getType())->getElementType() != Val->getType()) return Error(ValLoc, "atomicrmw value and pointer type do not match"); - if (!Val->getType()->isIntegerTy()) - return Error(ValLoc, "atomicrmw operand must be an integer"); + + if (!Val->getType()->isIntegerTy()) { + return Error(ValLoc, "atomicrmw " + + AtomicRMWInst::getOperationName(Operation) + + " operand must be an integer"); + } + unsigned Size = Val->getType()->getPrimitiveSizeInBits(); if (Size < 8 || (Size & (Size - 1))) return Error(ValLoc, "atomicrmw operand must be power-of-two byte-sized" |