Changeset View
Changeset View
Standalone View
Standalone View
mlir/test/CAPI/ir.c
Show First 20 Lines • Show All 313 Lines • ▼ Show 20 Lines | static void printFirstOfEach(MlirContext ctx, MlirOperation operation) { | ||||
// function. | // function. | ||||
MlirRegion region = mlirOperationGetRegion(operation, 0); | MlirRegion region = mlirOperationGetRegion(operation, 0); | ||||
MlirBlock block = mlirRegionGetFirstBlock(region); | MlirBlock block = mlirRegionGetFirstBlock(region); | ||||
operation = mlirBlockGetFirstOperation(block); | operation = mlirBlockGetFirstOperation(block); | ||||
region = mlirOperationGetRegion(operation, 0); | region = mlirOperationGetRegion(operation, 0); | ||||
MlirOperation parentOperation = operation; | MlirOperation parentOperation = operation; | ||||
block = mlirRegionGetFirstBlock(region); | block = mlirRegionGetFirstBlock(region); | ||||
operation = mlirBlockGetFirstOperation(block); | operation = mlirBlockGetFirstOperation(block); | ||||
assert(mlirModuleIsNull(mlirModuleFromOperation(operation))); | |||||
// Verify that parent operation and block report correctly. | // Verify that parent operation and block report correctly. | ||||
fprintf(stderr, "Parent operation eq: %d\n", | fprintf(stderr, "Parent operation eq: %d\n", | ||||
mlirOperationEqual(mlirOperationGetParentOperation(operation), | mlirOperationEqual(mlirOperationGetParentOperation(operation), | ||||
parentOperation)); | parentOperation)); | ||||
fprintf(stderr, "Block eq: %d\n", | fprintf(stderr, "Block eq: %d\n", | ||||
mlirBlockEqual(mlirOperationGetBlock(operation), block)); | mlirBlockEqual(mlirOperationGetBlock(operation), block)); | ||||
// CHECK: Parent operation eq: 1 | // CHECK: Parent operation eq: 1 | ||||
▲ Show 20 Lines • Show All 125 Lines • ▼ Show 20 Lines | static void printFirstOfEach(MlirContext ctx, MlirOperation operation) { | ||||
mlirOpPrintingFlagsDestroy(flags); | mlirOpPrintingFlagsDestroy(flags); | ||||
} | } | ||||
static int constructAndTraverseIr(MlirContext ctx) { | static int constructAndTraverseIr(MlirContext ctx) { | ||||
MlirLocation location = mlirLocationUnknownGet(ctx); | MlirLocation location = mlirLocationUnknownGet(ctx); | ||||
MlirModule moduleOp = makeAndDumpAdd(ctx, location); | MlirModule moduleOp = makeAndDumpAdd(ctx, location); | ||||
MlirOperation module = mlirModuleGetOperation(moduleOp); | MlirOperation module = mlirModuleGetOperation(moduleOp); | ||||
assert(!mlirModuleIsNull(mlirModuleFromOperation(module))); | |||||
int errcode = collectStats(module); | int errcode = collectStats(module); | ||||
if (errcode) | if (errcode) | ||||
return errcode; | return errcode; | ||||
printFirstOfEach(ctx, module); | printFirstOfEach(ctx, module); | ||||
mlirModuleDestroy(moduleOp); | mlirModuleDestroy(moduleOp); | ||||
▲ Show 20 Lines • Show All 1,194 Lines • Show Last 20 Lines |