
This PR adds support for the DLTI dialect by attaching it to the module attributes and introduces a utility function to determine if the target is big-endian, which is required for https://github.com/llvm/llvm-project/pull/142041. Some tests were updated because we now use `mlir::translateDataLayout`, which "updates" the `DataLayout` where the alignment for `long` is 8 instead of the previously 4. This updated is consistent with Incubator.
24 lines
1.1 KiB
C
24 lines
1.1 KiB
C
// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -emit-cir %s -o %t.cir
|
|
// RUN: FileCheck --input-file=%t.cir %s --check-prefix=LITTLE
|
|
|
|
void foo() {}
|
|
|
|
// LITTLE-DAG: dlti.dl_spec =
|
|
// LITTLE-DAG: #dlti.dl_spec<
|
|
// LITTLE-DAG: i16 = dense<16> : vector<2xi64>,
|
|
// LITTLE-DAG: i32 = dense<32> : vector<2xi64>,
|
|
// LITTLE-DAG: i8 = dense<8> : vector<2xi64>,
|
|
// LITTLE-DAG: i1 = dense<8> : vector<2xi64>,
|
|
// LITTLE-DAG: !llvm.ptr = dense<64> : vector<4xi64>,
|
|
// LITTLE-DAG: f80 = dense<128> : vector<2xi64>,
|
|
// LITTLE-DAG: i128 = dense<128> : vector<2xi64>,
|
|
// LITTLE-DAG: !llvm.ptr<272> = dense<64> : vector<4xi64>,
|
|
// LITTLE-DAG: i64 = dense<64> : vector<2xi64>,
|
|
// LITTLE-DAG: !llvm.ptr<270> = dense<32> : vector<4xi64>,
|
|
// LITTLE-DAG: !llvm.ptr<271> = dense<32> : vector<4xi64>,
|
|
// LITTLE-DAG: f128 = dense<128> : vector<2xi64>,
|
|
// LITTLE-DAG: f16 = dense<16> : vector<2xi64>,
|
|
// LITTLE-DAG: f64 = dense<64> : vector<2xi64>,
|
|
// LITTLE-DAG: "dlti.stack_alignment" = 128 : i64
|
|
// LITTLE-DAG: "dlti.endianness" = "little"
|