summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
diff options
context:
space:
mode:
authorRanjeet Singh <Ranjeet.Singh@arm.com>2015-06-30 12:32:53 +0000
committerRanjeet Singh <Ranjeet.Singh@arm.com>2015-06-30 12:32:53 +0000
commit86ecbb7b543e1d4083ab0add6364d27381d70fef (patch)
treeca1cc8e9d4e0183b2886192975e5dac3388ca7da /llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
parent375f00ad7bfb778005a82ef241f76bfe750d7582 (diff)
downloadbcm5719-llvm-86ecbb7b543e1d4083ab0add6364d27381d70fef.tar.gz
bcm5719-llvm-86ecbb7b543e1d4083ab0add6364d27381d70fef.zip
Reverting r241058 because it's causing buildbot failures.
llvm-svn: 241061
Diffstat (limited to 'llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp')
-rw-r--r--llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp b/llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
index e143df1f4bb..3aa4c6bd32d 100644
--- a/llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
+++ b/llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
@@ -404,7 +404,6 @@ public:
bool MatchAndEmitInstruction(SMLoc IDLoc, unsigned &Opcode,
OperandVector &Operands, MCStreamer &Out,
uint64_t &ErrorInfo,
- FeatureBitset &ErrorMissingFeature,
bool MatchingInlineAsm) override;
// Used by the TableGen code to parse particular operand types.
@@ -783,13 +782,12 @@ bool SystemZAsmParser::MatchAndEmitInstruction(SMLoc IDLoc, unsigned &Opcode,
OperandVector &Operands,
MCStreamer &Out,
uint64_t &ErrorInfo,
- FeatureBitset &ErrorMissingFeature,
bool MatchingInlineAsm) {
MCInst Inst;
unsigned MatchResult;
MatchResult = MatchInstructionImpl(Operands, Inst, ErrorInfo,
- ErrorMissingFeature, MatchingInlineAsm);
+ MatchingInlineAsm);
switch (MatchResult) {
case Match_Success:
Inst.setLoc(IDLoc);
@@ -797,15 +795,17 @@ bool SystemZAsmParser::MatchAndEmitInstruction(SMLoc IDLoc, unsigned &Opcode,
return false;
case Match_MissingFeature: {
- assert(ErrorMissingFeature.any() && "Unknown missing feature!");
+ assert(ErrorInfo && "Unknown missing feature!");
// Special case the error message for the very common case where only
// a single subtarget feature is missing
std::string Msg = "instruction requires:";
- for (unsigned I = 0; I < ErrorMissingFeature.size(); ++I) {
- if (ErrorMissingFeature[I]) {
+ uint64_t Mask = 1;
+ for (unsigned I = 0; I < sizeof(ErrorInfo) * 8 - 1; ++I) {
+ if (ErrorInfo & Mask) {
Msg += " ";
- Msg += getSubtargetFeatureName(I);
+ Msg += getSubtargetFeatureName(ErrorInfo & Mask);
}
+ Mask <<= 1;
}
return Error(IDLoc, Msg);
}
OpenPOWER on IntegriCloud