Files
clang-p2996/mlir/test/Bytecode/invalid/invalid-ir_section.mlir
Ulrich Weigand bb0bbed610 Fix bytecode reader/writer on big-endian platforms
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
2023-06-23 09:22:55 +02:00

46 lines
2.2 KiB
MLIR

// This file contains various failure test cases related to the structure of
// the IR section.
//===--------------------------------------------------------------------===//
// Operations
//===--------------------------------------------------------------------===//
//===--------------------------------------------------------------------===//
// Name
// RUN: not mlir-opt %S/invalid-ir_section-opname.mlirbc -allow-unregistered-dialect 2>&1 | FileCheck %s --check-prefix=OP_NAME
// OP_NAME: invalid operation name index: 14
//===--------------------------------------------------------------------===//
// Loc
// RUN: not mlir-opt %S/invalid-ir_section-loc.mlirbc -allow-unregistered-dialect 2>&1 | FileCheck %s --check-prefix=OP_LOC
// OP_LOC: expected attribute of type: {{.*}}, but got: {attra = 10 : i64, attrb = #bytecode.attr}
//===--------------------------------------------------------------------===//
// Attr
// RUN: not mlir-opt %S/invalid-ir_section-attr.mlirbc -allow-unregistered-dialect 2>&1 | FileCheck %s --check-prefix=OP_ATTR
// OP_ATTR: expected attribute of type: {{.*}}, but got: loc(unknown)
//===--------------------------------------------------------------------===//
// Operands
// RUN: not mlir-opt %S/invalid-ir_section-operands.mlirbc -allow-unregistered-dialect 2>&1 | FileCheck %s --check-prefix=OP_OPERANDS
// OP_OPERANDS: invalid value index: 6
// RUN: not mlir-opt %S/invalid-ir_section-forwardref.mlirbc -allow-unregistered-dialect 2>&1 | FileCheck %s --check-prefix=FORWARD_REF
// FORWARD_REF: not all forward unresolved forward operand references
//===--------------------------------------------------------------------===//
// Results
// RUN: not mlir-opt %S/invalid-ir_section-results.mlirbc -allow-unregistered-dialect 2>&1 | FileCheck %s --check-prefix=OP_RESULTS
// OP_RESULTS: value index range was outside of the expected range for the parent region, got [3, 6), but the maximum index was 2
//===--------------------------------------------------------------------===//
// Successors
// RUN: not mlir-opt %S/invalid-ir_section-successors.mlirbc -allow-unregistered-dialect 2>&1 | FileCheck %s --check-prefix=OP_SUCCESSORS
// OP_SUCCESSORS: invalid successor index: 3