forked from OSchip/llvm-project
Disable processing of functions with EVEX-encoded instructions (AVX-512).
Summary: AVX-512 disassembler support in LLVM is not quite ready yet. Before we feel more comfortable about it we disable processing of all functions that use any EVEX-encoded instructions. (cherry picked from FBD4028706)
This commit is contained in:
parent
0eb2559fee
commit
99dce7d05e
|
@ -939,6 +939,17 @@ bool BinaryFunction::disassemble(ArrayRef<uint8_t> FunctionData) {
|
|||
break;
|
||||
}
|
||||
|
||||
if (MIA->hasEVEXEncoding(Instruction)) {
|
||||
if (opts::Verbosity >= 1) {
|
||||
errs() << "BOLT-WARNING: function " << *this << " uses instruction"
|
||||
" encoded with EVEX (AVX-512) at offset 0x"
|
||||
<< Twine::utohexstr(Offset) << ". Disassembly could be wrong."
|
||||
" Skipping further processing.\n";
|
||||
}
|
||||
IsSimple = false;
|
||||
break;
|
||||
}
|
||||
|
||||
// Convert instruction to a shorter version that could be relaxed if needed.
|
||||
MIA->shortenInstruction(Instruction);
|
||||
|
||||
|
|
Loading…
Reference in New Issue