summaryrefslogtreecommitdiffstats
path: root/llvm/lib/IR
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2018-10-03 02:37:15 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2018-10-03 02:37:15 +0000
commit0f83d66ae72cf51927ef592affe85ce9a2f9386f (patch)
tree070cf659876f7bcd78a690ce2a3e951aab25d7e1 /llvm/lib/IR
parent34eac35a6096163bce8a889f0c9a696cedfca08a (diff)
downloadbcm5719-llvm-0f83d66ae72cf51927ef592affe85ce9a2f9386f.tar.gz
bcm5719-llvm-0f83d66ae72cf51927ef592affe85ce9a2f9386f.zip
Add atomicrmw operation to error messages
llvm-svn: 343656
Diffstat (limited to 'llvm/lib/IR')
-rw-r--r--llvm/lib/IR/Verifier.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/llvm/lib/IR/Verifier.cpp b/llvm/lib/IR/Verifier.cpp
index 40d1edc33e7..cd032a840b0 100644
--- a/llvm/lib/IR/Verifier.cpp
+++ b/llvm/lib/IR/Verifier.cpp
@@ -3348,17 +3348,19 @@ void Verifier::visitAtomicRMWInst(AtomicRMWInst &RMWI) {
"atomicrmw instructions must be atomic.", &RMWI);
Assert(RMWI.getOrdering() != AtomicOrdering::Unordered,
"atomicrmw instructions cannot be unordered.", &RMWI);
+ auto Op = RMWI.getOperation();
PointerType *PTy = dyn_cast<PointerType>(RMWI.getOperand(0)->getType());
Assert(PTy, "First atomicrmw operand must be a pointer.", &RMWI);
Type *ElTy = PTy->getElementType();
- Assert(ElTy->isIntegerTy(), "atomicrmw operand must have integer type!",
+ Assert(ElTy->isIntegerTy(), "atomicrmw " +
+ AtomicRMWInst::getOperationName(Op) +
+ " operand must have integer type!",
&RMWI, ElTy);
checkAtomicMemAccessSize(ElTy, &RMWI);
Assert(ElTy == RMWI.getOperand(1)->getType(),
"Argument value type does not match pointer operand type!", &RMWI,
ElTy);
- Assert(AtomicRMWInst::FIRST_BINOP <= RMWI.getOperation() &&
- RMWI.getOperation() <= AtomicRMWInst::LAST_BINOP,
+ Assert(AtomicRMWInst::FIRST_BINOP <= Op && Op <= AtomicRMWInst::LAST_BINOP,
"Invalid binary operation!", &RMWI);
visitInstruction(RMWI);
}
OpenPOWER on IntegriCloud