Path: blob/main/contrib/llvm-project/clang/lib/CIR/Dialect/IR/CIRDataLayout.cpp
213845 views
#include "clang/CIR/Dialect/IR/CIRDataLayout.h"12using namespace cir;34//===----------------------------------------------------------------------===//5// DataLayout Class Implementation6//===----------------------------------------------------------------------===//78CIRDataLayout::CIRDataLayout(mlir::ModuleOp modOp) : layout(modOp) {9reset(modOp.getDataLayoutSpec());10}1112void CIRDataLayout::reset(mlir::DataLayoutSpecInterface spec) {13bigEndian = false;14if (spec) {15mlir::StringAttr key = mlir::StringAttr::get(16spec.getContext(), mlir::DLTIDialect::kDataLayoutEndiannessKey);17if (mlir::DataLayoutEntryInterface entry = spec.getSpecForIdentifier(key))18if (auto str = llvm::dyn_cast<mlir::StringAttr>(entry.getValue()))19bigEndian = str == mlir::DLTIDialect::kDataLayoutEndiannessBig;20}21}222324