brintos

brintos / llvm-project-archived public Read only

0
0
Text · 918 B · bcc2217 Raw
48 lines · c
1/*2 * Copyright 2008-2009 Katholieke Universiteit Leuven3 *4 * Use of this software is governed by the MIT license5 *6 * Written by Sven Verdoolaege, K.U.Leuven, Departement7 * Computerwetenschappen, Celestijnenlaan 200A, B-3001 Leuven, Belgium8 */9 10#ifndef ISL_ID_PRIVATE_H11#define ISL_ID_PRIVATE_H12 13#include <isl/id.h>14#include <isl/stream.h>15 16/* Represent a name and/or user pointer.17 *18 * If "free_user" is set, then it will be called on "user" when19 * the last instance of the isl_id is freed.20 */21struct isl_id {22	int ref;23	isl_ctx *ctx;24 25	const char *name;26	void *user;27	uint32_t hash;28 29	__isl_give void (*free_user)(void *user);30};31 32#undef EL33#define EL isl_id34 35#include <isl_list_templ.h>36 37uint32_t isl_hash_id(uint32_t hash, __isl_keep isl_id *id);38int isl_id_cmp(__isl_keep isl_id *id1, __isl_keep isl_id *id2);39 40extern isl_id isl_id_none;41 42#undef BASE43#define BASE id44 45#include <isl_multi_templ.h>46 47#endif48