[all-commits] [llvm/llvm-project] 456135: [CodeEmitter] Fix encoding wide instructions on bi...

Jay Foad via All-commits all-commits at lists.llvm.org
Tue Jun 7 11:09:17 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 4561352f7bd972939f19d7ff8462386c97b584ad
      https://github.com/llvm/llvm-project/commit/4561352f7bd972939f19d7ff8462386c97b584ad
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2022-06-07 (Tue, 07 Jun 2022)

  Changed paths:
    M llvm/utils/TableGen/CodeEmitterGen.cpp

  Log Message:
  -----------
  [CodeEmitter] Fix encoding wide instructions on big-endian hosts

For instructions wider than 64 bits the InstBits table is initialized in
64-bit chunks from APInt::getRawData, but it was being read with
LoadIntFromMemory which is byte-based.

Fix this by reading the table with the APInt constructor that takes an
ArrayRef to the raw data instead.

This is currently NFC for in-tree targets but fixes AMDGPU failures on
big-endian hosts that were caused by D126483 until it was reverted.

Differential Revision: https://reviews.llvm.org/D127195




More information about the All-commits mailing list