From owner-pro64-support@oss.sgi.com Wed Oct 4 11:40:43 2000 Received: by oss.sgi.com id ; Wed, 4 Oct 2000 11:40:34 -0700 Received: from [38.170.141.29] ([38.170.141.29]:54008 "EHLO heart.hq.tensilica.com") by oss.sgi.com with ESMTP id ; Wed, 4 Oct 2000 11:40:01 -0700 Received: (from goodwin@localhost) by heart.hq.tensilica.com (8.9.3/8.9.3) id LAA32057; Wed, 4 Oct 2000 11:38:59 -0700 X-Authentication-Warning: heart.hq.tensilica.com: goodwin set sender to goodwin@tensilica.com using -f From: David Goodwin MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <14811.31042.978733.165876@heart.hq.tensilica.com> Date: Wed, 4 Oct 2000 11:38:58 -0700 (PDT) To: pro64-support@oss.sgi.com Cc: goodwin@tensilica.com Subject: opt failure with latest sources X-Mailer: VM 6.75 under Emacs 20.5.1 Reply-to: goodwin@tensilica.com Sender: owner-pro64-support@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;pro64-support-outgoing I'm getting an Is_True failure with the latest sources for the attached program. The binary release doesn't have the problem, but it isn't an Is_True_On compiler, so I can't tell if the problem is with my sources or not. I compared the *.B file coming out of the front end, as well as the whirl at each phase leading up to the failure, and they seem the same for both compilers. You may want to release Is_True_On compilers from now on, since that would help debugging for those working with source, and also help find more bugs in general. David ### Assertion failure at line 3859 of /be/opt/opt_etable.cxx: ### Compiler Error in file raw.c during Global Optimization -- LPRE: Build initial occurrence lists phase: ### EXP_WORKLST::Adjust_combined_types: cr's sign extension flag is inconsistentxt-cc INTERNAL ERROR: returned non-zero status 1 #include unsigned char cstate; main() { int n; while(1) { n = foo(); if ( n < 0 ) { bar(1); } if ( n == 0 ) break; } fprintf( stderr, "index=%d\n", (__int32_t)cstate); exit(0); } From owner-pro64-support@oss.sgi.com Wed Oct 4 16:24:54 2000 Received: by oss.sgi.com id ; Wed, 4 Oct 2000 16:24:44 -0700 Received: from [38.170.141.29] ([38.170.141.29]:17911 "EHLO mail-in.hq.tensilica.com") by oss.sgi.com with ESMTP id ; Wed, 4 Oct 2000 16:24:22 -0700 Received: from hq (sarod.hq.tensilica.com [192.168.10.77]) by mail-in.hq.tensilica.com (8.9.3/8.9.3) with SMTP id QAA23627; Wed, 4 Oct 2000 16:23:14 -0700 From: "Peng Tu" To: , Subject: RE: opt failure with latest sources Date: Wed, 4 Oct 2000 16:28:24 -0700 Message-ID: <000401c02e5a$ca3fff60$0501a8c0@hq> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook 8.5, Build 4.71.2173.0 Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300 In-Reply-To: <14811.31042.978733.165876@heart.hq.tensilica.com> Sender: owner-pro64-support@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;pro64-support-outgoing The bug seems to be in opt_rename.cxx. At line 322, one needs to add: tmp->Assign_sign_extd(cr->Is_sign_extd()); Note that lines 318-321 are copying a CODEREP's dtype and desctype into the 'tmp CODEREP'. However it doesn't copy the Is_sign_extd() flag, this caused an inconsistency. Peng. BTW. The 'tmp' contains 'invented/approximate dtype/desc types' before those copy statements. This is reason for those copy statements to be there in the first place. > -----Original Message----- > From: owner-pro64-support@oss.sgi.com > [mailto:owner-pro64-support@oss.sgi.com]On Behalf Of David Goodwin > Sent: Wednesday, October 04, 2000 11:39 AM > To: pro64-support@oss.sgi.com > Cc: goodwin@tensilica.com > Subject: opt failure with latest sources > > > > I'm getting an Is_True failure with the latest sources for the attached > program. The binary release doesn't have the problem, but it isn't an > Is_True_On compiler, so I can't tell if the problem is with my sources > or not. > > I compared the *.B file coming out of the front end, as well as the whirl > at each phase leading up to the failure, and they seem the same for both > compilers. > > You may want to release Is_True_On compilers from now on, since that would > help debugging for those working with source, and also help find more bugs > in general. > > David > > > ### Assertion failure at line 3859 of > /be/opt/opt_etable.cxx: > ### Compiler Error in file raw.c during Global Optimization -- LPRE: Build > initial occurrence lists phase: > ### EXP_WORKLST::Adjust_combined_types: cr's sign extension flag is > inconsistentxt-cc INTERNAL ERROR: > returned non-zero status 1 > > > #include > > unsigned char cstate; > > main() { > int n; > > while(1) { > n = foo(); > if ( n < 0 ) { > bar(1); > } > if ( n == 0 ) break; > } > fprintf( stderr, "index=%d\n", (__int32_t)cstate); > exit(0); > } > From owner-pro64-support@oss.sgi.com Fri Oct 6 07:15:48 2000 Received: by oss.sgi.com id ; Fri, 6 Oct 2000 07:15:38 -0700 Received: from [198.170.1.20] ([198.170.1.20]:1019 "EHLO syseng.hstc.necsyl.com") by oss.sgi.com with ESMTP id ; Fri, 6 Oct 2000 07:15:31 -0700 Received: from aamin (t3-static5-94.adsl.directlink.net [63.68.139.94]) by syseng.hstc.necsyl.com (8.9.3+Sun/8.9.1) with SMTP id JAA13020 for ; Fri, 6 Oct 2000 09:15:22 -0500 (CDT) Reply-To: From: "Arvind Amin" To: "Pro64-Support" Subject: GETCWD function in Fortran library Date: Fri, 6 Oct 2000 09:17:07 -0500 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0) X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 Importance: Normal Sender: owner-pro64-support@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;pro64-support-outgoing I have run into a missing library function. Here is a small test that shows that GETCWD has missing internal library routine. Is there any update to resolve this? >cat try.F program try character*1024 cwd, buf, getcwd, pfxgetcwd external getcwd cwd=getcwd(buf,50) print *, cwd stop end >sgif90 try.F /usr/lib/gcc-lib/ia64-cygnus-linux/2.9-ia64-000216-final/../../../libfortran.a(getcwd_.o): ../../libU77/getcwd_.c:85: undefined reference to `b_char' collect2: ld returned 1 exit status Thanks. ************************************** Arvind Amin, Ph.D. Sr. Applications Consultant NEC Systems, Inc e-mail: aamin@atcc.necsyl.com phone: (281) 465-1557 http://www.necservers.com ************************************* From owner-pro64-support@oss.sgi.com Sat Oct 7 10:09:49 2000 Received: by oss.sgi.com id ; Sat, 7 Oct 2000 10:09:40 -0700 Received: from po3.wam.umd.edu ([128.8.10.165]:36857 "EHLO po3.wam.umd.edu") by oss.sgi.com with ESMTP id ; Sat, 7 Oct 2000 10:09:17 -0700 Received: from rac3.wam.umd.edu (IDENT:root@rac3.wam.umd.edu [128.8.10.143]) by po3.wam.umd.edu (8.9.3/8.9.3) with ESMTP id NAA21792 for ; Sat, 7 Oct 2000 13:09:16 -0400 (EDT) Received: from rac3.wam.umd.edu (IDENT:sendmail@localhost [127.0.0.1]) by rac3.wam.umd.edu (8.9.3/8.9.3) with SMTP id NAA05893 for ; Sat, 7 Oct 2000 13:09:16 -0400 (EDT) Received: from localhost (zhangyi@localhost) by rac3.wam.umd.edu (8.9.3/8.9.3) with ESMTP id NAA05889 for ; Sat, 7 Oct 2000 13:09:15 -0400 (EDT) X-Authentication-Warning: rac3.wam.umd.edu: zhangyi owned process doing -bs Date: Sat, 7 Oct 2000 13:09:15 -0400 (EDT) From: Zhang Yi To: pro64-support@oss.sgi.com Subject: Build Fortran 90 Front-End Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-pro64-support@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;pro64-support-outgoing While building Fortran 90 Front-End, I was told such error messages: NLSPATH=/usr/ia64-sgi-linux/lib/gcc-lib/ia64-sgi-linux/sgicc-1.0/%N.cat \ /usr/ia32-sgi-linux/bin/f90 -c -MD ../../../crayf90/fe90/fold.f sh:/usr/ia32-sgi-linux/bin/f90: No such file or directory gmake[1]: *** [fold.o] Error 127 gmake[1]: Leaving directory `/nue/sgi/osprey1.0/targia32_ia64_nodebug/crayf90/fe90' gmake: *** [first] Error 2 I wonder how to solve this problem. yours sincerely zhangyi From owner-pro64-support@oss.sgi.com Sat Oct 7 13:49:42 2000 Received: by oss.sgi.com id ; Sat, 7 Oct 2000 13:49:33 -0700 Received: from po3.wam.umd.edu ([128.8.10.165]:45442 "EHLO po3.wam.umd.edu") by oss.sgi.com with ESMTP id ; Sat, 7 Oct 2000 13:49:11 -0700 Received: from rac3.wam.umd.edu (IDENT:root@rac3.wam.umd.edu [128.8.10.143]) by po3.wam.umd.edu (8.9.3/8.9.3) with ESMTP id QAA00051 for ; Sat, 7 Oct 2000 16:49:10 -0400 (EDT) Received: from rac3.wam.umd.edu (IDENT:sendmail@localhost [127.0.0.1]) by rac3.wam.umd.edu (8.9.3/8.9.3) with SMTP id QAA05346 for ; Sat, 7 Oct 2000 16:49:10 -0400 (EDT) Received: from localhost (zhangyi@localhost) by rac3.wam.umd.edu (8.9.3/8.9.3) with ESMTP id QAA05342 for ; Sat, 7 Oct 2000 16:49:09 -0400 (EDT) X-Authentication-Warning: rac3.wam.umd.edu: zhangyi owned process doing -bs Date: Sat, 7 Oct 2000 16:49:09 -0400 (EDT) From: Zhang Yi To: pro64-support@oss.sgi.com Subject: Build Fortran 90 Front-End Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-pro64-support@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;pro64-support-outgoing While building Fortran 90 Front-End, I was told such error messages: NLSPATH=/usr/ia64-sgi-linux/lib/gcc-lib/ia64-sgi-linux/sgicc-1.0/%N.cat \ /usr/ia32-sgi-linux/bin/f90 -c -MD ../../../crayf90/fe90/fold.f sh:/usr/ia32-sgi-linux/bin/f90: No such file or directory gmake[1]: *** [fold.o] Error 127 gmake[1]: Leaving directory `/nue/sgi/osprey1.0/targia32_ia64_nodebug/crayf90/fe90' gmake: *** [first] Error 2 I wonder how to solve this problem. Yours Sincerely zhangyi From owner-pro64-support@oss.sgi.com Thu Oct 19 07:57:54 2000 Received: by oss.sgi.com id ; Thu, 19 Oct 2000 07:57:43 -0700 Received: from phyexha.physics.uiuc.edu ([128.174.129.33]:15889 "EHLO phyexha.physics.uiuc.edu") by oss.sgi.com with ESMTP id ; Thu, 19 Oct 2000 07:57:35 -0700 Received: from mail.physics.uiuc.edu (WILKENS [130.126.101.104]) by phyexha.physics.uiuc.edu with SMTP (Microsoft Exchange Internet Mail Service Version 5.5.2650.21) id 4T10PFNJ; Thu, 19 Oct 2000 09:57:42 -0500 Message-ID: <39EF0BDE.999816D8@mail.physics.uiuc.edu> Date: Thu, 19 Oct 2000 09:57:34 -0500 From: Tim Wilkens X-Mailer: Mozilla 4.74 [en] (Windows NT 5.0; U) X-Accept-Language: en MIME-Version: 1.0 To: pro64-support@oss.sgi.com, Patrick Mahoney , "Kao, Keith" Subject: sgif90 compiler using -IPA option Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-pro64-support@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;pro64-support-outgoing Hi, I'm a frequent user of the SGI Origin 2000 Supercomputers at the National Center for Supercomputing Applications. I was testing one of my codes on an IA-64 machine at the Compaq testdrive site.. They have sgif90 installed on those machines in addition to sgi linux. However.. I can not use the -O3 or the -Ofast compiler optimizations.. this breaks my code or I get wierd error messages.. These optimizations work fine on the Origin.. and this leads me to believe it's the compilers fault. Do you know whether other people have had a similar fate and can you help me over come this. I can compile with optimizations of -O2 which is encouraging and the program works fine. Also, the InterProcedural linking optimizations ( -IPA ) are not working either.. the compiler is looking for some sort of executable however this executable ipa*** doesn't exist.. a file with the extention ****.so does however.. The -IPA option 1/2's the run time on the Origin supercomputers.. do you know the state of the -IPA option and if it works or will work. Any help you can give me is much appreciated.. and I'm rather pleased with the performance as of now. I hope to squeeze much more out of all of your hard work. Thanks you... Tim Wilkens From owner-pro64-support@oss.sgi.com Thu Oct 19 10:06:26 2000 Received: by oss.sgi.com id ; Thu, 19 Oct 2000 10:06:15 -0700 Received: from deliverator.sgi.com ([204.94.214.10]:27689 "EHLO deliverator.sgi.com") by oss.sgi.com with ESMTP id ; Thu, 19 Oct 2000 10:05:57 -0700 Received: from cchkms.engr.sgi.com (cchkms.engr.sgi.com [130.62.180.48]) by deliverator.sgi.com (980309.SGI.8.8.8-aspam-6.2/980310.SGI-aspam) via ESMTP id JAA29656 for ; Thu, 19 Oct 2000 09:58:10 -0700 (PDT) mail_from (rat@cchkms.engr.sgi.com) Received: (from rat@localhost) by cchkms.engr.sgi.com (980427.SGI.8.8.8/970903.SGI.AUTOCF) id KAA32249; Thu, 19 Oct 2000 10:04:14 -0700 (PDT) From: "Ross A. Towle" Message-Id: <10010191004.ZM32482@cchkms.engr.sgi.com> Date: Thu, 19 Oct 2000 10:04:12 -0700 In-Reply-To: Tim Wilkens "sgif90 compiler using -IPA option" (Oct 19, 9:57am) References: <39EF0BDE.999816D8@mail.physics.uiuc.edu> X-Mailer: Z-Mail (3.2.3 08feb96 MediaMail) To: Tim Wilkens , pro64-support@oss.sgi.com, Patrick Mahoney , "Kao, Keith" Subject: Re: sgif90 compiler using -IPA option Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-pro64-support@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;pro64-support-outgoing IPA is not available at this with the Pro64 compilers. That means that -Ofast (which is like saying -O3 -ipa plus someothers) will not work. The optimizations are in place. What is missing is ipa_link which is an IPA aware linker. It will be available in the future. In the meantime keep using -O3. It is in place and works fine. -Ross From owner-pro64-support@oss.sgi.com Thu Oct 19 17:06:57 2000 Received: by oss.sgi.com id ; Thu, 19 Oct 2000 17:06:48 -0700 Received: from munch-it.turbolinux.com ([38.170.88.129]:242 "EHLO mail.us.tlan") by oss.sgi.com with ESMTP id ; Thu, 19 Oct 2000 17:06:32 -0700 Received: (from nobody@localhost) by mail.us.tlan (8.9.3/8.9.3) id RAA21468 for ; Thu, 19 Oct 2000 17:06:32 -0700 Received: from ariel.dev.us.tlan(172.16.12.158), claiming to be "turbolinux.com" via SMTP by mail.us.tlan, id smtpdIytTVd; Thu Oct 19 17:06:22 2000 Message-ID: <39EF8C7E.7B22B0AE@turbolinux.com> Date: Thu, 19 Oct 2000 17:06:22 -0700 From: Uros Prestor Organization: Turbolinux Inc. X-Mailer: Mozilla 4.74 [en] (X11; U; Linux 2.2.13-12 i686) X-Accept-Language: sl, en MIME-Version: 1.0 To: pro64-support@oss.sgi.com Subject: Undefined symbols Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-pro64-support@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;pro64-support-outgoing I am trying to build the 2.4.0-test9 kernel with Pro64-0.01.0-11 installed on a native IA-64 system (glibc-2.1.3-hjl000629p3, kernel 2.4.0test9-001004-48smp). Early on (in make dep), the build process tries to compile arch/ia64/tools/print_offsets.c. The compilation fails with the following diagnostics: sgicc -D__LP64__ -g -O2 -Wall -D__KERNEL__ -I/work/BUILD/linux-2.4.0-test9-001004.sgicc/include print_offsets.c -o print_offsets print_offsets.o(.debug_info+0xc08): undefined reference to `dcache_lock' print_offsets.o(.debug_info+0x6a72): undefined reference to `tqueue_lock' print_offsets.o(.debug_info+0x6ead): undefined reference to `pidhash' print_offsets.o(.debug_info+0x83f2): undefined reference to `securebits' print_offsets.o(.debug_info+0x840d): undefined reference to `nr_running' print_offsets.o(.debug_info+0x8425): undefined reference to `jiffies' print_offsets.o(.debug_info+0x8443): undefined reference to `tasklist_lock' print_offsets.o(.debug_info+0x845e): undefined reference to `nr_threads' collect2: ld returned 1 exit status Looking at the preprocessed file, I see code like this: extern spinlock_t dcache_lock; static __inline__ void d_drop(struct dentry * dentry) { (void)( &dcache_lock ) ; .... } The rest of the undefined symbols seem to fall in the same category: a variable is declared extern and used in an __inline__ function which never gets instantiated. Gcc handles this code without problems. How come sgicc doesn't? Thanks, Uros -- Uros Prestor uros@turbolinux.com From owner-pro64-support@oss.sgi.com Thu Oct 19 18:20:57 2000 Received: by oss.sgi.com id ; Thu, 19 Oct 2000 18:20:47 -0700 Received: from pneumatic-tube.sgi.com ([204.94.214.22]:39521 "EHLO pneumatic-tube.sgi.com") by oss.sgi.com with ESMTP id ; Thu, 19 Oct 2000 18:20:26 -0700 Received: from rohi.engr.sgi.com (rohi.engr.sgi.com [130.62.180.74]) by pneumatic-tube.sgi.com (980327.SGI.8.8.8-aspam/980310.SGI-aspam) via ESMTP id SAA06179 for ; Thu, 19 Oct 2000 18:27:44 -0700 (PDT) mail_from (mpm@rohi.engr.sgi.com) Received: (from mpm@localhost) by rohi.engr.sgi.com (980427.SGI.8.8.8/970903.SGI.AUTOCF) id SAA89337; Thu, 19 Oct 2000 18:18:29 -0700 (PDT) Date: Thu, 19 Oct 2000 18:18:29 -0700 (PDT) From: mpm@rohi.engr.sgi.com (Michael Murphy) Message-Id: <200010200118.SAA89337@rohi.engr.sgi.com> To: pro64-support@oss.sgi.com, Uros Prestor Subject: Re: Undefined symbols Sender: owner-pro64-support@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;pro64-support-outgoing I am able to reproduce this with the following small test: extern int dcache_lock; static __inline__ void d_drop(int * dentry) { (void)( &dcache_lock ) ; printf("dentry %d %d", dentry, dcache_lock); } main() { printf("hi"); } The problem occurs because of the -g. If you don't compile with -g then it links okay. But our debug-generation code is trying to create a dwarf reference to dcache_lock, which is never defined. -- Mike Murphy -- mpm@sgi.com -- quote of the day: -- "Don't pick on people, jump on their failures, criticize their faults, -- unless, of course, you want the same treatment. Be easy on people; -- you'll find life a lot easier." (Eugene Peterson) From owner-pro64-support@oss.sgi.com Mon Oct 23 12:08:13 2000 Received: by oss.sgi.com id ; Mon, 23 Oct 2000 12:08:03 -0700 Received: from [38.170.141.29] ([38.170.141.29]:17391 "EHLO heart.hq.tensilica.com") by oss.sgi.com with ESMTP id ; Mon, 23 Oct 2000 12:07:40 -0700 Received: (from goodwin@localhost) by heart.hq.tensilica.com (8.9.3/8.9.3) id MAA22486; Mon, 23 Oct 2000 12:07:39 -0700 X-Authentication-Warning: heart.hq.tensilica.com: goodwin set sender to goodwin@tensilica.com using -f From: David Goodwin MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <14836.35963.540418.399559@heart.hq.tensilica.com> Date: Mon, 23 Oct 2000 12:07:39 -0700 (PDT) To: pro64-support@oss.sgi.com Cc: goodwin@tensilica.com Subject: front-end bug? X-Mailer: VM 6.75 under Emacs 20.5.1 Reply-to: goodwin@tensilica.com Sender: owner-pro64-support@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;pro64-support-outgoing Using the latest pro64 compiler (in nue). This function produces the included whirl. The front-end incorrectly determines the condition is always false... #include void mask (int x, int y) { if (((x << 3) & 64) == 1) fprintf(stderr, "n12\n"); } LOC 1 3 void mask (int x, int y) LOC 1 4 { FUNC_ENTRY <1,37,mask> IDNAME 0 <2,1,x> IDNAME 0 <2,2,y> BODY BLOCK END_BLOCK BLOCK END_BLOCK BLOCK PRAGMA 0 120 0 (0x0) # PREAMBLE_END LOC 1 5 if (((x << 3) & 64) == 1) IF I4INTCONST 0 (0x0) THEN BLOCK LOC 1 6 fprintf(stderr, "n12\n"); U8U8LDID 0 <1,39,stderr> T<34,anon_ptr.,8> U8PARM 2 T<34,anon_ptr.,8> # by_value U8LDA 0 <1,40,(5_bytes)_"n12\n\000"> T<49,anon_ptr.,8> U8PARM 2 T<28,anon_ptr.,8> # by_value VCALL 126 <1,38,fprintf> # flags 0x7e END_BLOCK ELSE LOC 1 5 BLOCK END_BLOCK END_IF RETURN END_BLOCK From owner-pro64-support@oss.sgi.com Mon Oct 23 12:21:13 2000 Received: by oss.sgi.com id ; Mon, 23 Oct 2000 12:21:03 -0700 Received: from deliverator.sgi.com ([204.94.214.10]:50809 "EHLO deliverator.sgi.com") by oss.sgi.com with ESMTP id ; Mon, 23 Oct 2000 12:20:42 -0700 Received: from cchkms.engr.sgi.com (cchkms.engr.sgi.com [130.62.180.48]) by deliverator.sgi.com (980309.SGI.8.8.8-aspam-6.2/980310.SGI-aspam) via ESMTP id MAA07718 for ; Mon, 23 Oct 2000 12:12:54 -0700 (PDT) mail_from (rat@cchkms.engr.sgi.com) Received: (from rat@localhost) by cchkms.engr.sgi.com (980427.SGI.8.8.8/970903.SGI.AUTOCF) id MAA39694; Mon, 23 Oct 2000 12:19:04 -0700 (PDT) From: "Ross A. Towle" Message-Id: <10010231219.ZM39752@cchkms.engr.sgi.com> Date: Mon, 23 Oct 2000 12:19:03 -0700 In-Reply-To: David Goodwin "front-end bug?" (Oct 23, 12:07pm) References: <14836.35963.540418.399559@heart.hq.tensilica.com> X-Mailer: Z-Mail (3.2.3 08feb96 MediaMail) To: goodwin@tensilica.com, pro64-support@oss.sgi.com Subject: Re: front-end bug? Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-pro64-support@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;pro64-support-outgoing Nope, this is a coding problem. x & 64 will always have a 0 in the units position no matter the value of x. So when comparing the result to 1, it will always be false. -Ross From owner-pro64-support@oss.sgi.com Mon Oct 23 12:28:23 2000 Received: by oss.sgi.com id ; Mon, 23 Oct 2000 12:28:13 -0700 Received: from deliverator.sgi.com ([204.94.214.10]:28285 "EHLO deliverator.sgi.com") by oss.sgi.com with ESMTP id ; Mon, 23 Oct 2000 12:28:01 -0700 Received: from sgihud.hudson.sgi.com (sgihud.hudson.sgi.com [169.238.41.4]) by deliverator.sgi.com (980309.SGI.8.8.8-aspam-6.2/980310.SGI-aspam) via ESMTP id MAA09522 for ; Mon, 23 Oct 2000 12:20:13 -0700 (PDT) mail_from (lesniak@sgihud.hudson.sgi.com) Received: (from lesniak@localhost) by sgihud.hudson.sgi.com (980427.SGI.8.8.8/980728.SGI.AUTOCF) id PAA99533; Mon, 23 Oct 2000 15:25:38 -0400 (EDT) Date: Mon, 23 Oct 2000 15:25:38 -0400 (EDT) From: lesniak@sgihud.hudson.sgi.com (Ken Lesniak) Message-Id: <200010231925.PAA99533@sgihud.hudson.sgi.com> To: pro64-support@oss.sgi.com, goodwin@tensilica.com Subject: Re: front-end bug? Cc: goodwin@tensilica.com Reply-To: lesniak@sgihud.hudson.sgi.com Sender: owner-pro64-support@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;pro64-support-outgoing >Using the latest pro64 compiler (in nue). This function produces the >included whirl. The front-end incorrectly determines the condition is >always false... > > >#include > >void mask (int x, int y) >{ > if (((x << 3) & 64) == 1) > fprintf(stderr, "n12\n"); >} Are you sure your test case is right? Unless I'm misreading, which is entirely possible, the AND operation will produce either 0 or 64. Neither of which is ever equal to 1. Ken From owner-pro64-support@oss.sgi.com Mon Oct 23 12:41:03 2000 Received: by oss.sgi.com id ; Mon, 23 Oct 2000 12:40:53 -0700 Received: from [38.170.141.29] ([38.170.141.29]:20206 "EHLO heart.hq.tensilica.com") by oss.sgi.com with ESMTP id ; Mon, 23 Oct 2000 12:40:37 -0700 Received: (from goodwin@localhost) by heart.hq.tensilica.com (8.9.3/8.9.3) id MAA22725; Mon, 23 Oct 2000 12:39:40 -0700 X-Authentication-Warning: heart.hq.tensilica.com: goodwin set sender to goodwin@tensilica.com using -f From: David Goodwin MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <14836.37884.385583.545825@heart.hq.tensilica.com> Date: Mon, 23 Oct 2000 12:39:40 -0700 (PDT) To: "Ross A. Towle" Cc: goodwin@tensilica.com, pro64-support@oss.sgi.com Subject: Re: front-end bug? In-Reply-To: <10010231219.ZM39752@cchkms.engr.sgi.com> References: <14836.35963.540418.399559@heart.hq.tensilica.com> <10010231219.ZM39752@cchkms.engr.sgi.com> X-Mailer: VM 6.75 under Emacs 20.5.1 Reply-to: goodwin@tensilica.com Sender: owner-pro64-support@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;pro64-support-outgoing Oops, sorry. I copied the test case wrong when trying to simplify it. Let me try again and see if I still get the failure. Ross A. Towle writes: > Nope, this is a coding problem. > > x & 64 will always have a 0 in the units position no matter the value of x. > So when comparing the result to 1, it will always be false. > > -Ross From owner-pro64-support@oss.sgi.com Mon Oct 23 20:40:00 2000 Received: by oss.sgi.com id ; Mon, 23 Oct 2000 20:39:49 -0700 Received: from [203.70.237.234] ([203.70.237.234]:41988 "HELO HomeDesign.com") by oss.sgi.com with SMTP id ; Mon, 23 Oct 2000 20:39:23 -0700 Received: from ericy ([HomeDesign.com]) by 191.7.9.37 ( IA Mail Server Version: 02.2.2 Build: 02051 ) ) ; 24 Oct 00 03:39:05 UT Message-ID: <000701c03d6b$ac9031e0$250907bf@sakura> Reply-To: =?big5?B?t6iu0bvK?= From: =?big5?B?t6iu0bvK?= To: "Pro64atCapsl" , "pro64-support" Subject: Looking for documentation about SGI Pro64 Date: Tue, 24 Oct 2000 11:37:01 +0800 MIME-Version: 1.0 Content-Type: text/plain; charset="big5" Content-Transfer-Encoding: 8bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.00.2615.200 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2615.200 Sender: owner-pro64-support@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;pro64-support-outgoing Dear Sir: I am a graduate student in Department of Computer Science, FengˇVChia University, Taiwan, R.O.C. I would like to develop a VLIW compiler for academic use. So I want to find an open source compiler and modify it to suitable for my chip. Finally, I find that SGI Pro64 is a good and suitable compiler for me. But I can't find any user's manual, reference manual or developer's manual (I just find whirl.pdf and symtab.pdf). I would be very grateful if you could conduct me where I can get the manual or any documentation. Yours sincerely, Eric Yang Ps. My e-mail address is Ericy@iname.com or Ericy@pdplab.iecs.fcu.edu.tw Thank you very much. From owner-pro64-support@oss.sgi.com Tue Oct 24 01:07:51 2000 Received: by oss.sgi.com id ; Tue, 24 Oct 2000 01:07:41 -0700 Received: from [203.70.237.234] ([203.70.237.234]:52740 "HELO HomeDesign.com") by oss.sgi.com with SMTP id ; Tue, 24 Oct 2000 01:07:35 -0700 Received: from ericy ([HomeDesign.com]) by 191.7.9.37 ( IA Mail Server Version: 02.2.2 Build: 02051 ) ) ; 24 Oct 00 08:07:11 UT Message-ID: <004401c03d91$248322a0$250907bf@sakura> Reply-To: =?big5?B?t6iu0bvK?= From: =?big5?B?t6iu0bvK?= To: "Pro64atCapsl" , "pro64-support" Subject: looking for documentation about SGI Pro64 Date: Tue, 24 Oct 2000 16:05:12 +0800 MIME-Version: 1.0 Content-Type: text/plain; charset="big5" Content-Transfer-Encoding: 8bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.00.2615.200 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2615.200 Sender: owner-pro64-support@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;pro64-support-outgoing Dear Sir: I am a graduate student in Department of Computer Science, FengˇVChia University, Taiwan, R.O.C. I would like to develop a VLIW compiler for academic use. So I want to find an open source compiler and modify it to suitable for my chip. Finally, I find that SGI Pro64 is a good and suitable compiler for me. But I can't find any user's manual, reference manual or developer's manual (I just find whirl.pdf and symtab.pdf). I would be very grateful if you could conduct me where I can get the manual or any documentation. Yours sincerely, Eric Yang Ps. My e-mail address is Ericy@iname.com or Ericy@pdplab.iecs.fcu.edu.tw Thank you very much. From owner-pro64-support@oss.sgi.com Tue Oct 24 01:34:52 2000 Received: by oss.sgi.com id ; Tue, 24 Oct 2000 01:34:42 -0700 Received: from oe53.pav1.hotmail.com ([64.4.30.46]:28681 "EHLO hotmail.com") by oss.sgi.com with ESMTP id ; Tue, 24 Oct 2000 01:34:21 -0700 Received: from mail pickup service by hotmail.com with Microsoft SMTPSVC; Tue, 24 Oct 2000 01:34:15 -0700 X-Originating-IP: [203.70.237.51] Reply-To: "eric yang" From: "eric yang" To: "pro64-support" , "Pro64atCapsl" Subject: looking for documentation about SGI Pro64 Date: Tue, 24 Oct 2000 16:32:15 +0800 MIME-Version: 1.0 Content-Type: text/plain; charset="big5" Content-Transfer-Encoding: 8bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.00.2615.200 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2615.200 Message-ID: X-OriginalArrivalTime: 24 Oct 2000 08:34:15.0862 (UTC) FILETIME=[31A3E560:01C03D95] Sender: owner-pro64-support@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;pro64-support-outgoing Dear Sir: I am a graduate student in Department of Computer Science, FengˇVChia University, Taiwan, R.O.C. I would like to develop a VLIW compiler for academic use. So I want to find an open source compiler and modify it to suitable for my chip. Finally, I find that SGI Pro64 is a good and suitable compiler for me. But I can't find any user's manual, reference manual or developer's manual (I just find whirl.pdf and symtab.pdf). I would be very grateful if you could conduct me where I can get the manual or any documentation. Yours sincerely, Eric Yang Ps. My e-mail address is Ericy@iname.com or Ericy@pdplab.iecs.fcu.edu.tw Thank you very much. From owner-pro64-support@oss.sgi.com Tue Oct 24 13:42:25 2000 Received: by oss.sgi.com id ; Tue, 24 Oct 2000 13:42:16 -0700 Received: from [38.170.141.29] ([38.170.141.29]:53241 "EHLO heart.hq.tensilica.com") by oss.sgi.com with ESMTP id ; Tue, 24 Oct 2000 13:41:50 -0700 Received: (from goodwin@localhost) by heart.hq.tensilica.com (8.9.3/8.9.3) id NAA01987; Tue, 24 Oct 2000 13:41:49 -0700 X-Authentication-Warning: heart.hq.tensilica.com: goodwin set sender to goodwin@tensilica.com using -f From: David Goodwin MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <14837.62477.609139.568315@heart.hq.tensilica.com> Date: Tue, 24 Oct 2000 13:41:49 -0700 (PDT) To: pro64-support@oss.sgi.com Subject: front-end misses symbol flag, causes bad alias analysis X-Mailer: VM 6.75 under Emacs 20.5.1 Reply-to: goodwin@tensilica.com Sender: owner-pro64-support@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;pro64-support-outgoing For the following program, the front-end is marking 'y' as "addr-saved" but is not marking 'x'. We think this is causing later alias analysis to mark 'x' a non-aliasing, and allowing invalid load/store reordering (this simplified example does not necessarily show the bad reordering...). David static int x; static int y; static int *get_x(){ return &x;} static int *get_y(){ int *p = &y; return p;} static int test() { (*(get_x())) = 8; (*(get_y())) = 9; return x + y; } LOC 0 0 source files: 1 "/usr/local/home/goodwin/alias.c" LOC 1 3 LOC 1 4 static int *get_x(){ return &x;} FUNC_ENTRY <1,20,get_x> BODY BLOCK END_BLOCK BLOCK END_BLOCK BLOCK PRAGMA 0 120 0 (0x0) # PREAMBLE_END U8LDA 0 <1,21,x> T<28,anon_ptr.,8> U8RETURN_VAL END_BLOCK ======================================================================= SYMTAB for get_x: level 2, st 0, label 0, preg 0, inito 0, st_attr 0 ======================================================================= Symbols: ======================================================================= Labels: ======================================================================= Pseudo-registers: ======================================================================= INITOs: ======================================================================= ST_ATTRs: ======================================================================= LOC 1 5 static int *get_y(){ int *p = &y; return p;} FUNC_ENTRY <1,22,get_y> BODY BLOCK END_BLOCK BLOCK END_BLOCK BLOCK PRAGMA 0 120 0 (0x0) # PREAMBLE_END U8LDA 0 <1,23,y> T<28,anon_ptr.,8> U8STID 0 <2,1,p> T<28,anon_ptr.,8> U8U8LDID 0 <2,1,p> T<28,anon_ptr.,8> U8RETURN_VAL END_BLOCK ======================================================================= SYMTAB for get_y: level 2, st 1, label 0, preg 0, inito 0, st_attr 0 ======================================================================= Symbols: [1]: p <2,1> Variable of type anon_ptr. (#28, I4*) Address: 0(p<2,1>) Alignment: 8 bytes Flags: 0x00000000, XLOCAL Sclass: AUTO ======================================================================= Labels: ======================================================================= Pseudo-registers: ======================================================================= INITOs: ======================================================================= ST_ATTRs: ======================================================================= LOC 1 6 LOC 1 7 static int test() LOC 1 8 { FUNC_ENTRY <1,24,test> BODY BLOCK END_BLOCK BLOCK END_BLOCK BLOCK PRAGMA 0 120 0 (0x0) # PREAMBLE_END LOC 1 9 (*(get_x())) = 8; I4INTCONST 8 (0x8) BLOCK U8CALL 126 <1,20,get_x> # flags 0x7e END_BLOCK U8U8LDID -1 <1,19,.preg_return_val> T<28,anon_ptr.,8> U8COMMA I4ISTORE 0 T<28,anon_ptr.,8> LOC 1 10 (*(get_y())) = 9; I4INTCONST 9 (0x9) BLOCK U8CALL 126 <1,22,get_y> # flags 0x7e END_BLOCK U8U8LDID -1 <1,19,.preg_return_val> T<28,anon_ptr.,8> U8COMMA I4ISTORE 0 T<28,anon_ptr.,8> LOC 1 11 return x + y; I4I4LDID 0 <1,21,x> T<4,.predef_I4,4> I4I4LDID 0 <1,23,y> T<4,.predef_I4,4> I4ADD I4RETURN_VAL END_BLOCK ======================================================================= SYMTAB for test: level 2, st 0, label 0, preg 0, inito 0, st_attr 0 ======================================================================= Symbols: ======================================================================= Labels: ======================================================================= Pseudo-registers: ======================================================================= INITOs: ======================================================================= ST_ATTRs: ======================================================================= ======================================================================= GLOBAL SYMTAB: ======================================================================= File Info: gp_group: 0, flags: 0x00000000 ======================================================================= Symbols: [1]: .preg_B <1,1> Pseudo-Register of type .predef_B (#1, B) Address: 0(.preg_B<1,1>) Alignment: 1 bytes Flags: 0x00000000, XLOCAL Sclass: REG [2]: .preg_I4 <1,2> Pseudo-Register of type .predef_I4 (#4, I4) Address: 0(.preg_I4<1,2>) Alignment: 4 bytes Flags: 0x00000000, XLOCAL Sclass: REG [3]: .preg_I8 <1,3> Pseudo-Register of type .predef_I8 (#5, I8) Address: 0(.preg_I8<1,3>) Alignment: 8 bytes Flags: 0x00000000, XLOCAL Sclass: REG [4]: .preg_U4 <1,4> Pseudo-Register of type .predef_U4 (#8, U4) Address: 0(.preg_U4<1,4>) Alignment: 4 bytes Flags: 0x00000000, XLOCAL Sclass: REG [5]: .preg_U8 <1,5> Pseudo-Register of type .predef_U8 (#9, U8) Address: 0(.preg_U8<1,5>) Alignment: 8 bytes Flags: 0x00000000, XLOCAL Sclass: REG [6]: .preg_F4 <1,6> Pseudo-Register of type .predef_F4 (#10, F4) Address: 0(.preg_F4<1,6>) Alignment: 4 bytes Flags: 0x00000000, XLOCAL Sclass: REG [7]: .preg_F8 <1,7> Pseudo-Register of type .predef_F8 (#11, F8) Address: 0(.preg_F8<1,7>) Alignment: 8 bytes Flags: 0x00000000, XLOCAL Sclass: REG [8]: .preg_F10 <1,8> Pseudo-Register of type .predef_F10 (#12, F10) Address: 0(.preg_F10<1,8>) Alignment: 16 bytes Flags: 0x00000000, XLOCAL Sclass: REG [9]: .preg_F16 <1,9> Pseudo-Register of type .predef_F16 (#13, F16) Address: 0(.preg_F16<1,9>) Alignment: 16 bytes Flags: 0x00000000, XLOCAL Sclass: REG [10]: .preg_FQ <1,10> Pseudo-Register of type .predef_FQ (#15, FQ) Address: 0(.preg_FQ<1,10>) Alignment: 16 bytes Flags: 0x00000000, XLOCAL Sclass: REG [11]: .preg_C4 <1,11> Pseudo-Register of type .predef_C4 (#17, C4) Address: 0(.preg_C4<1,11>) Alignment: 4 bytes Flags: 0x00000000, XLOCAL Sclass: REG [12]: .preg_C8 <1,12> Pseudo-Register of type .predef_C8 (#18, C8) Address: 0(.preg_C8<1,12>) Alignment: 8 bytes Flags: 0x00000000, XLOCAL Sclass: REG [13]: .preg_CQ <1,13> Pseudo-Register of type .predef_CQ (#19, CQ) Address: 0(.preg_CQ<1,13>) Alignment: 16 bytes Flags: 0x00000000, XLOCAL Sclass: REG [14]: .preg_A8 <1,14> Pseudo-Register of type .predef_A8 (#22, KIND_VOID*) Address: 0(.preg_A8<1,14>) Alignment: 8 bytes Flags: 0x00000000, XLOCAL Sclass: REG [15]: .preg_C10 <1,15> Pseudo-Register of type .predef_C10 (#23, C10) Address: 0(.preg_C10<1,15>) Alignment: 16 bytes Flags: 0x00000000, XLOCAL Sclass: REG [16]: .preg_C16 <1,16> Pseudo-Register of type .predef_C16 (#24, C16) Address: 0(.preg_C16<1,16>) Alignment: 16 bytes Flags: 0x00000000, XLOCAL Sclass: REG [17]: .preg_I16 <1,17> Pseudo-Register of type .predef_I16 (#25, I16) Address: 0(.preg_I16<1,17>) Alignment: 16 bytes Flags: 0x00000000, XLOCAL Sclass: REG [18]: .preg_U16 <1,18> Pseudo-Register of type .predef_U16 (#26, U16) Address: 0(.preg_U16<1,18>) Alignment: 16 bytes Flags: 0x00000000, XLOCAL Sclass: REG [19]: .preg_return_val <1,19> Pseudo-Register Address: 0(.preg_return_val<1,19>) Flags: 0x00000000, XLOCAL Sclass: REG [20]: get_x <1,20> Subprogram Returning anon_ptr. (#28, KIND_POINTER) PU[1] C flags: Address: 0(get_x<1,20>) Alignment: 1 bytes Flags: 0x00000000, XLOCAL Sclass: TEXT [21]: x <1,21> Variable of type .predef_I4 (#4, I4) Address: 0(x<1,21>) Alignment: 4 bytes Flags: 0x00000000, XLOCAL Sclass: FSTATIC [22]: get_y <1,22> Subprogram Returning anon_ptr. (#28, KIND_POINTER) PU[2] C flags: Address: 0(get_y<1,22>) Alignment: 1 bytes Flags: 0x00000000, XLOCAL Sclass: TEXT [23]: y <1,23> Variable of type .predef_I4 (#4, I4) Address: 0(y<1,23>) Alignment: 4 bytes Flags: 0x01000000 addr_saved, XLOCAL Sclass: FSTATIC [24]: test <1,24> Subprogram Returning .predef_I4 (#4, I4) PU[3] C flags: very_high_whirl Address: 0(test<1,24>) Alignment: 1 bytes Flags: 0x00000000, XLOCAL Sclass: TEXT ======================================================================= PUs: [1]: (anon) (#27) align 1, flags 0x0000000000000000, lexical level 2, LANG 0x02, TARGET_INFO 0 [2]: (anon) (#29) align 1, flags 0x0000000000000000, lexical level 2, LANG 0x02, TARGET_INFO 0 [3]: (anon) (#30) align 1, flags 0x0000000000001000, lexical level 2, LANG 0x02, TARGET_INFO 0 ======================================================================= Types: [1]: .predef_B : (f: 0x0000) size 0 B: SCALAR (B) [2]: .predef_I1 : (f: 0x0000) size 1 I1: SCALAR (I1) [3]: .predef_I2 : (f: 0x0000) size 2 I2: SCALAR (I2) [4]: .predef_I4 : (f: 0x0000) size 4 I4: SCALAR (I4) [5]: .predef_I8 : (f: 0x0000) size 8 I8: SCALAR (I8) [6]: .predef_U1 : (f: 0x0000) size 1 U1: SCALAR (U1) [7]: .predef_U2 : (f: 0x0000) size 2 U2: SCALAR (U2) [8]: .predef_U4 : (f: 0x0000) size 4 U4: SCALAR (U4) [9]: .predef_U8 : (f: 0x0000) size 8 U8: SCALAR (U8) [10]: .predef_F4 : (f: 0x0000) size 4 F4: SCALAR (F4) [11]: .predef_F8 : (f: 0x0000) size 8 F8: SCALAR (F8) [12]: .predef_F10 : (f: 0x0000) size 16 F10: SCALAR (F10) [13]: .predef_F16 : (f: 0x0000) size 16 F16: SCALAR (F16) [14]: .predef_STR : (f: 0x0000) size 0 STR: SCALAR (STR) [15]: .predef_FQ : (f: 0x0000) size 16 FQ: SCALAR (FQ) [16]: .predef_M : (f: 0x0000) size 0 M: SCALAR (M) [17]: .predef_C4 : (f: 0x0000) size 8 C4: SCALAR (C4) [18]: .predef_C8 : (f: 0x0000) size 16 C8: SCALAR (C8) [19]: .predef_CQ : (f: 0x0000) size 32 CQ: SCALAR (CQ) [20]: .predef_V : (f: 0x0000) size 0 V: VOID [21]: .predef_BS : (f: 0x0000) size 0 BS: SCALAR (BS) [22]: .predef_A8 : (f: 0x0000) size 8 A8: -> .predef_V (#20) align 1 [23]: .predef_C10 : (f: 0x0000) size 32 C10: SCALAR (C10) [24]: .predef_C16 : (f: 0x0000) size 32 C16: SCALAR (C16) [25]: .predef_I16 : (f: 0x0000) size 32 I16: SCALAR (I16) [26]: .predef_U16 : (f: 0x0000) size 32 U16: SCALAR (U16) [27]: (anon) : (f: 0x0000) size 0 : FUNCTION (f: 0x0000) returns anon_ptr. (#28) align 8 [28]: anon_ptr. : (f: 0x0000) size 8 U8: -> .predef_I4 (#4) align 4 [29]: (anon) : (f: 0x0000) size 0 : FUNCTION (f: 0x0000) returns anon_ptr. (#28) align 8 [30]: (anon) : (f: 0x0000) size 0 : FUNCTION (f: 0x0000) returns .predef_I4 (#4) align 4 ======================================================================= Blocks: ======================================================================= Tcons: [1] F4: 0.000000 [2] F8: 0.000000000000000 ======================================================================= INITOs: ======================================================================= ST_ATTRs: ======================================================================= String table size = 508 ======================================================================= ------------ INCLUDE_DIRECTORIES ------------ [1,0] ordinal(1) path(/usr/local/home/goodwin) ------------<<<<<<< FILES >>>>>>>------------ [2,0] ordinal(1) name(alias.c) path(1) size(186) modt(972419719) ------------<<<<<< DST INFO >>>>>------------ [0,0]:compile_unit: name(alias.c) producer(-O2) language(C89) case(case_sensitive) [0,96]:subprogram: file(1) line(4) column(0) name(get_x) type(void) specification(void) inline(DW_INL_not_inlined) virtuality(DW_VIRTUALITY_none) vtable_elem_location(0) pc(ST(1,20)) [0,224]:subprogram: file(1) line(5) column(0) name(get_y) type(void) specification(void) inline(DW_INL_not_inlined) virtuality(DW_VIRTUALITY_none) vtable_elem_location(0) pc(ST(1,22)) [3,96]:subprogram: file(1) line(8) column(0) name(test) type(void) specification(void) inline(DW_INL_not_inlined) virtuality(DW_VIRTUALITY_none) vtable_elem_location(0) pc(ST(1,24)) ------------<<<< BLOCK INFO >>>------------ block 0: file_scope, size = 256 block 1: include_dirs, size = 40 block 2: file_names, size = 44 block 3: file_scope, size = 221 From owner-pro64-support@oss.sgi.com Tue Oct 24 14:30:45 2000 Received: by oss.sgi.com id ; Tue, 24 Oct 2000 14:30:35 -0700 Received: from deliverator.sgi.com ([204.94.214.10]:32032 "EHLO deliverator.sgi.com") by oss.sgi.com with ESMTP id ; Tue, 24 Oct 2000 14:30:12 -0700 Received: from gaea.engr.sgi.com (gaea.engr.sgi.com [130.62.180.97]) by deliverator.sgi.com (980309.SGI.8.8.8-aspam-6.2/980310.SGI-aspam) via ESMTP id OAA25797 for ; Tue, 24 Oct 2000 14:22:18 -0700 (PDT) mail_from (murthy@gaea.engr.sgi.com) Received: (from murthy@localhost) by gaea.engr.sgi.com (980427.SGI.8.8.8/970903.SGI.AUTOCF) id OAA49858; Tue, 24 Oct 2000 14:28:32 -0700 (PDT) Date: Tue, 24 Oct 2000 14:28:32 -0700 (PDT) From: murthy@gaea.engr.sgi.com (Chandrasekhar Murthy) Message-Id: <200010242128.OAA49858@gaea.engr.sgi.com> To: pro64-support@oss.sgi.com, goodwin@tensilica.com Subject: Re: front-end misses symbol flag, causes bad alias analysis Sender: owner-pro64-support@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;pro64-support-outgoing Although the line numbers might be slightly off, the following should fix the problem. DIFF for gccfe/wfe_stmt.cxx *** gccfe/wfe_stmt.cxx Tue Oct 17 10:55:18 2000 --- UPDATE/./wfe_stmt.cxx Tue Oct 24 14:21:05 2000 *************** *** 647,653 **** Set_ST_type (st, ty_idx); } } - WFE_Set_ST_Addr_Saved (rhs_wn); if (DECL_WIDEN_RETVAL(current_function_decl)) { TYPE_ID old_rtype = WN_rtype(rhs_wn); TYPE_ID new_rtype = MTYPE_is_signed (old_rtype) ? MTYPE_I8 : MTYPE_U8; --- 647,652 ---- This is handled correctly with gfecc (the g++ frontend). Murthy From owner-pro64-support@oss.sgi.com Tue Oct 24 16:09:17 2000 Received: by oss.sgi.com id ; Tue, 24 Oct 2000 16:08:57 -0700 Received: from deliverator.sgi.com ([204.94.214.10]:38204 "EHLO deliverator.sgi.com") by oss.sgi.com with ESMTP id ; Tue, 24 Oct 2000 16:08:33 -0700 Received: from cchkms.engr.sgi.com (cchkms.engr.sgi.com [130.62.180.48]) by deliverator.sgi.com (980309.SGI.8.8.8-aspam-6.2/980310.SGI-aspam) via ESMTP id QAA09739 for ; Tue, 24 Oct 2000 16:00:44 -0700 (PDT) mail_from (rat@cchkms.engr.sgi.com) Received: (from rat@localhost) by cchkms.engr.sgi.com (980427.SGI.8.8.8/970903.SGI.AUTOCF) id QAA44237; Tue, 24 Oct 2000 16:06:53 -0700 (PDT) From: "Ross A. Towle" Message-Id: <10010241606.ZM44169@cchkms.engr.sgi.com> Date: Tue, 24 Oct 2000 16:06:52 -0700 In-Reply-To: ( Text in unknown character set big5 not shown ) "Looking for documentation about SGI Pro64" (Oct 24, 11:37am) References: <000701c03d6b$ac9031e0$250907bf@sakura> X-Mailer: Z-Mail (3.2.3 08feb96 MediaMail) To: ericy@pdplab.iecs.fcu.edu.tw, "pro64-support" Subject: Re: Looking for documentation about SGI Pro64 Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-pro64-support@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;pro64-support-outgoing SGI has released the the whirl and symtab documents. That is all that has been released. -Ross A Towle From owner-pro64-support@oss.sgi.com Wed Oct 25 15:08:14 2000 Received: by oss.sgi.com id ; Wed, 25 Oct 2000 15:07:54 -0700 Received: from [38.170.141.29] ([38.170.141.29]:48880 "EHLO heart.hq.tensilica.com") by oss.sgi.com with ESMTP id ; Wed, 25 Oct 2000 15:07:39 -0700 Received: (from goodwin@localhost) by heart.hq.tensilica.com (8.9.3/8.9.3) id PAA06717; Wed, 25 Oct 2000 15:07:38 -0700 X-Authentication-Warning: heart.hq.tensilica.com: goodwin set sender to goodwin@tensilica.com using -f From: David Goodwin MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <14839.22954.98759.835555@heart.hq.tensilica.com> Date: Wed, 25 Oct 2000 15:07:38 -0700 (PDT) To: pro64-support@oss.sgi.com Cc: goodwin@tensilica.com Subject: inliner misbehaving at -O3 X-Mailer: VM 6.75 under Emacs 20.5.1 Reply-to: goodwin@tensilica.com Sender: owner-pro64-support@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;pro64-support-outgoing Compiling the attached example at -O3 causes the inliner to do a couple of things that appear wrong. sgicc -O3 -S alias.c static int x; static int y; static int *get_x(){ return &x;} static int *get_y(){ int *p = &y; return p;} int foo(int); int test() { (*(get_x())) = 8; foo(x); (*(get_y())) = 9; return x + y; } 1. Neither get_x or get_y are inlined!! 2. The inliner changes some symbol table flags for x and y that cause alias problems in be. Diffing the whirl after gccfe and inline, it seems the only thing the inliner does is change 'x's "addr_saved" to "addr_passed", and add "addr_passed" to 'y'. Removing 'x's "addr_saved" causes be to think that the load of 'x' for the call to "foo" can't alias with the store of 8 into get_x's return value. Of course that is wrong. David [~/tensilica/test] diff -c alias.f alias.ff *** alias.f Wed Oct 25 14:14:55 2000 --- alias.ff Wed Oct 25 14:14:52 2000 *************** *** 212,218 **** Sclass: TEXT [22]: x <1,22> Variable of type .predef_I4 (#4, I4) Address: 0(x<1,22>) Alignment: 4 bytes ! Flags: 0x01000000 addr_saved, XLOCAL Sclass: FSTATIC [23]: get_y <1,23> Subprogram Returning anon_ptr. (#34, KIND_POINTER) PU[2] C flags: --- 212,218 ---- Sclass: TEXT [22]: x <1,22> Variable of type .predef_I4 (#4, I4) Address: 0(x<1,22>) Alignment: 4 bytes ! Flags: 0x02000000 addr_passed, XLOCAL Sclass: FSTATIC [23]: get_y <1,23> Subprogram Returning anon_ptr. (#34, KIND_POINTER) PU[2] C flags: *************** *** 221,227 **** Sclass: TEXT [24]: y <1,24> Variable of type .predef_I4 (#4, I4) Address: 0(y<1,24>) Alignment: 4 bytes ! Flags: 0x01000000 addr_saved, XLOCAL Sclass: FSTATIC [25]: test <1,25> Subprogram Returning .predef_I4 (#4, I4) PU[3] C flags: very_high_whirl --- 221,227 ---- Sclass: TEXT [24]: y <1,24> Variable of type .predef_I4 (#4, I4) Address: 0(y<1,24>) Alignment: 4 bytes ! Flags: 0x03000000 addr_saved addr_passed, XLOCAL Sclass: FSTATIC [25]: test <1,25> Subprogram Returning .predef_I4 (#4, I4) PU[3] C flags: very_high_whirl From owner-pro64-support@oss.sgi.com Tue Oct 31 10:48:41 2000 Received: by oss.sgi.com id ; Tue, 31 Oct 2000 10:48:31 -0800 Received: from [38.170.141.29] ([38.170.141.29]:55537 "EHLO heart.hq.tensilica.com") by oss.sgi.com with ESMTP id ; Tue, 31 Oct 2000 10:48:12 -0800 Received: (from goodwin@localhost) by heart.hq.tensilica.com (8.9.3/8.9.3) id KAA06987; Tue, 31 Oct 2000 10:48:11 -0800 X-Authentication-Warning: heart.hq.tensilica.com: goodwin set sender to goodwin@tensilica.com using -f From: David Goodwin MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <14847.5099.672822.142963@heart.hq.tensilica.com> Date: Tue, 31 Oct 2000 10:48:11 -0800 (PST) To: pro64-support@oss.sgi.com Subject: inefficient code generation for static initialized bitfields X-Mailer: VM 6.75 under Emacs 20.5.1 Reply-to: goodwin@tensilica.com Sender: owner-pro64-support@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;pro64-support-outgoing This function generates inefficient code for the static initialization of the bitfields in f. I think the problem is that the semantics of the whirl generated by the front end result in the use of read-modify-writes to initialize the fields when it could just write. #include #include #include typedef struct fields_struct { unsigned int f1:2; unsigned int f2:2; unsigned int f3:2; unsigned int f4:2; } fields; fields si1 (void) { fields f = { 0, 1, 2 }; return f; } // /usr/lib/gcc-lib/ia64-sgi-linux/sgicc-1.0/be::0.01.0-11 //----------------------------------------------------------- // Compiling si.c (/tmp/ccI.j6MBFt) //----------------------------------------------------------- //----------------------------------------------------------- // Options: //----------------------------------------------------------- // Target:Itanium, ISA:ISA_1, Pointer Size:64 // -O2 (Optimization level) // -g0 (Debug level) // -m1 (Report warnings) //----------------------------------------------------------- .section .text, "ax", "progbits" .align 16 .section .text // Program Unit: si1 .proc si1# .global si1# si1#: // 0x0 // f = 0 .file 0 "/usr/local/home/goodwin/si.c" .loc 0 15 0 // 11 } fields; // 12 // 13 fields // 14 si1 (void) // 15 { .BB1_si1: // 0x0 // // BB:1 frequency = 1.00000 (heuristic) // { .mii .loc 0 16 0 // 16 fields f = { 0, 1, 2 }; // .unwentry ld4 r14=[sp] // [0] id:8 f+0x0 mov r11=1 // [0] mov r10=2 // [0] }; { .mii adds r9=1,sp // [0] f+1 adds r8=2,sp // [1] f+2 mov r3=0 // [1] }; { .mii adds r2=3,sp // [1] f+3 nop.i 0 ;; // dep r14=0,r14,0,2 ;; // [2] }; { .mii nop.m 0 // dep r11=r11,r14,2,2 ;; // [3] dep r10=r10,r11,4,2 ;; // [4] }; { .mmi st4 [sp]=r10 // [5] id:8 f+0x0 st1 [r9]=r3 // [6] id:9 f+0x1 nop.i 0 // }; { .mmi st1 [r8]=r3 // [7] id:9 f+0x1 ld8.a r8=[sp] // [8] id:10 f+0x0 nop.i 0 // }; { .mmi st1 [r2]=r3 ;; // [8] id:9 f+0x1 ld8.c.nc r8=[sp] // [9] nop.i 0 // }; { .mib nop.m 0 // nop.i 0 // br.ret.sptk.many b0 ;; // [9] }; .endp si1# // emit unwind info .section .IA_64.unwind_info .Lunwind_info_0: data8 0x1000000000001 data8 0x17 .section .IA_64.unwind data8 @segrel(si1#) data8 @segrel(si1#+0x80) data8 @segrel(.Lunwind_info_0) .section .text .align 16 // .gpvalue 0 .section .debug_info, "", "progbits" .align 0 data1 0x35, 0x00, 0x00, 0x00, 0x02, 0x00 data4.ua .debug_abbrev data1 0x08, 0x01, 0x73, 0x69, 0x2e, 0x63, 0x00, 0x2d data1 0x4f, 0x32, 0x00, 0x01, 0x00 data4.ua .debug_line data1 0x02, 0x01, 0x0f, 0x73, 0x69, 0x31, 0x00, 0x01 data1 0x03, 0x92, 0x0c, 0x00 data8.ua .BB1_si1 data8.ua .BB1_si1 + 0x80 data1 0x00, 0x00 .section .debug_aranges, "", "progbits" .align 0 data1 0x2c, 0x00, 0x00, 0x00, 0x02, 0x00 data4.ua .debug_info data1 0x08, 0x00, 0x00, 0x00, 0x00, 0x00 data8.ua .BB1_si1 data8.ua .BB1_si1 - .BB1_si1 + 0x80 data1 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 data1 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .section .debug_pubnames, "", "progbits" .align 0 data1 0x16, 0x00, 0x00, 0x00, 0x02, 0x00 data4.ua .debug_info data1 0x00, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00 data1 0x73, 0x69, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00 .section .debug_abbrev, "", "progbits" .align 0 data1 0x01, 0x11, 0x01, 0x03, 0x08, 0x25, 0x08, 0x13 data1 0x0b, 0x42, 0x0b, 0x10, 0x06, 0x00, 0x00, 0x02 data1 0x2e, 0x00, 0x3a, 0x0b, 0x3b, 0x0b, 0x03, 0x08 data1 0x3f, 0x0c, 0x40, 0x0a, 0x11, 0x01, 0x12, 0x01 data1 0x00, 0x00 From owner-pro64-support@oss.sgi.com Tue Oct 31 10:53:51 2000 Received: by oss.sgi.com id ; Tue, 31 Oct 2000 10:53:41 -0800 Received: from steinberg.umd.edu ([129.2.71.109]:27069 "EHLO steinberg.umd.edu") by oss.sgi.com with ESMTP id ; Tue, 31 Oct 2000 10:53:31 -0800 Received: from fiber.eng.umd.edu (IDENT:root@fiber.eng.umd.edu [129.2.98.185]) by steinberg.umd.edu (8.9.3/8.9.3) with ESMTP id NAA16647 for ; Tue, 31 Oct 2000 13:57:14 -0500 (EST) Received: from fiber.eng.umd.edu (IDENT:sendmail@localhost [127.0.0.1]) by fiber.eng.umd.edu (8.9.3/8.9.3) with SMTP id NAA17700 for ; Tue, 31 Oct 2000 13:53:25 -0500 (EST) Received: from localhost (tvinod@localhost) by fiber.eng.umd.edu (8.9.3/8.9.3) with ESMTP id NAA17696 for ; Tue, 31 Oct 2000 13:53:25 -0500 (EST) X-Authentication-Warning: fiber.eng.umd.edu: tvinod owned process doing -bs Date: Tue, 31 Oct 2000 13:53:25 -0500 (EST) From: T Vinod Kumar Gupta X-Sender: tvinod@fiber.eng.umd.edu To: pro64-support@oss.sgi.com Subject: Documentation for sgicc Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-pro64-support@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;pro64-support-outgoing Hello, I am new to this group and have just started looking into the shi compiler. I wonder if there is some documentation with anybody, about the various data structure and how to walk through them. Or something which gives the general flow of the compiler. If so, I would be really grateful if that is passed on. Eagerly waiting to hear, Thanks in advance, Vinod Graduate Student, Dept. of ECE, University of Maryland, College Park From owner-pro64-support@oss.sgi.com Tue Oct 31 10:59:21 2000 Received: by oss.sgi.com id ; Tue, 31 Oct 2000 10:59:11 -0800 Received: from deliverator.sgi.com ([204.94.214.10]:7438 "EHLO deliverator.sgi.com") by oss.sgi.com with ESMTP id ; Tue, 31 Oct 2000 10:59:02 -0800 Received: from cchkms.engr.sgi.com (cchkms.engr.sgi.com [130.62.180.48]) by deliverator.sgi.com (980309.SGI.8.8.8-aspam-6.2/980310.SGI-aspam) via ESMTP id KAA01233 for ; Tue, 31 Oct 2000 10:51:13 -0800 (PST) mail_from (rat@cchkms.engr.sgi.com) Received: (from rat@localhost) by cchkms.engr.sgi.com (980427.SGI.8.8.8/970903.SGI.AUTOCF) id KAA06366; Tue, 31 Oct 2000 10:54:32 -0800 (PST) From: "Ross A. Towle" Message-Id: <10010311054.ZM6396@cchkms.engr.sgi.com> Date: Tue, 31 Oct 2000 10:54:31 -0800 In-Reply-To: T Vinod Kumar Gupta "Documentation for sgicc" (Oct 31, 1:53pm) References: X-Mailer: Z-Mail (3.2.3 08feb96 MediaMail) To: T Vinod Kumar Gupta , pro64-support@oss.sgi.com Subject: Re: Documentation for sgicc Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-pro64-support@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;pro64-support-outgoing There was a tutorial at PACT a couple of weeks ago that covered those topics. -Ross