This makes the bytecode reader/writer work on big-endian platforms. The only problem was related to encoding of multi-byte integers, where both reader and writer code make implicit assumptions about endianness of the host platform. This fixes the current test failures on s390x, and in addition allows to remove the UNSUPPORTED markers from all other bytecode-related test cases - they now also all pass on s390x. Also adding a GFAIL_SKIP to the MultiModuleWithResource unit test, as this still fails due to an unrelated endian bug regarding decoding of external resources. Differential Revision: https://reviews.llvm.org/D153567 Reviewed By: mehdi_amini, jpienaar, rriddle
45 lines
2.0 KiB
MLIR
45 lines
2.0 KiB
MLIR
// This file contains various failure test cases related to the structure of
|
|
// a bytecode file.
|
|
|
|
//===--------------------------------------------------------------------===//
|
|
// Version
|
|
//===--------------------------------------------------------------------===//
|
|
|
|
// RUN: not mlir-opt %S/invalid-structure-version.mlirbc 2>&1 | FileCheck %s --check-prefix=VERSION
|
|
// VERSION: bytecode version 127 is newer than the current version {{[0-9]+}}
|
|
|
|
//===--------------------------------------------------------------------===//
|
|
// Producer
|
|
//===--------------------------------------------------------------------===//
|
|
|
|
// RUN: not mlir-opt %S/invalid-structure-producer.mlirbc 2>&1 | FileCheck %s --check-prefix=PRODUCER
|
|
// PRODUCER: malformed null-terminated string, no null character found
|
|
|
|
//===--------------------------------------------------------------------===//
|
|
// Section
|
|
//===--------------------------------------------------------------------===//
|
|
|
|
//===--------------------------------------------------------------------===//
|
|
// Missing
|
|
|
|
// RUN: not mlir-opt %S/invalid-structure-section-missing.mlirbc 2>&1 | FileCheck %s --check-prefix=SECTION_MISSING
|
|
// SECTION_MISSING: missing data for top-level section: String (0)
|
|
|
|
//===--------------------------------------------------------------------===//
|
|
// ID
|
|
|
|
// RUN: not mlir-opt %S/invalid-structure-section-id-unknown.mlirbc 2>&1 | FileCheck %s --check-prefix=SECTION_ID_UNKNOWN
|
|
// SECTION_ID_UNKNOWN: invalid section ID: 127
|
|
|
|
//===--------------------------------------------------------------------===//
|
|
// Length
|
|
|
|
// RUN: not mlir-opt %S/invalid-structure-section-length.mlirbc 2>&1 | FileCheck %s --check-prefix=SECTION_LENGTH
|
|
// SECTION_LENGTH: attempting to parse a byte at the end of the bytecode
|
|
|
|
//===--------------------------------------------------------------------===//
|
|
// Duplicate
|
|
|
|
// RUN: not mlir-opt %S/invalid-structure-section-duplicate.mlirbc 2>&1 | FileCheck %s --check-prefix=SECTION_DUPLICATE
|
|
// SECTION_DUPLICATE: duplicate top-level section: String (0)
|