00001 /* 00002 * Copyright 2005, 2006 PathScale, Inc. All Rights Reserved. 00003 */ 00004 00005 /* 00006 00007 Copyright (C) 2000, 2001 Silicon Graphics, Inc. All Rights Reserved. 00008 00009 This program is free software; you can redistribute it and/or modify it 00010 under the terms of version 2 of the GNU General Public License as 00011 published by the Free Software Foundation. 00012 00013 This program is distributed in the hope that it would be useful, but 00014 WITHOUT ANY WARRANTY; without even the implied warranty of 00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00016 00017 Further, this software is distributed without any warranty that it is 00018 free of the rightful claim of any third person regarding infringement 00019 or the like. Any license provided herein, whether implied or 00020 otherwise, applies only to this software file. Patent licenses, if 00021 any, provided herein do not apply to combinations of this program with 00022 other software, or any other product whatsoever. 00023 00024 You should have received a copy of the GNU General Public License along 00025 with this program; if not, write the Free Software Foundation, Inc., 59 00026 Temple Place - Suite 330, Boston MA 02111-1307, USA. 00027 00028 Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pky, 00029 Mountain View, CA 94043, or: 00030 00031 http://www.sgi.com 00032 00033 For further information regarding this notice, see: 00034 00035 http://oss.sgi.com/projects/GenInfo/NoticeExplan 00036 00037 */ 00038 00039 00040 /* ==================================================================== 00041 * ==================================================================== 00042 * 00043 * Module: cwh_block.h 00044 * $Revision: 1.4 $ 00045 * $Date: 05/09/22 10:54:46-07:00 $ 00046 * $Author: gautam@jacinth.keyresearch $ 00047 * $Source: crayf90/sgi/SCCS/s.cwh_block.h $ 00048 * 00049 * Revision history: 00050 * dd-mmm-95 - Original Version 00051 * 00052 * Description: Entry points into cwh_block.cxx 00053 * 00054 * ==================================================================== 00055 * ==================================================================== 00056 */ 00057 00058 #ifndef CWH_BLOCK_INCLUDED 00059 #define CWH_BLOCK_INCLUDED 00060 00061 #ifdef _KEEP_RCS_ID 00062 static char *rcs_id = "$Source: crayf90/sgi/SCCS/s.cwh_block.h $ $Revision: 1.4 $"; 00063 #endif /* _KEEP_RCS_ID */ 00064 00065 /* block stack routines */ 00066 00067 extern void cwh_block_push_region(WN *region); 00068 extern WN * cwh_block_pop_region(void); 00069 00070 extern WN * cwh_block_set_region_pragmas(BOOL assert = TRUE); 00071 extern void cwh_block_push_block(WN *deferred, WN *append, BOOL is_top_pdo) ; 00072 extern void cwh_block_pop_block(void) ; 00073 extern void cwh_block_add_to_enclosing_regions(WN_PRAGMA_ID id, ST * st); 00074 00075 00076 /* block maintenance routines */ 00077 00078 extern WN * cwh_block_current(void); 00079 extern void cwh_block_set_current(WN * blk ); 00080 extern WN * cwh_block_new_and_current(void) ; 00081 extern WN * cwh_block_exchange_current(WN * blk ); 00082 00083 extern void cwh_block_init_pu() ; 00084 extern BOOL cwh_block_toggle_debug(BOOL debug) ; 00085 00086 00087 /* adding items to blocks */ 00088 00089 extern void cwh_block_append(WN *wn) ; 00090 extern void cwh_block_append_given_block(WN *wn, WN* block); 00091 extern void cwh_block_insert_after(WN *wn, WN*in) ; 00092 00093 00094 /* predefined blocks of code, to be added at convenient times */ 00095 /* via enum to describe possible blocks */ 00096 00097 enum block_id{ 00098 Defer_Block, /* deferred after a statement */ 00099 Preamble_Block, /* Last part of preamble */ 00100 First_Block, /* First block after preamble */ 00101 Top_of_Loop_Block /* 1st block in loop */ 00102 }; 00103 00104 extern void cwh_block_append_given_id(WN *wn, enum block_id block,BOOL first) ; 00105 extern void cwh_block_append_given(enum block_id id) ; 00106 00107 00108 00109 #endif /* CWH_BLOCK_INCLUDED */ 00110
1.5.6