X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firmode.h;h=d33c0f7d17a09c77d6ae9162de2cda373e1f7cf6;hb=b61de8a0ffaafe3b69b1fa99544495c68d4b729c;hp=cbf2573558c6399a0b671de063536b5f5a0ffec7;hpb=60d444376e2653f52d36775d6f552eed7e621291;p=libfirm diff --git a/ir/ir/irmode.h b/ir/ir/irmode.h index cbf257355..d33c0f7d1 100644 --- a/ir/ir/irmode.h +++ b/ir/ir/irmode.h @@ -1,33 +1,39 @@ /* - * Project: libFIRM - * File name: ir/ir/irmode.h - * Purpose: Data modes of operations. - * Author: Martin Trapp, Christian Schaefer - * Modified by: Goetz Lindenmaier, Mathias Heil, Michael Beck - * Created: - * CVS-ID: $Id$ - * Copyright: (c) 1998-2007 Universität Karlsruhe - * Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE. - */ - -/** - * @file irmode.h - * irmode -- Modes for ir operators + * Copyright (C) 1995-2007 University of Karlsruhe. All right reserved. * - * @author Christian Schaefer, Matthias Heil + * This file is part of libFirm. * - * This module specifies the modes that type the firm nodes. It defines - * a datasturcture that describes a mode and implements constructors and - * access routines to this datastructure. Further it defines a set of - * predefined modes. + * This file may be distributed and/or modified under the terms of the + * GNU General Public License version 2 as published by the Free Software + * Foundation and appearing in the file LICENSE.GPL included in the + * packaging of this file. * - * SEE ALSO: - * UKA tech report 1999-44 for more information about modes. + * Licensees holding valid libFirm Professional Edition licenses may use + * this file in accordance with the libFirm Commercial License. + * Agreement provided with the Software. * + * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE + * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE. */ -#ifndef _FIRM_IR_IRMODE_H_ -#define _FIRM_IR_IRMODE_H_ +/** + * @file + * @brief Data modes of operations. + * @author Martin Trapp, Christian Schaefer, Goetz Lindenmaier, Mathias Heil, + * Michael Beck + * @version $Id$ + * @summary + * This module specifies the modes that type the firm nodes. It defines + * a datasturcture that describes a mode and implements constructors and + * access routines to this datastructure. Further it defines a set of + * predefined modes. + * + * SEE ALSO: + * UKA tech report 1999-44 for more information about modes. + */ +#ifndef FIRM_IR_IRMODE_H +#define FIRM_IR_IRMODE_H #include "firm_types.h" #include "ident.h" @@ -77,6 +83,8 @@ typedef enum { /* irm is short for `ir mode' */ irm_Iu, /**< unsigned int(32) */ irm_Ls, /**< signed long(64) */ irm_Lu, /**< unsigned long(64) */ + irm_LLs, /**< signed long long(128) */ + irm_LLu, /**< unsigned long long(128) */ irm_C, /**< character */ irm_P, /**< pointer */ irm_b, /**< internal boolean */ @@ -303,22 +311,24 @@ tarval *get_mode_NAN(ir_mode *mode); extern ir_mode *mode_M; /**< memory */ /* -- A set of predefined, numerical modes according to Techreport 1999-44 -- */ -extern ir_mode *mode_F; /**< signed float(32) */ -extern ir_mode *mode_D; /**< signed double(64) */ -extern ir_mode *mode_E; /**< signed extended(80) */ -extern ir_mode *mode_Bs; /**< signed byte (former char) */ -extern ir_mode *mode_Bu; /**< unsigned byte (former char) */ -extern ir_mode *mode_Hs; /**< signed short integer */ -extern ir_mode *mode_Hu; /**< unsigned short integer */ -extern ir_mode *mode_Is; /**< signed integer */ -extern ir_mode *mode_Iu; /**< unsigned integer */ -extern ir_mode *mode_Ls; /**< signed long integer */ -extern ir_mode *mode_Lu; /**< unsigned long integer */ - -extern ir_mode *mode_C; /**< 8 bit char */ -extern ir_mode *mode_U; /**< 16 bit unicode char */ - -extern ir_mode *mode_P; /**< pointer */ +extern ir_mode *mode_F; /**< signed float(32) */ +extern ir_mode *mode_D; /**< signed double(64) */ +extern ir_mode *mode_E; /**< signed extended(80) */ +extern ir_mode *mode_Bs; /**< signed byte (former char) */ +extern ir_mode *mode_Bu; /**< unsigned byte (former char) */ +extern ir_mode *mode_Hs; /**< signed short integer */ +extern ir_mode *mode_Hu; /**< unsigned short integer */ +extern ir_mode *mode_Is; /**< signed integer */ +extern ir_mode *mode_Iu; /**< unsigned integer */ +extern ir_mode *mode_Ls; /**< signed long integer */ +extern ir_mode *mode_Lu; /**< unsigned long integer */ +extern ir_mode *mode_LLs; /**< signed long long integer */ +extern ir_mode *mode_LLu; /**< unsigned long long integer */ + +extern ir_mode *mode_C; /**< 8 bit char */ +extern ir_mode *mode_U; /**< 16 bit unicode char */ + +extern ir_mode *mode_P; /**< pointer */ extern ir_mode *mode_P_code; /**< A pointer mode that is set by the client of libfirm. This mode represents the pointer size of the target machine code addresses. Is initialized to mode_P. */ @@ -349,6 +359,8 @@ ir_mode *get_modeIs(void); ir_mode *get_modeIu(void); ir_mode *get_modeLs(void); ir_mode *get_modeLu(void); +ir_mode *get_modeLLs(void); +ir_mode *get_modeLLu(void); ir_mode *get_modeC(void); ir_mode *get_modeU(void); ir_mode *get_modeP(void); @@ -490,4 +502,4 @@ ir_mode *get_reference_mode_unsigned_eq(ir_mode *mode); */ void set_reference_mode_unsigned_eq(ir_mode *ref_mode, ir_mode *int_mode); -#endif /* _FIRM_IR_IRMODE_H_ */ +#endif