llvm-project/mlir/test/Bytecode/invalid/invalid-structure.mlir
Matteo Franciolini 612781918f Preserve use-list orders in mlir bytecode
This patch implements a mechanism to read/write use-list orders from/to the mlir bytecode format. When producing bytecode, use-list orders are appended to each value of the IR. When reading bytecode, use-lists orders are loaded in memory and used at the end of parsing to sort the existing use-list chains.

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D149755
2023-05-21 16:48:12 -07:00

48 lines
2.1 KiB
MLIR

// This file contains various failure test cases related to the structure of
// a bytecode file.
// Bytecode currently does not support big-endian platforms
// UNSUPPORTED: target=s390x-{{.*}}
//===--------------------------------------------------------------------===//
// 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 3
//===--------------------------------------------------------------------===//
// 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)