Files
clang-p2996/mlir/test/Bytecode/invalid/invalid-structure.mlir
Mehdi Amini 660f714e26 [MLIR] Add native Bytecode support for properties
This is adding a new interface (`BytecodeOpInterface`) to allow operations to
opt-in skipping conversion to attribute and serializing properties to native
bytecode.

The scheme relies on a new section where properties are stored in sequence

  { size, serialize_properties }, ...

The operations are storing the index of a properties, a table of offset is
built when loading the properties section the first time.

This is a re-commit of 837d1ce0dc which conflicted with another patch upgrading
the bytecode and the collision wasn't properly resolved before.

Differential Revision: https://reviews.llvm.org/D151065
2023-05-26 17:45:01 -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 {{[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)