[PATCH] D25618: Check that emitted instructions meet their predicates on all targets except ARM, Mips, and X86.

Daniel Sanders via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 14 07:21:42 PDT 2016


dsanders created this revision.
dsanders added subscribers: llvm-commits, tstellarAMD.
dsanders added a dependency: D25617: [tablegen] Merge duplicate definitions of getMinimalTypeForRange. NFC..
Herald added subscribers: nhaehnle, nemanjai, jyknight, arsenm, rengolin, aemerson.
Herald added a reviewer: tstellarAMD.

- ARM is omitted from this patch because this check appears to expose bugs in this target.
- Mips is omitted from this patch because this check either detects bugs or deliberate emission of instructions that don't satisfy their predicates. One deliberate use is the SYNC instruction where the version with an operand is correctly defined as requiring MIPS32 while the version without an operand is defined as an alias of 'SYNC 0' and requires MIPS2.
- X86 is omitted from this patch because it doesn't use the tablegen-erated MCCodeEmitter infrastructure.

Patches for ARM and Mips will follow.

Depends on https://reviews.llvm.org/D25617


https://reviews.llvm.org/D25618

Files:
  lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp
  lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.h
  lib/Target/AMDGPU/MCTargetDesc/R600MCCodeEmitter.cpp
  lib/Target/AMDGPU/MCTargetDesc/SIMCCodeEmitter.cpp
  lib/Target/AMDGPU/VOP1Instructions.td
  lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp
  lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp
  lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.h
  lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp
  lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp
  lib/Target/SystemZ/MCTargetDesc/SystemZMCCodeEmitter.cpp
  utils/TableGen/AsmMatcherEmitter.cpp
  utils/TableGen/CodeEmitterGen.cpp
  utils/TableGen/SubtargetFeatureInfo.cpp
  utils/TableGen/SubtargetFeatureInfo.h
  utils/TableGen/Types.cpp
  utils/TableGen/Types.h

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D25618.74681.patch
Type: text/x-patch
Size: 18928 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161014/d7d28fbe/attachment.bin>


More information about the llvm-commits mailing list