aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Lex/ModuleMap.cpp
diff options
context:
space:
mode:
authorCameron Desrochers <Cameron.Desrochers@octasic.com>2020-12-14 12:34:55 -0500
committerCameron Desrochers <Cameron.Desrochers@octasic.com>2020-12-14 12:42:35 -0500
commitd784845de1f0c97a053aab281985fa4be40fcc87 (patch)
tree78f71659d1034c0413ca1047a96b4889ff049a36 /clang/lib/Lex/ModuleMap.cpp
parent92c6141ce6a954aa866bba8e53850e7dd9d9abb6 (diff)
downloadllvm-d784845de1f0c97a053aab281985fa4be40fcc87.zip
llvm-d784845de1f0c97a053aab281985fa4be40fcc87.tar.gz
llvm-d784845de1f0c97a053aab281985fa4be40fcc87.tar.bz2
[TableGen] Fixed 64-bit filters being sliced to 32 bits in FixedLenDecoderEmitter
When using the FixedLenDecoderEmitter, llvm-tblgen emits tables with (OPC_ExtractField, OPC_ExtractFilterValue) opcode sequences to match the contiguous fixed bits of a given instruction's encoding. This encoding is represented in a 64-bit integer. However, the filter values were represented in a 32-bit integer. As such, instructions with fixed 64-bit encodings resulted in a table with an OPC_ExtractField for all 64 bits, followed by an OPC_ExtractFilterValue containing just the low 32 bits of their encoding, causing the filter never to match. The exact point at which the slicing occurred was during the map insertion at line 630. Differential Revision: https://reviews.llvm.org/D92423
Diffstat (limited to 'clang/lib/Lex/ModuleMap.cpp')
0 files changed, 0 insertions, 0 deletions